diff --git a/index.html b/index.html index 8f452f6..6800a56 100644 --- a/index.html +++ b/index.html @@ -3,54 +3,54 @@ -NavMesh V2 | Goo Engine +Zombie shooter WIP | Goo Engine - - - + + + - - + - + @@ -58,4 +58,4 @@
Loading...
+
- + \ No newline at end of file diff --git a/lib/Blood.js b/js/Blood.js similarity index 100% rename from lib/Blood.js rename to js/Blood.js diff --git a/js/FPSCamComponent.js b/js/FPSCamComponent.js new file mode 100644 index 0000000..eec967b --- /dev/null +++ b/js/FPSCamComponent.js @@ -0,0 +1,218 @@ +define([ + 'goo/entities/components/Component', + 'goo/math/Vector3', + 'goo/util/GameUtils', + 'js/Input', + 'js/Game', + 'js/Time', + 'goo/math/Ray', + 'goo/renderer/Camera', + 'goo/entities/components/CameraComponent', + 'goo/entities/EntityUtils', + 'js/sphereMovement' +], function( + Component, + Vector3, + GameUtils, + Input, + Game, + Time, + Ray, + Camera, + CameraComponent, + EntityUtils, + SphereMovement +) { + 'use strict'; + function FPSCamComponent(userEntity){ + this.type = "FPSCamComponent"; + + this.ray = new Ray(); + //var room = -1; + + this.speed = 5; + //this.fwdBase = new Vector3(-1,0,0); + //this.leftBase = new Vector3(0,0,1); + this.fwdBase = new Vector3(0,0,-1); + this.leftBase = new Vector3(-1,0,0); + + this.direction = new Vector3(0,0,1); + this.left = new Vector3(1,0,0); + this.movement = new Vector3(1,0,0); + this.grounded = false; + //var wantY = 0.0; + //var gravity = 20; + + this.oldPos = new Vector3(); + this.newPos = new Vector3(); + this.oldVelocity = new Vector3(); + this.oldYaw = 0; + this.newYaw = 0; + this.radRot = 0.0; + this.oldPitch = 0; + this.newPitch = 0; + + this.torqueVector = new Ammo.btVector3(0, 0, 0); + this.ammoComponent = userEntity.ammoComponent; + // this.sphereMovement = new SphereMovement(); + + this.moveEntity = userEntity; + this.moveTransform = userEntity.transformComponent.transform; + + this.cam = EntityUtils.createTypicalEntity(Game.goo.world, new Camera(45, 1.0, 0.01, 130)); + Game.viewCam = this.cam; + this.camTransform = this.cam.transformComponent.transform; + this.cam.addToWorld(); + + this.moveEntity.transformComponent.attachChild(this.cam.transformComponent); + this.moveEntity.transformComponent.setUpdated(); + Game.register("MouseMove", this, mouseMove); + Game.register("MouseButton1", this, mouseDown1); + Game.register("FixedUpdate", this, fixedUpdate); + Game.register("Update", this, update); + Game.register("RenderUpdate", this, renderUpdate); + }; + + FPSCamComponent.prototype = Object.create(Component.prototype); + FPSCamComponent.prototype.setHeight = function(n0){ + this.cam.transformComponent.transform.translation.y = n0; + this.cam.transformComponent.setUpdated(); + }; + + function mouseMove() { + if(!document.pointerLockElement){return;} + + this.newPitch = this.oldPitch - Input.movement.y * 0.005; + + if(this.newPitch > Math.PI*0.5){ + this.newPitch = Math.PI*0.5; + } + if(this.newPitch < -Math.PI*0.5){ + this.newPitch = -Math.PI*0.5; + } + + this.newYaw = this.oldYaw - Input.movement.x * 0.005; + this.radRot = this.newYaw * (Math.PI/180); + }; + + function mouseDown1(t) { + if(true == t){ + if(!document.pointerLockElement) { + GameUtils.requestPointerLock(); + } + } + }; + + function update(){ + //console.log(this.newPos.x+","+this.newPos.z); + //if(this.room != Game.userEntity.room){ + // if(this.room != -1){ + // console.log("userEntity was in "+Game.userEntity.room+" now it is in "+room); + // Game.raiseEvent("PlayerMoved", this.room, this.sphereTransform.translation); + // Game.userEntity.room = this.room; + // } + //} + } + var calcVec = new Vector3(); + function fixedUpdate(){ + // console.log("Walk the sphere: ", this.sphereEntity) + var self = this; + this.grounded = false; + this.oldYaw = this.newYaw; + this.oldPitch = this.newPitch; + this.oldPos.copy(this.newPos); + + //zombieTransform.transform.translation.set(physTransform.transform.translation); + //zombieTransform.setUpdated(); + + this.moveTransform.applyForwardVector( this.fwdBase, this.direction); // get the direction the camera is looking + this.moveTransform.applyForwardVector( this.leftBase, this.left); // get the direction to the left of the camera + + this.movement.copy(Vector3.ZERO); + + if (true == Input.keys[87]) // W + this.movement.add(this.direction); + if (true == Input.keys[83]) // S + this.movement.sub(this.direction); + if (true == Input.keys[65]) // A + this.movement.add(this.left); + if (true == Input.keys[68]) // D + this.movement.sub(this.left); + + this.movement.normalize(); // move the same amount regardless of where we look- + + this.movement.y = this.ammoComponent.getLinearVelocity().y(); + this.ray.origin.copy(this.newPos); + this.ray.origin.y += 1.0; + this.ray.direction = Vector3.DOWN; + Game.castRay(this.ray, function(hit){ + if(null != hit){ + //console.log(hit.entity.name); + //console.log(hit.distance); + if(hit.distance <= 1.9001){ + self.grounded = true; + } + } + }, 1); + if (true == Input.keys[32] && true == this.grounded) { // space bar + // (2 * gravity * height)*mass + this.movement.y = Math.sqrt(2*12*1.0)*1.5; + } + + //this.applyMovementState(this.selectMovementState()); + // this.sphereMovement.applyForward(this.movement.z * this.speed * Math.cos(this.sphereMovement.controlState.yaw * (Math.PI/180))); + // this.sphereMovement.applyStrafe(this.movement.x * this.speed * Math.sin(this.sphereMovement.controlState.yaw * (Math.PI/180))); + + // this.sphereMovement.updateTargetVectors(); + // var targetVelocity = this.sphereMovement.getTargetVelocity(); + // This torqueVector currently applies arbitrary directional rotation to the sphere. This needs + // to know the orientation of the gamepiece to roll it in the correct direction. + + this.torqueVector.setValue( + this.movement.x * this.speed, + this.movement.y, + this.movement.z * this.speed); + + this.ammoComponent.setLinearVelocity(this.torqueVector); + + //this.torqueVector.setValue(0,0,0); + //this.ammoComponent.setAngularVelocity(this.torqueVector); + + //this.torqueVector.setValue(targetVelocity.data[0], targetVelocity.data[1], targetVelocity.data[2]); + + //this.ammoComponent.clearForces(); + //this.ammoComponent.applyTorqueImpulse(this.torqueVector); + + //if(targetVelocity.data[1] != 0) { + // this.torqueVector.setValue(0, targetVelocity.data[1], 0); + // this.ammoComponent.applyCentralImpulse(this.torqueVector) + //} + //this.ammoComponent.activate(); + this.ammoComponent.getMotionState().getWorldTransform(Game.physTransform); + var origin = Game.physTransform.getOrigin(); + this.newPos.x = origin.x(); + this.newPos.y = origin.y(); + this.newPos.z = origin.z(); + }; + + function renderUpdate(){ + this.camTransform.rotation.fromAngles( + (Time.alpha * this.newPitch) + (this.oldPitch * (1-Time.alpha)), + 0, + 0); + this.cam.transformComponent.setUpdated(); + + this.moveTransform.rotation.fromAngles( + 0, + (Time.alpha * this.newYaw) + (this.oldYaw * (1-Time.alpha)), + 0); + + this.moveEntity.transformComponent.setTranslation( + (Time.alpha * this.newPos.x) + (this.oldPos.x * (1-Time.alpha)), + (Time.alpha * this.newPos.y) + (this.oldPos.y * (1-Time.alpha)), + (Time.alpha * this.newPos.z) + (this.oldPos.z * (1-Time.alpha))); + this.moveEntity.transformComponent.setUpdated(); + }; + + return FPSCamComponent; +}); \ No newline at end of file diff --git a/js/FlashlightComponent.js b/js/FlashlightComponent.js new file mode 100644 index 0000000..dfeb338 --- /dev/null +++ b/js/FlashlightComponent.js @@ -0,0 +1,29 @@ +define([ + 'goo/entities/components/Component', + 'goo/entities/components/LightComponent', + 'goo/renderer/light/SpotLight', + 'js/Game' +], function( + Component, + LightComponent, + SpotLight, + Game +) { + 'use strict'; + function FlashlightComponent(){ + this.type = "FlashlightComponent"; + var spotLight = new SpotLight(); + spotLight.angle = 25; + //spotLight.range = 10; + spotLight.penumbra = 5; + spotLight.intensity = 1; + + var spotLightEntity = Game.goo.world.createEntity('FlashLight'); + spotLightEntity.setComponent(new LightComponent(spotLight)); + spotLightEntity.addToWorld(); + + Game.viewCam.transformComponent.attachChild( spotLightEntity.transformComponent); + } + FlashlightComponent.prototype = Object.create(Component.prototype); + return FlashlightComponent; +}); \ No newline at end of file diff --git a/js/Game.js b/js/Game.js new file mode 100644 index 0000000..4f046fc --- /dev/null +++ b/js/Game.js @@ -0,0 +1,137 @@ +define([ + "js/NodeList", + 'goo/entities/systems/PickingSystem', + 'goo/picking/PrimitivePickLogic', + 'goo/math/Vector3' +], function( + NodeList, + PickingSystem, + PrimitivePickLogic, + Vector3 +){ + "use strict"; + var _self = {}; + + _self.init = function(goo){ + _self.goo = goo; + _self.goo.world.setSystem(picking); + } + + var picking = new PickingSystem({pickLogic: new PrimitivePickLogic()}); + var v1 = new Vector3(); + var v2 = new Vector3(); + var cross = new Vector3(); + + _self.castRay = function(ray, callback, mask){ + picking.pickRay = ray; + picking.onPick = function(result){ + var hit = null; + if(null != result){ + if(result.length > 0){ + var distance = Infinity; + for(var i = 0, ilen = result.length; i < ilen; i++){ + if(null != result[i].entity.hitMask){ + if((result[i].entity.hitMask & mask) != 0){ + for(var j = 0, jlen = result[i].intersection.distances.length; j < jlen; j++){ + if(result[i].intersection.distances[j] < distance){ + + v1.x = result[i].intersection.vertices[j][0].x - result[i].intersection.vertices[j][1].x; + v1.y = result[i].intersection.vertices[j][0].y - result[i].intersection.vertices[j][1].y; + v1.z = result[i].intersection.vertices[j][0].z - result[i].intersection.vertices[j][1].z; + + v2.x = result[i].intersection.vertices[j][2].x - result[i].intersection.vertices[j][0].x; + v2.y = result[i].intersection.vertices[j][2].y - result[i].intersection.vertices[j][0].y; + v2.z = result[i].intersection.vertices[j][2].z - result[i].intersection.vertices[j][0].z; + + cross.x = (v1.y * v2.z) - (v1.z * v2.y); + cross.y = (v1.z * v2.x) - (v1.x * v2.z); + cross.z = (v1.x * v2.y) - (v1.y * v2.x); + cross.normalize(); + + //if(dp <=0){ + + distance = result[i].intersection.distances[j]; + hit = hit || {entity:null,point:null,vertex:null,distance:null}; + hit.entity = result[i].entity; + hit.point =result[i].intersection.points[j]; + hit.normal = cross; + hit.distance = result[i].intersection.distances[j]; + //} + } + } + } + } + } + } + } + callback(hit); + }; + picking._process(); + } + + _self._listeners = {}; + + // @param String: name + // @param Function: callback + // @param Number: priority + _self.register = function(e, o, c, priority){ + if(null == _self._listeners[e]){ + _self._listeners[e] = new NodeList(); + } + else{ + var n = _self._listeners[e].first; + while(n != null){ + if(n.object === o){ + console.log("Callback already exists for this object!"); + return; + } + n = n.next; + } + } + var node = { + next:null, + previous:null, + callback:c, + object:o + }; + if(null == priority){ + _self._listeners[e].addFirst(node); + } + else{ + node.priority = priority; + _self._listeners[e].addSorted(node); + } + return _self; + }; + // @param String: name + // @param Function: callback + _self.unregister = function(e, o){ + if(null == _self._listeners[e]){ + return; + } + var n = _self._listeners[e].first; + while(n != null){ + if(n.object === o){ + _self._listeners[e].remove(n); + } + n = n.next; + } + return _self; + }; + // @param String: name + // @param mixed + _self.raiseEvent = function(){ + var e = [].shift.apply(arguments); + if(null == e){return;} + if(null == _self._listeners[e]){ + return; + } + var n = _self._listeners[e].first; + while(n != null){ + n.callback.apply(n.object, arguments); + n = n.next; + } + return _self; + } + return _self; +}); \ No newline at end of file diff --git a/lib/HealthComponent.js b/js/HealthComponent.js similarity index 64% rename from lib/HealthComponent.js rename to js/HealthComponent.js index a4c74fd..a63699e 100644 --- a/lib/HealthComponent.js +++ b/js/HealthComponent.js @@ -1,23 +1,25 @@ define([ - 'goo/entities/components/Component' + 'goo/entities/components/Component', + 'js/Game' ], function( - Component + Component, + Game ){ function HealthComponent(ent, n0){ this.type = "HealthComponent"; this.entity = ent; this.maxHealth = this.currentHealth = n0; + //Game.register(ent.id+"_TakeDamage", this, applyDamage); } HealthComponent.prototype = Object.create(Component.prototype); HealthComponent.prototype.applyDamage = function(n0){ this.currentHealth -= n0; - console.log("Removing:"+n0+" health."); - console.log(this.currentHealth+"/"+this.maxHealth+" left."); + //console.log("Removing:"+n0+" health."); if(this.currentHealth <= 0){ - - this.entity.aIComponent.getBehaviorByName("Death").active = true; + this.currentHealth = 0; } + //console.log(this.currentHealth+"/"+this.maxHealth+" left."); } HealthComponent.prototype.resetHealth = function(){ this.currentHealth = this.maxHealth; diff --git a/lib/Input.js b/js/Input.js similarity index 99% rename from lib/Input.js rename to js/Input.js index 2773f36..84eef2f 100644 --- a/lib/Input.js +++ b/js/Input.js @@ -1,6 +1,6 @@ define([ 'goo/math/Vector2', - 'lib/Game' + 'js/Game' ], function( Vector2, Game diff --git a/lib/NodeList.js b/js/NodeList.js similarity index 100% rename from lib/NodeList.js rename to js/NodeList.js diff --git a/lib/ShotgunComponent.js b/js/ShotgunComponent.js similarity index 82% rename from lib/ShotgunComponent.js rename to js/ShotgunComponent.js index 63318dd..ebe6ff6 100644 --- a/lib/ShotgunComponent.js +++ b/js/ShotgunComponent.js @@ -1,6 +1,6 @@ define([ 'goo/entities/components/Component', - 'lib/Game', + 'js/Game', 'goo/entities/EntityUtils', 'goo/renderer/shaders/ShaderLib', 'goo/renderer/TextureCreator', @@ -10,7 +10,7 @@ define([ 'goo/addons/howler/components/HowlerComponent', 'goo/math/Ray', 'goo/math/Vector3', - 'lib/Blood' + 'js/Blood' ], function( Component, @@ -91,20 +91,19 @@ define([ //var eac = p.animationComponent; blood.spawn(md_ray.origin); - - console.log(p); - - p.transformComponent.children[0].entity.healthComponent.applyDamage(7); - - //if( entity.dmg) entity.dmg += 7; else entity.dmg = 7; - //if( entity.dmg && entity.dmg == 7) { - //eac.transitionTo( eac.getStates()[1]); // idle, injured_walk, uppercut_jab, dying - //} - //if( entity.dmg && entity.dmg > 100) { - // eac.layers[0]._steadyStates['mixamo_com__']._sourceTree._clipInstance._loopCount=1; - // eac.transitionTo( eac.getStates()[3]); // idle, injured_walk, uppercut_jab, dying - // entity.aIComponent.setActiveByName("Zombie-PathFind", false); - //} + //console.log("Shooting Entity:"); + //console.log(p); + p.healthComponent.applyDamage(7); + //Game.raiseEvent(p.id+"_TakeDamage", 7); + //console.log(p.healthComponent.currentHealth); + if(p.healthComponent.currentHealth > 0){ + return true; + } + else{ + Game.raiseEvent(p.id+"_Dead", p); + return false; + } + //p.healthComponent.applyDamage(7); } function randInt(max) { @@ -114,9 +113,9 @@ define([ return randInt(200)-100; } - function mouseButton1(bool0){ + function mouseButton1(b0){ //console.log(bool0); - if(true == bool0){ + if(true == b0){ //console.log("bam"); if(document.pointerLockElement) { //console.log( Game.userEntity.transformComponent.transform.translation.data ); @@ -131,7 +130,10 @@ define([ if( id < 0){return;} var camera = Game.viewCam.cameraComponent.camera for( var i=0; i<10; i++) { - pellet( camera, x+randBlood(), y+randBlood(), w, h); + var keepGoing = pellet( camera, x+randBlood(), y+randBlood(), w, h); + if(false == keepGoing){ + break; + } } }); } diff --git a/js/Time.js b/js/Time.js new file mode 100644 index 0000000..89ba7a3 --- /dev/null +++ b/js/Time.js @@ -0,0 +1,62 @@ +define([ + 'goo/entities/systems/System', + 'js/Game' +], +function ( + System, + Game +){ + "use strict"; + function Time(goo){ + this._ft = 1.0 / Time.fps; // forecasted dt + this._pFt = 1.0 / Time.fps; // previous forecasted dt + + this._tr = 0.0; // trend + this._pTr = 0.0; // previous trend + + this._avg = (2/(1 + Time.fps)); // dt average + this._maxFrame = this._ft * 10; + this._accumulated = 0.0; + this.world = goo; + System.call(this, "Time", []); + }; + Time.prototype = Object.create(System.prototype); + Time.fps = 60; + Time.dt = 1.0 / Time.fps; // smoothed dt + Time.fixedFPS = 100; + Time.fixedDT = 1 / Time.fixedFPS; + Time.time = 0.0;; + Time.timeScale = 1.0; + Time.alpha = 0.0; + Time.prototype.process = function(entities, tpf){ + if(tpf > this._maxFrame){tpf = this._maxFrame;} + + this._pFt = this._ft; + this._pTr = this._tr; + + this._ft = ((tpf * this._avg) + ((1-this._avg) * (this._pFt + this._pTr))) * Time.timeScale; + this._tr = ((this._ft - this._pFt) * this._avg) + ((1 - this._avg) * this._pTr); + + Time.dt = this._ft + this._tr; + Time.time += Time.dt; + this._accumulated += Time.dt; + + while(Time.fixedDT < this._accumulated){ + + // apply ammo step here using Time.fixedDT + if(Game.ammoWorld){ + Game.ammoWorld.stepSimulation(Time.fixedDT, 5); + } + Game.raiseEvent("FixedUpdate"); + this._accumulated -= Time.fixedDT; + } + + Game.raiseEvent("Update"); + + Time.alpha = this._accumulated / Time.fixedDT; + + Game.raiseEvent("RenderUpdate"); + Game.raiseEvent("LateUpdate"); + }; + return Time; +}); \ No newline at end of file diff --git a/js/Zombie.js b/js/Zombie.js new file mode 100644 index 0000000..9f23766 --- /dev/null +++ b/js/Zombie.js @@ -0,0 +1,191 @@ +define([ + 'js/Game', + 'js/HealthComponent', + 'goo/shapes/ShapeCreator', + 'goo/renderer/Material', + 'goo/entities/EntityUtils', + 'goo/math/Quaternion', + 'goo/math/Vector3', + 'js/SphereSpatial', + 'goo/entities/components/ScriptComponent', + 'goo/renderer/shaders/ShaderLib' + +], function( + Game, + HealthComponent, + ShapeCreator, + Material, + EntityUtils, + Quaternion, + Vector3, + SphereSpatial, + ScriptComponent, + ShaderLib +){ + var quaternion = new Quaternion; + var btVec = new Ammo.btVector3(); + var calcVec = new Vector3(); + var Zombie = function(){}; + Zombie.ref = null; + + var radius = 0.7; + var count = 0; + + var spawnVerts = [ + 28,21, + 33.7,10.7, + 34.7,-9.3, + 15.24,-9.27, + 2.95,-11.32, + 3.8,-23.24, + -12.72, -22.5, + -12.89, -13.69, + -13, 26.54, + -4.9, 11.68, + 5.3, 16.47, + 3.8, 9.9]; + + Zombie.create = function(n0, n1, n2){ + var z = Game.goo.world.createEntity("Zombie:"+(count++)); + z.addToWorld(); + z.ammoComponent = createAmmoJSSphere(n0, n1, n2); + z.setComponent(createAmmoComponentScript()); + addZombieToMobile(z); + var spatialControl = new SphereSpatial(z); + z.spatialControl = spatialControl; + //var movableSphere = spawnSphere(); + // addZombieToMobile(movableSphere); + //var spatialControl = new SphereSpatial(movableSphere); + // movableSphere.spatialControl = spatialControl; + spatialControl.walk(); + return z; + } + + Zombie.spawn = function(){ + var v = Math.floor(Math.random()*12)*2; + //console.log(v+":"+(v+1)); + Zombie.create(spawnVerts[v], 0, spawnVerts[v+1]); + }; + + function spawnSphere(){ + //var radius = 0.7; + //var sphereMesh = ShapeCreator.createSphere(16, 16, radius); + //var material = Material.createMaterial(ShaderLib.simpleLit); + //var sphereEntity = EntityUtils.createTypicalEntity(Game.goo.world, sphereMesh, material); + //sphereEntity.ammoComponent = createAmmoJSSphere(radius); + //sphereEntity.setComponent(createAmmoComponentScript()); + //sphereEntity.addToWorld(); + // return sphereEntity; + }; + + function addZombieToMobile(sphereEntity) { + var zombie = spawnZombie(); + var attachToSphereScript = new ScriptComponent(); + + var moveParent = EntityUtils.createTypicalEntity(Game.goo.world); + moveParent.transformComponent.attachChild(zombie.transformComponent); + moveParent.sphereEntity = sphereEntity; + zombie.transformComponent.transform.translation.sub_d(0, 0.7, 0); + moveParent.addToWorld(); + + attachToSphereScript.run = function(entity, tpf) { + var zombieTransform = entity.getComponent("transformComponent"); + var physTransform = sphereEntity.getComponent("transformComponent"); + + // TODO: This sphereentity now is different each time , making the velocity wrong. + // have to fix this somehow... + var v = sphereEntity.ammoComponent.getLinearVelocity(); + btVec.setValue(v.getX(), 0, v.getZ()); + var vel = btVec.length(); + + calcVec.set(physTransform.transform.translation); + calcVec.sub(zombieTransform.transform.translation); + calcVec.y=0; + var speed = Math.sqrt(calcVec.lengthSquared()); + if (speed > 0.01) { + calcVec.data[1] = 0.0; + zombieTransform.transform.rotation.lookAt(calcVec, Vector3.UNIT_Y); + zombie.animationComponent.setTimeScale(vel); + } + + zombieTransform.transform.translation.set(physTransform.transform.translation); + zombieTransform.setUpdated(); + }; + moveParent.setComponent(attachToSphereScript); + }; + + function spawnZombie(){ + var z = EntityUtils.clone(Game.goo.world, Zombie.ref); + z.setComponent(new HealthComponent(z, 50)); + Game.register(z.id+"_Dead", z, destroyZombie); + z.addToWorld(); + return z; + } + + function createAmmoJSSphere(n0, n1, n2) { + n0=n0||0; + n1=n1||0; + n2=n2||0; + var mass = 1 // radius * radius * radius; + var startTransform = new Ammo.btTransform(); + startTransform.setIdentity(); + startTransform.getOrigin().setX(n0); + startTransform.getOrigin().setY(n1+radius); + startTransform.getOrigin().setZ(n2); + var localInertia = new Ammo.btVector3(0, 0, 0); + var shape = new Ammo.btSphereShape(radius); + shape.calculateLocalInertia( mass, localInertia ); + var motionState = new Ammo.btDefaultMotionState( startTransform ); + var rbInfo = new Ammo.btRigidBodyConstructionInfo( mass, motionState, shape, localInertia ); + var rBody = new Ammo.btRigidBody( rbInfo ); + Game.ammoWorld.addRigidBody(rBody); + return rBody; + }; + + function createAmmoComponentScript() { + var script = new ScriptComponent(); + script.run = function(entity, tpf, environment) { + var transformComp = entity.getComponent("transformComponent"); + entity.ammoComponent.getMotionState().getWorldTransform(Game.physTransform); + var origin = Game.physTransform.getOrigin(); + transformComp.setTranslation(origin.x(), origin.y(), origin.z()); + var pquat = Game.physTransform.getRotation(); + quaternion.setd(pquat.x(), pquat.y(), pquat.z(), pquat.w()); + transformComp.transform.rotation.copyQuaternion(quaternion); + }; + return script + }; + + function destroyZombie(){ + //console.log("Need to destroy zombie here"); + + //var p = this.transformComponent.parent.entity; + + //Game.ammoWorld.removeRigidBody(p.sphereEntity.ammoComponent); + //destroy(p.sphereEntity.ammoComponent); + //p.sphereEntity.spatialControl.remove(); + //delete p.sphereEntity.spatialControl; + //p.sphereEntity.removeFromWorld(); + //p.removeFromWorld(); + Zombie.setNewSpawn(this.transformComponent.parent.entity); + }; + + Zombie.setNewSpawn = function(ent){ + var v = Math.floor(Math.random()*12)*2; + //console.log(ent); + //console.log(v+","+(v+1)); + btVec.x = spawnVerts[v]; + btVec.y = 0; + btVec.z = spawnVerts[v+1]; + ent.sphereEntity.ammoComponent.getCenterOfMassTransform(Game.physTransform); + Game.physTransform.setOrigin(new Ammo.btVector3(btVec.x, btVec.y, btVec.z)); + ent.sphereEntity.ammoComponent.setCenterOfMassTransform(Game.physTransform); + + //ent.transformComponent.setTranslation(origin.x(), origin.y(), origin.z()); + ent.transformComponent.setUpdated(); + ent.transformComponent.children[0].entity.transformComponent.setUpdated(); + + ent.transformComponent.children[0].entity.healthComponent.resetHealth(); + } + return Zombie; +}); \ No newline at end of file diff --git a/js/loadScene.js b/js/loadScene.js deleted file mode 100644 index 8d70e5e..0000000 --- a/js/loadScene.js +++ /dev/null @@ -1,418 +0,0 @@ -require([ - 'goo/entities/GooRunner', - 'goo/statemachine/FSMSystem', - 'goo/addons/howler/systems/HowlerSystem', - 'goo/addons/howler/components/HowlerComponent', - 'goo/loaders/DynamicLoader', - 'goo/math/Vector3', - - //'goo/entities/components/ScriptComponent', - - //'goo/renderer/light/DirectionalLight', - //'goo/entities/components/LightComponent', - 'goo/entities/EntityUtils', - 'lib/Input', - 'lib/Game', - 'lib/Time', - 'lib/AIComponent', - 'lib/NodeList', - 'goo/math/Ray', - 'goo/entities/systems/PickingSystem', - 'goo/picking/PrimitivePickLogic', - 'lib/FPSCamComponent', - - 'goo/util/rsvp', - 'lib/ShotgunComponent', - 'lib/FlashlightComponent', - 'goo/math/Plane', - 'lib/Zombie' - -], function ( - GooRunner, - FSMSystem, - HowlerSystem, - HowlerComponent, - DynamicLoader, - Vector3, - - //ScriptComponent, - - //DirectionalLight, - //LightComponent, - EntityUtils, - Input, - Game, - Time, - AIComponent, - NodeList, - Ray, - PickingSystem, - PrimitivePickLogic, - FPSCamComponent, - - //SpotLight, - RSVP, - ShotgunComponent, - FlashlightComponent, - Plane, - Zombie - -) { - 'use strict'; - Vector3.UP = Object.freeze(new Vector3(0,1,0)); - Vector3.DOWN = Object.freeze(new Vector3(0,-1,0)); - Vector3.FORWARD = Object.freeze(new Vector3(0,0,1)); - function init() { - - // If you try to load a scene without a server, you're gonna have a bad time - if (window.location.protocol==='file:') { - alert('You need to run this webpage on a server. Check the code for links and details.'); - return; - } - - - // Create typical goo application - var goo = new GooRunner({ - manuallyStartGameLoop: true, - tpfSmoothingCount:1, - showStats:true - }); - Game.goo = goo; - goo.world.setSystem(new Time(goo)); - Input.init(goo); - - goo.world.setSystem(new HowlerSystem()); - - var navMesh; - var point; - // The Loader takes care of loading data from a URL... - var loader = new DynamicLoader({world: goo.world, rootPath: 'res'}); - var promises = []; - promises.push(loader.loadFromBundle('project.project', 'root.bundle')); - promises.push(loader.loadFromBundle('project.project', 'Point.bundle')); - Zombie.setupRefs(promises); - RSVP.all(promises) - .then(function(){ - initGoobers(goo); - }) - .then(null, function(e){ - console.log(e.stack); - }); - - function initGoobers(){ - console.log(loader._configs); - point = loader.getCachedObjectForRef("Point/entities/RootNode.entity"); - point.transformComponent.setScale(0.03, 0.03, 0.03); - point.removeFromWorld(); - - navMesh = generateRoomsFromMesh(loader.getCachedObjectForRef("NavMesh/entities/RootNode.entity")); - Game.navMesh = navMesh; - for(var i in navMesh.vert){ - var p = EntityUtils.clone(goo.world, point); - p.transformComponent.setTranslation(navMesh.vert[i]); - p.addToWorld(); - } - - generateDoors(navMesh); - - var physHull = loader.getCachedObjectForRef("PhysicsHull/entities/RootNode.entity"); - for(var i = 0, ilen = physHull.transformComponent.children.length; i < ilen; i++){ - physHull.transformComponent.children[i].entity.hitMask = 2; - //physHull.transformComponent.children[i].entity.skip = true; - } - - var groundPhys = loader.getCachedObjectForRef("GroundPhys/entities/RootNode.entity"); - //groundPhys.transformComponent.transform.translation.y = -0.3; - //groundPhys.transformComponent.setUpdated(); - for(var i = 0, ilen = groundPhys.transformComponent.children.length; i < ilen; i++){ - groundPhys.transformComponent.children[i].entity.hitMask = 4; - //groundPhys.transformComponent.children[i].entity.skip = true; - } - - Game.userEntity = goo.world.createEntity("User"); - Game.userEntity.transformComponent.transform.translation.y = 1; - Game.userEntity.addToWorld(); - Game.userEntity.setComponent(new FPSCamComponent()); - Game.userEntity.fPSCamComponent.setHeight(2.9); - - Game.currentGun = new ShotgunComponent(); - Game.userEntity.setComponent(Game.currentGun); - - Game.userEntity.setComponent(new FlashlightComponent()); - - //console.log(navRef); - - var z1 = Zombie.getRef(); - z1.transformComponent.setTranslation(4,0,4); - z1.transformComponent.setUpdated(); - z1.aIComponent.getBehaviorByName("Idle").state = 0; - z1.skip = false; - - var z2 = Zombie.getRef(); - z2.transformComponent.setTranslation(-4,0,-4); - z2.transformComponent.setUpdated(); - z2.aIComponent.getBehaviorByName("Idle").state = 0; - z2.skip = false; - - goo.renderer.setClearColor(0, 0, 0, 1); - goo.renderer.domElement.id = 'goo'; - document.body.appendChild(goo.renderer.domElement); - - goo.startGameLoop(); - - - } - - var goal; - var viewCam; - var ray = new Ray(); - var v1 = new Vector3(); - var v2 = new Vector3(); - var cross = new Vector3(); - //var localPos = new Vector3(); - // Add PickingSystem - var picking = new PickingSystem({pickLogic: new PrimitivePickLogic()}); - picking.castRay = function(ray, callback, mask){ - this.pickRay = ray; - this.onPick = function(result){ - //console.log(result); - var hit = null; - if(null != result && result.length > 0){ - var distance = Infinity; - for(var i = 0, ilen = result.length; i < ilen; i++){ - if(null != result[i].entity.hitMask){ - if((result[i].entity.hitMask & mask) != 0){ - for(var j = 0, jlen = result[i].intersection.distances.length; j < jlen; j++){ - if(result[i].intersection.distances[j] < distance){ - - - v1.x = result[i].intersection.vertices[j][0].x - result[i].intersection.vertices[j][1].x; - v1.y = result[i].intersection.vertices[j][0].y - result[i].intersection.vertices[j][1].y; - v1.z = result[i].intersection.vertices[j][0].z - result[i].intersection.vertices[j][1].z; - - - v2.x = result[i].intersection.vertices[j][2].x - result[i].intersection.vertices[j][0].x; - v2.y = result[i].intersection.vertices[j][2].y - result[i].intersection.vertices[j][0].y; - v2.z = result[i].intersection.vertices[j][2].z - result[i].intersection.vertices[j][0].z; - - cross.x = (v1.y * v2.z) - (v1.z * v2.y); - cross.y = (v1.z * v2.x) - (v1.x * v2.z); - cross.z = (v1.x * v2.y) - (v1.y * v2.x); - cross.normalize(); - - //if(dp <=0){ - - distance = result[i].intersection.distances[j]; - hit = hit || {entity:null,point:null,vertex:null,distance:null}; - hit.entity = result[i].entity; - hit.point =result[i].intersection.points[j]; - hit.normal = cross; - hit.distance = result[i].intersection.distances[j]; - //} - } - } - } - } - } - } - callback(hit); - }; - this._process(); - } - goo.world.setSystem(picking); - Game.picking = picking; - - Game.getRoomID = function(pos){ - //console.log(pos.x+","+pos.y+","+pos.z); - //var p = new Vector3(pos.x, pos.y, pos.z); - for(var i = 0, ilen = navMesh.room.length; i < ilen; i++){ - if(true == getPosInPoly(pos, navMesh.room[i].vert)){ - return i; - } - } - console.log("Not on nav map"); - return -1; - } - function getPosInPoly(pos, poly){ - var i = 0; - var j = 0; - var c = false; - for(var i = 0, j = poly.length-1, nvert = poly.length; i < nvert; j = i++){ - if( ((poly[i].z > pos.z) != (poly[j].z > pos.z)) && - (pos.x < (poly[j].x - poly[i].x) * (pos.z - poly[i].z) / (poly[j].z - poly[i].z) + poly[i].x) ){ - c =! c; - } - } - return c; - } - - // array of room IDS - var openList = []; - // list of door nodes - var closedList = {}; - // - var currentRoom; - Game.getPathRoomToRoom = function(roomStart, roomGoal){ - if(null == roomStart || null == roomGoal){return null;} - // console.log("Getting Path from start:"+roomStart+" to goal:"+roomGoal); - openList.push({room:roomStart, parent:null}); - var pathFound = false; - while(openList.length > 0 && false == pathFound){ - currentRoom = openList.shift(); - if(currentRoom.room == roomGoal){ - pathFound = true; - break; - } - else{ - for(var i = 0, ilen = navMesh.room[currentRoom.room].door.length; i < ilen; i++){ - if(null == closedList[navMesh.room[currentRoom.room].door[i].to]){ - openList.push({room:navMesh.room[currentRoom.room].door[i].to, door:i, parent:currentRoom}); - } - } - closedList[currentRoom.room] = currentRoom; - } - } - if(false == pathFound){ - openList.length = 0; - closedList = {}; - return null; - } - else{ - openList.length = 0; - closedList = {}; - var path = new NodeList(); - var node = currentRoom; - while(node.parent != null){ - path.addFirst(node); - node = node.parent; - } - return path; - } - } - - function generateRoomsFromMesh(navRootEntity){ - var nav = {room:[], vert:{}} - for(var i = 0, ilen = navRootEntity.transformComponent.children.length; i < ilen; i++){ - // create a new 'room'(convex polygon) - var room = {id:i, center:new Vector3(), vert:[], door:[]}; - - var entity = navRootEntity.transformComponent.children[i].entity; - entity.navID = i; - entity.hitMask = 1; - //entity.skip = true; - - - // track which vertices we have already used - var roomVert = {}; - // flattened RAW mesh vertex data - var verts = entity.meshDataComponent.meshData.dataViews.POSITION; - - for(var v = 0, vlen = verts.length; v < vlen; v+=3){ - var x = ~~(verts[v]*1000000); - var y = ~~(verts[v+2]*1000000); - var z = -(~~(verts[v+1]*1000000)); - - room.center.x += verts[v]; - room.center.y += verts[v+2]; - room.center.z += -verts[v+1]; - - //console.log(x+","+y+","+z); - - // see if we have already added this vert or not - if(null == roomVert[x+"_"+y+"_"+z]){ - if(null == nav.vert[x+"_"+y+"_"+z]){ - nav.vert[x+"_"+y+"_"+z] = new Vector3(verts[v], verts[v+2], -verts[v+1]); - } - // if not, add it ot the room.point array - room.vert.push(nav.vert[x+"_"+y+"_"+z]); - // add a key to the usedVerts - roomVert[x+"_"+y+"_"+z] = true; - } - } - - // get the center of the room, to sort vertices - room.center.x /= room.vert.length; - room.center.y /= room.vert.length; - room.center.z /= room.vert.length; - - room.vert.sort(function (v1, v2){ - - var cos1 = (Math.atan((v1.z - room.center.z)/(v1.x - room.center.x)) * (180 / Math.PI)); - var cos2 = (Math.atan((v2.z - room.center.z)/(v2.x - room.center.x)) * (180 / Math.PI)); - - if(cos1 < 0){cos1 += 360;} - - if(cos2 < 0){cos2 += 360;} - - - //console.log("rad1:"+(cos1)+" rad2:"+(cos2)); - // if you want ccw, swap 1 and -1 - if(cos1 > cos2){return 1;} - if(cos2 > cos1){return -1;} - return 0; - return cos1-cos2; - }); - //console.log(room.vert); - - // add the room to the 'nav' array. - nav.room.push(room); - } - return nav; - } - function generateDoors(nav){ - for(var i = 0, ilen = nav.room.length; i < ilen; i++){ - for(var j = i+1, jlen = nav.room.length; j < jlen; j++){ - //if(i == j){continue;} - var room1 = nav.room[i]; - var room2 = nav.room[j]; - - for(var l1 = 0, l1Max = room1.vert.length; l1 < l1Max; l1++){ - for(var r2 = 0, r2Max = room2.vert.length; r2 < r2Max; r2++){ - if(room1.vert[l1] === room2.vert[r2]){ - - var r1 = -1; - //var l2 = -1; - - - - if(l1 == room1.vert.length-1){ - r1 = 0; - } - else{ - r1 = l1+1; - } - - var l2 = room2.vert.indexOf(room1.vert[r1]); - - if(l2 != -1){ - if(room1.vert[r1] === room2.vert[l2]){ - - var dir = Vector3.sub(room1.vert[l1], room1.vert[r1]); - var radius = room1.vert[l1].distance(room1.vert[r1]) * 0.5; - dir.scale(0.5); - var center = new Vector3(); - Vector3.add(room1.vert[r1], dir, center); - var door1 = {center:center, left:room1.vert[l1], right:room1.vert[r1], to:room2.id, radius:radius}; - var door2 = {center:center, left:room2.vert[l2], right:room2.vert[r2], to:room1.id, radius:radius}; - - room1.door.push(door1); - room2.door.push(door2); - - - var p = EntityUtils.clone(goo.world, point); - p.transformComponent.setTranslation(door1.center); - p.transformComponent.setScale(0.1, 0.2, 0.1); - p.addToWorld(); - } - } - - } - } - } - } - } - } - } - - init(); -}); diff --git a/js/sphereMovement.js b/js/sphereMovement.js new file mode 100644 index 0000000..379c607 --- /dev/null +++ b/js/sphereMovement.js @@ -0,0 +1,122 @@ +define([ + 'goo/math/Vector3' +], + function(Vector3 + ) { + "use strict"; + + var calcVec = new Vector3(); + + function SphereMovement() { + + this.jumpImpulse = 8; + this.modForward = 10; + this.modStrafe=7; + this.modBack=4; + this.modTurn=3; + + this.groundContact = 1; + this.targetVelocity = new Vector3(); + this.targetHeading = new Vector3(); + this.acceleration = new Vector3(); + this.torque = new Vector3(); + this.groundHeight = 0; + this.groundNormal = new Vector3(); + this.controlState = { + run:0, + strafe:0, + jump:0, + yaw:0, + roll:0, + pitch:0 + }; + } + + /** + * Request script to move along its forward axis. Becomes + * backwards with negative amount. + * @param {number} amount + */ + SphereMovement.prototype.applyForward = function(amount) { + this.controlState.run = amount; + }; + + /** + * Applies strafe amount for sideways input. + * @param {number} amount + */ + SphereMovement.prototype.applyStrafe = function(amount) { + this.controlState.strafe = amount; + }; + + /** + * Applies jump input. + * @param {number} amount + */ + SphereMovement.prototype.applyJump = function(amount) { + this.controlState.jump = amount; + }; + + /** + * Applies turn input for rotation around the y-axis. + * @param {number} amount + */ + + SphereMovement.prototype.applyTurn = function(amount) { + this.controlState.yaw = amount; + }; + + /** + * Called when movement state is updated if requirements for jumping are met. + * @private + * @param [number} up + * @returns {*} + */ + SphereMovement.prototype.applyJumpImpulse = function(up) { + if (this.groundContact) { + if (this.controlState.jump) { + up = this.jumpImpulse; + this.controlState.jump = 0; + } else { + up = 0; + } + } + return up; + }; + + + /** + * Modulates the movement state with given circumstances and input + * @private + * @param {number} strafe + * @param {number} up + * @param {number} run + * @returns {Array} The modulated directional movement state + */ + SphereMovement.prototype.applyDirectionalModulation = function(strafe, run) { + strafe *= this.modStrafe; + if (run > 0) { + run *=this.modForward; + } else { + run *=this.modBack; + } + return [strafe, this.applyJumpImpulse(0), run]; + }; + + SphereMovement.prototype.updateTargetVectors = function() { + this.targetVelocity.set(this.applyDirectionalModulation(this.controlState.strafe, this.controlState.run)); + this.targetHeading.set(this.controlState.pitch, this.controlState.yaw, this.controlState.roll); + }; + + SphereMovement.prototype.getTargetVelocity = function() { + return this.targetVelocity; + }; + + SphereMovement.prototype.getTargetHeading = function() { + return this.targetHeading; + }; + + return SphereMovement; + }); + + diff --git a/js/sphereSpatial.js b/js/sphereSpatial.js new file mode 100644 index 0000000..e16f7a1 --- /dev/null +++ b/js/sphereSpatial.js @@ -0,0 +1,85 @@ +define(['js/sphereMovement'], + function( + SphereMovement + ) { + "use strict"; + + + function SphereSpatial(sphereEntity) { + this.torqueVector = new Ammo.btVector3(0, 0, 0); + this.sphereEntity = sphereEntity; + this.ammoComponent = this.sphereEntity.ammoComponent; + this.sphereMovement = new SphereMovement(); + this.timeout; + } + + SphereSpatial.prototype.applyMovementState = function(selection) { + switch (selection) { + case 1: + this.sphereMovement.applyForward(Math.round(1-Math.random()*2)); + break; + case 2: + this.sphereMovement.applyStrafe(Math.round(1-Math.random()*2)); + break; + case 3: + this.sphereMovement.applyJump(1); + break; + case 4: + this.sphereMovement.applyTurn(1-Math.random()*2); + break; + } + }; + + SphereSpatial.prototype.selectMovementState = function() { + return Math.ceil(Math.random()*4); + }; + + SphereSpatial.prototype.remove = function(){ + clearTimeout(this.timeout); + } + + SphereSpatial.prototype.walk = function() { + // console.log("Walk the sphere: ", this.sphereEntity) + + this.applyMovementState(this.selectMovementState()); + this.sphereMovement.updateTargetVectors(); + var targetVelocity = this.sphereMovement.getTargetVelocity(); + + // This torqueVector currently applies arbitrary directional rotation to the sphere. This needs + // to know the orientation of the gamepiece to roll it in the correct direction. + this.torqueVector.setValue(0,0,0); + this.ammoComponent.setAngularVelocity(this.torqueVector); + + this.torqueVector.setValue(targetVelocity.data[0], targetVelocity.data[1],targetVelocity.data[2]); + + this.ammoComponent.clearForces(); + + this.ammoComponent.applyTorqueImpulse(this.torqueVector); + + if(targetVelocity.data[1] != 0) { + this.torqueVector.setValue(0, targetVelocity.data[1], 0); + this.ammoComponent.applyCentralImpulse(this.torqueVector) + } + this.ammoComponent.activate(); + this.update(); + }; + + SphereSpatial.prototype.update = function() { + + var instance = this; + + function doWalk() { + instance.walk() + }; + + this.timeout = setTimeout(function() { + doWalk(); + }, 2000) + + + }; + + return SphereSpatial; + + } +) \ No newline at end of file diff --git a/js/sphereTriangleTest.js b/js/sphereTriangleTest.js new file mode 100644 index 0000000..ea2cdb5 --- /dev/null +++ b/js/sphereTriangleTest.js @@ -0,0 +1,288 @@ +require([ + 'goo/entities/GooRunner', + 'goo/statemachine/FSMSystem', + 'goo/addons/howler/systems/HowlerSystem', + 'goo/loaders/DynamicLoader', + 'goo/math/Vector3', + 'goo/math/Quaternion', + 'goo/entities/EntityUtils', + + 'goo/renderer/Camera', + 'goo/entities/components/CameraComponent', + + 'goo/entities/components/ScriptComponent', + 'goo/scripts/OrbitCamControlScript', + + 'goo/renderer/light/DirectionalLight', + 'goo/entities/components/LightComponent', + + 'goo/shapes/ShapeCreator', + 'goo/renderer/Material', + 'goo/renderer/shaders/ShaderLib', + 'js/sphereSpatial', + 'goo/util/rsvp', + + 'js/FPSCamComponent', + 'js/ShotgunComponent', + 'js/FlashlightComponent', + 'js/Game', + 'js/Input', + 'js/Time', + 'js/HealthComponent', + 'js/Zombie' +], function ( + GooRunner, + FSMSystem, + HowlerSystem, + DynamicLoader, + Vector3, + Quaternion, + EntityUtils, + + Camera, + CameraComponent, + + ScriptComponent, + OrbitCamControlScript, + + DirectionalLight, + LightComponent, + + ShapeCreator, + Material, + ShaderLib, + SphereSpatial, + RSVP, + + FPSCamComponent, + ShotgunComponent, + FlashlightComponent, + Game, + Input, + Time, + HealthComponent, + Zombie +) { + 'use strict'; + + + var levelMesh; + var calcVec = new Vector3(); + var zombieMesh; + + var goo; + var ammoWorld; + + // worker variables. + var physTransform; + var quaternion; + var btVec; + + // enum PHY_ScalarType + var PHY_FLOAT = 0; + var PHY_DOUBLE = 1; + var PHY_INTEGER = 2; + var PHY_SHORT = 3; + var PHY_FIXEDPOINT88 = 4; + var PHY_UCHAR = 5; + + Vector3.DOWN = new Vector3(0,-1,0); + Object.freeze(Vector3.DOWN); + + function initAmmoWorld() { + + physTransform = new Ammo.btTransform(); + Game.physTransform = physTransform; + quaternion = new Quaternion(); + btVec = new Ammo.btVector3(); + + var collisionConfiguration = new Ammo.btDefaultCollisionConfiguration(); + var dispatcher = new Ammo.btCollisionDispatcher( collisionConfiguration ); + var overlappingPairCache = new Ammo.btDbvtBroadphase(); + var solver = new Ammo.btSequentialImpulseConstraintSolver(); + ammoWorld = new Ammo.btDiscreteDynamicsWorld( dispatcher, overlappingPairCache, solver, collisionConfiguration ); + ammoWorld.setGravity(new Ammo.btVector3(0, -12, 0)); + Game.ammoWorld = ammoWorld; + + + var groundShape = createTriangleMeshShape(); + var groundTransform = new Ammo.btTransform(); + groundTransform.setIdentity(); + groundTransform.setOrigin(new Ammo.btVector3(0, 0, 0)); + var groundMass = 0; // Mass of 0 means ground won't move from gravity or collisions + var localInertia = new Ammo.btVector3(0, 0, 0); + var motionState = new Ammo.btDefaultMotionState( groundTransform ); + var rbInfo = new Ammo.btRigidBodyConstructionInfo(groundMass, motionState, groundShape, localInertia); + var groundAmmo = new Ammo.btRigidBody( rbInfo ); + ammoWorld.addRigidBody(groundAmmo); + + // TODO: Do this updating in a Worker() + //setInterval(function(){ammoWorld.stepSimulation(1/60, 5)}, 1000/60); + } + + function createTriangleMeshShape() { + + var meshData = levelMesh.getComponent("meshDataComponent").meshData; + + var vertices = meshData.dataViews.POSITION; + var indices = meshData.indexData.data; + + var numTriangles = meshData.indexCount / 3; + var numVertices = meshData.vertexCount; + + var triangleMesh = new Ammo.btTriangleIndexVertexArray(); + + var indexType = PHY_INTEGER; + var mesh = new Ammo.btIndexedMesh(); + + var floatByteSize = 4; + var vertexBuffer = Ammo.allocate( floatByteSize * vertices.length, "float", Ammo.ALLOC_NORMAL ); + + var scale = 1; + + for ( var i = 0, il = vertices.length; i < il; i ++ ) { + + Ammo.setValue( vertexBuffer + i * floatByteSize, scale * vertices[ i ], 'float' ); + + } + var use32bitIndices = true; + var intByteSize = use32bitIndices ? 4 : 2; + var intType = use32bitIndices ? "i32" : "i16"; + + + var indexBuffer = Ammo.allocate( intByteSize * indices.length, intType, Ammo.ALLOC_NORMAL ); + + for ( var i = 0, il = indices.length; i < il; i ++ ) { + + Ammo.setValue( indexBuffer + i * intByteSize, indices[ i ], intType ); + + } + + var indexStride = intByteSize * 3; + var vertexStride = floatByteSize * 3; + + mesh.set_m_numTriangles( numTriangles ); + mesh.set_m_triangleIndexBase( indexBuffer ); + mesh.set_m_triangleIndexStride( indexStride ); + + mesh.set_m_numVertices( numVertices ); + mesh.set_m_vertexBase( vertexBuffer ); + mesh.set_m_vertexStride( vertexStride ); + + triangleMesh.addIndexedMesh( mesh, indexType ); + + var useQuantizedAabbCompression = true; + var buildBvh = true; + + var shape = new Ammo.btBvhTriangleMeshShape( triangleMesh, useQuantizedAabbCompression, buildBvh ); + + return shape; + } + + function createUserEntity(){ + Game.userEntity = goo.world.createEntity("UserEntity"); + Game.userEntity.addToWorld(); + + var mass = 1.5; + var startTransform = new Ammo.btTransform(); + startTransform.setIdentity(); + startTransform.getOrigin().setY(2); + var localInertia = new Ammo.btVector3(0,0,0); + var shape = new Ammo.btCapsuleShape(0.7, 0.4); + //var shape = new Ammo.btSphereShape(1); + shape.calculateLocalInertia(mass, localInertia); + var motionState = new Ammo.btDefaultMotionState(startTransform); + var rbInfo = new Ammo.btRigidBodyConstructionInfo( mass, motionState, shape, localInertia ); + Game.userEntity.ammoComponent = new Ammo.btRigidBody(rbInfo); + // keep it always up + Game.userEntity.ammoComponent.setSleepingThresholds(0.0, 0.0); + Game.userEntity.ammoComponent.setAngularFactor(new Ammo.btVector3(0,1,0)); + Game.userEntity.ammoComponent.setFriction(0.0); + + ammoWorld.addRigidBody(Game.userEntity.ammoComponent); + + Game.userEntity.setComponent(new FPSCamComponent(Game.userEntity)); + Game.userEntity.fPSCamComponent.setHeight(1.8); + Game.currentGun = new ShotgunComponent(); + Game.userEntity.setComponent(Game.currentGun); + Game.userEntity.setComponent(new FlashlightComponent()); + } + + function init() { + // Create typical goo application + goo = new GooRunner({ + antialias: true, + manuallyStartGameLoop: true, + debugKeys: true, + tpfSmoothingCount:1, + showStats:true + }); + Game.init(goo); + goo.world.setSystem(new Time(goo)); + Input.init(goo); + var fsm = new FSMSystem(goo); + goo.world.setSystem(fsm); + goo.world.setSystem(new HowlerSystem()); + + // The Loader takes care of loading data from a URL... + var loader = new DynamicLoader({world: goo.world, rootPath: 'res'}); + + var p1 = loader.loadFromBundle('project.project', 'level.bundle'); + var p2 = loader.loadFromBundle('project.project', 'zombie.bundle'); + RSVP.all([p1,p2]).then(function(configsArray) { + + var oldCam = loader.getCachedObjectForRef("entities/DefaultToolCamera.entity"); + oldCam.removeFromWorld(); + // This function is called when the project has finished loading. + levelMesh = loader.getCachedObjectForRef("level_v03/entities/polySurface24_0.entity"); + levelMesh.hitMask = 1; + + //for( var k in configsArray[0])if(k[k.length-1] == 'y' ) console.log(k); + //for( var k in configsArray[1])if(k[k.length-1] == 'y' ) console.log(k); + + var cam = loader.getCachedObjectForRef("entities/DefaultToolCamera.entity"); + Zombie.ref = loader.getCachedObjectForRef('walking/entities/RootNode.entity'); + Zombie.ref.transformComponent.transform.scale.setd(0.018,0.018,0.018); + Zombie.ref.removeFromWorld(); + //zombieMesh = + //zombieMesh.transformComponent.transform.scale.setd(0.018,0.018,0.018); + //zombieMesh.removeFromWorld(); + goo.renderer.setClearColor(0, 0, 0, 1); + goo.renderer.domElement.id = 'goo'; + document.body.appendChild(goo.renderer.domElement); + goo.startGameLoop(); + initAmmoWorld(); + + createUserEntity(); + + for(var i = 0, ilen = 20; i < ilen; i++){ + Zombie.spawn(); + } + + //addKeyBoardListeners(); + //Game.register("Key88", Game, onKey88); + }) + .then(null, function(e) { + // The second parameter of 'then' is an error handling function. + // We just pop up an error message in case the scene fails to load. + alert('Failed to load scene: ' + e); + console.log(e.trace); + }); + } + + function onKey88(b0){ + if(b0){ + Zombie.create(); + //spawnMovableSphere(); + } + } + + function addKeyBoardListeners() { + document.addEventListener('keyup', function (event) { + console.log(event.keyCode); + //spawnMovableSphere(); + }, true); + } + + init(); +}); \ No newline at end of file diff --git a/lib/AIComponent.js b/lib/AIComponent.js deleted file mode 100644 index 5611654..0000000 --- a/lib/AIComponent.js +++ /dev/null @@ -1,199 +0,0 @@ -define([ - 'lib/NodeList', - 'goo/entities/components/Component', - 'lib/Game' -], -function( - NodeList, - Component, - Game -){ - var self = function(entity){}; - - function AIComponent(entity){ - this.type = "AIComponent"; - this.behavior = {}; - this.list = {}; - this.entity = entity; - }; - AIComponent.prototype = Object.create(Component.prototype); - AIComponent.prototype.addBehavior = function(b, priority){ - if(null != this.list[b.name]){console.log(this); console.error("A name for the behavior:"+b.name+" already exists!");} - var node = { - next:null, - previous:null, - }; - for(var p in b){ - if(b.hasOwnProperty(p)){ - node[p] = b[p]; - } - } - node.active = node.active == null ? true : node.active; - node.blocking = node.blocking == null ? false : node.blocking; - if(null != node.update){ - if(null == this.behavior.update){ - this.behavior.update = new NodeList(); - Game.register("Update", this, this.update); - } - if(null == priority){ - this.behavior.update.addFirst(node); - } - else{ - node.priority = priority; - this.behavior.update.addSorted(node); - } - } - if(null != node.fixedUpdate){ - if(null == this.behavior.fixedUpdate){ - this.behavior.fixedUpdate = new NodeList(); - Game.register("FixedUpdate", this, this.fixedUpdate); - } - if(null == priority){ - this.behavior.fixedUpdate.addFirst(node); - } - else{ - node.priority = priority; - this.behavior.fixedUpdate.addSorted(node); - } - } - if(null != node.renderUpdate){ - if(null == this.behavior.renderUpdate){ - this.behavior.renderUpdate = new NodeList(); - Game.register("RenderUpdate", this, this.renderUpdate); - } - if(null == priority){ - this.behavior.renderUpdate.addFirst(node); - } - else{ - node.priority = priority; - this.behavior.renderUpdate.addSorted(node); - } - } - if(null != node.lateUpdate){ - if(null == this.behavior.lateUdate){ - this.behavior.lateUpdate = new NodeList(); - Game.register("LateUpdate", this, this.lateUpdate); - } - if(null == priority){ - this.behavior.lateUpdate.addFirst(node); - } - else{ - node.priority = priority; - this.behavior.lateUpdate.addSorted(node); - } - } - this.list[b.name] = node; - return node; - }; - AIComponent.prototype.destroy = function(){ - Game.unregister("Update", this, this.update); - Game.unregister("FixedUpdate", this, this.fixedUpdate); - Game.unregister("RenderUpdate", this, this.renderUpdate); - Game.unregister("LateUpdate", this, this.lateUpdate); - }; - AIComponent.prototype.removeBehavior = function(b){ - if(null != b.update){ - if(null != this.behavior.update){ - this.behavior.update.remove(b); - } - } - if(null != b.fixedUpdate){ - if(null != this.behavior.fixedUpdate){ - this.behavior.fixedUpdate.remove(b); - } - } - if(null != b.renderUpdate){ - if(null != this.behavior.renderUpdate){ - this.behavior.renderUpdate.remove(b); - } - } - if(null != b.lateUpdate){ - if(null != this.behavior.lateUpdate){ - this.behavior.lateUpdate.remove(b); - } - } - delete this.list[b.name]; - }; - AIComponent.prototype.removeAll = function(){ - if(null != this.behavior.update){ - this.behavior.update.clear(); - } - if(null != this.behavior.fixedUpdate){ - this.behavior.fixedUpdate.clear(); - } - if(null != this.behavior.renderUpdate){ - this.behavior.renderUpdate.clear(); - } - if(null != this.behavior.lateUpdate){ - this.behavior.lateUpdate.clear(); - } - this.list = {}; - }; - AIComponent.prototype.getBehaviorByName = function(name){ - if(null == this.list[name]){console.error("No behavior with the name: "+name+" exists!");return;} - return this.list[name]; - } - - /*AIComponent.prototype.setActiveByName = function(name, active){ - if(null == this.list[name]){console.error("No behavior with the name: "+name+" exists!");return;} - this.list[name].active = active; - }; - AIComponent.prototype.setBlockingByName = function(name, blocking){ - if(null == this.list[name]){console.error("No behavior with the name: "+name+" exists!");return;} - this.list[name].blocking = blocking; - };*/ - - AIComponent.prototype.update = function(){ - if(null == this.behavior.update){return;} - var n = this.behavior.update.first; - while(n != null){ - if(true == n.active){ - n.update(this.entity, n); - if(true == n.blocking){ - return; - } - } - n = n.next; - } - }; - AIComponent.prototype.fixedUpdate = function(){ - if(null == this.behavior.fixedUpdate){return;} - var n = this.behavior.fixedUpdate.first; - while(n != null){ - if(true == n.active){ - n.fixedUpdate(this.entity, n); - if(true == n.blocking){ - return; - } - } - n = n.next; - } - }; - AIComponent.prototype.renderUpdate = function(){ - if(null == this.behavior.renderUpdate){return;} - var n = this.behavior.renderUpdate.first; - while(n != null){ - if(true == n.active){ - n.renderUpdate(this.entity, n); - if(true == n.blocking){ - return; - } - } - n = n.next; - } - }; - AIComponent.prototype.lateUpdate = function(){ - if(null == this.behavior.lateUpdate){return;} - var n = this.behavior.lateUpdate.first; - while(n != null){ - if(true == n.active){ - n.lateUpdate(this.entity, n); - if(true == n.blocking){ - return; - } - } - n = n.next; - } - }; - return AIComponent; -}); \ No newline at end of file diff --git a/lib/FPSCamComponent.js b/lib/FPSCamComponent.js deleted file mode 100644 index dc7ebeb..0000000 --- a/lib/FPSCamComponent.js +++ /dev/null @@ -1,212 +0,0 @@ -define([ - 'goo/entities/components/Component', - 'goo/math/Vector3', - 'goo/util/GameUtils', - 'lib/Input', - 'lib/Game', - 'lib/Time', - 'goo/math/Ray', - 'goo/renderer/Camera', - 'goo/entities/components/CameraComponent', - 'goo/entities/EntityUtils', - 'goo/math/Plane' -], function( - Component, - Vector3, - GameUtils, - Input, - Game, - Time, - Ray, - Camera, - CameraComponent, - EntityUtils, - Plane -) { - 'use strict'; - var ray = new Ray(); - var room = -1; - var entityTransform; - var cam; - var camTransform; - var speed = 10; - var tmpVec = new Vector3(); - var fwdBase = new Vector3(0,0,-1); - var leftBase = new Vector3(-1,0,0); - var direction = new Vector3(0,0,1); - var left = new Vector3(1,0,0); - var movement = new Vector3(1,0,0); - var grounded = false; - var wantY = 0.0; - var gravity = 20; - - var oldPos = new Vector3(); - var newPos = new Vector3(); - var oldRot = new Vector3(); - var newRot = new Vector3(); - - var stepHeight = new Vector3(0,1.5,0); - var wantPos = new Vector3(0,0,0); - var wantMove = new Vector3(); - - function FPSCamComponent(){ - this.type = "FPSCamComponent"; - //entity = entityRef; - entityTransform = Game.userEntity.transformComponent.transform; - cam = EntityUtils.createTypicalEntity(Game.goo.world, new Camera(45, 1.0, 0.01, 130)); - Game.viewCam = cam; - camTransform = cam.transformComponent.transform; - cam.addToWorld(); - Game.userEntity.transformComponent.attachChild(cam.transformComponent); - Game.userEntity.transformComponent.setUpdated(); - Game.register("MouseMove", this, mouseMove); - Game.register("MouseButton1", this, mouseDown1); - Game.register("FixedUpdate", this, fixedUpdate); - Game.register("Update", this, update); - Game.register("RenderUpdate", this, renderUpdate); - }; - - FPSCamComponent.prototype = Object.create(Component.prototype); - FPSCamComponent.prototype.setHeight = function(n0){ - cam.transformComponent.transform.translation.y = n0; - cam.transformComponent.setUpdated(); - }; - - function mouseMove() { - if(!document.pointerLockElement){return;} - - camTransform.rotation.toAngles(oldRot); - newRot.x = oldRot.x - Input.movement.y * 0.005; - newRot.x = Math.min(newRot.x, Math.PI*0.5); - newRot.x = Math.max(newRot.x, -Math.PI*0.5); - - newRot.y = oldRot.y - Input.movement.x * 0.005; - - camTransform.rotation.fromAngles(newRot.x, newRot.y, newRot.z); - cam.transformComponent.setUpdated(); - }; - - function mouseDown1(t) { - if(true == t){ - if(!document.pointerLockElement) { - GameUtils.requestPointerLock(); - } - } - }; - - function update(){ - if(room != Game.userEntity.room){ - if(room != -1){ - // console.log("userEntity was in "+Game.userEntity.room+" now it is in "+room); - Game.raiseEvent("PlayerMoved", room, entityTransform.translation); - Game.userEntity.room = room; - } - } - } - - function fixedUpdate(){ - grounded = false; - oldPos.copy(newPos); - - camTransform.applyForwardVector( fwdBase, direction); // get the direction the camera is looking - camTransform.applyForwardVector( leftBase, left); // get the direction to the left of the camera - - movement.copy(Vector3.ZERO); - - if (true == Input.keys[87]) // W - movement.add(direction); - if (true == Input.keys[83]) // S - movement.sub(direction); - if (true == Input.keys[65]) // A - movement.add(left); - if (true == Input.keys[68]) // D - movement.sub(left); - if (true == Input.keys[32] && true == grounded) { // space bar - } - - movement.y = 0; - movement.normalize(); // move the same amount regardless of where we look- - - wantMove.copy(movement); - - ray.direction.copy(wantMove); - - wantMove.scale(Time.fixedDT * speed); - - Vector3.add(oldPos, wantMove, wantPos); - Vector3.add(wantPos, stepHeight, ray.origin); - - Game.picking.castRay(ray, function(hit1){ - if(null != hit1){ - if(hit1.distance <= 0.5){ - tmpVec = Vector3.cross(hit1.normal, movement); - movement = Vector3.cross(tmpVec, hit1.normal); - movement.y = 0; - - Vector3.add(hit1.point, ray.direction.mul(-0.5), wantPos); - wantPos.y = oldPos.y; - - wantMove.copy(movement); - //wantMove.normalize(); - wantPos.add(wantMove.scale(Time.fixedDT * speed)); - Vector3.add(wantPos, stepHeight, ray.origin); - - wantPos.normalize(); - - ray.direction.copy(wantMove); - Game.picking.castRay(ray, function(hit2){ - if(null != hit2){ - if(hit2.distance <= 0.5){ - Vector3.add(hit2.point, hit2.normal.mul(-0.5), wantPos); - wantPos.y = oldPos.y; - movement.copy(Vector3.ZERO); - } - } - }, 2); - } - } - }, 2); - - //newPos.copy(wantPos); - newPos.add(movement.scale(Time.fixedDT * speed)); - //Vector3.add(wantPos, movement, newPos); - - newPos.y -= (gravity * Time.fixedDT); - Vector3.add(newPos, Vector3.UP, ray.origin); - ray.direction.copy(Vector3.DOWN); - Game.picking.castRay(ray, function(hit0){ - if(null != hit0){ - room = hit0.entity.navID || room; - if(hit0.distance < 1.0){ - grounded = true; - } - if(true == grounded){ - newPos.y = hit0.point.y; - } - } - else{ - //newPos.y = oldPos.y; - console.log("Fell through..."); - Game.picking.castRay(ray, function(hit3){ - if(null != hit3){ - if(hit3.distance <= 1.0){ - grounded = true; - } - if(true == grounded){ - newPos.y = hit3.point.y; - } - } - },4); - } - }, 1); - } - - function renderUpdate(){ - entityTransform.translation.x = (newPos.x * Time.alpha) + (oldPos.x * (1 - Time.alpha)); - entityTransform.translation.y = (newPos.y * Time.alpha) + (oldPos.y * (1 - Time.alpha)); - entityTransform.translation.z = (newPos.z * Time.alpha) + (oldPos.z * (1 - Time.alpha)); - Game.userEntity.transformComponent.setUpdated(); - } - - return FPSCamComponent; -}); \ No newline at end of file diff --git a/lib/FlashlightComponent.js b/lib/FlashlightComponent.js deleted file mode 100644 index e1ac003..0000000 --- a/lib/FlashlightComponent.js +++ /dev/null @@ -1,50 +0,0 @@ -define([ - 'goo/entities/components/Component', - 'goo/entities/components/LightComponent', - 'goo/entities/components/ScriptComponent', - 'goo/renderer/light/SpotLight', - 'goo/noise/ValueNoise', - 'lib/Game' -], function( - Component, - LightComponent, - ScriptComponent, - SpotLight, - ValueNoise, - Game -) { - 'use strict'; - function FlashlightComponent(){ - this.type = "FlashlightComponent"; - var spotLight = new SpotLight(); - spotLight.angle = 25; - //spotLight.range = 10; - spotLight.penumbra = 5; - spotLight.intensity = 1; - spotLight.color.setd(1.0, 0.6, 0.3); - - var spotLightEntity = Game.goo.world.createEntity('FlashLight'); - spotLightEntity.setComponent(new LightComponent(spotLight)); - var script = new ScriptComponent(); - var time = 0; - script.run = function(entity, tpf, environment) { - time += tpf; - var rotY = (ValueNoise.evaluate1d(time, 1.1) - .5) * .15; - var rotX = (ValueNoise.evaluate1d(time, 1.3) - .5) * .13; - var posX = (ValueNoise.evaluate1d(time + 11919, 1.3) - .5) * .2; - var posY = (ValueNoise.evaluate1d(time + 31900, 1.3) - .5) * .2; - spotLightEntity.transformComponent.transform.translation.setd(posX, posY, 0); - spotLightEntity.transformComponent.setRotation(rotX, rotY, 0); - spotLightEntity.transformComponent.setUpdated(); - - spotLight.intensity = (ValueNoise.evaluate1d(time, .4)) * .2 + .8; - } - spotLightEntity.setComponent(script); - - spotLightEntity.addToWorld(); - - Game.viewCam.transformComponent.attachChild( spotLightEntity.transformComponent); - } - FlashlightComponent.prototype = Object.create(Component.prototype); - return FlashlightComponent; -}); \ No newline at end of file diff --git a/lib/Game.js b/lib/Game.js deleted file mode 100644 index 5b0deeb..0000000 --- a/lib/Game.js +++ /dev/null @@ -1,74 +0,0 @@ -define([ - "lib/NodeList" -], function( - NodeList -){ - "use strict"; - var _self = {}; - - _self._listeners = {}; - - // @param String: name - // @param Function: callback - // @param Number: priority - _self.register = function(e, o, c, priority){ - if(null == _self._listeners[e]){ - _self._listeners[e] = new NodeList(); - } - else{ - var n = _self._listeners[e].first; - while(n != null){ - if(n.object === o){ - console.log("Callback already exists for this object!"); - return; - } - n = n.next; - } - } - var node = { - next:null, - previous:null, - callback:c, - object:o - }; - if(null == priority){ - _self._listeners[e].addFirst(node); - } - else{ - node.priority = priority; - _self._listeners[e].addSorted(node); - } - return _self; - }; - // @param String: name - // @param Function: callback - _self.unregister = function(e, o){ - if(null == _self._listeners[e]){ - return; - } - var n = _self._listeners[e].first; - while(n != null){ - if(n.object === o){ - _self._listeners[e].remove(n); - } - n = n.next; - } - return _self; - }; - // @param String: name - // @param mixed - _self.raiseEvent = function(){ - var e = [].shift.apply(arguments); - if(null == e){return;} - if(null == _self._listeners[e]){ - return; - } - var n = _self._listeners[e].first; - while(n != null){ - n.callback.apply(n.object, arguments); - n = n.next; - } - return _self; - } - return _self; -}); \ No newline at end of file diff --git a/lib/Time.js b/lib/Time.js index e36bb05..5a59c3f 100644 --- a/lib/Time.js +++ b/lib/Time.js @@ -43,6 +43,9 @@ function ( while(Time.fixedDT < this._accumulated){ Game.raiseEvent("FixedUpdate"); + if(Game.dynamicsWorld){ + Game.dynamicsWorld.stepSimulation(Time.fixedDT, 10); + } this._accumulated -= Time.fixedDT; } diff --git a/lib/Zombie.js b/lib/Zombie.js deleted file mode 100644 index e5c999b..0000000 --- a/lib/Zombie.js +++ /dev/null @@ -1,274 +0,0 @@ -define([ - 'goo/entities/EntityUtils', - 'lib/Game', - 'goo/math/Vector3', - 'goo/math/Ray', - 'lib/AIComponent', - 'lib/HealthComponent', - 'lib/Time', - 'goo/loaders/DynamicLoader', - 'goo/util/rsvp' -], function( - EntityUtils, - Game, - Vector3, - Ray, - AIComponent, - HealthComponent, - Time, - DynamicLoader, - RSVP -){ - "use strict"; - var zLoader = []; - - var zRef = []; - var ray = new Ray(); - var count = 0; - var health = 50; - function Zombie(){} - - //Zombie.zRef = []; - //Zombie.ray = new Ray(); - //Zombie.count = 0; - //Zombie.health = 50; - - Zombie.getRef = function(){ - if(zRef.length > 0){ - var z = zRef.shift(); - z.healthComponent.resetHealth(); - return z; - } - } - - Zombie.setupRefs = function(promises){ - console.log("count at time of creation is "+count); - var l0 = new DynamicLoader({world: Game.goo.world, rootPath: 'res'}); - promises.push(l0.loadFromBundle('project.project', 'zombie.bundle')); - zLoader.push(l0); - - var l1 = new DynamicLoader({world: Game.goo.world, rootPath: 'res'}); - promises.push(l1.loadFromBundle('project.project', 'zombie.bundle')); - zLoader.push(l1); - - var l2 = new DynamicLoader({world: Game.goo.world, rootPath: 'res'}); - promises.push(l2.loadFromBundle('project.project', 'zombie.bundle')); - zLoader.push(l2); - - var l3 = new DynamicLoader({world: Game.goo.world, rootPath: 'res'}); - promises.push(l3.loadFromBundle('project.project', 'zombie.bundle')); - zLoader.push(l3); - - var l4 = new DynamicLoader({world: Game.goo.world, rootPath: 'res'}); - promises.push(l4.loadFromBundle('project.project', 'zombie.bundle')); - zLoader.push(l4); - - RSVP.all(promises) - .then(function(){ - for(var i = 0, ilen = zLoader.length; i < ilen;i++){ - var z = zLoader[i].getCachedObjectForRef("zombie_idle/entities/Zombie_Geo_0.entity"); - z.name = "Zombie:"+(count++); - z.setComponent(new AIComponent(z)); - z.setComponent(new HealthComponent(z, health)); - z.aIComponent.addBehavior({name:"Death", update:Zombie.Death, blocking:true, active:false}, 0); - z.aIComponent.addBehavior({name:"Idle", update:Zombie.Idle, blocking:true, active:true}, 10); - z.aIComponent.addBehavior({name:"PathFind", update:Zombie.PathFind, blocking:true, active:false}, 20); - z.skip = true; - zRef.push(z); - //z.removeFromWorld(); - } - }).then(null, function(e){}); - } - - Zombie.Death = function(entity, node){ - switch(node.state){ - case -1: - Game.unregister("PlayerMoved", entity); - console.log("Starting Death State"); - var eac = entity.transformComponent.parent.entity.animationComponent; - eac.layers[0]._steadyStates['mixamo_com__']._sourceTree._clipInstance._loopCount=1; - eac.transitionTo( eac.getStates()[3]); // idle, injured_walk, uppercut_jab, dying - node.fadeTime = Time.time+5.0; - node.state = 0; - break; - case 0: - if(node.fadeTime < Time.time){ - entity.skip = true; - entity.aIComponent.getBehaviorByName("Death").active = false; - entity.aIComponent.getBehaviorByName("Idle").state = -1; - entity.aIComponent.getBehaviorByName("Idle").active = true; - entity.aIComponent.getBehaviorByName("PathFind").active = false; - - node.state = -1; - zRef.push(entity); - - var z = Zombie.getRef(); - z.aIComponent.getBehaviorByName("Idle").active = true; - z.aIComponent.getBehaviorByName("Idle").state = 0; - z.transformComponent.setTranslation((Math.random()*10)-5,0,(Math.random()*10)-5); - z.transformComponent.setUpdated(); - } - break; - - default: - node.state = -1; - break; - } - }; - Zombie.Idle = function(entity, node){ - switch(node.state){ - case -1: - // waiting to respawn - break; - case 0: - entity.skip = false; - Vector3.add(entity.transformComponent.transform.translation, Vector3.UP, ray.origin); - ray.direction = Vector3.DOWN; - Game.picking.castRay(ray, function(hit){ - if(null != hit){ - entity.room = hit.entity.navID; - } - }, 1); - var eac = entity.transformComponent.parent.entity.animationComponent; - eac.layers[0]._steadyStates['mixamo_com__']._sourceTree._clipInstance._loopCount=0; - eac.transitionTo( eac.getStates()[0]); // idle, injured_walk, uppercut_jab, dying - node.state = 1; - break; - case 1: - // if player near... - node.active = false; - entity.aIComponent.getBehaviorByName("PathFind").active = true; - console.log("pathfinding"); - break; - default: - node.state = -1; - break; - } - }; - - Zombie.FollowUser = function(entity, node){ - - }; - - Zombie.AttackUser = function(entity, node){ - - }; - - Zombie.PathFind = function(entity, node){ - function playerMoved(room, pos){ - console.log("playerMoved:"+room+","+pos); - node.goalRoom = room; - - if(node.goalRoom == entity.room){ - console.log("I am already in "+node.goalRoom); - node.state = 2; - return; - } - //console.log("playerMoved():I am not in "+node.goalRoom+" getting path."); - node.path = Game.getPathRoomToRoom(entity.room, node.goalRoom); - if(node.path != null){ - node.curNode = node.path.first; - node.doorPos = Game.navMesh.room[entity.room].door[node.curNode.door].center; - entity.aIComponent.getBehaviorByName("Idle").active = false; - node.state = 1; - var eac = entity.transformComponent.parent.entity.animationComponent; - if( !entity.dmg || entity.dmg < 100) - eac.transitionTo( eac.getStates()[1]); - } - else{ - node.state = 4; - } - } - - switch(node.state){ - case -1: - case null: - case undefined: - Game.register("PlayerMoved", entity, playerMoved); - node.dir = new Vector3(); - node.state = 0; - node.speed = 100; - console.log("now registered for PlayerMoved"); - break; - case 0: - break; - case 1: - Vector3.add(entity.transformComponent.transform.translation, Vector3.UP, ray.origin); - ray.direction = Vector3.DOWN; - Game.picking.castRay(ray, function(hit){ - if(null != hit){ - //console.log("I am in room "+hit.entity.navID+" goal is "+node.curNode.room); - //entity.room = hit.entity.navID; - entity.transformComponent.transform.translation.y = hit.point.y; - } - }, 1); - - if(entity.room == node.goalRoom){ - node.state = 2; - console.log("Going to player position..."); - return; - } - if(entity.transformComponent.transform.translation.distance(node.doorPos) <= 0.1){ - //if(entity.room == node.curNode.room){ - // console.log("got to room "+node.curNode.room); - entity.room = node.curNode.room; - node.curNode = node.curNode.next; - if(node.curNode != null){ - // console.log("going to room "+node.curNode.room+" from room "+node.curNode.previous.room); - node.doorPos = Game.navMesh.room[entity.room].door[node.curNode.door].center; - } - } - - Vector3.sub(node.doorPos, entity.transformComponent.transform.translation, node.dir); - node.dir.normalize(); - node.dir.y = 0; - - entity.transformComponent.transform.rotation.lookAt(node.dir, Vector3.UP); - entity.transformComponent.transform.applyForwardVector(Vector3.FORWARD, node.dir); - entity.transformComponent.addTranslation(Vector3.mul(node.dir, node.speed * Time.dt )); - entity.transformComponent.setUpdated(); - - break; - case 2: - if(entity.transformComponent.transform.translation.distance(Game.userEntity.transformComponent.transform.translation) <= 1.0){ - //console.log("at player position..."); - node.state = 3; - } - - Vector3.sub(Game.userEntity.transformComponent.transform.translation, entity.transformComponent.transform.translation, node.dir); - node.dir.normalize(); - node.dir.y = 0; - - entity.transformComponent.transform.rotation.lookAt(node.dir, Vector3.UP); - entity.transformComponent.transform.applyForwardVector(Vector3.FORWARD, node.dir); - entity.transformComponent.addTranslation(Vector3.mul(node.dir, node.speed * Time.dt )); - entity.transformComponent.setUpdated(); - break; - case 3: - entity.aIComponent.getBehaviorByName("Idle").active = true; - break; - case 4: - node.goalRoom = Game.userEntity.room; - - if(node.goalRoom == entity.room){ - console.log("I am already in "+node.goalRoom); - node.state = 2; - return; - } - //console.log("(case 4)I am not in "+node.goalRoom+" getting path."); - node.path = Game.getPathRoomToRoom(entity.room, node.goalRoom); - if(node.path != null){ - node.curNode = node.path.first; - node.doorPos = Game.navMesh.room[entity.room].door[node.curNode.door].center; - entity.aIComponent.setActiveByName("Zombie-Idle", false); - node.state = 1; - var eac = entity.transformComponent.parent.entity.animationComponent; - if( !entity.dmg || entity.dmg < 100) - eac.transitionTo( eac.getStates()[1]); - } - break; - }; - } - - return Zombie; -}); \ No newline at end of file diff --git a/lib/ammo.js b/lib/ammo.js new file mode 100644 index 0000000..23747e2 --- /dev/null +++ b/lib/ammo.js @@ -0,0 +1,21351 @@ +// Note: For maximum-speed code, see "Optimizing Code" on the Emscripten wiki, https://github.com/kripken/emscripten/wiki/Optimizing-Code +// Note: Some Emscripten settings may limit the speed of the generated code. +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = eval('(function() { try { return Module || {} } catch(e) { return {} } })()'); +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function'; +var ENVIRONMENT_IS_WEB = typeof window === 'object'; +var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; +var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (ENVIRONMENT_IS_NODE) { + // Expose functionality in the same simple way that the shells work + // Note that we pollute the global namespace here, otherwise we break in node + Module['print'] = function(x) { + process['stdout'].write(x + '\n'); + }; + Module['printErr'] = function(x) { + process['stderr'].write(x + '\n'); + }; + var nodeFS = require('fs'); + var nodePath = require('path'); + Module['read'] = function(filename, binary) { + filename = nodePath['normalize'](filename); + var ret = nodeFS['readFileSync'](filename); + // The path is absolute if the normalized version is the same as the resolved. + if (!ret && filename != nodePath['resolve'](filename)) { + filename = path.join(__dirname, '..', 'src', filename); + ret = nodeFS['readFileSync'](filename); + } + if (ret && !binary) ret = ret.toString(); + return ret; + }; + Module['readBinary'] = function(filename) { return Module['read'](filename, true) }; + Module['load'] = function(f) { + globalEval(read(f)); + }; + Module['arguments'] = process['argv'].slice(2); + module.exports = Module; +} +else if (ENVIRONMENT_IS_SHELL) { + Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function() { throw 'no read() available (jsc?)' }; + } + Module['readBinary'] = function(f) { + return read(f, 'binary'); + }; + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + this['Module'] = Module; +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + if (ENVIRONMENT_IS_WEB) { + Module['print'] = function(x) { + console.log(x); + }; + Module['printErr'] = function(x) { + console.log(x); + }; + this['Module'] = Module; + } else if (ENVIRONMENT_IS_WORKER) { + // We can do very little here... + var TRY_USE_DUMP = false; + Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + Module['load'] = importScripts; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] == 'undefined' && Module['read']) { + Module['load'] = function(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +// *** Environment setup code *** +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; +// Merge back in the overrides +for (var key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +// === Auto-generated preamble library stuff === +//======================================== +// Runtime code shared with compiler +//======================================== +var Runtime = { + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + forceAlign: function (target, quantum) { + quantum = quantum || 4; + if (quantum == 1) return target; + if (isNumber(target) && isNumber(quantum)) { + return Math.ceil(target/quantum)*quantum; + } else if (isNumber(quantum) && isPowerOfTwo(quantum)) { + var logg = log2(quantum); + return '((((' +target + ')+' + (quantum-1) + ')>>' + logg + ')<<' + logg + ')'; + } + return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum; + }, + isNumberType: function (type) { + return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES; + }, + isPointerType: function isPointerType(type) { + return type[type.length-1] == '*'; +}, + isStructType: function isStructType(type) { + if (isPointerType(type)) return false; + if (isArrayType(type)) return true; + if (/?/.test(type)) return true; // { i32, i8 } etc. - anonymous struct types + // See comment in isStructPointerType() + return type[0] == '%'; +}, + INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0}, + FLOAT_TYPES: {"float":0,"double":0}, + or64: function (x, y) { + var l = (x | 0) | (y | 0); + var h = (Math.round(x / 4294967296) | Math.round(y / 4294967296)) * 4294967296; + return l + h; + }, + and64: function (x, y) { + var l = (x | 0) & (y | 0); + var h = (Math.round(x / 4294967296) & Math.round(y / 4294967296)) * 4294967296; + return l + h; + }, + xor64: function (x, y) { + var l = (x | 0) ^ (y | 0); + var h = (Math.round(x / 4294967296) ^ Math.round(y / 4294967296)) * 4294967296; + return l + h; + }, + getNativeTypeSize: function (type, quantumSize) { + if (Runtime.QUANTUM_SIZE == 1) return 1; + var size = { + '%i1': 1, + '%i8': 1, + '%i16': 2, + '%i32': 4, + '%i64': 8, + "%float": 4, + "%double": 8 + }['%'+type]; // add '%' since float and double confuse Closure compiler as keys, and also spidermonkey as a compiler will remove 's from '_i8' etc + if (!size) { + if (type.charAt(type.length-1) == '*') { + size = Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] == 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 == 0); + size = bits/8; + } + } + return size; + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + dedup: function dedup(items, ident) { + var seen = {}; + if (ident) { + return items.filter(function(item) { + if (seen[item[ident]]) return false; + seen[item[ident]] = true; + return true; + }); + } else { + return items.filter(function(item) { + if (seen[item]) return false; + seen[item] = true; + return true; + }); + } +}, + set: function set() { + var args = typeof arguments[0] === 'object' ? arguments[0] : arguments; + var ret = {}; + for (var i = 0; i < args.length; i++) { + ret[args[i]] = 0; + } + return ret; +}, + STACK_ALIGN: 8, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (type == 'i64' || type == 'double' || vararg) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + calculateStructAlignment: function calculateStructAlignment(type) { + type.flatSize = 0; + type.alignSize = 0; + var diffs = []; + var prev = -1; + var index = 0; + type.flatIndexes = type.fields.map(function(field) { + index++; + var size, alignSize; + if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) { + size = Runtime.getNativeTypeSize(field); // pack char; char; in structs, also char[X]s. + alignSize = Runtime.getAlignSize(field, size); + } else if (Runtime.isStructType(field)) { + if (field[1] === '0') { + // this is [0 x something]. When inside another structure like here, it must be at the end, + // and it adds no size + // XXX this happens in java-nbody for example... assert(index === type.fields.length, 'zero-length in the middle!'); + size = 0; + alignSize = type.alignSize || QUANTUM_SIZE; + } else { + size = Types.types[field].flatSize; + alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize); + } + } else if (field[0] == 'b') { + // bN, large number field, like a [N x i8] + size = field.substr(1)|0; + alignSize = 1; + } else { + throw 'Unclear type in struct: ' + field + ', in ' + type.name_ + ' :: ' + dump(Types.types[type.name_]); + } + if (type.packed) alignSize = 1; + type.alignSize = Math.max(type.alignSize, alignSize); + var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory + type.flatSize = curr + size; + if (prev >= 0) { + diffs.push(curr-prev); + } + prev = curr; + return curr; + }); + type.flatSize = Runtime.alignMemory(type.flatSize, type.alignSize); + if (diffs.length == 0) { + type.flatFactor = type.flatSize; + } else if (Runtime.dedup(diffs).length == 1) { + type.flatFactor = diffs[0]; + } + type.needsFlattening = (type.flatFactor != 1); + return type.flatIndexes; + }, + generateStructInfo: function (struct, typeName, offset) { + var type, alignment; + if (typeName) { + offset = offset || 0; + type = (typeof Types === 'undefined' ? Runtime.typeInfo : Types.types)[typeName]; + if (!type) return null; + if (type.fields.length != struct.length) { + printErr('Number of named fields must match the type for ' + typeName + ': possibly duplicate struct names. Cannot return structInfo'); + return null; + } + alignment = type.flatIndexes; + } else { + var type = { fields: struct.map(function(item) { return item[0] }) }; + alignment = Runtime.calculateStructAlignment(type); + } + var ret = { + __size__: type.flatSize + }; + if (typeName) { + struct.forEach(function(item, i) { + if (typeof item === 'string') { + ret[item] = alignment[i] + offset; + } else { + // embedded struct + var key; + for (var k in item) key = k; + ret[key] = Runtime.generateStructInfo(item[key], type.fields[i], alignment[i]); + } + }); + } else { + struct.forEach(function(item, i) { + ret[item[1]] = alignment[i]; + }); + } + return ret; + }, + dynCall: function (sig, ptr, args) { + if (args && args.length) { + if (!args.splice) args = Array.prototype.slice.call(args); + args.splice(0, 0, ptr); + return Module['dynCall_' + sig].apply(null, args); + } else { + return Module['dynCall_' + sig].call(null, ptr); + } + }, + functionPointers: [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2 + 2*i; + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[func]) { + Runtime.funcWrappers[func] = function() { + return Runtime.dynCall(sig, func, arguments); + }; + } + return Runtime.funcWrappers[func]; + }, + UTF8Processor: function () { + var buffer = []; + var needed = 0; + this.processCChar = function (code) { + code = code & 0xFF; + if (buffer.length == 0) { + if ((code & 0x80) == 0x00) { // 0xxxxxxx + return String.fromCharCode(code); + } + buffer.push(code); + if ((code & 0xE0) == 0xC0) { // 110xxxxx + needed = 1; + } else if ((code & 0xF0) == 0xE0) { // 1110xxxx + needed = 2; + } else { // 11110xxx + needed = 3; + } + return ''; + } + if (needed) { + buffer.push(code); + needed--; + if (needed > 0) return ''; + } + var c1 = buffer[0]; + var c2 = buffer[1]; + var c3 = buffer[2]; + var c4 = buffer[3]; + var ret; + if (buffer.length == 2) { + ret = String.fromCharCode(((c1 & 0x1F) << 6) | (c2 & 0x3F)); + } else if (buffer.length == 3) { + ret = String.fromCharCode(((c1 & 0x0F) << 12) | ((c2 & 0x3F) << 6) | (c3 & 0x3F)); + } else { + // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + var codePoint = ((c1 & 0x07) << 18) | ((c2 & 0x3F) << 12) | + ((c3 & 0x3F) << 6) | (c4 & 0x3F); + ret = String.fromCharCode( + Math.floor((codePoint - 0x10000) / 0x400) + 0xD800, + (codePoint - 0x10000) % 0x400 + 0xDC00); + } + buffer.length = 0; + return ret; + } + this.processJSString = function(string) { + string = unescape(encodeURIComponent(string)); + var ret = []; + for (var i = 0; i < string.length; i++) { + ret.push(string.charCodeAt(i)); + } + return ret; + } + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = ((((STACKTOP)+7)>>3)<<3); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = ((((STATICTOP)+7)>>3)<<3); return ret; }, + dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = ((((DYNAMICTOP)+7)>>3)<<3); if (DYNAMICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; }, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 8))*(quantum ? quantum : 8); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+(((low)>>>(0))))+((+(((high)>>>(0))))*(+(4294967296)))) : ((+(((low)>>>(0))))+((+(((high)|(0))))*(+(4294967296))))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} +function jsCall() { + var args = Array.prototype.slice.call(arguments); + return Runtime.functionPointers[args[0]].apply(null, args.slice(1)); +} +//======================================== +// Runtime essentials +//======================================== +var __THREW__ = 0; // Used in checking for thrown exceptions. +var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; +var undef = 0; +// tempInt is used for 32-bit signed values or smaller. tempBigInt is used +// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt +var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD; +var tempI64, tempI64b; +var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; +function assert(condition, text) { + if (!condition) { + abort('Assertion failed: ' + text); + } +} +var globalScope = this; +// C calling interface. A convenient way to call C functions (in C files, or +// defined with extern "C"). +// +// Note: LLVM optimizations can inline and remove functions, after which you will not be +// able to call them. Closure can also do so. To avoid that, add your function to +// the exports using something like +// +// -s EXPORTED_FUNCTIONS='["_main", "_myfunc"]' +// +// @param ident The name of the C function (note that C++ functions will be name-mangled - use extern "C") +// @param returnType The return type of the function, one of the JS types 'number', 'string' or 'array' (use 'number' for any C pointer, and +// 'array' for JavaScript arrays and typed arrays; note that arrays are 8-bit). +// @param argTypes An array of the types of arguments for the function (if there are no arguments, this can be ommitted). Types are as in returnType, +// except that 'array' is not possible (there is no way for us to know the length of the array) +// @param args An array of the arguments to the function, as native JS values (as in returnType) +// Note that string arguments will be stored on the stack (the JS string will become a C string on the stack). +// @return The return value, as a native JS value (as in returnType) +function ccall(ident, returnType, argTypes, args) { + return ccallFunc(getCFunc(ident), returnType, argTypes, args); +} +Module["ccall"] = ccall; +// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) +function getCFunc(ident) { + try { + var func = Module['_' + ident]; // closure exported function + if (!func) func = eval('_' + ident); // explicit lookup + } catch(e) { + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} +// Internal function that does a C call using a function, not an identifier +function ccallFunc(func, returnType, argTypes, args) { + var stack = 0; + function toC(value, type) { + if (type == 'string') { + if (value === null || value === undefined || value === 0) return 0; // null string + if (!stack) stack = Runtime.stackSave(); + var ret = Runtime.stackAlloc(value.length+1); + writeStringToMemory(value, ret); + return ret; + } else if (type == 'array') { + if (!stack) stack = Runtime.stackSave(); + var ret = Runtime.stackAlloc(value.length); + writeArrayToMemory(value, ret); + return ret; + } + return value; + } + function fromC(value, type) { + if (type == 'string') { + return Pointer_stringify(value); + } + assert(type != 'array'); + return value; + } + var i = 0; + var cArgs = args ? args.map(function(arg) { + return toC(arg, argTypes[i++]); + }) : []; + var ret = fromC(func.apply(null, cArgs), returnType); + if (stack) Runtime.stackRestore(stack); + return ret; +} +// Returns a native JS wrapper for a C function. This is similar to ccall, but +// returns a function you can call repeatedly in a normal way. For example: +// +// var my_function = cwrap('my_c_function', 'number', ['number', 'number']); +// alert(my_function(5, 22)); +// alert(my_function(99, 12)); +// +function cwrap(ident, returnType, argTypes) { + var func = getCFunc(ident); + return function() { + return ccallFunc(func, returnType, argTypes, Array.prototype.slice.call(arguments)); + } +} +Module["cwrap"] = cwrap; +// Sets a value in memory in a dynamic way at run-time. Uses the +// type data. This is the same as makeSetValue, except that +// makeSetValue is done at compile-time and generates the needed +// code then, whereas this function picks the right code at +// run-time. +// Note that setValue and getValue only do *aligned* writes and reads! +// Note that ccall uses JS types as for defining types, while setValue and +// getValue need LLVM types ('i8', 'i32') - this is a lower-level operation +function setValue(ptr, value, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': HEAP8[(ptr)]=value; break; + case 'i8': HEAP8[(ptr)]=value; break; + case 'i16': HEAP16[((ptr)>>1)]=value; break; + case 'i32': HEAP32[((ptr)>>2)]=value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= (+(1)) ? (tempDouble > (+(0)) ? ((Math.min((+(Math.floor((tempDouble)/(+(4294967296))))), (+(4294967295))))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+(4294967296)))))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)]=value; break; + case 'double': HEAPF64[((ptr)>>3)]=value; break; + default: abort('invalid type for setValue: ' + type); + } +} +Module['setValue'] = setValue; +// Parallel to setValue. +function getValue(ptr, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': return HEAP8[(ptr)]; + case 'i8': return HEAP8[(ptr)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + default: abort('invalid type for setValue: ' + type); + } + return null; +} +Module['getValue'] = getValue; +var ALLOC_NORMAL = 0; // Tries to use _malloc() +var ALLOC_STACK = 1; // Lives for the duration of the current function call +var ALLOC_STATIC = 2; // Cannot be freed +var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk +var ALLOC_NONE = 4; // Do not allocate +Module['ALLOC_NORMAL'] = ALLOC_NORMAL; +Module['ALLOC_STACK'] = ALLOC_STACK; +Module['ALLOC_STATIC'] = ALLOC_STATIC; +Module['ALLOC_DYNAMIC'] = ALLOC_DYNAMIC; +Module['ALLOC_NONE'] = ALLOC_NONE; +// allocate(): This is for internal use. You can use it yourself as well, but the interface +// is a little tricky (see docs right below). The reason is that it is optimized +// for multiple syntaxes to save space in generated code. So you should +// normally not use allocate(), and instead allocate memory using _malloc(), +// initialize it with setValue(), and so forth. +// @slab: An array of data, or a number. If a number, then the size of the block to allocate, +// in *bytes* (note that this is sometimes confusing: the next parameter does not +// affect this!) +// @types: Either an array of types, one for each byte (or 0 if no type at that position), +// or a single type which is used for the entire block. This only matters if there +// is initial data - if @slab is a number, then this does not matter at all and is +// ignored. +// @allocator: How to allocate memory, see ALLOC_* +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === 'number') { + zeroinit = true; + size = slab; + } else { + zeroinit = false; + size = slab.length; + } + var singleType = typeof types === 'string' ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + if (zeroinit) { + var ptr = ret, stop; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[((ptr)>>2)]=0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[((ptr++)|0)]=0; + } + return ret; + } + if (singleType === 'i8') { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later + setValue(ret+i, curr, type); + // no need to look up size unless type changes, so cache it + if (previousType !== type) { + typeSize = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + return ret; +} +Module['allocate'] = allocate; +function Pointer_stringify(ptr, /* optional */ length) { + // TODO: use TextDecoder + // Find the length, and check for UTF while doing so + var hasUtf = false; + var t; + var i = 0; + while (1) { + t = HEAPU8[(((ptr)+(i))|0)]; + if (t >= 128) hasUtf = true; + else if (t == 0 && !length) break; + i++; + if (length && i == length) break; + } + if (!length) length = i; + var ret = ''; + if (!hasUtf) { + var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack + var curr; + while (length > 0) { + curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); + ret = ret ? ret + curr : curr; + ptr += MAX_CHUNK; + length -= MAX_CHUNK; + } + return ret; + } + var utf8 = new Runtime.UTF8Processor(); + for (i = 0; i < length; i++) { + t = HEAPU8[(((ptr)+(i))|0)]; + ret += utf8.processCChar(t); + } + return ret; +} +Module['Pointer_stringify'] = Pointer_stringify; +// Memory management +var PAGE_SIZE = 4096; +function alignMemoryPage(x) { + return ((x+4095)>>12)<<12; +} +var HEAP; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; +var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area +var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area +var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk +function enlargeMemory() { + abort('Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value, or (2) set Module.TOTAL_MEMORY before the program runs.'); +} +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 67108864; +var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152; +// Initialize the runtime's memory +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +assert(!!Int32Array && !!Float64Array && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'Cannot fallback to non-typed array case: Code is too specialized'); +var buffer = new ArrayBuffer(TOTAL_MEMORY); +HEAP8 = new Int8Array(buffer); +HEAP16 = new Int16Array(buffer); +HEAP32 = new Int32Array(buffer); +HEAPU8 = new Uint8Array(buffer); +HEAPU16 = new Uint16Array(buffer); +HEAPU32 = new Uint32Array(buffer); +HEAPF32 = new Float32Array(buffer); +HEAPF64 = new Float64Array(buffer); +// Endianness check (note: assumes compiler arch was little-endian) +HEAP32[0] = 255; +assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); +Module['HEAP'] = HEAP; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; +function callRuntimeCallbacks(callbacks) { + while(callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == 'function') { + callback(); + continue; + } + var func = callback.func; + if (typeof func === 'number') { + if (callback.arg === undefined) { + Runtime.dynCall('v', func); + } else { + Runtime.dynCall('vi', func, [callback.arg]); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the runtime has exited +var runtimeInitialized = false; +function preRun() { + // compatibility - merge in anything from Module['preRun'] at this time + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} +function ensureInitRuntime() { + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} +function preMain() { + callRuntimeCallbacks(__ATMAIN__); +} +function exitRuntime() { + callRuntimeCallbacks(__ATEXIT__); +} +function postRun() { + // compatibility - merge in anything from Module['postRun'] at this time + 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); +} +Module['addOnPreRun'] = Module.addOnPreRun = addOnPreRun; +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module['addOnInit'] = Module.addOnInit = addOnInit; +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module['addOnPreMain'] = Module.addOnPreMain = addOnPreMain; +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module['addOnExit'] = Module.addOnExit = addOnExit; +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun; +// Tools +// This processes a JS string into a C-line array of numbers, 0-terminated. +// For LLVM-originating strings, see parser.js:parseLLVMString function +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + var ret = (new Runtime.UTF8Processor()).processJSString(stringy); + if (length) { + ret.length = length; + } + if (!dontAddNull) { + ret.push(0); + } + return ret; +} +Module['intArrayFromString'] = intArrayFromString; +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(''); +} +Module['intArrayToString'] = intArrayToString; +// Write a Javascript array to somewhere in the heap +function writeStringToMemory(string, buffer, dontAddNull) { + var array = intArrayFromString(string, dontAddNull); + var i = 0; + while (i < array.length) { + var chr = array[i]; + HEAP8[(((buffer)+(i))|0)]=chr + i = i + 1; + } +} +Module['writeStringToMemory'] = writeStringToMemory; +function writeArrayToMemory(array, buffer) { + for (var i = 0; i < array.length; i++) { + HEAP8[(((buffer)+(i))|0)]=array[i]; + } +} +Module['writeArrayToMemory'] = writeArrayToMemory; +function unSign(value, bits, ignore, sig) { + if (value >= 0) { + return value; + } + return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts + : Math.pow(2, bits) + value; +} +function reSign(value, bits, ignore, sig) { + if (value <= 0) { + return value; + } + var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 + : Math.pow(2, bits-1); + if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that + // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors + // TODO: In i64 mode 1, resign the two parts separately and safely + value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts + } + return value; +} +if (!Math['imul']) Math['imul'] = function(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; +// 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 +// PRE_RUN_ADDITIONS (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 runDependencyTracking = {}; +var calledInit = false, calledRun = false; +var runDependencyWatcher = null; +function addRunDependency(id) { + runDependencies++; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module['addRunDependency'] = addRunDependency; +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun && shouldRunNow) run(); + } +} +Module['removeRunDependency'] = removeRunDependency; +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data +function loadMemoryInitializer(filename) { + function applyData(data) { + HEAPU8.set(data, STATIC_BASE); + } + // always do this asynchronously, to keep shell and web as similar as possible + addOnPreRun(function() { + if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { + applyData(Module['readBinary'](filename)); + } else { + Browser.asyncLoad(filename, function(data) { + applyData(data); + }, function(data) { + throw 'could not load memory initializer ' + filename; + }); + } + }); +} +// === Body === +STATIC_BASE = 8; +STATICTOP = STATIC_BASE + 44152; +/* global initializers */ __ATINIT__.push({ func: function() { runPostSets() } },{ func: function() { __GLOBAL__I_a() } }); +var ___dso_handle; +var __ZTVN10__cxxabiv120__si_class_type_infoE; +var __ZTVN10__cxxabiv117__class_type_infoE; +__ZTVN10__cxxabiv120__si_class_type_infoE=allocate([0,0,0,0,104,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_STATIC); +__ZTVN10__cxxabiv117__class_type_infoE=allocate([0,0,0,0,120,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_STATIC); +/* memory initializer */ allocate([92,0,0,0,158,6,0,0,42,0,0,0,84,1,0,0,28,4,0,0,84,0,0,0,56,1,0,0,134,1,0,0,108,0,0,0,120,1,0,0,68,0,0,0,206,1,0,0,70,0,0,0,82,4,0,0,54,0,0,0,14,2,0,0,64,0,0,0,10,4,0,0,88,0,0,0,98,6,0,0,16,1,0,0,192,0,0,0,236,1,0,0,54,0,0,0,176,6,0,0,50,0,0,0,174,3,0,0,18,1,0,0,48,0,0,0,42,0,0,0,42,0,0,0,86,2,0,0,42,0,0,0,250,2,0,0,144,8,0,0,128,1,0,0,206,1,0,0,224,0,0,0,54,0,0,0,62,0,0,0,196,4,0,0,128,2,0,0,40,2,0,0,144,1,0,0,164,4,0,0,90,4,0,0,108,1,0,0,142,6,0,0,0,6,0,0,238,4,0,0,0,1,0,0,88,1,0,0,254,8,0,0,82,2,0,0,200,0,0,0,216,1,0,0,66,0,0,0,114,0,0,0,252,3,0,0,206,0,0,0,112,0,0,0,230,1,0,0,178,6,0,0,204,1,0,0,240,2,0,0,74,0,0,0,146,2,0,0,48,0,0,0,84,4,0,0,50,0,0,0,68,0,0,0,168,0,0,0,122,6,0,0,58,2,0,0,106,0,0,0,42,0,0,0,204,1,0,0,198,3,0,0,202,2,0,0,36,2,0,0,204,2,0,0,136,0,0,0,172,1,0,0,86,1,0,0,72,0,0,0,188,2,0,0,70,1,0,0,98,0,0,0,104,5,0,0,64,1,0,0,182,3,0,0,66,2,0,0,118,2,0,0,142,0,0,0,132,0,0,0,230,5,0,0,184,0,0,0,36,6,0,0,46,0,0,0,52,1,0,0,74,0,0,0,172,5,0,0,110,0,0,0,162,0,0,0,136,4,0,0,178,0,0,0,66,0,0,0,96,10,0,0,214,4,0,0,68,0,0,0,98,3,0,0,44,0,0,0,130,1,0,0,124,0,0,0,138,5,0,0,196,1,0,0,70,0,0,0,46,5,0,0,238,5,0,0,68,10,0,0,72,1,0,0,222,0,0,0,76,0,0,0,94,4,0,0,196,0,0,0,234,3,0,0,46,9,0,0,52,0,0,0,32,3,0,0,166,0,0,0,108,0,0,0,92,7,0,0,68,0,0,0,126,5,0,0,10,2,0,0,200,0,0,0,36,3,0,0,204,9,0,0,144,0,0,0,86,0,0,0,112,0,0,0,98,0,0,0,190,0,0,0,42,5,0,0,18,1,0,0,204,1,0,0,10,3,0,0,38,1,0,0,58,0,0,0,146,1,0,0,70,0,0,0,52,1,0,0,216,1,0,0,56,0,0,0,252,2,0,0,36,2,0,0,224,5,0,0,24,5,0,0,88,0,0,0,46,0,0,0,64,5,0,0,142,0,0,0,80,1,0,0,2,3,0,0,220,9,0,0,98,0,0,0,242,3,0,0,236,4,0,0,170,1,0,0,232,0,0,0,28,8,0,0,48,8,0,0,122,5,0,0,68,4,0,0,18,5,0,0,18,9,0,0,216,5,0,0,100,4,0,0,60,1,0,0,84,6,0,0,0,3,0,0,120,4,0,0,84,1,0,0,56,10,0,0,98,0,0,0,120,0,0,0,50,0,0,0,218,7,0,0,112,6,0,0,158,1,0,0,210,4,0,0,144,6,0,0,154,2,0,0,192,0,0,0,150,2,0,0,186,1,0,0,132,5,0,0,196,0,0,0,38,2,0,0,132,4,0,0,192,1,0,0,42,3,0,0,122,0,0,0,106,0,0,0,230,3,0,0,58,0,0,0,194,3,0,0,116,0,0,0,138,2,0,0,234,5,0,0,48,1,0,0,148,5,0,0,140,0,0,0,44,5,0,0,196,4,0,0,12,5,0,0,68,1,0,0,138,0,0,0,120,5,0,0,214,1,0,0,90,2,0,0,176,0,0,0,132,10,0,0,24,3,0,0,96,2,0,0,210,1,0,0,140,0,0,0,50,0,0,0,178,1,0,0,40,1,0,0,8,5,0,0,106,0,0,0,34,4,0,0,40,5,0,0,172,0,0,0,230,0,0,0,220,10,0,0,172,9,0,0,220,1,0,0,246,3,0,0,36,4,0,0,56,1,0,0,64,1,0,0,60,0,0,0,228,0,0,0,170,7,0,0,108,4,0,0,254,3,0,0,208,0,0,0,222,7,0,0,232,0,0,0,82,7,0,0,44,0,0,0,172,3,0,0,72,0,0,0,152,5,0,0,44,0,0,0,174,1,0,0,86,0,0,0,192,3,0,0,224,0,0,0,244,0,0,0,12,8,0,0,120,1,0,0,60,0,0,0,82,1,0,0,222,3,0,0,40,7,0,0,168,4,0,0,186,0,0,0,174,7,0,0,238,0,0,0,238,0,0,0,28,2,0,0,114,0,0,0,110,2,0,0,242,7,0,0,42,0,0,0,126,7,0,0,166,7,0,0,6,1,0,0,230,8,0,0,112,6,0,0,2,3,0,0,222,1,0,0,92,1,0,0,4,2,0,0,44,0,0,0,126,0,0,0,122,1,0,0,90,1,0,0,250,3,0,0,88,0,0,0,86,10,0,0,118,0,0,0,188,0,0,0,198,6,0,0,198,0,0,0,16,1,0,0,56,4,0,0,74,7,0,0,88,0,0,0,64,0,0,0,122,10,0,0,50,3,0,0,130,10,0,0,108,3,0,0,50,1,0,0,94,0,0,0,46,0,0,0,114,0,0,0,136,3,0,0,48,1,0,0,196,1,0,0,224,0,0,0,196,0,0,0,62,0,0,0,42,0,0,0,98,1,0,0,222,0,0,0,174,2,0,0,144,0,0,0,154,0,0,0,170,0,0,0,64,3,0,0,44,4,0,0,80,0,0,0,56,3,0,0,44,0,0,0,52,0,0,0,44,0,0,0,42,0,0,0,8,3,0,0,82,2,0,0,164,1,0,0,42,1,0,0,0,2,0,0,62,3,0,0,20,1,0,0,106,9,0,0,132,0,0,0,116,3,0,0,0,9,0,0,164,0,0,0,66,3,0,0,64,2,0,0,152,0,0,0,140,4,0,0,218,0,0,0,34,3,0,0,148,1,0,0,42,0,0,0,14,10,0,0,130,3,0,0,232,1,0,0,228,3,0,0,134,0,0,0,78,0,0,0,48,0,0,0,120,0,0,0,54,1,0,0,224,1,0,0,90,0,0,0,206,4,0,0,236,0,0,0,132,0,0,0,154,5,0,0,130,0,0,0,74,0,0,0,50,0,0,0,62,0,0,0,64,0,0,0,144,1,0,0,76,1,0,0,48,0,0,0,34,2,0,0,66,0,0,0,226,0,0,0,48,0,0,0,80,7,0,0,166,9,0,0,126,3,0,0,122,0,0,0,124,9,0,0,246,2,0,0,156,2,0,0,94,1,0,0,30,5,0,0,242,0,0,0,194,5,0,0,90,4,0,0,68,0,0,0,42,0,0,0,50,1,0,0,62,0,0,0,174,6,0,0,170,1,0,0,194,0,0,0,134,1,0,0,98,2,0,0,92,0,0,0,198,3,0,0,226,3,0,0,66,0,0,0,114,1,0,0,250,9,0,0,120,2,0,0,172,0,0,0,42,5,0,0,18,1,0,0,6,1,0,0,104,0,0,0,132,5,0,0,22,9,0,0,96,5,0,0,120,0,0,0,92,0,0,0,120,2,0,0,80,0,0,0,6,5,0,0,54,9,0,0,208,3,0,0,22,3,0,0,220,0,0,0,124,8,0,0,232,5,0,0,42,1,0,0,96,0,0,0,164,1,0,0,50,1,0,0,222,9,0,0,74,1,0,0,34,6,0,0,76,0,0,0,150,1,0,0,218,1,0,0,80,0,0,0,68,1,0,0,234,2,0,0,156,2,0,0,24,4,0,0,242,1,0,0,192,0,0,0,0,1,0,0,98,0,0,0,198,0,0,0,80,2,0,0,56,0,0,0,150,1,0,0,200,4,0,0,208,0,0,0,10,1,0,0,208,10,0,0,84,0,0,0,94,6,0,0,2,1,0,0,110,0,0,0,38,3,0,0,56,1,0,0,110,3,0,0,210,4,0,0,156,10,0,0,134,6,0,0,38,1,0,0,240,1,0,0,90,0,0,0,194,6,0,0,18,6,0,0,56,0,0,0,62,7,0,0,226,7,0,0,140,2,0,0,240,0,0,0,68,3,0,0,216,6,0,0,152,3,0,0,80,0,0,0,2,2,0,0,70,1,0,0,94,3,0,0,76,0,0,0,220,7,0,0,206,4,0,0,112,1,0,0,76,8,0,0,130,4,0,0,80,0,0,0,110,2,0,0,26,2,0,0,28,1,0,0,86,0,0,0,38,2,0,0,44,4,0,0,86,0,0,0,206,9,0,0,236,0,0,0,192,5,0,0,112,0,0,0,196,0,0,0,102,4,0,0,32,1,0,0,124,1,0,0,36,2,0,0,100,1,0,0,82,5,0,0,112,1,0,0,216,1,0,0,12,4,0,0,86,1,0,0,216,3,0,0,238,2,0,0,136,0,0,0,54,0,0,0,88,4,0,0,102,2,0,0,166,1,0,0,122,0,0,0,54,1,0,0,28,1,0,0,16,1,0,0,20,6,0,0,76,0,0,0,60,3,0,0,234,3,0,0,36,5,0,0,68,6,0,0,168,0,0,0,242,2,0,0,44,0,0,0,42,0,0,0,42,0,0,0,40,3,0,0,250,8,0,0,174,2,0,0,174,3,0,0,128,0,0,0,168,10,0,0,66,1,0,0,24,1,0,0,50,0,0,0,22,6,0,0,110,2,0,0,80,0,0,0,58,0,0,0,174,2,0,0,42,0,0,0,180,0,0,0,182,1,0,0,80,2,0,0,128,0,0,0,142,1,0,0,32,2,0,0,190,1,0,0,140,6,0,0,186,4,0,0,202,0,0,0,192,0,0,0,128,3,0,0,4,9,0,0,182,5,0,0,94,0,0,0,52,0,0,0,50,4,0,0,164,3,0,0,136,0,0,0,68,0,0,0,100,1,0,0,82,3,0,0,218,1,0,0,52,1,0,0,98,0,0,0,74,1,0,0,46,0,0,0,50,7,0,0,50,9,0,0,126,9,0,0,94,1,0,0,32,3,0,0,88,0,0,0,88,0,0,0,42,0,0,0,174,6,0,0,114,5,0,0,60,1,0,0,62,6,0,0,180,4,0,0,72,1,0,0,148,2,0,0,92,6,0,0,152,0,0,0,174,5,0,0,6,6,0,0,22,3,0,0,140,7,0,0,64,6,0,0,6,1,0,0,22,2,0,0,216,0,0,0,174,1,0,0,96,6,0,0,132,0,0,0,150,4,0,0,126,6,0,0,246,0,0,0,2,5,0,0,128,1,0,0,72,0,0,0,226,0,0,0,54,5,0,0,162,7,0,0,152,0,0,0,90,0,0,0,210,0,0,0,160,1,0,0,42,0,0,0,46,0,0,0,170,5,0,0,192,1,0,0,44,0,0,0,56,0,0,0,228,2,0,0,46,0,0,0,60,0,0,0,246,1,0,0,52,0,0,0,56,5,0,0,94,1,0,0,156,2,0,0,110,5,0,0,98,9,0,0,48,4,0,0,78,0,0,0,222,1,0,0,138,1,0,0,88,2,0,0,186,1,0,0,176,2,0,0,188,6,0,0,84,0,0,0,240,0,0,0,170,0,0,0,78,0,0,0,210,1,0,0,58,0,0,0,18,2,0,0,84,0,0,0,106,10,0,0,122,4,0,0,100,0,0,0,180,6,0,0,46,2,0,0,206,0,0,0,44,0,0,0,26,5,0,0,172,10,0,0,168,7,0,0,102,2,0,0,208,0,0,0,82,1,0,0,170,2,0,0,252,0,0,0,44,0,0,0,160,1,0,0,60,0,0,0,106,3,0,0,142,2,0,0,62,4,0,0,80,0,0,0,118,9,0,0,120,0,0,0,108,6,0,0,122,3,0,0,58,7,0,0,124,0,0,0,132,2,0,0,244,0,0,0,92,2,0,0,208,1,0,0,114,2,0,0,160,0,0,0,122,2,0,0,108,1,0,0,160,6,0,0,134,0,0,0,148,2,0,0,236,7,0,0,148,5,0,0,160,1,0,0,150,2,0,0,138,3,0,0,140,4,0,0,12,5,0,0,52,5,0,0,174,8,0,0,54,2,0,0,186,5,0,0,52,0,0,0,26,4,0,0,42,0,0,0,42,0,0,0,148,1,0,0,34,4,0,0,56,0,0,0,132,1,0,0,10,7,0,0,158,0,0,0,42,1,0,0,104,1,0,0,54,6,0,0,236,0,0,0,82,1,0,0,14,1,0,0,156,3,0,0,52,0,0,0,148,8,0,0,110,3,0,0,242,8,0,0,218,1,0,0,104,0,0,0,150,4,0,0,122,8,0,0,180,1,0,0,200,6,0,0,104,2,0,0,98,0,0,0,158,7,0,0,92,2,0,0,84,0,0,0,142,1,0,0,200,3,0,0,138,2,0,0,140,3,0,0,2,5,0,0,182,1,0,0,148,6,0,0,202,0,0,0,74,0,0,0,62,0,0,0,106,5,0,0,208,2,0,0,222,0,0,0,86,0,0,0,102,0,0,0,128,3,0,0,52,3,0,0,216,7,0,0,130,1,0,0,42,0,0,0,126,1,0,0,172,0,0,0,222,0,0,0,44,8,0,0,144,10,0,0,184,1,0,0,202,0,0,0,148,0,0,0,50,3,0,0,88,4,0,0,46,3,0,0,176,2,0,0,180,2,0,0,254,2,0,0,50,8,0,0,72,5,0,0,100,7,0,0,28,6,0,0,188,9,0,0,30,1,0,0,132,3,0,0,52,5,0,0,238,2,0,0,88,0,0,0,160,0,0,0,186,0,0,0,112,0,0,0,192,9,0,0,156,5,0,0,62,3,0,0,190,5,0,0,232,1,0,0,194,6,0,0,80,5,0,0,174,1,0,0,176,1,0,0,236,0,0,0,52,0,0,0,228,6,0,0,238,1,0,0,206,3,0,0,88,0,0,0,164,2,0,0,98,1,0,0,200,6,0,0,42,4,0,0,180,1,0,0,40,1,0,0,100,1,0,0,170,1,0,0,148,10,0,0,96,5,0,0,50,0,0,0,92,5,0,0,50,0,0,0,170,0,0,0,64,4,0,0,224,0,0,0,60,2,0,0,66,6,0,0,86,5,0,0,206,0,0,0,96,1,0,0,172,2,0,0,140,0,0,0,60,0,0,0,50,0,0,0,98,1,0,0,200,1,0,0,96,0,0,0,160,1,0,0,104,4,0,0,46,0,0,0,82,0,0,0,194,0,0,0,138,10,0,0,136,0,0,0,50,2,0,0,58,0,0,0,226,1,0,0,106,0,0,0,230,1,0,0,94,0,0,0,44,2,0,0,0,1,0,0,178,2,0,0,16,5,0,0,62,0,0,0,188,10,0,0,158,0,0,0,58,0,0,0,128,0,0,0,90,3,0,0,22,3,0,0,96,0,0,0,252,2,0,0,80,0,0,0,252,1,0,0,42,8,0,0,164,7,0,0,90,0,0,0,58,0,0,0,50,0,0,0,46,0,0,0,202,2,0,0,240,3,0,0,50,1,0,0,124,1,0,0,70,5,0,0,168,1,0,0,216,8,0,0,138,0,0,0,14,2,0,0,190,3,0,0,62,6,0,0,132,7,0,0,6,5,0,0,142,5,0,0,76,0,0,0,4,1,0,0,226,1,0,0,162,0,0,0,46,0,0,0,120,0,0,0,104,0,0,0,76,0,0,0,200,1,0,0,100,3,0,0,128,0,0,0,114,10,0,0,28,1,0,0,168,4,0,0,50,0,0,0,12,10,0,0,4,3,0,0,62,2,0,0,28,3,0,0,106,0,0,0,38,1,0,0,214,1,0,0,168,9,0,0,144,0,0,0,224,8,0,0,128,0,0,0,218,3,0,0,246,0,0,0,242,0,0,0,168,3,0,0,204,0,0,0,174,0,0,0,192,1,0,0,70,0,0,0,204,5,0,0,180,10,0,0,154,0,0,0,108,7,0,0,182,2,0,0,102,2,0,0,140,0,0,0,230,1,0,0,10,4,0,0,58,6,0,0,50,1,0,0,2,2,0,0,90,1,0,0,156,4,0,0,146,0,0,0,26,3,0,0,188,2,0,0,96,0,0,0,244,1,0,0,160,9,0,0,242,0,0,0,82,0,0,0,234,8,0,0,68,2,0,0,158,1,0,0,48,0,0,0,42,0,0,0,44,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,44,0,0,0,42,0,0,0,178,0,0,0,210,8,0,0,46,0,0,0,126,0,0,0,104,0,0,0,44,0,0,0,42,0,0,0,28,1,0,0,78,0,0,0,60,6,0,0,42,0,0,0,42,0,0,0,42,0,0,0,232,2,0,0,48,0,0,0,24,2,0,0,82,2,0,0,200,0,0,0,186,0,0,0,124,0,0,0,8,5,0,0,144,6,0,0,66,3,0,0,84,2,0,0,106,3,0,0,134,5,0,0,146,1,0,0,98,0,0,0,86,0,0,0,138,3,0,0,86,0,0,0,186,0,0,0,110,1,0,0,116,1,0,0,148,0,0,0,252,8,0,0,202,1,0,0,116,0,0,0,152,2,0,0,178,3,0,0,124,4,0,0,32,3,0,0,154,6,0,0,78,0,0,0,102,1,0,0,18,1,0,0,28,1,0,0,40,10,0,0,216,0,0,0,52,0,0,0,152,5,0,0,50,3,0,0,98,5,0,0,176,0,0,0,126,2,0,0,148,0,0,0,158,2,0,0,232,2,0,0,142,0,0,0,224,2,0,0,46,0,0,0,182,0,0,0,170,1,0,0,208,1,0,0,32,4,0,0,126,5,0,0,172,4,0,0,112,4,0,0,52,0,0,0,158,0,0,0,116,0,0,0,44,0,0,0,140,1,0,0,132,6,0,0,96,0,0,0,50,6,0,0,200,5,0,0,144,1,0,0,120,1,0,0,16,9,0,0,158,4,0,0,252,2,0,0,108,3,0,0,72,2,0,0,192,5,0,0,102,6,0,0,44,9,0,0,38,4,0,0,188,1,0,0,146,3,0,0,102,3,0,0,0,5,0,0,100,0,0,0,154,1,0,0,220,2,0,0,102,6,0,0,196,5,0,0,20,3,0,0,26,1,0,0,104,2,0,0,204,6,0,0,216,1,0,0,192,4,0,0,128,1,0,0,94,0,0,0,60,0,0,0,12,1,0,0,20,4,0,0,210,0,0,0,34,1,0,0,80,1,0,0,110,0,0,0,68,0,0,0,56,2,0,0,106,1,0,0,234,4,0,0,114,0,0,0,90,0,0,0,100,1,0,0,90,0,0,0,152,4,0,0,36,10,0,0,100,0,0,0,92,3,0,0,80,0,0,0,52,0,0,0,44,0,0,0,44,0,0,0,60,7,0,0,44,0,0,0,154,1,0,0,134,0,0,0,86,1,0,0,156,0,0,0,108,1,0,0,106,0,0,0,72,0,0,0,108,0,0,0,220,2,0,0,162,0,0,0,4,1,0,0,48,0,0,0,212,1,0,0,50,0,0,0,198,2,0,0,162,1,0,0,94,5,0,0,80,1,0,0,48,0,0,0,146,0,0,0,82,1,0,0,138,0,0,0,100,0,0,0,10,3,0,0,106,2,0,0,84,0,0,0,156,0,0,0,22,4,0,0,12,3,0,0,226,9,0,0,72,2,0,0,218,3,0,0,170,9,0,0,122,7,0,0,162,2,0,0,202,3,0,0,16,4,0,0,208,2,0,0,60,5,0,0,206,1,0,0,0,1,0,0,148,2,0,0,86,0,0,0,162,4,0,0,10,3,0,0,192,3,0,0,224,4,0,0,252,6,0,0,86,0,0,0,74,4,0,0,114,1,0,0,168,1,0,0,240,5,0,0,116,1,0,0,22,2,0,0,170,4,0,0,44,0,0,0,36,1,0,0,0,1,0,0,88,0,0,0,108,0,0,0,178,4,0,0,202,0,0,0,156,4,0,0,50,4,0,0,108,0,0,0,50,0,0,0,42,0,0,0,158,0,0,0,212,1,0,0,244,0,0,0,166,0,0,0,68,9,0,0,214,0,0,0,140,5,0,0,86,4,0,0,68,0,0,0,216,2,0,0,186,4,0,0,150,0,0,0,4,5,0,0,196,0,0,0,102,8,0,0,52,0,0,0,46,0,0,0,50,0,0,0,240,4,0,0,108,5,0,0,208,6,0,0,204,1,0,0,232,1,0,0,68,5,0,0,94,5,0,0,124,1,0,0,214,10,0,0,206,0,0,0,178,3,0,0,42,0,0,0,146,1,0,0,58,2,0,0,64,3,0,0,154,0,0,0,48,6,0,0,184,1,0,0,236,5,0,0,92,5,0,0,38,8,0,0,166,3,0,0,246,0,0,0,252,0,0,0,102,0,0,0,40,5,0,0,108,0,0,0,72,0,0,0,106,0,0,0,78,0,0,0,48,0,0,0,126,4,0,0,76,4,0,0,54,0,0,0,178,0,0,0,66,0,0,0,142,1,0,0,4,6,0,0,26,5,0,0,112,1,0,0,100,6,0,0,148,1,0,0,178,2,0,0,166,0,0,0,166,0,0,0,58,1,0,0,32,1,0,0,242,1,0,0,84,0,0,0,160,3,0,0,220,1,0,0,146,5,0,0,156,1,0,0,100,0,0,0,188,4,0,0,144,0,0,0,88,0,0,0,222,0,0,0,230,0,0,0,210,1,0,0,56,0,0,0,238,0,0,0,174,0,0,0,174,0,0,0,62,0,0,0,56,0,0,0,46,0,0,0,44,0,0,0,42,0,0,0,148,0,0,0,154,1,0,0,252,1,0,0,58,0,0,0,40,4,0,0,68,0,0,0,44,0,0,0,218,1,0,0,154,0,0,0,156,0,0,0,234,6,0,0,44,0,0,0,42,0,0,0,160,3,0,0,202,0,0,0,214,3,0,0,82,10,0,0,66,0,0,0,42,10,0,0,78,5,0,0,146,0,0,0,246,4,0,0,188,2,0,0,56,0,0,0,102,0,0,0,208,8,0,0,90,2,0,0,82,0,0,0,12,1,0,0,26,1,0,0,88,0,0,0,118,1,0,0,254,1,0,0,46,0,0,0,186,0,0,0,180,0,0,0,52,0,0,0,42,0,0,0,42,0,0,0,140,6,0,0,128,5,0,0,58,0,0,0,18,1,0,0,46,7,0,0,20,3,0,0,124,1,0,0,2,1,0,0,112,0,0,0,48,0,0,0,48,0,0,0,126,6,0,0,22,1,0,0,126,0,0,0,56,3,0,0,28,7,0,0,118,5,0,0,74,0,0,0,54,0,0,0,42,0,0,0,212,9,0,0,78,1,0,0,82,0,0,0,8,2,0,0,50,10,0,0,14,3,0,0,224,1,0,0,150,0,0,0,236,6,0,0,100,1,0,0,64,3,0,0,62,0,0,0,54,0,0,0,48,0,0,0,60,0,0,0,48,0,0,0,46,0,0,0,194,10,0,0,176,3,0,0,50,0,0,0,186,2,0,0,246,1,0,0,128,0,0,0,230,2,0,0,230,2,0,0,164,6,0,0,184,1,0,0,12,1,0,0,78,2,0,0,78,2,0,0,82,0,0,0,114,0,0,0,42,0,0,0,250,1,0,0,254,1,0,0,42,0,0,0,152,1,0,0,144,0,0,0,124,0,0,0,106,1,0,0,10,1,0,0,56,0,0,0,142,3,0,0,156,8,0,0,94,4,0,0,64,0,0,0,116,1,0,0,216,0,0,0,12,2,0,0,14,6,0,0,138,1,0,0,14,1,0,0,70,0,0,0,58,1,0,0,140,1,0,0,198,1,0,0,88,0,0,0,74,1,0,0,180,0,0,0,254,0,0,0,72,1,0,0,112,1,0,0,104,0,0,0,238,1,0,0,146,9,0,0,248,0,0,0,56,1,0,0,52,1,0,0,238,1,0,0,112,0,0,0,64,0,0,0,172,4,0,0,90,0,0,0,128,0,0,0,166,1,0,0,254,0,0,0,126,4,0,0,44,3,0,0,76,10,0,0,84,0,0,0,64,1,0,0,214,1,0,0,54,0,0,0,106,4,0,0,242,1,0,0,154,0,0,0,106,1,0,0,204,0,0,0,158,0,0,0,178,4,0,0,210,0,0,0,234,1,0,0,76,0,0,0,242,4,0,0,30,2,0,0,250,5,0,0,222,2,0,0,42,2,0,0,10,1,0,0,104,1,0,0,174,0,0,0,216,4,0,0,54,7,0,0,86,1,0,0,144,1,0,0,182,1,0,0,100,9,0,0,50,0,0,0,98,0,0,0,158,1,0,0,58,0,0,0,172,0,0,0,62,0,0,0,118,1,0,0,218,9,0,0,70,0,0,0,244,7,0,0,226,0,0,0,250,5,0,0,64,0,0,0,164,0,0,0,112,4,0,0,208,1,0,0,110,5,0,0,20,1,0,0,140,1,0,0,212,0,0,0,46,0,0,0,44,3,0,0,224,9,0,0,244,0,0,0,0,1,0,0,42,0,0,0,16,4,0,0,212,0,0,0,158,1,0,0,82,0,0,0,52,2,0,0,238,0,0,0,134,4,0,0,230,1,0,0,174,5,0,0,66,2,0,0,64,0,0,0,192,1,0,0,220,4,0,0,56,6,0,0,32,10,0,0,218,2,0,0,242,2,0,0,202,0,0,0,202,5,0,0,54,0,0,0,42,3,0,0,132,1,0,0,214,2,0,0,38,2,0,0,86,0,0,0,24,9,0,0,78,5,0,0,152,2,0,0,82,0,0,0,184,1,0,0,162,1,0,0,200,0,0,0,164,5,0,0,128,1,0,0,224,0,0,0,170,8,0,0,20,9,0,0,110,0,0,0,80,4,0,0,222,0,0,0,8,10,0,0,114,0,0,0,68,1,0,0,0,5,0,0,48,5,0,0,34,1,0,0,42,0,0,0,42,0,0,0,188,3,0,0,136,0,0,0,160,4,0,0,164,6,0,0,128,2,0,0,80,10,0,0,200,2,0,0,14,7,0,0,44,0,0,0,44,0,0,0,6,2,0,0,62,1,0,0,92,0,0,0,214,1,0,0,254,0,0,0,224,0,0,0,158,8,0,0,124,5,0,0,120,6,0,0,150,6,0,0,104,0,0,0,172,8,0,0,92,1,0,0,136,7,0,0,226,8,0,0,176,8,0,0,180,4,0,0,102,2,0,0,128,0,0,0,54,5,0,0,74,3,0,0,74,0,0,0,188,1,0,0,52,1,0,0,18,2,0,0,182,0,0,0,122,1,0,0,80,5,0,0,216,3,0,0,246,0,0,0,124,10,0,0,76,0,0,0,100,0,0,0,142,10,0,0,178,8,0,0,126,2,0,0,24,2,0,0,66,5,0,0,130,1,0,0,162,2,0,0,226,4,0,0,70,0,0,0,98,4,0,0,230,0,0,0,124,6,0,0,98,3,0,0,48,4,0,0,104,4,0,0,120,0,0,0,30,4,0,0,58,1,0,0,202,6,0,0,82,8,0,0,54,10,0,0,236,2,0,0,10,1,0,0,68,2,0,0,94,1,0,0,158,0,0,0,142,4,0,0,236,3,0,0,60,1,0,0,184,3,0,0,16,2,0,0,174,1,0,0,72,3,0,0,24,2,0,0,208,5,0,0,34,5,0,0,104,1,0,0,208,1,0,0,80,3,0,0,250,0,0,0,236,0,0,0,160,2,0,0,172,0,0,0,240,0,0,0,88,1,0,0,218,0,0,0,204,4,0,0,196,3,0,0,218,2,0,0,66,0,0,0,50,0,0,0,56,0,0,0,238,8,0,0,48,6,0,0,118,4,0,0,54,1,0,0,48,5,0,0,116,0,0,0,54,6,0,0,14,5,0,0,74,0,0,0,248,5,0,0,226,5,0,0,42,0,0,0,218,2,0,0,220,0,0,0,234,0,0,0,50,0,0,0,44,0,0,0,46,0,0,0,44,1,0,0,30,7,0,0,110,4,0,0,166,1,0,0,180,3,0,0,0,10,0,0,214,0,0,0,16,2,0,0,122,1,0,0,224,1,0,0,60,2,0,0,74,1,0,0,46,0,0,0,222,10,0,0,134,0,0,0,192,4,0,0,106,0,0,0,178,1,0,0,98,1,0,0,46,0,0,0,42,6,0,0,162,0,0,0,12,1,0,0,108,0,0,0,52,0,0,0,72,0,0,0,174,4,0,0,66,1,0,0,154,7,0,0,78,0,0,0,116,0,0,0,144,0,0,0,186,2,0,0,252,0,0,0,68,1,0,0,64,0,0,0,212,5,0,0,110,6,0,0,170,0,0,0,184,6,0,0,102,0,0,0,70,2,0,0,50,0,0,0,52,2,0,0,132,3,0,0,96,1,0,0,46,1,0,0,8,1,0,0,118,3,0,0,102,1,0,0,114,7,0,0,84,0,0,0,206,1,0,0,196,6,0,0,112,2,0,0,46,0,0,0,76,0,0,0,46,6,0,0,100,2,0,0,6,6,0,0,112,1,0,0,216,0,0,0,44,1,0,0,226,0,0,0,106,0,0,0,114,2,0,0,120,0,0,0,158,1,0,0,40,1,0,0,210,2,0,0,244,0,0,0,252,1,0,0,70,0,0,0,162,2,0,0,48,2,0,0,14,2,0,0,192,2,0,0,104,1,0,0,202,1,0,0,218,0,0,0,132,0,0,0,40,1,0,0,140,0,0,0,196,0,0,0,186,7,0,0,118,0,0,0,10,2,0,0,226,2,0,0,196,1,0,0,36,1,0,0,32,1,0,0,20,1,0,0,196,2,0,0,206,8,0,0,216,1,0,0,46,1,0,0,190,0,0,0,174,0,0,0,186,1,0,0,166,0,0,0,136,0,0,0,20,2,0,0,216,4,0,0,98,2,0,0,224,0,0,0,176,0,0,0,84,5,0,0,250,0,0,0,120,1,0,0,164,2,0,0,116,0,0,0,92,0,0,0,126,2,0,0,202,1,0,0,158,3,0,0,66,0,0,0,188,8,0,0,32,1,0,0,166,2,0,0,172,6,0,0,172,1,0,0,80,1,0,0,200,1,0,0,104,1,0,0,140,0,0,0,238,3,0,0,114,4,0,0,240,9,0,0,180,0,0,0,234,1,0,0,82,1,0,0,236,3,0,0,242,1,0,0,8,1,0,0,252,2,0,0,24,8,0,0,94,0,0,0,206,7,0,0,234,5,0,0,204,0,0,0,104,6,0,0,58,3,0,0,126,0,0,0,208,9,0,0,178,1,0,0,236,0,0,0,108,0,0,0,108,2,0,0,138,3,0,0,136,0,0,0,68,2,0,0,192,0,0,0,150,0,0,0,146,10,0,0,232,2,0,0,54,2,0,0,194,0,0,0,86,1,0,0,208,6,0,0,100,0,0,0,66,0,0,0,118,3,0,0,44,1,0,0,52,0,0,0,116,0,0,0,138,6,0,0,74,0,0,0,246,8,0,0,72,10,0,0,56,0,0,0,114,6,0,0,232,0,0,0,12,1,0,0,116,3,0,0,136,2,0,0,120,10,0,0,150,2,0,0,72,0,0,0,80,0,0,0,212,8,0,0,242,9,0,0,104,0,0,0,8,4,0,0,54,0,0,0,78,3,0,0,250,0,0,0,50,5,0,0,70,9,0,0,44,2,0,0,44,0,0,0,42,4,0,0,50,0,0,0,62,0,0,0,124,3,0,0,78,0,0,0,248,5,0,0,142,0,0,0,46,0,0,0,60,4,0,0,60,8,0,0,90,7,0,0,204,5,0,0,232,0,0,0,242,0,0,0,238,0,0,0,188,5,0,0,46,1,0,0,60,0,0,0,58,1,0,0,194,1,0,0,134,2,0,0,76,0,0,0,252,0,0,0,60,3,0,0,162,0,0,0,228,0,0,0,50,1,0,0,170,0,0,0,136,1,0,0,128,1,0,0,58,0,0,0,116,0,0,0,222,2,0,0,32,6,0,0,58,1,0,0,128,4,0,0,6,1,0,0,172,1,0,0,230,1,0,0,30,2,0,0,70,0,0,0,74,0,0,0,198,1,0,0,112,5,0,0,222,5,0,0,82,0,0,0,52,0,0,0,164,0,0,0,216,1,0,0,48,1,0,0,44,1,0,0,96,1,0,0,60,0,0,0,82,6,0,0,184,8,0,0,98,0,0,0,60,0,0,0,238,1,0,0,58,0,0,0,2,6,0,0,94,2,0,0,58,0,0,0,180,7,0,0,54,4,0,0,240,8,0,0,72,0,0,0,44,0,0,0,42,6,0,0,44,2,0,0,254,0,0,0,144,1,0,0,66,0,0,0,70,0,0,0,38,9,0,0,234,0,0,0,218,0,0,0,40,2,0,0,162,1,0,0,86,0,0,0,108,0,0,0,214,1,0,0,52,0,0,0,62,0,0,0,232,0,0,0,46,4,0,0,60,4,0,0,160,1,0,0,32,1,0,0,30,6,0,0,70,0,0,0,90,1,0,0,74,3,0,0,128,8,0,0,126,0,0,0,24,4,0,0,174,0,0,0,144,0,0,0,248,0,0,0,28,2,0,0,74,2,0,0,74,2,0,0,4,2,0,0,30,1,0,0,168,0,0,0,210,1,0,0,226,1,0,0,8,9,0,0,64,0,0,0,64,0,0,0,248,1,0,0,126,1,0,0,120,3,0,0,12,6,0,0,156,9,0,0,50,0,0,0,210,2,0,0,238,6,0,0,102,1,0,0,204,7,0,0,168,1,0,0,202,5,0,0,76,5,0,0,164,0,0,0,118,3,0,0,234,0,0,0,38,5,0,0,84,2,0,0,32,9,0,0,248,0,0,0,218,10,0,0,22,6,0,0,234,2,0,0,18,5,0,0,216,0,0,0,54,1,0,0,24,2,0,0,6,2,0,0,44,0,0,0,68,8,0,0,182,0,0,0,24,7,0,0,90,6,0,0,46,0,0,0,68,0,0,0,52,0,0,0,178,0,0,0,8,6,0,0,16,2,0,0,34,1,0,0,90,0,0,0,104,0,0,0,130,9,0,0,176,1,0,0,244,4,0,0,184,0,0,0,64,8,0,0,212,1,0,0,192,0,0,0,46,0,0,0,44,0,0,0,86,0,0,0,140,0,0,0,184,6,0,0,170,0,0,0,128,1,0,0,88,3,0,0,176,1,0,0,180,0,0,0,82,0,0,0,112,0,0,0,34,1,0,0,18,10,0,0,54,2,0,0,230,3,0,0,212,4,0,0,252,0,0,0,166,8,0,0,128,3,0,0,210,0,0,0,250,1,0,0,110,0,0,0,200,2,0,0,144,4,0,0,106,2,0,0,168,2,0,0,114,6,0,0,150,2,0,0,38,3,0,0,58,2,0,0,164,0,0,0,252,4,0,0,46,3,0,0,192,1,0,0,188,1,0,0,4,1,0,0,156,0,0,0,20,1,0,0,122,0,0,0,46,0,0,0,42,0,0,0,130,0,0,0,92,1,0,0,50,0,0,0,116,4,0,0,78,0,0,0,84,1,0,0,62,0,0,0,50,2,0,0,86,0,0,0,250,1,0,0,42,0,0,0,74,2,0,0,194,2,0,0,152,2,0,0,90,2,0,0,62,0,0,0,128,2,0,0,62,1,0,0,206,2,0,0,4,1,0,0,54,0,0,0,38,4,0,0,72,0,0,0,160,0,0,0,58,5,0,0,252,0,0,0,158,1,0,0,100,1,0,0,44,0,0,0,230,0,0,0,152,0,0,0,222,4,0,0,170,10,0,0,146,0,0,0,42,0,0,0,130,0,0,0,128,0,0,0,200,1,0,0,46,10,0,0,76,0,0,0,56,5,0,0,118,0,0,0,244,6,0,0,156,1,0,0,60,6,0,0,228,2,0,0,198,0,0,0,204,2,0,0,120,0,0,0,134,4,0,0,80,0,0,0,92,0,0,0,168,1,0,0,84,0,0,0,152,10,0,0,42,0,0,0,46,2,0,0,134,9,0,0,210,1,0,0,26,1,0,0,48,0,0,0,80,0,0,0,178,0,0,0,112,0,0,0,76,3,0,0,214,5,0,0,206,0,0,0,58,0,0,0,172,2,0,0,160,2,0,0,70,0,0,0,110,0,0,0,40,2,0,0,226,6,0,0,52,8,0,0,202,6,0,0,186,9,0,0,202,1,0,0,48,0,0,0,48,0,0,0,210,0,0,0,152,1,0,0,40,2,0,0,58,0,0,0,76,4,0,0,132,1,0,0,122,1,0,0,36,2,0,0,130,0,0,0,90,9,0,0,78,1,0,0,10,5,0,0,116,9,0,0,16,1,0,0,190,0,0,0,8,1,0,0,236,8,0,0,152,9,0,0,130,1,0,0,126,1,0,0,138,1,0,0,154,0,0,0,76,1,0,0,228,0,0,0,54,0,0,0,190,6,0,0,128,9,0,0,36,8,0,0,30,10,0,0,242,2,0,0,104,0,0,0,44,10,0,0,182,5,0,0,230,0,0,0,62,9,0,0,144,1,0,0,146,2,0,0,104,1,0,0,80,8,0,0,72,0,0,0,38,3,0,0,60,3,0,0,194,0,0,0,2,2,0,0,70,0,0,0,112,9,0,0,118,7,0,0,194,2,0,0,54,1,0,0,246,5,0,0,38,1,0,0,198,0,0,0,8,3,0,0,250,1,0,0,12,3,0,0,116,1,0,0,188,0,0,0,94,0,0,0,38,2,0,0,64,1,0,0,222,8,0,0,88,0,0,0,114,1,0,0,64,0,0,0,102,0,0,0,198,7,0,0,154,1,0,0,26,8,0,0,60,1,0,0,144,0,0,0,162,2,0,0,52,7,0,0,94,10,0,0,42,0,0,0,46,6,0,0,236,1,0,0,84,0,0,0,108,8,0,0,214,9,0,0,204,10,0,0,14,2,0,0,56,7,0,0,218,8,0,0,124,1,0,0,94,1,0,0,72,2,0,0,222,1,0,0,132,0,0,0,94,8,0,0,68,2,0,0,104,0,0,0,248,0,0,0,96,0,0,0,46,0,0,0,208,2,0,0,30,5,0,0,158,0,0,0,54,0,0,0,164,5,0,0,228,8,0,0,60,3,0,0,120,0,0,0,92,0,0,0,2,8,0,0,160,1,0,0,210,2,0,0,208,0,0,0,142,5,0,0,136,1,0,0,128,6,0,0,46,0,0,0,42,0,0,0,42,2,0,0,82,0,0,0,102,0,0,0,100,0,0,0,94,0,0,0,134,0,0,0,166,1,0,0,122,0,0,0,132,0,0,0,82,1,0,0,16,2,0,0,2,1,0,0,54,1,0,0,252,0,0,0,82,0,0,0,46,0,0,0,44,0,0,0,86,0,0,0,76,2,0,0,124,1,0,0,106,6,0,0,128,2,0,0,140,0,0,0,132,8,0,0,26,7,0,0,202,4,0,0,126,2,0,0,176,0,0,0,254,2,0,0,78,1,0,0,108,6,0,0,186,0,0,0,122,0,0,0,184,5,0,0,80,2,0,0,236,0,0,0,4,1,0,0,52,0,0,0,238,7,0,0,58,8,0,0,90,1,0,0,82,0,0,0,16,3,0,0,82,0,0,0,4,7,0,0,74,8,0,0,212,0,0,0,52,10,0,0,20,3,0,0,10,2,0,0,50,0,0,0,106,5,0,0,124,0,0,0,138,1,0,0,92,3,0,0,56,0,0,0,34,2,0,0,44,0,0,0,94,7,0,0,158,3,0,0,78,8,0,0,210,9,0,0,206,1,0,0,176,0,0,0,94,0,0,0,244,3,0,0,126,1,0,0,176,1,0,0,106,1,0,0,200,4,0,0,102,1,0,0,112,3,0,0,42,0,0,0,158,4,0,0,208,2,0,0,42,3,0,0,22,5,0,0,254,7,0,0,226,4,0,0,146,4,0,0,244,1,0,0,18,8,0,0,0,7,0,0,232,3,0,0,48,7,0,0,186,1,0,0,188,5,0,0,152,6,0,0,62,0,0,0,72,1,0,0,14,5,0,0,112,1,0,0,166,1,0,0,162,5,0,0,244,1,0,0,36,3,0,0,64,7,0,0,82,5,0,0,100,8,0,0,134,8,0,0,124,0,0,0,244,3,0,0,104,6,0,0,250,4,0,0,46,0,0,0,110,10,0,0,86,8,0,0,138,1,0,0,234,1,0,0,214,1,0,0,76,0,0,0,188,0,0,0,34,10,0,0,236,5,0,0,20,2,0,0,74,2,0,0,42,0,0,0,218,0,0,0,70,2,0,0,104,0,0,0,160,2,0,0,218,4,0,0,118,2,0,0,38,6,0,0,64,0,0,0,108,3,0,0,78,6,0,0,82,9,0,0,210,3,0,0,46,3,0,0,28,5,0,0,212,1,0,0,202,4,0,0,82,0,0,0,28,2,0,0,250,0,0,0,86,0,0,0,102,0,0,0,126,0,0,0,180,1,0,0,214,3,0,0,234,0,0,0,48,1,0,0,200,10,0,0,82,1,0,0,126,1,0,0,208,3,0,0,44,0,0,0,56,0,0,0,252,7,0,0,124,6,0,0,50,1,0,0,76,1,0,0,84,4,0,0,78,0,0,0,232,1,0,0,104,0,0,0,0,8,0,0,82,0,0,0,168,5,0,0,228,0,0,0,192,2,0,0,142,0,0,0,94,0,0,0,24,6,0,0,48,0,0,0,48,0,0,0,44,0,0,0,40,6,0,0,176,5,0,0,118,0,0,0,44,6,0,0,18,3,0,0,90,3,0,0,218,5,0,0,14,1,0,0,48,0,0,0,110,8,0,0,88,2,0,0,194,5,0,0,240,7,0,0,54,0,0,0,120,9,0,0,138,0,0,0,206,1,0,0,166,1,0,0,74,1,0,0,50,2,0,0,60,0,0,0,116,0,0,0,250,0,0,0,138,0,0,0,206,5,0,0,134,1,0,0,170,0,0,0,70,0,0,0,34,7,0,0,128,4,0,0,96,0,0,0,110,1,0,0,40,1,0,0,30,3,0,0,26,10,0,0,208,7,0,0,230,4,0,0,98,1,0,0,138,4,0,0,100,5,0,0,184,0,0,0,62,1,0,0,100,0,0,0,154,9,0,0,236,1,0,0,184,4,0,0,162,3,0,0,104,1,0,0,254,3,0,0,62,1,0,0,36,1,0,0,50,5,0,0,236,9,0,0,208,0,0,0,206,5,0,0,194,1,0,0,86,3,0,0,134,0,0,0,224,4,0,0,130,0,0,0,50,3,0,0,122,2,0,0,132,0,0,0,46,0,0,0,198,2,0,0,182,4,0,0,96,0,0,0,72,5,0,0,112,0,0,0,50,0,0,0,42,0,0,0,42,0,0,0,220,0,0,0,240,2,0,0,144,2,0,0,64,9,0,0,190,1,0,0,76,3,0,0,60,0,0,0,156,1,0,0,16,6,0,0,74,0,0,0,6,9,0,0,182,0,0,0,228,4,0,0,14,4,0,0,186,2,0,0,50,0,0,0,136,1,0,0,142,4,0,0,44,0,0,0,68,0,0,0,150,0,0,0,110,0,0,0,20,5,0,0,66,0,0,0,166,0,0,0,122,0,0,0,40,6,0,0,142,0,0,0,190,0,0,0,76,2,0,0,166,0,0,0,114,5,0,0,132,2,0,0,100,10,0,0,20,1,0,0,38,1,0,0,136,10,0,0,32,2,0,0,8,7,0,0,34,1,0,0,72,6,0,0,118,2,0,0,216,0,0,0,92,0,0,0,102,4,0,0,182,7,0,0,226,5,0,0,58,10,0,0,28,3,0,0,8,4,0,0,168,1,0,0,240,1,0,0,190,7,0,0,130,0,0,0,76,3,0,0,138,2,0,0,136,3,0,0,222,0,0,0,20,8,0,0,56,0,0,0,30,1,0,0,18,6,0,0,254,1,0,0,52,0,0,0,110,0,0,0,76,1,0,0,130,0,0,0,220,1,0,0,212,2,0,0,8,1,0,0,162,10,0,0,66,8,0,0,142,7,0,0,58,0,0,0,68,2,0,0,218,4,0,0,102,9,0,0,12,6,0,0,76,0,0,0,56,4,0,0,238,0,0,0,48,0,0,0,162,8,0,0,198,5,0,0,150,5,0,0,156,0,0,0,52,3,0,0,102,0,0,0,188,0,0,0,82,3,0,0,54,1,0,0,160,8,0,0,52,2,0,0,96,1,0,0,94,0,0,0,94,0,0,0,204,1,0,0,172,6,0,0,232,1,0,0,176,7,0,0,2,1,0,0,218,1,0,0,122,0,0,0,212,3,0,0,66,0,0,0,154,3,0,0,168,5,0,0,102,1,0,0,20,4,0,0,178,7,0,0,218,0,0,0,22,8,0,0,248,0,0,0,162,4,0,0,182,3,0,0,146,8,0,0,134,5,0,0,70,0,0,0,58,0,0,0,114,0,0,0,226,0,0,0,50,0,0,0,86,0,0,0,198,10,0,0,240,1,0,0,174,1,0,0,22,10,0,0,232,0,0,0,76,0,0,0,150,0,0,0,212,0,0,0,174,0,0,0,50,6,0,0,126,0,0,0,84,5,0,0,8,1,0,0,228,1,0,0,180,3,0,0,108,0,0,0,80,0,0,0,58,0,0,0,42,0,0,0,42,0,0,0,8,6,0,0,30,3,0,0,74,0,0,0,18,2,0,0,58,0,0,0,98,2,0,0,96,1,0,0,42,0,0,0,42,0,0,0,120,2,0,0,176,3,0,0,148,0,0,0,210,3,0,0,170,4,0,0,96,0,0,0,118,0,0,0,174,1,0,0,68,1,0,0,246,1,0,0,70,7,0,0,148,0,0,0,34,9,0,0,156,1,0,0,188,6,0,0].concat([200,2,0,0,98,0,0,0,26,2,0,0,98,0,0,0,222,0,0,0,172,3,0,0,196,7,0,0,104,9,0,0,240,4,0,0,152,1,0,0,70,2,0,0,156,1,0,0,242,0,0,0,14,6,0,0,178,0,0,0,30,2,0,0,160,0,0,0,86,1,0,0,104,3,0,0,214,0,0,0,74,6,0,0,140,1,0,0,52,0,0,0,44,0,0,0,240,0,0,0,66,1,0,0,232,6,0,0,62,0,0,0,100,2,0,0,238,0,0,0,44,0,0,0,80,4,0,0,168,3,0,0,198,4,0,0,56,2,0,0,114,0,0,0,240,1,0,0,196,10,0,0,2,10,0,0,160,5,0,0,146,0,0,0,22,7,0,0,188,3,0,0,134,3,0,0,64,0,0,0,160,0,0,0,72,1,0,0,150,5,0,0,168,2,0,0,232,0,0,0,164,10,0,0,6,2,0,0,98,5,0,0,226,2,0,0,114,0,0,0,96,4,0,0,156,6,0,0,230,0,0,0,136,1,0,0,150,0,0,0,250,4,0,0,238,4,0,0,96,1,0,0,180,1,0,0,54,4,0,0,48,0,0,0,42,0,0,0,28,2,0,0,108,0,0,0,42,2,0,0,254,0,0,0,58,3,0,0,24,3,0,0,214,0,0,0,90,10,0,0,6,4,0,0,224,6,0,0,78,1,0,0,208,0,0,0,70,1,0,0,68,6,0,0,200,8,0,0,102,0,0,0,86,3,0,0,140,1,0,0,92,0,0,0,66,0,0,0,244,2,0,0,244,5,0,0,36,1,0,0,246,6,0,0,182,2,0,0,90,1,0,0,10,2,0,0,144,4,0,0,194,0,0,0,64,10,0,0,158,2,0,0,126,0,0,0,108,9,0,0,92,0,0,0,164,0,0,0,226,1,0,0,162,1,0,0,50,0,0,0,78,7,0,0,230,6,0,0,64,2,0,0,232,0,0,0,60,2,0,0,196,3,0,0,44,2,0,0,118,0,0,0,138,0,0,0,118,1,0,0,254,5,0,0,236,1,0,0,120,3,0,0,110,6,0,0,102,0,0,0,102,1,0,0,56,1,0,0,48,2,0,0,64,0,0,0,22,2,0,0,110,1,0,0,16,1,0,0,74,5,0,0,100,0,0,0,26,9,0,0,254,9,0,0,208,5,0,0,140,1,0,0,48,3,0,0,64,0,0,0,22,1,0,0,2,9,0,0,88,8,0,0,14,2,0,0,94,3,0,0,154,5,0,0,34,2,0,0,158,1,0,0,204,4,0,0,220,0,0,0,234,0,0,0,134,0,0,0,46,0,0,0,136,9,0,0,200,1,0,0,68,3,0,0,176,6,0,0,178,2,0,0,84,2,0,0,48,1,0,0,54,2,0,0,104,7,0,0,166,2,0,0,136,0,0,0,186,5,0,0,142,0,0,0,144,2,0,0,94,0,0,0,138,0,0,0,86,5,0,0,88,6,0,0,10,3,0,0,176,4,0,0,152,3,0,0,122,6,0,0,62,5,0,0,116,2,0,0,246,5,0,0,160,0,0,0,102,5,0,0,178,1,0,0,186,6,0,0,234,1,0,0,80,2,0,0,220,0,0,0,58,4,0,0,10,6,0,0,200,7,0,0,210,1,0,0,42,0,0,0,150,1,0,0,230,0,0,0,108,10,0,0,158,1,0,0,130,4,0,0,128,6,0,0,174,9,0,0,184,0,0,0,8,8,0,0,166,3,0,0,24,1,0,0,80,0,0,0,54,3,0,0,140,8,0,0,154,10,0,0,16,8,0,0,254,2,0,0,74,1,0,0,204,0,0,0,194,3,0,0,2,4,0,0,24,2,0,0,64,0,0,0,134,0,0,0,22,1,0,0,136,2,0,0,56,0,0,0,76,6,0,0,32,7,0,0,154,3,0,0,30,2,0,0,144,0,0,0,154,1,0,0,66,7,0,0,126,10,0,0,98,0,0,0,148,1,0,0,168,0,0,0,32,8,0,0,82,0,0,0,82,2,0,0,180,0,0,0,70,0,0,0,138,0,0,0,170,2,0,0,194,0,0,0,148,4,0,0,58,6,0,0,116,4,0,0,118,10,0,0,252,5,0,0,198,5,0,0,152,0,0,0,46,0,0,0,74,10,0,0,14,9,0,0,4,8,0,0,178,10,0,0,212,0,0,0,76,1,0,0,44,7,0,0,188,7,0,0,54,0,0,0,138,0,0,0,8,2,0,0,236,1,0,0,106,1,0,0,8,3,0,0,218,5,0,0,130,1,0,0,96,0,0,0,46,0,0,0,254,1,0,0,136,5,0,0,178,5,0,0,146,4,0,0,56,0,0,0,48,9,0,0,44,0,0,0,184,3,0,0,178,5,0,0,42,0,0,0,42,0,0,0,148,7,0,0,244,1,0,0,94,0,0,0,100,0,0,0,244,2,0,0,232,4,0,0,110,1,0,0,136,6,0,0,136,5,0,0,180,0,0,0,212,1,0,0,52,0,0,0,10,1,0,0,184,2,0,0,174,2,0,0,22,1,0,0,142,6,0,0,70,3,0,0,146,7,0,0,176,1,0,0,58,4,0,0,134,0,0,0,160,1,0,0,46,1,0,0,114,3,0,0,74,1,0,0,92,0,0,0,200,9,0,0,214,4,0,0,212,2,0,0,104,3,0,0,124,1,0,0,56,2,0,0,48,1,0,0,44,0,0,0,48,0,0,0,76,5,0,0,84,1,0,0,42,0,0,0,52,0,0,0,112,7,0,0,12,3,0,0,64,0,0,0,102,0,0,0,66,2,0,0,166,5,0,0,116,5,0,0,46,1,0,0,248,0,0,0,90,0,0,0,116,6,0,0,108,0,0,0,98,4,0,0,200,2,0,0,132,0,0,0,108,2,0,0,56,0,0,0,26,3,0,0,206,3,0,0,172,2,0,0,150,9,0,0,134,0,0,0,78,10,0,0,122,1,0,0,50,2,0,0,116,5,0,0,120,5,0,0,52,2,0,0,162,6,0,0,168,6,0,0,180,5,0,0,78,0,0,0,36,1,0,0,70,0,0,0,104,3,0,0,56,1,0,0,162,1,0,0,106,0,0,0,62,3,0,0,94,0,0,0,144,1,0,0,224,3,0,0,196,0,0,0,64,1,0,0,154,2,0,0,160,0,0,0,74,0,0,0,220,5,0,0,26,1,0,0,146,2,0,0,232,7,0,0,190,0,0,0,124,2,0,0,248,1,0,0,84,0,0,0,180,1,0,0,162,1,0,0,156,2,0,0,214,0,0,0,96,2,0,0,44,0,0,0,44,0,0,0,44,0,0,0,108,1,0,0,210,0,0,0,226,3,0,0,58,0,0,0,66,3,0,0,0,1,0,0,186,6,0,0,136,1,0,0,198,9,0,0,206,3,0,0,222,2,0,0,18,1,0,0,16,7,0,0,96,6,0,0,62,4,0,0,48,1,0,0,146,1,0,0,26,2,0,0,148,0,0,0,228,1,0,0,132,1,0,0,172,3,0,0,198,1,0,0,246,3,0,0,42,1,0,0,188,2,0,0,10,6,0,0,228,5,0,0,138,9,0,0,82,0,0,0,120,6,0,0,60,2,0,0,86,3,0,0,116,1,0,0,78,4,0,0,118,0,0,0,164,1,0,0,36,1,0,0,64,5,0,0,212,10,0,0,132,3,0,0,198,2,0,0,148,9,0,0,64,2,0,0,60,0,0,0,52,9,0,0,218,1,0,0,2,1,0,0,92,0,0,0,60,0,0,0,142,3,0,0,182,0,0,0,164,0,0,0,184,10,0,0,192,8,0,0,92,9,0,0,14,1,0,0,202,0,0,0,122,0,0,0,4,6,0,0,246,0,0,0,70,5,0,0,42,9,0,0,64,6,0,0,244,3,0,0,4,5,0,0,152,6,0,0,62,1,0,0,222,1,0,0,86,2,0,0,190,10,0,0,78,0,0,0,144,7,0,0,42,7,0,0,234,0,0,0,74,6,0,0,24,10,0,0,254,0,0,0,180,2,0,0,12,1,0,0,244,1,0,0,136,1,0,0,48,0,0,0,188,0,0,0,6,3,0,0,8,3,0,0,84,0,0,0,140,0,0,0,120,2,0,0,242,4,0,0,162,6,0,0,70,3,0,0,16,3,0,0,206,0,0,0,132,0,0,0,66,0,0,0,30,4,0,0,54,0,0,0,116,0,0,0,128,7,0,0,232,4,0,0,234,0,0,0,128,0,0,0,62,1,0,0,34,3,0,0,60,2,0,0,100,0,0,0,92,0,0,0,170,6,0,0,166,4,0,0,194,7,0,0,134,10,0,0,104,5,0,0,94,0,0,0,192,6,0,0,118,5,0,0,222,1,0,0,232,8,0,0,136,2,0,0,18,2,0,0,146,0,0,0,52,0,0,0,40,9,0,0,104,2,0,0,94,9,0,0,134,1,0,0,206,0,0,0,24,3,0,0,242,2,0,0,240,0,0,0,234,2,0,0,72,4,0,0,16,2,0,0,218,2,0,0,28,1,0,0,220,1,0,0,184,0,0,0,16,1,0,0,226,0,0,0,40,3,0,0,12,2,0,0,122,2,0,0,56,3,0,0,170,1,0,0,84,7,0,0,6,1,0,0,246,2,0,0,122,0,0,0,200,0,0,0,238,2,0,0,246,0,0,0,160,4,0,0,42,0,0,0,92,1,0,0,228,9,0,0,12,2,0,0,182,0,0,0,204,0,0,0,240,2,0,0,70,2,0,0,98,1,0,0,22,3,0,0,240,1,0,0,108,4,0,0,64,2,0,0,2,3,0,0,162,3,0,0,164,0,0,0,28,1,0,0,38,2,0,0,216,0,0,0,50,2,0,0,170,1,0,0,68,0,0,0,100,2,0,0,58,0,0,0,44,0,0,0,4,3,0,0,116,1,0,0,248,0,0,0,148,1,0,0,92,0,0,0,50,0,0,0,204,3,0,0,136,0,0,0,154,0,0,0,26,3,0,0,4,1,0,0,62,2,0,0,176,1,0,0,130,0,0,0,2,1,0,0,130,5,0,0,168,0,0,0,190,1,0,0,38,1,0,0,140,0,0,0,234,1,0,0,216,3,0,0,20,2,0,0,130,1,0,0,118,4,0,0,234,1,0,0,130,0,0,0,242,5,0,0,194,2,0,0,168,0,0,0,108,1,0,0,124,3,0,0,60,0,0,0,200,1,0,0,130,1,0,0,132,1,0,0,68,4,0,0,24,1,0,0,46,0,0,0,80,1,0,0,156,1,0,0,122,1,0,0,6,3,0,0,176,2,0,0,92,2,0,0,12,1,0,0,140,0,0,0,62,1,0,0,174,1,0,0,96,0,0,0,78,2,0,0,12,9,0,0,204,3,0,0,114,2,0,0,52,6,0,0,10,1,0,0,222,5,0,0,202,7,0,0,38,5,0,0,240,6,0,0,120,0,0,0,56,0,0,0,64,0,0,0,42,0,0,0,126,3,0,0,84,3,0,0,126,0,0,0,70,4,0,0,40,3,0,0,52,1,0,0,170,5,0,0,150,8,0,0,48,3,0,0,124,1,0,0,14,3,0,0,126,8,0,0,16,3,0,0,220,0,0,0,112,10,0,0,242,1,0,0,32,4,0,0,54,3,0,0,162,1,0,0,54,0,0,0,220,2,0,0,230,7,0,0,46,0,0,0,106,2,0,0,214,1,0,0,124,0,0,0,142,0,0,0,154,1,0,0,26,2,0,0,90,0,0,0,96,0,0,0,42,0,0,0,48,10,0,0,72,8,0,0,52,3,0,0,232,1,0,0,248,3,0,0,246,7,0,0,38,10,0,0,90,1,0,0,30,2,0,0,112,2,0,0,70,6,0,0,128,0,0,0,84,10,0,0,56,6,0,0,78,9,0,0,178,6,0,0,0,2,0,0,118,6,0,0,62,2,0,0,2,4,0,0,120,1,0,0,196,0,0,0,226,2,0,0,88,3,0,0,36,7,0,0,88,2,0,0,72,0,0,0,86,0,0,0,64,4,0,0,92,4,0,0,32,5,0,0,100,1,0,0,94,6,0,0,84,9,0,0,18,7,0,0,154,6,0,0,190,1,0,0,188,1,0,0,108,0,0,0,152,4,0,0,176,4,0,0,64,3,0,0,142,0,0,0,36,2,0,0,180,9,0,0,40,8,0,0,202,0,0,0,236,2,0,0,38,1,0,0,72,4,0,0,46,0,0,0,50,0,0,0,96,4,0,0,212,0,0,0,184,0,0,0,4,2,0,0,76,9,0,0,144,5,0,0,170,6,0,0,94,0,0,0,72,2,0,0,62,0,0,0,160,10,0,0,50,0,0,0,54,0,0,0,182,1,0,0,188,4,0,0,130,2,0,0,70,8,0,0,92,1,0,0,64,0,0,0,50,0,0,0,246,9,0,0,152,1,0,0,134,1,0,0,124,5,0,0,72,0,0,0,90,2,0,0,64,0,0,0,246,2,0,0,46,8,0,0,110,0,0,0,102,0,0,0,114,4,0,0,30,1,0,0,120,0,0,0,60,9,0,0,74,0,0,0,202,3,0,0,160,5,0,0,48,2,0,0,118,8,0,0,182,6,0,0,216,0,0,0,104,10,0,0,252,4,0,0,50,2,0,0,190,2,0,0,224,5,0,0,160,7,0,0,176,5,0,0,22,4,0,0,92,0,0,0,24,2,0,0,52,0,0,0,138,6,0,0,40,2,0,0,6,1,0,0,214,7,0,0,76,1,0,0,48,0,0,0,88,1,0,0,212,2,0,0,210,5,0,0,74,0,0,0,54,2,0,0,254,1,0,0,126,0,0,0,56,9,0,0,150,1,0,0,198,1,0,0,114,3,0,0,0,1,0,0,116,8,0,0,150,10,0,0,70,10,0,0,46,2,0,0,234,1,0,0,66,4,0,0,182,8,0,0,254,5,0,0,194,1,0,0,164,3,0,0,140,5,0,0,6,1,0,0,206,2,0,0,186,1,0,0,68,0,0,0,146,3,0,0,190,4,0,0,156,7,0,0,212,6,0,0,18,1,0,0,78,0,0,0,0,4,0,0,84,8,0,0,174,1,0,0,176,10,0,0,178,0,0,0,18,3,0,0,20,1,0,0,200,3,0,0,102,0,0,0,150,1,0,0,78,0,0,0,56,2,0,0,212,7,0,0,22,2,0,0,92,0,0,0,112,2,0,0,178,9,0,0,194,8,0,0,184,5,0,0,208,4,0,0,130,2,0,0,152,3,0,0,12,4,0,0,86,0,0,0,244,4,0,0,34,6,0,0,230,5,0,0,190,9,0,0,222,0,0,0,142,2,0,0,46,0,0,0,90,1,0,0,68,0,0,0,244,9,0,0,68,0,0,0,246,4,0,0,116,7,0,0,202,10,0,0,220,3,0,0,88,5,0,0,66,6,0,0,222,1,0,0,176,0,0,0,24,6,0,0,218,0,0,0,154,8,0,0,184,4,0,0,136,3,0,0,186,1,0,0,170,2,0,0,44,0,0,0,140,1,0,0,42,0,0,0,124,2,0,0,188,0,0,0,106,0,0,0,70,0,0,0,166,5,0,0,212,4,0,0,6,2,0,0,74,2,0,0,72,0,0,0,184,2,0,0,48,0,0,0,130,7,0,0,78,6,0,0,96,2,0,0,72,9,0,0,248,2,0,0,48,0,0,0,60,0,0,0,74,0,0,0,166,2,0,0,134,2,0,0,4,1,0,0,222,4,0,0,46,0,0,0,164,1,0,0,122,3,0,0,78,0,0,0,108,1,0,0,246,1,0,0,182,9,0,0,134,0,0,0,244,5,0,0,118,6,0,0,190,3,0,0,146,2,0,0,224,7,0,0,156,6,0,0,76,1,0,0,82,4,0,0,76,0,0,0,144,3,0,0,156,1,0,0,194,0,0,0,208,1,0,0,66,1,0,0,144,5,0,0,138,5,0,0,160,1,0,0,8,2,0,0,220,1,0,0,216,0,0,0,194,1,0,0,56,0,0,0,216,5,0,0,48,0,0,0,44,0,0,0,242,5,0,0,184,2,0,0,48,0,0,0,176,3,0,0,130,8,0,0,200,0,0,0,66,0,0,0,74,0,0,0,194,0,0,0,6,3,0,0,122,4,0,0,214,8,0,0,82,0,0,0,52,0,0,0,198,6,0,0,194,0,0,0,180,5,0,0,204,6,0,0,164,1,0,0,196,2,0,0,196,1,0,0,72,6,0,0,124,3,0,0,92,6,0,0,236,4,0,0,60,0,0,0,48,0,0,0,52,0,0,0,88,10,0,0,54,0,0,0,244,8,0,0,46,0,0,0,134,7,0,0,220,8,0,0,10,2,0,0,134,3,0,0,248,8,0,0,180,2,0,0,156,3,0,0,168,2,0,0,208,3,0,0,62,2,0,0,248,1,0,0,20,1,0,0,18,3,0,0,242,6,0,0,198,1,0,0,134,1,0,0,48,0,0,0,56,0,0,0,200,5,0,0,70,1,0,0,214,2,0,0,182,4,0,0,88,0,0,0,14,8,0,0,136,0,0,0,50,0,0,0,130,3,0,0,94,3,0,0,160,6,0,0,0,1,0,0,52,2,0,0,146,0,0,0,114,1,0,0,110,0,0,0,34,8,0,0,52,0,0,0,46,0,0,0,238,9,0,0,62,5,0,0,132,1,0,0,114,0,0,0,44,0,0,0,146,1,0,0,106,4,0,0,42,0,0,0,186,10,0,0,92,1,0,0,56,1,0,0,216,2,0,0,118,1,0,0,190,0,0,0,150,1,0,0,154,0,0,0,150,0,0,0,212,3,0,0,22,2,0,0,214,0,0,0,4,2,0,0,226,2,0,0,118,0,0,0,68,0,0,0,136,4,0,0,222,3,0,0,84,2,0,0,54,0,0,0,72,0,0,0,248,9,0,0,204,0,0,0,176,0,0,0,78,3,0,0,4,2,0,0,92,0,0,0,154,0,0,0,206,1,0,0,120,8,0,0,8,1,0,0,20,5,0,0,124,2,0,0,56,2,0,0,242,1,0,0,222,6,0,0,142,0,0,0,216,2,0,0,76,6,0,0,166,0,0,0,106,1,0,0,214,0,0,0,152,8,0,0,90,0,0,0,168,8,0,0,110,7,0,0,158,9,0,0,224,3,0,0,34,1,0,0,198,1,0,0,84,0,0,0,62,0,0,0,44,1,0,0,212,0,0,0,180,6,0,0,68,0,0,0,138,7,0,0,142,2,0,0,2,7,0,0,188,1,0,0,126,0,0,0,32,1,0,0,188,0,0,0,202,9,0,0,42,1,0,0,30,9,0,0,2,2,0,0,24,1,0,0,84,0,0,0,96,0,0,0,84,6,0,0,6,2,0,0,254,6,0,0,62,0,0,0,100,6,0,0,80,6,0,0,56,0,0,0,98,8,0,0,128,5,0,0,176,1,0,0,92,1,0,0,252,0,0,0,68,1,0,0,236,0,0,0,242,0,0,0,20,6,0,0,96,1,0,0,250,0,0,0,116,1,0,0,194,9,0,0,44,0,0,0,220,1,0,0,168,0,0,0,42,0,0,0,88,2,0,0,122,9,0,0,6,7,0,0,48,0,0,0,28,4,0,0,96,9,0,0,42,0,0,0,168,0,0,0,100,3,0,0,98,0,0,0,232,5,0,0,200,0,0,0,242,0,0,0,62,8,0,0,50,0,0,0,152,0,0,0,166,10,0,0,32,5,0,0,190,2,0,0,60,1,0,0,60,5,0,0,196,5,0,0,248,1,0,0,150,7,0,0,136,1,0,0,24,1,0,0,182,6,0,0,46,2,0,0,172,0,0,0,134,0,0,0,60,0,0,0,34,2,0,0,60,10,0,0,42,0,0,0,74,9,0,0,190,8,0,0,94,1,0,0,210,0,0,0,212,0,0,0,80,3,0,0,122,5,0,0,142,8,0,0,196,2,0,0,10,4,0,0,82,2,0,0,104,8,0,0,104,0,0,0,252,1,0,0,16,1,0,0,32,1,0,0,72,0,0,0,156,5,0,0,92,8,0,0,182,1,0,0,166,6,0,0,192,1,0,0,114,0,0,0,118,0,0,0,164,2,0,0,64,0,0,0,142,1,0,0,60,1,0,0,82,1,0,0,62,0,0,0,128,10,0,0,80,0,0,0,68,7,0,0,122,0,0,0,10,5,0,0,198,0,0,0,42,0,0,0,132,0,0,0,62,0,0,0,44,0,0,0,52,0,0,0,54,0,0,0,46,0,0,0,42,0,0,0,42,0,0,0,62,0,0,0,66,1,0,0,90,0,0,0,80,1,0,0,60,1,0,0,64,1,0,0,210,2,0,0,96,0,0,0,66,3,0,0,202,1,0,0,18,3,0,0,4,1,0,0,244,2,0,0,132,2,0,0,92,0,0,0,110,0,0,0,236,2,0,0,14,1,0,0,196,6,0,0,80,9,0,0,178,0,0,0,82,6,0,0,198,0,0,0,88,0,0,0,94,2,0,0,54,0,0,0,140,10,0,0,248,2,0,0,78,0,0,0,240,5,0,0,228,1,0,0,214,0,0,0,162,0,0,0,172,1,0,0,56,2,0,0,190,0,0,0,88,0,0,0,74,5,0,0,164,1,0,0,48,0,0,0,248,1,0,0,192,7,0,0,28,1,0,0,88,1,0,0,110,1,0,0,36,9,0,0,182,2,0,0,0,2,0,0,24,1,0,0,230,1,0,0,34,1,0,0,196,9,0,0,144,0,0,0,166,0,0,0,0,3,0,0,30,1,0,0,78,0,0,0,66,9,0,0,64,2,0,0,196,1,0,0,118,0,0,0,0,3,0,0,206,6,0,0,110,1,0,0,76,0,0,0,224,2,0,0,146,0,0,0,44,0,0,0,44,1,0,0,150,0,0,0,8,1,0,0,168,6,0,0,124,7,0,0,116,10,0,0,252,3,0,0,42,2,0,0,228,7,0,0,58,5,0,0,228,4,0,0,180,0,0,0,88,1,0,0,226,1,0,0,18,2,0,0,54,1,0,0,198,8,0,0,250,3,0,0,138,1,0,0,24,5,0,0,32,2,0,0,106,1,0,0,22,1,0,0,36,5,0,0,164,1,0,0,58,1,0,0,70,0,0,0,52,0,0,0,250,3,0,0,166,6,0,0,42,1,0,0,138,8,0,0,92,10,0,0,198,2,0,0,130,6,0,0,66,0,0,0,176,9,0,0,46,3,0,0,140,2,0,0,70,4,0,0,32,1,0,0,254,4,0,0,152,1,0,0,96,3,0,0,6,4,0,0,134,2,0,0,46,0,0,0,154,4,0,0,146,0,0,0,126,0,0,0,206,10,0,0,198,1,0,0,196,1,0,0,0,2,0,0,158,10,0,0,204,0,0,0,10,8,0,0,138,0,0,0,96,8,0,0,148,6,0,0,102,7,0,0,132,0,0,0,158,2,0,0,192,0,0,0,28,9,0,0,98,1,0,0,224,2,0,0,10,10,0,0,198,4,0,0,54,8,0,0,144,2,0,0,48,2,0,0,56,0,0,0,140,2,0,0,226,3,0,0,66,5,0,0,116,2,0,0,30,3,0,0,152,1,0,0,206,6,0,0,84,1,0,0,58,0,0,0,70,0,0,0,178,1,0,0,86,4,0,0,26,2,0,0,228,3,0,0,24,3,0,0,58,3,0,0,154,4,0,0,204,2,0,0,6,4,0,0,70,1,0,0,34,2,0,0,44,0,0,0,72,0,0,0,14,1,0,0,234,2,0,0,130,2,0,0,150,1,0,0,74,2,0,0,236,1,0,0,14,3,0,0,150,1,0,0,80,6,0,0,4,10,0,0,16,10,0,0,186,3,0,0,212,1,0,0,42,0,0,0,204,2,0,0,224,1,0,0,8,2,0,0,20,7,0,0,232,9,0,0,210,10,0,0,42,0,0,0,74,1,0,0,68,0,0,0,162,1,0,0,70,1,0,0,2,1,0,0,62,0,0,0,60,0,0,0,54,0,0,0,40,4,0,0,86,0,0,0,176,1,0,0,60,0,0,0,10,1,0,0,172,0,0,0,84,0,0,0,52,0,0,0,98,1,0,0,44,0,0,0,108,2,0,0,194,1,0,0,86,2,0,0,190,0,0,0,12,1,0,0,8,2,0,0,144,1,0,0,178,1,0,0,12,1,0,0,190,4,0,0,42,0,0,0,68,0,0,0,66,0,0,0,186,8,0,0,140,1,0,0,172,5,0,0,152,0,0,0,48,0,0,0,172,7,0,0,16,5,0,0,248,4,0,0,88,2,0,0,46,1,0,0,38,6,0,0,164,8,0,0,74,4,0,0,54,0,0,0,76,2,0,0,4,3,0,0,60,2,0,0,118,1,0,0,190,1,0,0,50,0,0,0,30,1,0,0,182,10,0,0,192,2,0,0,72,3,0,0,228,0,0,0,76,0,0,0,244,0,0,0,148,3,0,0,42,0,0,0,224,1,0,0,234,9,0,0,68,3,0,0,168,2,0,0,70,2,0,0,8,4,0,0,114,0,0,0,228,2,0,0,76,1,0,0,246,1,0,0,42,0,0,0,106,7,0,0,150,3,0,0,192,1,0,0,236,3,0,0,238,0,0,0,110,0,0,0,170,3,0,0,152,1,0,0,88,0,0,0,124,0,0,0,216,9,0,0,130,0,0,0,48,3,0,0,136,0,0,0,192,0,0,0,132,1,0,0,128,0,0,0,224,1,0,0,2,2,0,0,6,1,0,0,228,2,0,0,112,0,0,0,190,6,0,0,18,4,0,0,118,0,0,0,84,0,0,0,90,5,0,0,246,2,0,0,124,4,0,0,80,1,0,0,34,3,0,0,188,1,0,0,100,5,0,0,188,0,0,0,114,1,0,0,54,0,0,0,68,0,0,0,186,1,0,0,100,0,0,0,156,1,0,0,0,0,0,0,10,215,163,60,0,0,0,0,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,0,67,67,68,32,109,111,116,105,111,110,32,99,108,97,109,112,105,110,103,0,0,0,0,0,82,111,111,116,0,0,0,0,46,46,47,46,46,47,115,114,99,47,66,117,108,108,101,116,67,111,108,108,105,115,105,111,110,47,78,97,114,114,111,119,80,104,97,115,101,67,111,108,108,105,115,105,111,110,47,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,116,97,99,116,67,108,105,112,112,105,110,103,46,99,112,112,0,0,99,111,110,118,101,120,83,119,101,101,112,67,111,109,112,111,117,110,100,0,0,0,0,0,85,110,105,102,111,114,109,83,99,97,108,105,110,103,83,104,97,112,101,0,0,0,0,0,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,0,105,110,116,101,103,114,97,116,101,84,114,97,110,115,102,111,114,109,115,0,0,0,0,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,0,100,105,115,112,97,116,99,104,65,108,108,67,111,108,108,105,115,105,111,110,80,97,105,114,115,0,0,0,0,0,0,0,105,115,108,97,110,100,85,110,105,111,110,70,105,110,100,65,110,100,81,117,105,99,107,83,111,114,116,0,0,0,0,0,98,116,83,99,97,108,101,100,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,0,0,99,97,108,99,117,108,97,116,101,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,115,0,0,0,0,0,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,0,0,0,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,99,97,108,99,117,108,97,116,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,0,0,0,0,0,0,0,98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,0,0,0,0,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,0,72,69,73,71,72,84,70,73,69,76,68,0,0,0,0,0,69,109,112,116,121,0,0,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,0,112,101,114,102,111,114,109,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,105,111,110,0,0,0,0,0,0,0,67,121,108,105,110,100,101,114,90,0,0,0,0,0,0,0,117,112,100,97,116,101,65,99,116,105,118,97,116,105,111,110,83,116,97,116,101,0,0,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,0,0,0,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,0,0,0,0,0,0,0,67,121,108,105,110,100,101,114,89,0,0,0,0,0,0,0,117,112,100,97,116,101,65,97,98,98,115,0,0,0,0,0,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,79,118,101,114,102,108,111,119,32,105,110,32,65,65,66,66,44,32,111,98,106,101,99,116,32,114,101,109,111,118,101,100,32,102,114,111,109,32,115,105,109,117,108,97,116,105,111,110,0,0,0,0,0,0,0,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,0,0,0,117,112,100,97,116,101,65,99,116,105,111,110,115,0,0,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,67,97,112,115,117,108,101,88,0,0,0,0,0,0,0,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,0,0,0,0,0,0,84,104,97,110,107,115,46,10,0,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,105,110,116,101,114,110,97,108,83,105,110,103,108,101,83,116,101,112,83,105,109,117,108,97,116,105,111,110,0,0,0,0,100,49,62,61,48,46,48,102,0,0,0,0,0,0,0,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,83,101,116,117,112,0,0,0,0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,0,100,101,98,117,103,68,114,97,119,87,111,114,108,100,0,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,0,0,0,77,117,108,116,105,83,112,104,101,114,101,0,0,0,0,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,0,0,0,0,67,111,110,118,101,120,0,0,67,111,109,112,111,117,110,100,0,0,0,0,0,0,0,0,80,108,101,97,115,101,32,105,110,99,108,117,100,101,32,97,98,111,118,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,121,111,117,114,32,80,108,97,116,102,111,114,109,44,32,118,101,114,115,105,111,110,32,111,102,32,79,83,46,10,0,0,0,0,0,0,0,0,116,111,105,32,61,32,37,102,10,0,0,0,0,0,0,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,0,0,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,0,0,0,0,0,115,111,108,118,101,71,114,111,117,112,0,0,0,0,0,0,115,116,101,112,83,105,109,117,108,97,116,105,111,110,0,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,0,0,100,48,62,61,48,46,48,102,0,0,0,0,0,0,0,0,98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0,0,0,0,0,0,0,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,0,0,0,0,0,83,84,65,84,73,67,80,76,65,78,69,0,0,0,0,0,83,80,72,69,82,69,0,0,112,114,111,99,101,115,115,73,115,108,97,110,100,115,0,0,83,67,65,76,69,68,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,84,114,105,97,110,103,108,101,0,0,0,0,0,0,0,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,0,67,121,108,105,110,100,101,114,88,0,0,0,0,0,0,0,67,111,110,118,101,120,84,114,105,109,101,115,104,0,0,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,0,0,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,0,0,67,111,110,101,0,0,0,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,0,0,0,0,73,102,32,121,111,117,32,99,97,110,32,114,101,112,114,111,100,117,99,101,32,116,104,105,115,44,32,112,108,101,97,115,101,32,101,109,97,105,108,32,98,117,103,115,64,99,111,110,116,105,110,117,111,117,115,112,104,121,115,105,99,115,46,99,111,109,10,0,0,0,0,0,67,97,112,115,117,108,101,90,0,0,0,0,0,0,0,0,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,66,111,120,0,0,0,0,0,115,121,110,99,104,114,111,110,105,122,101,77,111,116,105,111,110,83,116,97,116,101,115,0,115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,73,116,101,114,97,116,105,111,110,115,0,0,0,0,0,0,0,112,114,101,100,105,99,116,85,110,99,111,110,115,116,114,97,105,110,116,77,111,116,105,111,110,0,0,0,0,0,0,0,115,101,97,114,99,104,32,115,112,101,99,117,108,97,116,105,118,101,32,99,111,110,116,97,99,116,115,0,0,0,0,0,97,100,100,83,112,101,99,117,108,97,116,105,118,101,67,111,110,116,97,99,116,115,0,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,0,0,0,0,98,111,111,108,32,84,101,115,116,83,101,112,65,120,105,115,40,99,111,110,115,116,32,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,32,38,44,32,99,111,110,115,116,32,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,32,38,44,32,99,111,110,115,116,32,98,116,84,114,97,110,115,102,111,114,109,32,38,44,32,99,111,110,115,116,32,98,116,84,114,97,110,115,102,111,114,109,32,38,44,32,99,111,110,115,116,32,98,116,86,101,99,116,111,114,51,32,38,44,32,102,108,111,97,116,32,38,41,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,208,132,0,0,120,0,0,0,2,4,0,0,72,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,132,0,0,196,1,0,0,228,3,0,0,184,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,132,0,0,112,0,0,0,186,3,0,0,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,0,0,144,3,0,0,210,0,0,0,118,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,133,0,0,194,1,0,0,196,2,0,0,176,0,0,0,54,0,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,133,0,0,192,3,0,0,34,3,0,0,62,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,133,0,0,86,2,0,0,228,1,0,0,204,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,133,0,0,30,4,0,0,14,4,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,133,0,0,120,1,0,0,212,3,0,0,112,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,133,0,0,132,1,0,0,94,2,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,133,0,0,4,4,0,0,220,0,0,0,120,1,0,0,102,1,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,133,0,0,180,0,0,0,34,1,0,0,78,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,133,0,0,182,2,0,0,228,0,0,0,122,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,133,0,0,18,2,0,0,54,0,0,0,166,1,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,133,0,0,88,3,0,0,58,0,0,0,166,1,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,133,0,0,182,0,0,0,200,3,0,0,230,1,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,133,0,0,88,1,0,0,138,0,0,0,238,0,0,0,26,3,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,133,0,0,116,2,0,0,140,2,0,0,122,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,133,0,0,134,2,0,0,156,0,0,0,122,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,0,0,236,2,0,0,160,0,0,0,86,1,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,134,0,0,104,0,0,0,66,0,0,0,220,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,134,0,0,206,2,0,0,126,1,0,0,186,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,134,0,0,164,2,0,0,148,2,0,0,66,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,134,0,0,18,4,0,0,186,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,134,0,0,32,2,0,0,6,1,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,134,0,0,172,0,0,0,166,1,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,134,0,0,76,2,0,0,254,2,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,134,0,0,0,4,0,0,70,1,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,134,0,0,176,2,0,0,102,3,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,134,0,0,108,1,0,0,4,3,0,0,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,134,0,0,224,3,0,0,42,3,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,134,0,0,248,0,0,0,174,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,134,0,0,22,2,0,0,206,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,135,0,0,60,0,0,0,32,3,0,0,180,1,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,135,0,0,4,2,0,0,202,2,0,0,148,1,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,135,0,0,190,2,0,0,70,3,0,0,148,1,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,135,0,0,172,1,0,0,0,4,0,0,182,1,0,0,96,0,0,0,94,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,135,0,0,0,2,0,0,144,0,0,0,82,0,0,0,232,1,0,0,174,0,0,0,70,0,0,0,112,0,0,0,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,135,0,0,238,1,0,0,190,0,0,0,204,0,0,0,46,0,0,0,250,1,0,0,158,2,0,0,52,0,0,0,42,0,0,0,44,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,0,0,136,0,0,0,2,1,0,0,90,0,0,0,66,0,0,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,135,0,0,232,2,0,0,248,3,0,0,52,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,0,0,64,0,0,0,116,3,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,135,0,0,106,3,0,0,238,3,0,0,118,0,0,0,50,0,0,0,146,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,0,0,188,3,0,0,72,0,0,0,56,0,0,0,62,0,0,0,132,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,136,0,0,112,2,0,0,44,1,0,0,174,10,0,0,144,3,0,0,86,9,0,0,4,1,0,0,234,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,136,0,0,28,4,0,0,146,3,0,0,128,0,0,0,44,0,0,0,192,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,136,0,0,208,0,0,0,118,1,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,136,0,0,74,3,0,0,126,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,136,0,0,196,0,0,0,166,3,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,3,0,0,56,0,0,0,62,0,0,0,98,0,0,0,6,10,0,0,242,0,0,0,132,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,0,0,154,2,0,0,84,1,0,0,240,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,136,0,0,52,2,0,0,68,3,0,0,20,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,70,6,0,0,250,7,0,0,106,0,0,0,112,8,0,0,92,1,0,0,72,2,0,0,56,8,0,0,210,0,0,0,154,1,0,0,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,136,0,0,124,2,0,0,212,0,0,0,124,0,0,0,94,0,0,0,84,1,0,0,162,5,0,0,32,6,0,0,98,7,0,0,246,0,0,0,86,7,0,0,118,1,0,0,248,2,0,0,208,0,0,0,234,0,0,0,96,7,0,0,112,5,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,136,0,0,92,2,0,0,242,3,0,0,130,0,0,0,60,0,0,0,108,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,136,0,0,96,2,0,0,212,2,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,136,0,0,16,4,0,0,58,2,0,0,106,0,0,0,48,0,0,0,58,0,0,0,92,4,0,0,28,6,0,0,26,6,0,0,204,3,0,0,194,4,0,0,202,8,0,0,98,0,0,0,24,1,0,0,142,9,0,0,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,136,0,0,14,3,0,0,170,3,0,0,80,0,0,0,56,0,0,0,154,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,137,0,0]) +.concat([184,2,0,0,234,3,0,0,148,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,137,0,0,226,0,0,0,2,2,0,0,114,1,0,0,190,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,137,0,0,198,3,0,0,26,1,0,0,152,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,6,0,0,110,9,0,0,82,0,0,0,210,6,0,0,92,1,0,0,72,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,78,2,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,137,0,0,216,1,0,0,142,3,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,137,0,0,172,1,0,0,244,1,0,0,202,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,52,4,0,0,140,9,0,0,94,0,0,0,30,8,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,46,0,0,0,110,1,0,0,58,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,4,4,0,0,228,1,0,0,228,1,0,0,124,0,0,0,214,5,0,0,70,1,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,137,0,0,142,0,0,0,210,3,0,0,168,1,0,0,44,5,0,0,186,3,0,0,246,1,0,0,42,2,0,0,168,1,0,0,180,1,0,0,236,0,0,0,112,3,0,0,242,3,0,0,52,0,0,0,190,1,0,0,54,3,0,0,90,3,0,0,140,3,0,0,4,4,0,0,130,6,0,0,134,0,0,0,198,0,0,0,66,2,0,0,190,1,0,0,228,5,0,0,214,2,0,0,162,9,0,0,212,1,0,0,222,1,0,0,16,6,0,0,90,1,0,0,164,4,0,0,88,0,0,0,58,2,0,0,116,2,0,0,48,2,0,0,90,0,0,0,228,1,0,0,94,0,0,0,12,2,0,0,114,1,0,0,46,2,0,0,62,2,0,0,238,5,0,0,62,1,0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,137,0,0,250,2,0,0,84,2,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,137,0,0,114,3,0,0,186,2,0,0,36,1,0,0,186,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,137,0,0,46,1,0,0,12,2,0,0,106,1,0,0,220,3,0,0,58,9,0,0,244,0,0,0,232,3,0,0,14,1,0,0,76,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,137,0,0,224,2,0,0,252,3,0,0,136,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,137,0,0,124,0,0,0,80,3,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,137,0,0,54,3,0,0,202,3,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,224,1,0,0,76,7,0,0,94,0,0,0,42,0,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,112,0,0,0,44,1,0,0,188,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,137,0,0,122,2,0,0,144,2,0,0,44,3,0,0,68,0,0,0,254,3,0,0,98,6,0,0,56,0,0,0,66,0,0,0,66,0,0,0,240,3,0,0,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,0,0,184,3,0,0,8,2,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,4,0,0,56,0,0,0,62,0,0,0,98,0,0,0,102,10,0,0,252,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,138,0,0,246,3,0,0,118,2,0,0,168,1,0,0,44,5,0,0,186,3,0,0,246,1,0,0,42,2,0,0,168,1,0,0,180,1,0,0,236,0,0,0,112,3,0,0,242,3,0,0,52,0,0,0,190,1,0,0,54,3,0,0,90,3,0,0,140,3,0,0,4,4,0,0,130,6,0,0,134,0,0,0,198,0,0,0,66,2,0,0,190,1,0,0,228,5,0,0,214,2,0,0,162,9,0,0,212,1,0,0,222,1,0,0,138,4,0,0,90,1,0,0,164,4,0,0,88,0,0,0,58,2,0,0,116,2,0,0,48,2,0,0,90,0,0,0,228,1,0,0,94,0,0,0,12,2,0,0,10,1,0,0,46,2,0,0,62,2,0,0,238,5,0,0,62,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,138,0,0,240,3,0,0,78,2,0,0,100,0,0,0,52,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,138,0,0,42,2,0,0,196,3,0,0,168,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,138,0,0,20,3,0,0,184,0,0,0,36,1,0,0,186,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,138,0,0,102,0,0,0,96,3,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,138,0,0,214,3,0,0,98,2,0,0,238,0,0,0,158,5,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,138,0,0,162,3,0,0,72,1,0,0,182,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,72,1,0,0,166,4,0,0,120,0,0,0,98,10,0,0,92,1,0,0,72,2,0,0,84,3,0,0,148,0,0,0,154,1,0,0,210,1,0,0,66,0,0,0,200,0,0,0,58,1,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,138,0,0,180,3,0,0,148,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,138,0,0,36,3,0,0,204,1,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,4,0,0,56,0,0,0,62,0,0,0,98,0,0,0,102,10,0,0,252,0,0,0,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,138,0,0,24,4,0,0,92,3,0,0,198,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,22,5,0,0,106,6,0,0,102,0,0,0,132,4,0,0,110,0,0,0,214,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,126,1,0,0,56,1,0,0,122,1,0,0,16,2,0,0,66,1,0,0,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,138,0,0,130,3,0,0,190,3,0,0,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,138,0,0,182,3,0,0,110,0,0,0,80,2,0,0,44,5,0,0,186,3,0,0,222,2,0,0,42,2,0,0,168,1,0,0,194,1,0,0,66,2,0,0,112,3,0,0,160,3,0,0,48,0,0,0,232,0,0,0,90,6,0,0,28,5,0,0,30,6,0,0,2,6,0,0,192,2,0,0,218,3,0,0,212,5,0,0,14,2,0,0,206,2,0,0,18,4,0,0,20,4,0,0,94,2,0,0,112,1,0,0,120,0,0,0,226,1,0,0,182,1,0,0,248,4,0,0,130,5,0,0,86,6,0,0,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,139,0,0,158,0,0,0,110,3,0,0,38,3,0,0,68,0,0,0,88,6,0,0,66,4,0,0,66,0,0,0,60,0,0,0,62,0,0,0,12,7,0,0,74,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,139,0,0,222,3,0,0,30,3,0,0,48,0,0,0,220,0,0,0,254,0,0,0,220,4,0,0,62,0,0,0,250,0,0,0,34,2,0,0,192,10,0,0,184,1,0,0,144,9,0,0,164,3,0,0,210,7,0,0,40,1,0,0,36,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,139,0,0,16,3,0,0,252,1,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,139,0,0,172,2,0,0,6,2,0,0,210,5,0,0,96,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,139,0,0,146,0,0,0,100,3,0,0,42,0,0,0,42,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,139,0,0,242,0,0,0,250,1,0,0,46,0,0,0,74,0,0,0,88,0,0,0,86,2,0,0,64,0,0,0,234,0,0,0,64,1,0,0,120,7,0,0,180,8,0,0,22,1,0,0,208,4,0,0,230,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,139,0,0,26,2,0,0,236,1,0,0,54,0,0,0,52,1,0,0,72,0,0,0,230,0,0,0,54,0,0,0,192,1,0,0,150,3,0,0,130,2,0,0,248,6,0,0,172,1,0,0,112,3,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,139,0,0,98,3,0,0,180,1,0,0,238,0,0,0,254,4,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,139,0,0,70,2,0,0,22,1,0,0,182,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,88,5,0,0,166,4,0,0,120,0,0,0,0,6,0,0,92,1,0,0,72,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,190,1,0,0,66,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,139,0,0,100,1,0,0,142,2,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,139,0,0,176,0,0,0,140,3,0,0,78,0,0,0,74,0,0,0,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,139,0,0,156,3,0,0,100,2,0,0,238,0,0,0,188,0,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,139,0,0,218,1,0,0,102,1,0,0,156,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,44,3,0,0,44,6,0,0,112,0,0,0,114,9,0,0,92,1,0,0,72,2,0,0,248,7,0,0,224,0,0,0,154,1,0,0,78,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,139,0,0,132,2,0,0,178,1,0,0,152,2,0,0,68,0,0,0,146,1,0,0,238,3,0,0,56,0,0,0,42,0,0,0,58,0,0,0,250,2,0,0,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,139,0,0,136,2,0,0,12,4,0,0,56,0,0,0,218,0,0,0,64,0,0,0,252,1,0,0,90,0,0,0,94,1,0,0,174,4,0,0,88,7,0,0,218,6,0,0,20,1,0,0,44,0,0,0,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,140,0,0,66,1,0,0,254,1,0,0,126,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,158,6,0,0,76,7,0,0,46,0,0,0,100,4,0,0,172,0,0,0,58,2,0,0,88,9,0,0,226,0,0,0,154,1,0,0,112,0,0,0,184,0,0,0,44,2,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,140,0,0,158,3,0,0,50,1,0,0,48,2,0,0,68,0,0,0,28,3,0,0,148,3,0,0,56,0,0,0,62,0,0,0,98,0,0,0,6,10,0,0,242,0,0,0,132,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,140,0,0,44,2,0,0,178,3,0,0,182,0,0,0,172,1,0,0,60,0,0,0,88,1,0,0,154,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,140,0,0,230,3,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,140,0,0,130,0,0,0,78,3,0,0,152,2,0,0,68,0,0,0,42,0,0,0,42,0,0,0,56,0,0,0,42,0,0,0,42,0,0,0,34,5,0,0,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,140,0,0,48,0,0,0,30,1,0,0,40,3,0,0,68,0,0,0,102,5,0,0,230,2,0,0,56,0,0,0,64,0,0,0,50,0,0,0,184,7,0,0,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,140,0,0,216,2,0,0,232,3,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,140,0,0,58,3,0,0,154,3,0,0,202,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,116,6,0,0,76,7,0,0,94,0,0,0,152,7,0,0,172,0,0,0,58,2,0,0,230,9,0,0,152,0,0,0,154,1,0,0,248,0,0,0,254,0,0,0,142,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,190,5,0,0,170,0,0,0,100,0,0,0,40,1,0,0,132,9,0,0,40,2,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,140,0,0,46,1,0,0,110,2,0,0,0,3,0,0,220,3,0,0,58,9,0,0,244,0,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,140,0,0,240,0,0,0,146,1,0,0,54,0,0,0,52,1,0,0,72,0,0,0,230,0,0,0,54,0,0,0,192,1,0,0,150,3,0,0,130,2,0,0,248,6,0,0,172,1,0,0,112,3,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,140,0,0,6,3,0,0,142,1,0,0,178,1,0,0,218,0,0,0,252,255,255,255,184,140,0,0,118,0,0,0,72,3,0,0,54,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,140,0,0,84,3,0,0,36,2,0,0,42,0,0,0,46,4,0,0,78,1,0,0,86,1,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,140,0,0,14,1,0,0,148,3,0,0,8,1,0,0,142,1,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,140,0,0,10,1,0,0,26,4,0,0,36,1,0,0,186,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,141,0,0,106,0,0,0,114,1,0,0,138,0,0,0,46,0,0,0,230,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,141,0,0,78,0,0,0,28,3,0,0,58,0,0,0,46,1,0,0,124,0,0,0,130,1,0,0,78,0,0,0,68,0,0,0,246,0,0,0,252,9,0,0,20,2,0,0,138,1,0,0,146,5,0,0,52,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,141,0,0,80,1,0,0,78,1,0,0,12,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,106,2,0,0,76,7,0,0,72,0,0,0,216,10,0,0,32,2,0,0,58,2,0,0,224,10,0,0,246,0,0,0,154,1,0,0,80,0,0,0,42,0,0,0,248,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,68,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,141,0,0,76,0,0,0,194,2,0,0,12,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,106,2,0,0,76,7,0,0,72,0,0,0,184,9,0,0,32,2,0,0,58,2,0,0,224,10,0,0,246,0,0,0,154,1,0,0,80,0,0,0,42,1,0,0,160,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,141,0,0,114,0,0,0,250,0,0,0,168,1,0,0,44,5,0,0,186,3,0,0,84,0,0,0,42,2,0,0,168,1,0,0,194,1,0,0,46,5,0,0,112,3,0,0,160,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,141,0,0,150,3,0,0,244,2,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,141,0,0,220,3,0,0,40,1,0,0,70,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,90,5,0,0,76,7,0,0,94,0,0,0,62,10,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,112,0,0,0,44,1,0,0,188,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,90,8,0,0,20,10,0,0,194,4,0,0,164,0,0,0,96,0,0,0,164,9,0,0,0,2,0,0,56,0,0,0,208,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,141,0,0,116,1,0,0,116,0,0,0,168,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,224,1,0,0,76,7,0,0,54,0,0,0,108,2,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,112,0,0,0,96,1,0,0,18,1,0,0,120,1,0,0,248,3,0,0,108,1,0,0,90,8,0,0,52,4,0,0,106,8,0,0,98,0,0,0,194,1,0,0,52,6,0,0,162,0,0,0,48,0,0,0,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,141,0,0,48,3,0,0,120,3,0,0,156,0,0,0,46,0,0,0,220,0,0,0,38,7,0,0,68,5,0,0,200,0,0,0,170,0,0,0,244,0,0,0,134,1,0,0,26,6,0,0,228,0,0,0,116,0,0,0,146,6,0,0,90,0,0,0,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,141,0,0,82,3,0,0,114,2,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,141,0,0,204,0,0,0,104,2,0,0,12,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,106,2,0,0,76,7,0,0,72,0,0,0,158,5,0,0,32,2,0,0,58,2,0,0,224,10,0,0,246,0,0,0,154,1,0,0,80,0,0,0,170,1,0,0,88,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,250,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,141,0,0,202,1,0,0,122,0,0,0,26,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,182,1,0,0,142,1,0,0,100,0,0,0,10,9,0,0,184,1,0,0,170,2,0,0,120,4,0,0,240,0,0,0,154,1,0,0,124,0,0,0,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,141,0,0,66,2,0,0,240,2,0,0,200,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,26,4,0,0,76,7,0,0,50,0,0,0,28,10,0,0,196,1,0,0,58,2,0,0,174,3,0,0,186,0,0,0,154,1,0,0,112,0,0,0,26,1,0,0,244,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,141,0,0,226,1,0,0,42,1,0,0,200,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,26,4,0,0,76,7,0,0,50,0,0,0,72,7,0,0,196,1,0,0,58,2,0,0,174,3,0,0,186,0,0,0,154,1,0,0,112,0,0,0,26,1,0,0,244,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,141,0,0,72,2,0,0,62,3,0,0,106,0,0,0,48,0,0,0,58,0,0,0,92,4,0,0,28,6,0,0,26,6,0,0,134,6,0,0,102,3,0,0,202,8,0,0,98,0,0,0,24,1,0,0,142,9,0,0,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,142,0,0,68,0,0,0,200,1,0,0,72,0,0,0,60,0,0,0,202,0,0,0,170,3,0,0,252,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,142,0,0,38,2,0,0,126,3,0,0,72,0,0,0,60,0,0,0,202,0,0,0,170,3,0,0,252,5,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,142,0,0,180,2,0,0,168,3,0,0,200,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,26,4,0,0,76,7,0,0,50,0,0,0,136,8,0,0,196,1,0,0,58,2,0,0,174,3,0,0,186,0,0,0,154,1,0,0,112,0,0,0,26,1,0,0,244,0,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,142,0,0,62,0,0,0,248,2,0,0,66,0,0,0,48,1,0,0,202,2,0,0,58,0,0,0,224,1,0,0,76,7,0,0,136,0,0,0,250,6,0,0,108,0,0,0,28,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,16,1,0,0,68,1,0,0,110,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,142,0,0,46,1,0,0,56,3,0,0,170,1,0,0,220,3,0,0,58,9,0,0,244,0,0,0,232,3,0,0,2,1,0,0,52,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,142,0,0,28,2,0,0,178,0,0,0,64,2,0,0,48,1,0,0,202,2,0,0,58,0,0,0,14,4,0,0,114,8,0,0,90,0,0,0,150,6,0,0,92,1,0,0,72,2,0,0,110,4,0,0,90,0,0,0,154,1,0,0,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,142,0,0,160,2,0,0,134,3,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,3,0,0,76,7,0,0,76,0,0,0,234,4,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,58,1,0,0,60,1,0,0,84,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,142,0,0,122,3,0,0,220,2,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,3,0,0,76,7,0,0,76,0,0,0,234,4,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,58,1,0,0,60,1,0,0,84,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,142,0,0,194,3,0,0,46,2,0,0,46,0,0,0,74,0,0,0,88,0,0,0,86,2,0,0,64,0,0,0,234,0,0,0,64,1,0,0,120,7,0,0,180,8,0,0,22,1,0,0,208,4,0,0,230,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,142,0,0,184,0,0,0,198,0,0,0,208,1,0,0,220,3,0,0,196,8,0,0,208,0,0,0,68,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,142,0,0,30,2,0,0,148,1,0,0,164,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,36,3,0,0,76,7,0,0,76,0,0,0,234,4,0,0,172,0,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,58,1,0,0,60,1,0,0,84,1,0,0,120,1,0,0,220,6,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,142,0,0,104,1,0,0,166,2,0,0,138,1,0,0,48,1,0,0,202,2,0,0,58,0,0,0,220,5,0,0,76,7,0,0,56,0,0,0,6,8,0,0,26,1,0,0,58,2,0,0,86,6,0,0,118,0,0,0,154,1,0,0,214,0,0,0,60,0,0,0,134,1,0,0,120,1,0,0,214,6,0,0,146,1,0,0,90,8,0,0,204,8,0,0,136,6,0,0,238,1,0,0,38,1,0,0,78,4,0,0,250,0,0,0,72,0,0,0,188,1,0,0,0,0,0,0,0,0,0,0,90,78,75,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,51,49,99,97,108,99,117,108,97,116,101,80,114,105,110,99,105,112,97,108,65,120,105,115,84,114,97,110,115,102,111,114,109,69,82,49,49,98,116,84,114,97,110,115,102,111,114,109,82,57,98,116,86,101,99,116,111,114,51,82,102,69,49,53,73,110,101,114,116,105,97,67,97,108,108,98,97,99,107,95,48,0,90,78,75,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,51,49,99,97,108,99,117,108,97,116,101,80,114,105,110,99,105,112,97,108,65,120,105,115,84,114,97,110,115,102,111,114,109,69,82,49,49,98,116,84,114,97,110,115,102,111,114,109,82,57,98,116,86,101,99,116,111,114,51,82,102,69,49,52,67,101,110,116,101,114,67,97,108,108,98,97,99,107,0,0,0,0,90,78,75,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,90,78,75,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,49,54,70,105,108,116,101,114,101,100,67,97,108,108,98,97,99,107,0,0,0,90,78,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,49,50,99,97,108,99,80,101,110,68,101,112,116,104,69,82,50,50,98,116,86,111,114,111,110,111,105,83,105,109,112,108,101,120,83,111,108,118,101,114,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,83,52,95,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,55,95,82,57,98,116,86,101,99,116,111,114,51,83,57,95,83,57,95,80,49,50,98,116,73,68,101,98,117,103,68,114,97,119,80,49,50,98,116,83,116,97,99,107,65,108,108,111,99,69,50,48,98,116,73,110,116,101,114,109,101,100,105,97,116,101,82,101,115,117,108,116,0,0,0,0,0,0,0,90,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,50,49,99,97,108,99,117,108,97,116,101,84,105,109,101,79,102,73,109,112,97,99,116,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,51,49,76,111,99,97,108,84,114,105,97,110,103,108,101,83,112,104,101,114,101,67,97,115,116,67,97,108,108,98,97,99,107,0,0,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,51,55,114,101,109,111,118,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,67,111,110,116,97,105,110,105,110,103,80,114,111,120,121,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,56,82,101,109,111,118,101,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,49,57,99,108,101,97,110,80,114,111,120,121,70,114,111,109,80,97,105,114,115,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,55,67,108,101,97,110,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,90,78,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,50,51,99,97,108,99,117,108,97,116,101,65,97,98,98,66,114,117,116,101,70,111,114,99,101,69,82,57,98,116,86,101,99,116,111,114,51,83,49,95,69,50,51,65,97,98,98,67,97,108,99,117,108,97,116,105,111,110,67,97,108,108,98,97,99,107,0,0,0,90,78,50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,49,54,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,69,82,49,57,98,116,67,111,110,116,97,99,116,83,111,108,118,101,114,73,110,102,111,69,50,55,73,110,112,108,97,99,101,83,111,108,118,101,114,73,115,108,97,110,100,67,97,108,108,98,97,99,107,0,0,0,0,0,0,90,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,54,112,114,111,99,101,115,115,67,111,108,108,105,115,105,111,110,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,49,51,98,116,68,117,109,109,121,82,101,115,117,108,116,0,0,0,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,55,112,101,114,102,111,114,109,67,111,110,118,101,120,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,83,52,95,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,52,112,101,114,102,111,114,109,82,97,121,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,49,52,76,111,99,97,108,73,110,102,111,65,100,100,101,114,95,49,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,57,82,97,121,84,101,115,116,101,114,95,49,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0,0,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,49,53,76,111,99,97,108,73,110,102,111,65,100,100,101,114,50,0,0,0,0,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,57,81,117,97,110,116,105,122,101,100,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,0,90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,48,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,95,48,0,0,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,83,116,57,101,120,99,101,112,116,105,111,110,0,0,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0,0,0,0,0,0,78,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,54,82,101,115,117,108,116,69,0,78,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,0,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,78,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,0,78,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,78,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,78,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,49,52,73,115,108,97,110,100,67,97,108,108,98,97,99,107,69,0,0,0,78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,78,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0,0,0,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,55,67,108,111,115,101,115,116,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,67,108,111,115,101,115,116,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,65,108,108,72,105,116,115,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,49,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,0,0,0,0,0,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0,78,49,50,98,116,67,111,110,118,101,120,67,97,115,116,49,48,67,97,115,116,82,101,115,117,108,116,69,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,0,0,51,53,98,116,83,101,113,117,101,110,116,105,97,108,73,109,112,117,108,115,101,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,0,0,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,51,52,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0,0,0,0,51,52,98,116,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,0,0,0,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,0,0,0,0,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,0,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116]) +.concat([104,109,0,0,0,0,0,0,51,50,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0,0,0,0,0,0,51,49,98,116,73,110,116,101,114,110,97,108,84,114,105,97,110,103,108,101,73,110,100,101,120,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,51,49,98,116,68,101,102,97,117,108,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,0,0,0,0,0,0,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,0,51,48,98,116,71,106,107,69,112,97,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,0,0,0,0,0,0,0,51,48,98,116,67,111,110,118,101,120,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0,0,0,0,0,0,0,0,51,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,67,114,101,97,116,101,70,117,110,99,0,0,0,0,0,0,0,0,51,48,98,116,65,99,116,105,118,97,116,105,110,103,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,0,0,50,57,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115,116,114,97,105,110,116,0,50,57,67,111,110,99,114,101,116,101,67,111,110,116,97,99,116,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0,50,56,98,116,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0,0,50,56,98,116,83,99,97,108,101,100,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,0,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,50,55,98,116,67,111,110,116,105,110,117,111,117,115,67,111,110,118,101,120,67,111,108,108,105,115,105,111,110,0,0,0,50,54,98,116,84,114,105,97,110,103,108,101,73,110,100,101,120,86,101,114,116,101,120,65,114,114,97,121,0,0,0,0,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,0,0,50,54,76,111,99,97,108,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,0,0,0,50,53,98,116,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0,0,0,0,0,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,0,0,0,0,0,50,53,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,0,0,50,53,98,116,72,101,105,103,104,116,102,105,101,108,100,84,101,114,114,97,105,110,83,104,97,112,101,0,0,0,0,0,50,53,98,116,68,101,102,97,117,108,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,0,0,0,0,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,0,0,50,53,98,116,67,111,110,116,105,110,117,111,117,115,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,50,52,98,116,83,99,97,108,101,100,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,0,0,50,52,98,116,80,101,114,116,117,114,98,101,100,67,111,110,116,97,99,116,82,101,115,117,108,116,0,0,0,0,0,0,50,52,98,116,80,97,105,114,67,97,99,104,105,110,103,71,104,111,115,116,79,98,106,101,99,116,0,0,0,0,0,0,50,52,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,0,0,50,52,98,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0,0,0,0,0,0,50,52,98,116,66,114,111,97,100,112,104,97,115,101,65,97,98,98,67,97,108,108,98,97,99,107,0,0,0,0,0,0,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,0,0,0,0,0,0,0,50,51,98,116,83,105,110,103,108,101,67,111,110,116,97,99,116,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,50,51,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,83,104,97,112,101,0,0,0,0,0,0,0,50,51,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,0,0,50,51,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,0,0,50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,0,0,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,0,50,51,98,116,67,111,108,108,105,115,105,111,110,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,50,51,98,116,66,114,111,97,100,112,104,97,115,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,50,51,98,116,66,114,105,100,103,101,100,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,0,0,0,0,0,0,50,50,98,116,83,117,98,115,105,109,112,108,101,120,67,111,110,118,101,120,67,97,115,116,0,0,0,0,0,0,0,0,50,50,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0,0,0,0,0,0,0,0,50,50,98,116,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,0,0,0,0,0,50,50,83,112,104,101,114,101,84,114,105,97,110,103,108,101,68,101,116,101,99,116,111,114,0,0,0,0,0,0,0,0,50,49,98,116,85,110,105,118,101,114,115,97,108,67,111,110,115,116,114,97,105,110,116,0,50,49,98,116,85,110,105,102,111,114,109,83,99,97,108,105,110,103,83,104,97,112,101,0,50,49,98,116,83,105,110,103,108,101,83,119,101,101,112,67,97,108,108,98,97,99,107,0,50,49,98,116,83,105,109,112,108,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0,50,49,98,116,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,50,49,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,0,50,49,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,0,50,49,98,116,67,111,108,108,105,115,105,111,110,68,105,115,112,97,116,99,104,101,114,0,50,49,98,116,66,114,111,97,100,112,104,97,115,101,73,110,116,101,114,102,97,99,101,0,50,49,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0,50,48,98,116,68,101,102,97,117,108,116,77,111,116,105,111,110,83,116,97,116,101,0,0,50,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,116,69,0,0,0,0,0,0,0,50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,106,69,0,0,0,0,0,0,0,50,48,66,114,111,97,100,112,104,97,115,101,65,97,98,98,84,101,115,116,101,114,0,0,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,49,57,98,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,49,57,98,116,71,104,111,115,116,80,97,105,114,67,97,108,108,98,97,99,107,0,0,0,49,57,66,114,111,97,100,112,104,97,115,101,82,97,121,84,101,115,116,101,114,0,0,0,49,56,98,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,0,0,0,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,49,56,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,0,0,0,0,49,56,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,0,0,0,0,49,56,98,116,83,105,109,112,108,101,66,114,111,97,100,112,104,97,115,101,0,0,0,0,49,56,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,0,0,0,0,49,56,98,116,72,105,110,103,101,50,67,111,110,115,116,114,97,105,110,116,0,0,0,0,49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,0,0,0,0,49,56,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,0,0,0,0,49,56,98,116,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,0,0,0,49,55,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,49,55,98,116,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,0,0,49,55,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,49,55,98,116,71,106,107,80,97,105,114,68,101,116,101,99,116,111,114,0,0,0,0,0,49,55,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,0,0,0,0,0,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,0,0,0,0,0,49,55,98,116,65,99,116,105,111,110,73,110,116,101,114,102,97,99,101,0,0,0,0,0,49,55,98,116,51,50,66,105,116,65,120,105,115,83,119,101,101,112,51,0,0,0,0,0,49,55,68,101,98,117,103,68,114,97,119,99,97,108,108,98,97,99,107,0,0,0,0,0,49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0,0,0,0,0,0,49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0,0,0,0,0,0,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,0,0,0,0,0,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,49,54,98,116,68,98,118,116,66,114,111,97,100,112,104,97,115,101,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,90,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,88,0,0,0,0,0,0,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,0,0,0,0,0,0,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,0,0,0,0,0,49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,0,0,0,0,0,0,49,54,98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0,0,0,0,0,0,49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,0,0,0,0,0,0,0,49,53,98,116,78,117,108,108,80,97,105,114,67,97,99,104,101,0,0,0,0,0,0,0,49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,0,0,0,0,0,0,0,49,53,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,0,0,49,53,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,0,0,0,0,0,0,0,49,53,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,90,0,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,88,0,0,0,0,0,0,0,49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,0,0,0,0,0,0,0,0,49,52,98,116,81,117,97,110,116,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0,0,0,0,0,0,0,0,49,52,98,116,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,0,0,0,0,49,51,98,116,84,121,112,101,100,79,98,106,101,99,116,0,49,51,98,116,83,112,104,101,114,101,83,104,97,112,101,0,49,51,98,116,77,111,116,105,111,110,83,116,97,116,101,0,49,51,98,116,71,104,111,115,116,79,98,106,101,99,116,0,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,0,49,50,98,116,69,109,112,116,121,83,104,97,112,101,0,0,49,50,98,116,68,105,115,112,97,116,99,104,101,114,0,0,49,50,98,116,67,111,110,118,101,120,67,97,115,116,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,90,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,88,0,0,49,50,98,116,65,120,105,115,83,119,101,101,112,51,0,0,49,49,98,116,82,105,103,105,100,66,111,100,121,0,0,0,49,49,98,116,67,111,110,101,83,104,97,112,101,0,0,0,49,48,98,116,66,111,120,83,104,97,112,101,0,0,0,0,0,0,0,0,216,102,0,0,32,136,0,0,0,0,0,0,0,0,0,0,72,103,0,0,32,136,0,0,0,0,0,0,0,0,0,0,184,103,0,0,240,138,0,0,0,0,0,0,0,0,0,0,40,104,0,0,32,136,0,0,0,0,0,0,0,0,0,0,144,104,0,0,88,134,0,0,0,0,0,0,0,0,0,0,80,105,0,0,208,139,0,0,0,0,0,0,0,0,0,0,240,105,0,0,96,140,0,0,0,0,0,0,0,0,0,0,120,106,0,0,96,140,0,0,0,0,0,0,0,0,0,0,232,106,0,0,32,136,0,0,0,0,0,0,0,0,0,0,72,107,0,0,224,134,0,0,0,0,0,0,0,0,0,0,176,107,0,0,88,134,0,0,0,0,0,0,0,0,0,0,48,108,0,0,240,138,0,0,0,0,0,0,0,0,0,0,168,108,0,0,240,138,0,0,0,0,0,0,0,0,0,0,16,109,0,0,152,136,0,0,0,0,0,0,0,0,0,0,200,109,0,0,152,136,0,0,0,0,0,0,0,0,0,0,128,110,0,0,64,135,0,0,0,0,0,0,0,0,0,0,40,111,0,0,80,134,0,0,0,0,0,0,0,0,0,0,176,111,0,0,24,137,0,0,0,0,0,0,0,0,0,0,80,112,0,0,24,137,0,0,0,0,0,0,0,0,0,0,240,112,0,0,72,135,0,0,0,0,0,0,0,0,0,0,128,113,0,0,32,136,0,0,0,0,0,0,0,0,0,0,232,113,0,0,32,136,0,0,0,0,0,0,0,0,0,0,72,114,0,0,0,0,0,0,88,114,0,0,0,0,0,0,104,114,0,0,56,134,0,0,0,0,0,0,0,0,0,0,120,114,0,0,0,0,0,0,144,114,0,0,0,0,0,0,192,114,0,0,96,136,0,0,0,0,0,0,0,0,0,0,248,114,0,0,96,136,0,0,0,0,0,0,0,0,0,0,56,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,112,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,168,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,216,115,0,0,96,136,0,0,0,0,0,0,0,0,0,0,16,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,64,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,112,116,0,0,0,0,0,0,160,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,200,116,0,0,96,136,0,0,0,0,0,0,0,0,0,0,240,116,0,0,64,135,0,0,0,0,0,0,0,0,0,0,40,117,0,0,72,135,0,0,0,0,0,0,0,0,0,0,88,117,0,0,72,135,0,0,0,0,0,0,0,0,0,0,136,117,0,0,0,0,0,0,184,117,0,0,0,0,0,0,232,117,0,0,0,0,0,0,16,118,0,0,0,0,0,0,48,118,0,0,120,135,0,0,0,0,0,0,0,0,0,0,88,118,0,0,120,135,0,0,0,0,0,0,0,0,0,0,128,118,0,0,136,135,0,0,0,0,0,0,0,0,0,0,168,118,0,0,48,134,0,0,0,0,0,0,0,0,0,0,208,118,0,0,0,0,0,0,248,118,0,0,64,140,0,0,0,0,0,0,0,0,0,0,32,119,0,0,104,136,0,0,0,0,0,0,0,0,0,0,72,119,0,0,224,137,0,0,0,0,0,0,0,0,0,0,112,119,0,0,8,135,0,0,0,0,0,0,0,0,0,0,152,119,0,0,88,136,0,0,0,0,0,0,0,0,0,0,192,119,0,0,104,136,0,0,0,0,0,0,0,0,0,0,232,119,0,0,104,136,0,0,0,0,0,0,0,0,0,0,16,120,0,0,248,138,0,0,0,0,0,0,0,0,0,0,56,120,0,0,0,0,0,0,96,120,0,0,184,137,0,0,0,0,0,0,0,0,0,0,136,120,0,0,80,139,0,0,0,0,0,0,0,0,0,0,176,120,0,0,88,136,0,0,0,0,0,0,0,0,0,0,216,120,0,0,0,0,0,0,0,121,0,0,0,0,0,0,40,121,0,0,80,139,0,0,0,0,0,0,0,0,0,0,80,121,0,0,0,138,0,0,0,0,0,0,0,0,0,0,112,121,0,0,56,135,0,0,0,0,0,0,0,0,0,0,144,121,0,0,208,139,0,0,0,0,0,0,0,0,0,0,176,121,0,0,32,142,0,0,0,0,0,0,0,0,0,0,208,121,0,0,112,138,0,0,0,0,0,0,0,0,0,0,240,121,0,0,104,136,0,0,0,0,0,0,0,0,0,0,16,122,0,0,152,142,0,0,0,0,0,0,0,0,0,0,48,122,0,0,200,137,0,0,0,0,0,0,0,0,0,0,80,122,0,0,104,136,0,0,0,0,0,0,0,0,0,0,112,122,0,0,32,136,0,0,0,0,0,0,0,0,0,0,144,122,0,0,208,139,0,0,0,0,0,0,0,0,0,0,176,122,0,0,0,0,0,0,208,122,0,0,0,0,0,0,240,122,0,0,32,142,0,0,0,0,0,0,0,0,0,0,16,123,0,0,200,139,0,0,0,0,0,0,0,0,0,0,48,123,0,0,192,135,0,0,0,0,0,0,0,0,0,0,80,123,0,0,16,138,0,0,0,0,0,0,0,0,0,0,112,123,0,0,208,139,0,0,0,0,0,0,0,0,0,0,144,123,0,0,248,140,0,0,0,0,0,0,0,0,0,0,176,123,0,0,96,142,0,0,0,0,0,0,0,0,0,0,208,123,0,0,208,139,0,0,0,0,0,0,0,0,0,0,240,123,0,0,0,0,0,0,16,124,0,0,0,0,0,0,48,124,0,0,0,0,0,0,80,124,0,0,192,137,0,0,0,0,0,0,0,0,0,0,112,124,0,0,248,138,0,0,0,0,0,0,0,0,0,0,144,124,0,0,72,140,0,0,0,0,0,0,0,0,0,0,176,124,0,0,72,140,0,0,0,0,0,0,0,0,0,0,208,124,0,0,168,141,0,0,0,0,0,0,0,0,0,0,240,124,0,0,104,136,0,0,0,0,0,0,0,0,0,0,16,125,0,0,96,140,0,0,0,0,0,0,0,0,0,0,48,125,0,0,192,137,0,0,0,0,0,0,0,0,0,0,80,125,0,0,248,140,0,0,0,0,0,0,0,0,0,0,112,125,0,0,152,142,0,0,0,0,0,0,0,0,0,0,144,125,0,0,48,137,0,0,0,0,0,0,0,0,0,0,176,125,0,0,80,134,0,0,0,0,0,0,0,0,0,0,208,125,0,0,136,139,0,0,0,0,0,0,0,0,0,0,240,125,0,0,152,135,0,0,0,0,0,0,0,0,0,0,16,126,0,0,0,138,0,0,0,0,0,0,0,0,0,0,40,126,0,0,112,142,0,0,0,0,0,0,0,0,0,0,64,126,0,0,64,138,0,0,0,0,0,0,0,0,0,0,88,126,0,0,168,141,0,0,0,0,0,0,0,0,0,0,112,126,0,0,0,0,0,0,136,126,0,0,112,142,0,0,0,0,0,0,0,0,0,0,160,126,0,0,72,140,0,0,0,0,0,0,0,0,0,0,184,126,0,0,144,142,0,0,0,0,0,0,0,0,0,0,208,126,0,0,0,0,0,0,232,126,0,0,208,139,0,0,0,0,0,0,0,0,0,0,0,127,0,0,88,142,0,0,0,0,0,0,0,0,0,0,24,127,0,0,0,0,0,0,48,127,0,0,40,139,0,0,0,0,0,0,0,0,0,0,80,127,0,0,40,139,0,0,0,0,0,0,0,0,0,0,112,127,0,0,80,134,0,0,0,0,0,0,0,0,0,0,136,127,0,0,32,142,0,0,0,0,0,0,0,0,0,0,160,127,0,0,64,138,0,0,0,0,0,0,0,0,0,0,184,127,0,0,48,137,0,0,0,0,0,0,0,0,0,0,208,127,0,0,80,134,0,0,0,0,0,0,0,0,0,0,232,127,0,0,0,0,0,0,0,128,0,0,0,0,0,0,24,128,0,0,32,142,0,0,0,0,0,0,0,0,0,0,48,128,0,0,72,140,0,0,0,0,0,0,0,0,0,0,72,128,0,0,40,139,0,0,0,0,0,0,0,0,0,0,96,128,0,0,16,136,0,0,0,0,0,0,0,0,0,0,120,128,0,0,120,136,0,0,0,0,0,0,0,0,0,0,144,128,0,0,80,134,0,0,0,0,0,0,0,0,0,0,168,128,0,0,0,0,0,0,192,128,0,0,128,76,0,0,216,128,0,0,0,0,0,0,1,0,0,0,64,142,0,0,2,4,0,0,0,0,0,0,240,128,0,0,0,0,0,0,8,129,0,0,72,140,0,0,0,0,0,0,0,0,0,0,32,129,0,0,152,135,0,0,0,0,0,0,0,0,0,0,56,129,0,0,192,135,0,0,0,0,0,0,0,0,0,0,80,129,0,0,0,0,0,0,104,129,0,0,0,0,0,0,128,129,0,0,104,139,0,0,0,0,0,0,128,76,0,0,152,129,0,0,0,0,0,0,2,0,0,0,208,139,0,0,2,0,0,0,32,136,0,0,2,4,0,0,0,0,0,0,176,129,0,0,160,140,0,0,0,0,0,0,0,0,0,0,200,129,0,0,88,134,0,0,0,0,0,0,0,0,0,0,224,129,0,0,88,134,0,0,0,0,0,0,0,0,0,0,248,129,0,0,80,139,0,0,0,0,0,0,0,0,0,0,16,130,0,0,40,139,0,0,0,0,0,0,0,0,0,0,40,130,0,0,184,141,0,0,0,0,0,0,0,0,0,0,64,130,0,0,184,141,0,0,0,0,0,0,0,0,0,0,88,130,0,0,0,0,0,0,112,130,0,0,0,0,0,0,136,130,0,0,152,135,0,0,0,0,0,0,0,0,0,0,160,130,0,0,192,135,0,0,0,0,0,0,0,0,0,0,184,130,0,0,224,137,0,0,0,0,0,0,0,0,0,0,208,130,0,0,112,138,0,0,0,0,0,0,0,0,0,0,232,130,0,0,152,142,0,0,0,0,0,0,0,0,0,0,0,131,0,0,72,141,0,0,0,0,0,0,0,0,0,0,24,131,0,0,248,138,0,0,0,0,0,0,0,0,0,0,48,131,0,0,80,141,0,0,0,0,0,0,0,0,0,0,72,131,0,0,48,142,0,0,0,0,0,0,0,0,0,0,96,131,0,0,48,142,0,0,0,0,0,0,0,0,0,0,120,131,0,0,232,136,0,0,0,0,0,0,0,0,0,0,144,131,0,0,0,0,0,0,168,131,0,0,8,142,0,0,0,0,0,0,0,0,0,0,192,131,0,0,80,141,0,0,0,0,0,0,0,0,0,0,216,131,0,0,248,138,0,0,0,0,0,0,0,0,0,0,240,131,0,0,0,0,0,0,0,132,0,0,248,138,0,0,0,0,0,0,0,0,0,0,16,132,0,0,0,0,0,0,32,132,0,0,152,140,0,0,0,0,0,0,0,0,0,0,48,132,0,0,80,141,0,0,0,0,0,0,0,0,0,0,64,132,0,0,32,142,0,0,0,0,0,0,0,0,0,0,80,132,0,0,0,0,0,0,96,132,0,0,0,0,0,0,112,132,0,0,224,142,0,0,0,0,0,0,0,0,0,0,128,132,0,0,224,142,0,0,0,0,0,0,0,0,0,0,144,132,0,0,88,139,0,0,0,0,0,0,0,0,0,0,160,132,0,0,152,140,0,0,0,0,0,0,0,0,0,0,176,132,0,0,248,138,0,0,0,0,0,0,0,0,0,0,192,132,0,0,224,137,0,0,0,0,0,0,160,167,0,0,0,0,0,0]) +, "i8", ALLOC_NONE, Runtime.GLOBAL_BASE) +var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); +assert(tempDoublePtr % 8 == 0); +function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much + HEAP8[tempDoublePtr] = HEAP8[ptr]; + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; +} +function copyTempDouble(ptr) { + HEAP8[tempDoublePtr] = HEAP8[ptr]; + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; + HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; + HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; + HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; + HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; +} + function ___gxx_personality_v0() { + } + function ___cxa_guard_acquire(variable) { + if (!HEAP8[(variable)]) { // ignore SAFE_HEAP stuff because llvm mixes i64 and i8 here + HEAP8[(variable)]=1; + return 1; + } + return 0; + } + function ___cxa_guard_abort() {} + function ___cxa_guard_release() {} + Module["_memcpy"] = _memcpy;var _llvm_memcpy_p0i8_p0i8_i32=_memcpy; + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module.print('exit(' + status + ') called'); + Module['exit'](status); + }function _exit(status) { + __exit(status); + }function __ZSt9terminatev() { + _exit(-1234); + } + function __ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback() { + Module['printErr']('missing function: _ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback'); abort(-1); + } + function __ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback() { + Module['printErr']('missing function: _ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback'); abort(-1); + } + function ___cxa_pure_virtual() { + ABORT = true; + throw 'Pure virtual function called!'; + } + var _sqrtf=Math.sqrt; + var _acosf=Math.acos; + var _sinf=Math.sin; + var _cosf=Math.cos; + var _llvm_pow_f32=Math.pow; + function _fmod(x, y) { + return x % y; + }var _fmodf=_fmod; + var _fabsf=Math.abs; + var _asinf=Math.asin; + var _atan2f=Math.atan2; + Module["_memset"] = _memset;var _llvm_memset_p0i8_i64=_memset; + function _llvm_lifetime_start() {} + function _llvm_lifetime_end() {} + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:35,EIDRM:36,ECHRNG:37,EL2NSYNC:38,EL3HLT:39,EL3RST:40,ELNRNG:41,EUNATCH:42,ENOCSI:43,EL2HLT:44,EDEADLK:45,ENOLCK:46,EBADE:50,EBADR:51,EXFULL:52,ENOANO:53,EBADRQC:54,EBADSLT:55,EDEADLOCK:56,EBFONT:57,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:74,EDOTDOT:76,EBADMSG:77,ENOTUNIQ:80,EBADFD:81,EREMCHG:82,ELIBACC:83,ELIBBAD:84,ELIBSCN:85,ELIBMAX:86,ELIBEXEC:87,ENOSYS:88,ENOTEMPTY:90,ENAMETOOLONG:91,ELOOP:92,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:106,EPROTOTYPE:107,ENOTSOCK:108,ENOPROTOOPT:109,ESHUTDOWN:110,ECONNREFUSED:111,EADDRINUSE:112,ECONNABORTED:113,ENETUNREACH:114,ENETDOWN:115,ETIMEDOUT:116,EHOSTDOWN:117,EHOSTUNREACH:118,EINPROGRESS:119,EALREADY:120,EDESTADDRREQ:121,EMSGSIZE:122,EPROTONOSUPPORT:123,ESOCKTNOSUPPORT:124,EADDRNOTAVAIL:125,ENETRESET:126,EISCONN:127,ENOTCONN:128,ETOOMANYREFS:129,EUSERS:131,EDQUOT:132,ESTALE:133,ENOTSUP:134,ENOMEDIUM:135,EILSEQ:138,EOVERFLOW:139,ECANCELED:140,ENOTRECOVERABLE:141,EOWNERDEAD:142,ESTRPIPE:143}; + var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"No message of desired type",36:"Identifier removed",37:"Channel number out of range",38:"Level 2 not synchronized",39:"Level 3 halted",40:"Level 3 reset",41:"Link number out of range",42:"Protocol driver not attached",43:"No CSI structure available",44:"Level 2 halted",45:"Deadlock condition",46:"No record locks available",50:"Invalid exchange",51:"Invalid request descriptor",52:"Exchange full",53:"No anode",54:"Invalid request code",55:"Invalid slot",56:"File locking deadlock error",57:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",74:"Multihop attempted",76:"Cross mount point (not really error)",77:"Trying to read unreadable message",80:"Given log. name not unique",81:"f.d. invalid for this operation",82:"Remote address changed",83:"Can access a needed shared lib",84:"Accessing a corrupted shared lib",85:".lib section in a.out corrupted",86:"Attempting to link in too many libs",87:"Attempting to exec a shared library",88:"Function not implemented",90:"Directory not empty",91:"File or path name too long",92:"Too many symbolic links",95:"Operation not supported on transport endpoint",96:"Protocol family not supported",104:"Connection reset by peer",105:"No buffer space available",106:"Address family not supported by protocol family",107:"Protocol wrong type for socket",108:"Socket operation on non-socket",109:"Protocol not available",110:"Can't send after socket shutdown",111:"Connection refused",112:"Address already in use",113:"Connection aborted",114:"Network is unreachable",115:"Network interface is not configured",116:"Connection timed out",117:"Host is down",118:"Host is unreachable",119:"Connection already in progress",120:"Socket already connected",121:"Destination address required",122:"Message too long",123:"Unknown protocol",124:"Socket type not supported",125:"Address not available",126:"Connection reset by network",127:"Socket is already connected",128:"Socket is not connected",129:"Too many references",131:"Too many users",132:"Quota exceeded",133:"Stale file handle",134:"Not supported",135:"No medium (in tape drive)",138:"Illegal byte sequence",139:"Value too large for defined data type",140:"Operation canceled",141:"State not recoverable",142:"Previous owner died",143:"Streams pipe error"}; + var ___errno_state=0;function ___setErrNo(value) { + // For convenient setting and returning of errno. + HEAP32[((___errno_state)>>2)]=value + return value; + } + var VFS=undefined; + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (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:function (path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function (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:function (path, ext) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + var f = PATH.splitPath(path)[2]; + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + return f; + },join:function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.filter(function(p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + return p; + }).join('/')); + },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) { + continue; + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // 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(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.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('/'); + }}; + var TTY={ttys:[],register:function (dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function (stream) { + // this wouldn't be required if the library wasn't eval'd at first... + if (!TTY.utf8) { + TTY.utf8 = new Runtime.UTF8Processor(); + } + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + },close:function (stream) { + // flush any pending line data + if (stream.tty.output.length) { + stream.tty.ops.put_char(stream.tty, 10); + } + },read:function (stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + 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(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + 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(ERRNO_CODES.ENXIO); + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + if (process.stdin.destroyed) { + return undefined; + } + result = process.stdin.read(); + } else 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) { + Module['print'](tty.output.join('')); + tty.output = []; + } else { + tty.output.push(TTY.utf8.processCChar(val)); + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](tty.output.join('')); + tty.output = []; + } else { + tty.output.push(TTY.utf8.processCChar(val)); + } + }}}; + var MEMFS={CONTENT_OWNING:1,CONTENT_FLEXIBLE:2,CONTENT_FIXED:3,ensureFlexible:function (node) { + if (node.contentMode !== MEMFS.CONTENT_FLEXIBLE) { + var contents = node.contents; + node.contents = Array.prototype.slice.call(contents); + if (node.contentMode === MEMFS.CONTENT_OWNING) { + assert(contents.byteOffset); + Module['_free'](contents.byteOffset); + } + node.contentMode = MEMFS.CONTENT_FLEXIBLE; + } + },mount:function (mount) { + return MEMFS.create_node(null, '/', 0040000 | 0777, 0); + },create_node:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + 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 + }; + node.stream_ops = { + llseek: MEMFS.stream_ops.llseek + }; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }; + node.stream_ops = { + 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 + }; + node.contents = []; + node.contentMode = MEMFS.CONTENT_FLEXIBLE; + } else if (FS.isLink(node.mode)) { + node.node_ops = { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }; + node.stream_ops = {}; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }; + node.stream_ops = FS.chrdev_stream_ops; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },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.contents.length; + } 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.ensureFlexible(node); + var contents = node.contents; + if (attr.size < contents.length) contents.length = attr.size; + else while (attr.size > contents.length) contents.push(0); + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + return MEMFS.create_node(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(ERRNO_CODES.ENOTEMPTY); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + },unlink:function (parent, name) { + delete parent.contents[name]; + },rmdir:function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + },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.create_node(parent, newname, 0777 | 0120000, 0); + node.link = oldpath; + return node; + },readlink:function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + var size = Math.min(contents.length - 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) { + var node = stream.node; + node.timestamp = Date.now(); + var contents = node.contents; + if (length && contents.length === 0 && position === 0 && buffer.subarray) { + // just replace it with the new data + assert(buffer.length); + if (canOwn && buffer.buffer === HEAP8.buffer && offset === 0) { + node.contents = buffer; // this is a subarray of the heap, and we can own it + node.contentMode = MEMFS.CONTENT_OWNING; + } else { + node.contents = new Uint8Array(buffer.subarray(offset, offset+length)); + node.contentMode = MEMFS.CONTENT_FIXED; + } + return length; + } + MEMFS.ensureFlexible(node); + var contents = node.contents; + while (contents.length < position) contents.push(0); + for (var i = 0; i < length; i++) { + contents[position + i] = buffer[offset + i]; + } + return length; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.contents.length; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + stream.ungotten = []; + stream.position = position; + return position; + },allocate:function (stream, offset, length) { + MEMFS.ensureFlexible(stream.node); + var contents = stream.node.contents; + var limit = offset + length; + while (limit > contents.length) contents.push(0); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if ( !(flags & 0x02) && + (contents.buffer === buffer || contents.buffer === buffer.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 = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }}}; + var _stdin=allocate(1, "i32*", ALLOC_STATIC); + var _stdout=allocate(1, "i32*", ALLOC_STATIC); + var _stderr=allocate(1, "i32*", ALLOC_STATIC); + function _fflush(stream) { + // int fflush(FILE *stream); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html + // we don't currently perform any user-space buffering of data + }var FS={root:null,nodes:[null],devices:[null],streams:[null],nextInode:1,name_table:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:function ErrnoError(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + this.message = ERRNO_MESSAGES[errno]; + },handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + new Error().stack; + return ___setErrNo(e.errno); + },hashName:function (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.name_table.length; + },hashAddNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.name_table[hash]; + FS.name_table[hash] = node; + },hashRemoveNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.name_table[hash] === node) { + FS.name_table[hash] = node.name_next; + } else { + var current = FS.name_table[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.name_table[hash]; node; node = node.name_next) { + if (node.parent.id === parent.id && node.name === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function (parent, name, mode, rdev) { + var node = { + id: FS.nextInode++, + name: name, + mode: mode, + node_ops: {}, + stream_ops: {}, + rdev: rdev, + parent: null, + mount: null + }; + if (!parent) { + parent = node; // root node sets parent to itself + } + node.parent = parent; + node.mount = parent.mount; + // compatibility + var readMode = 292 | 73; + var writeMode = 146; + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(node, { + read: { + get: function() { return (node.mode & readMode) === readMode; }, + set: function(val) { val ? node.mode |= readMode : node.mode &= ~readMode; } + }, + write: { + get: function() { return (node.mode & writeMode) === writeMode; }, + set: function(val) { val ? node.mode |= writeMode : node.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(node.mode); }, + }, + isDevice: { + get: function() { return FS.isChrdev(node.mode); }, + }, + }); + FS.hashAddNode(node); + return node; + },destroyNode:function (node) { + FS.hashRemoveNode(node); + },isRoot:function (node) { + return node === node.parent; + },isMountpoint:function (node) { + return node.mounted; + },isFile:function (mode) { + return (mode & 0170000) === 0100000; + },isDir:function (mode) { + return (mode & 0170000) === 0040000; + },isLink:function (mode) { + return (mode & 0170000) === 0120000; + },isChrdev:function (mode) { + return (mode & 0170000) === 0020000; + },isBlkdev:function (mode) { + return (mode & 0170000) === 0060000; + },isFIFO:function (mode) { + return (mode & 0170000) === 0010000; + },cwd:function () { + return FS.currentPath; + },lookupPath:function (path, opts) { + path = PATH.resolve(FS.currentPath, path); + opts = opts || { recurse_count: 0 }; + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + // 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.join(current_path, parts[i]); + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + current = current.mount.root; + } + // follow symlinks + // 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.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + } + } + } + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + return path ? PATH.join(node.mount.mountpoint, path) : node.mount.mountpoint; + } + path = path ? PATH.join(node.name, path) : node.name; + node = node.parent; + } + },flagModes:{"r":0,"rs":8192,"r+":2,"w":1537,"wx":3585,"xw":3585,"w+":1538,"wx+":3586,"xw+":3586,"a":521,"ax":2569,"xa":2569,"a+":522,"ax+":2570,"xa+":2570},modeStringToFlags:function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function (flag) { + var accmode = flag & 3; + var perms = ['r', 'w', 'rw'][accmode]; + if ((flag & 1024)) { + perms += 'w'; + } + return perms; + },nodePermissions:function (node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES; + } + return 0; + },mayLookup:function (dir) { + return FS.nodePermissions(dir, 'x'); + },mayMknod:function (mode) { + switch (mode & 0170000) { + case 0100000: + case 0020000: + case 0060000: + case 0010000: + case 0140000: + return 0; + default: + return ERRNO_CODES.EINVAL; + } + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.currentPath) { + return ERRNO_CODES.EBUSY; + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT; + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP; + } else if (FS.isDir(node.mode)) { + if ((flags & 3) !== 0 || // opening for write + (flags & 1024)) { + return ERRNO_CODES.EISDIR; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },chrdev_stream_ops:{open:function (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:function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + }},major:function (dev) { + return ((dev) >> 8); + },minor:function (dev) { + return ((dev) & 0xff); + },makedev:function (ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function (dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function (dev) { + return FS.devices[dev]; + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 1; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + // compatibility + Object.defineProperties(stream, { + object: { + get: function() { return stream.node; }, + set: function(val) { stream.node = val; } + }, + isRead: { + get: function() { return (stream.flags & 3) !== 1; } + }, + isWrite: { + get: function() { return (stream.flags & 3) !== 0; } + }, + isAppend: { + get: function() { return (stream.flags & 8); } + } + }); + FS.streams[fd] = stream; + return stream; + },closeStream:function (fd) { + FS.streams[fd] = null; + },getMode:function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function (relative, base) { + return PATH.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (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; + },createFolder:function (parent, name, canRead, canWrite) { + var path = PATH.join(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function (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.join(parent, part); + try { + FS.mkdir(current, 0777); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function (parent, name, properties, canRead, canWrite) { + var path = PATH.join(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { + var path = PATH.join(typeof parent === 'string' ? parent : FS.getPath(parent), name); + 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(path, mode | 146); + var stream = FS.open(path, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(path, mode); + } + return node; + },createDevice:function (parent, name, input, output) { + var path = PATH.join(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = input && output ? 0777 : (input ? 0333 : 0555); + 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: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(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(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + 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) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function (parent, name, target, canRead, canWrite) { + var path = PATH.join(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = 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 (Module['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(Module['read'](obj.url), true); + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success; + },createLazyFile:function (parent, name, url, canRead, canWrite) { + 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'; + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + var LazyUint8Array = function() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = function(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = Math.floor(idx / this.chunkSize); + return this.getter(chunkNum)[chunkOffset]; + } + LazyUint8Array.prototype.setDataGetter = function(getter) { + this.getter = getter; + } + LazyUint8Array.prototype.cacheLength = function() { + // 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 chunkSize = 1024*1024; // Chunk size in bytes + if (!hasByteServing) chunkSize = datalength; + // Function to get a range from the remote URL. + var doXHR = (function(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. + if (typeof Uint8Array != 'undefined') 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 || []); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(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]; + }); + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + var lazyArray = new LazyUint8Array(); + Object.defineProperty(lazyArray, "length", { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }); + Object.defineProperty(lazyArray, "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); + // 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; + } + // 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(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + var contents = stream.node.contents; + 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; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn) { + Browser.init(); + // 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 = PATH.resolve(PATH.join(parent, name)); + function processData(byteArray) { + function finish(byteArray) { + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency('cp ' + fullname); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency('cp ' + fullname); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency('cp ' + fullname); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },createDefaultDirectories:function () { + FS.mkdir('/tmp', 0777); + },createDefaultDevices:function () { + // create /dev + FS.mkdir('/dev', 0777); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function() { return 0; } + }); + FS.mkdev('/dev/null', 0666, FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // 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', 0666, FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', 0666, FS.makedev(6, 0)); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm', 0777); + FS.mkdir('/dev/shm/tmp', 0777); + },createStandardStreams:function () { + // 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', 'r'); + HEAP32[((_stdin)>>2)]=stdin.fd; + assert(stdin.fd === 1, 'invalid handle for stdin (' + stdin.fd + ')'); + var stdout = FS.open('/dev/stdout', 'w'); + HEAP32[((_stdout)>>2)]=stdout.fd; + assert(stdout.fd === 2, 'invalid handle for stdout (' + stdout.fd + ')'); + var stderr = FS.open('/dev/stderr', 'w'); + HEAP32[((_stderr)>>2)]=stderr.fd; + assert(stderr.fd === 3, 'invalid handle for stderr (' + stderr.fd + ')'); + },staticInit:function () { + FS.name_table = new Array(4096); + FS.root = FS.createNode(null, '/', 0040000 | 0777, 0); + FS.mount(MEMFS, {}, '/'); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + },init:function (input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + // 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:function () { + FS.init.initialized = false; + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },mount:function (type, opts, mountpoint) { + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + root: null + }; + var lookup; + if (mountpoint) { + lookup = FS.lookupPath(mountpoint, { follow: false }); + } + // create a root node for the fs + var root = type.mount(mount); + root.mount = mount; + mount.root = root; + // assign the mount info to the mountpoint's node + if (lookup) { + lookup.node.mount = mount; + lookup.node.mounted = true; + // compatibility update FS.root if we mount to / + if (mountpoint === '/') { + FS.root = mount.root; + } + } + return root; + },lookup:function (parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function (path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode &= 4095; + mode |= 0100000; + return FS.mknod(path, mode, 0); + },mkdir:function (path, mode) { + mode &= 511 | 0001000; + mode |= 0040000; + return FS.mknod(path, mode, 0); + },mkdev:function (path, mode, dev) { + mode |= 0020000; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function (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; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + } + // 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.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + // new path should not be an ancestor of the old path + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + // 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 err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + err = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + } + // 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:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + return node.node_ops.readdir(node); + },unlink:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + // POSIX says unlink should set EPERM, not EISDIR + if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:function (path) { + var lookup = FS.lookupPath(path, { follow: false }); + var link = lookup.node; + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return link.node_ops.readlink(link); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return node.node_ops.getattr(node); + },lstat:function (path) { + return FS.stat(path, true); + },chmod:function (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(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function (path, mode) { + FS.chmod(path, mode, true); + },fchmod:function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chmod(stream.node, mode); + },chown:function (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(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function (path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + 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(ERRNO_CODES.EPERM); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.nodePermissions(node, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if ((stream.flags & 3) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + FS.truncate(stream.node, len); + },utime:function (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:function (path, flags, mode, fd_start, fd_end) { + path = PATH.normalize(path); + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 0666 : mode; + if ((flags & 512)) { + mode = (mode & 4095) | 0100000; + } else { + mode = 0; + } + var node; + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 0200000) + }); + node = lookup.node; + path = lookup.path; + } catch (e) { + // ignore + } + // perhaps we need to create the node + if ((flags & 512)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 2048)) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~1024; + } + // check permissions + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + // do truncation if necessary + if ((flags & 1024)) { + FS.truncate(node, 0); + } + // register the stream with the filesystem + var stream = FS.createStream({ + path: path, + node: 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 + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + return stream; + },close:function (stream) { + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + },llseek:function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + return stream.stream_ops.llseek(stream, offset, whence); + },read:function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 3) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 3) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + if (stream.flags & 8) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 3) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // TODO if PROT is PROT_WRITE, make sure we have write access + if ((stream.flags & 3) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES); + } + if (!stream.stream_ops.mmap) { + throw new FS.errnoError(ERRNO_CODES.ENODEV); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + }}; + function _send(fd, buf, len, flags) { + var info = FS.getStream(fd); + if (!info) { + ___setErrNo(ERRNO_CODES.EBADF); + return -1; + } + if (info.socket.readyState === WebSocket.CLOSING || info.socket.readyState === WebSocket.CLOSED) { + ___setErrNo(ERRNO_CODES.ENOTCONN); + return -1; + } else if (info.socket.readyState === WebSocket.CONNECTING) { + ___setErrNo(ERRNO_CODES.EAGAIN); + return -1; + } + info.sender(HEAPU8.subarray(buf, buf+len)); + return len; + } + function _pwrite(fildes, buf, nbyte, offset) { + // ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html + var stream = FS.getStream(fildes); + if (!stream) { + ___setErrNo(ERRNO_CODES.EBADF); + return -1; + } + try { + var slab = HEAP8; + return FS.write(stream, slab, buf, nbyte, offset); + } catch (e) { + FS.handleFSError(e); + return -1; + } + }function _write(fildes, buf, nbyte) { + // ssize_t write(int fildes, const void *buf, size_t nbyte); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html + var stream = FS.getStream(fildes); + if (!stream) { + ___setErrNo(ERRNO_CODES.EBADF); + return -1; + } + if (stream && ('socket' in stream)) { + return _send(fildes, buf, nbyte, 0); + } + try { + var slab = HEAP8; + return FS.write(stream, slab, buf, nbyte); + } catch (e) { + FS.handleFSError(e); + return -1; + } + }function _fwrite(ptr, size, nitems, stream) { + // size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html + var bytesToWrite = nitems * size; + if (bytesToWrite == 0) return 0; + var bytesWritten = _write(stream, ptr, bytesToWrite); + if (bytesWritten == -1) { + var streamObj = FS.getStream(stream); + if (streamObj) streamObj.error = true; + return 0; + } else { + return Math.floor(bytesWritten / size); + } + } + Module["_strlen"] = _strlen; + function __reallyNegative(x) { + return x < 0 || (x === 0 && (1/x) === -Infinity); + }function __formatString(format, varargs) { + var textIndex = format; + var argIndex = 0; + function getNextArg(type) { + // NOTE: Explicitly ignoring type safety. Otherwise this fails: + // int x = 4; printf("%c\n", (char)x); + var ret; + if (type === 'double') { + ret = HEAPF64[(((varargs)+(argIndex))>>3)]; + } else if (type == 'i64') { + ret = [HEAP32[(((varargs)+(argIndex))>>2)], + HEAP32[(((varargs)+(argIndex+8))>>2)]]; + argIndex += 8; // each 32-bit chunk is in a 64-bit block + } else { + type = 'i32'; // varargs are always i32, i64, or double + ret = HEAP32[(((varargs)+(argIndex))>>2)]; + } + argIndex += Math.max(Runtime.getNativeFieldSize(type), Runtime.getAlignSize(type, null, true)); + return ret; + } + var ret = []; + var curr, next, currArg; + while(1) { + var startTextIndex = textIndex; + curr = HEAP8[(textIndex)]; + if (curr === 0) break; + next = HEAP8[((textIndex+1)|0)]; + if (curr == 37) { + // Handle flags. + var flagAlwaysSigned = false; + var flagLeftAlign = false; + var flagAlternative = false; + var flagZeroPad = false; + flagsLoop: while (1) { + switch (next) { + case 43: + flagAlwaysSigned = true; + break; + case 45: + flagLeftAlign = true; + break; + case 35: + flagAlternative = true; + break; + case 48: + if (flagZeroPad) { + break flagsLoop; + } else { + flagZeroPad = true; + break; + } + default: + break flagsLoop; + } + textIndex++; + next = HEAP8[((textIndex+1)|0)]; + } + // Handle width. + var width = 0; + if (next == 42) { + width = getNextArg('i32'); + textIndex++; + next = HEAP8[((textIndex+1)|0)]; + } else { + while (next >= 48 && next <= 57) { + width = width * 10 + (next - 48); + textIndex++; + next = HEAP8[((textIndex+1)|0)]; + } + } + // Handle precision. + var precisionSet = false; + if (next == 46) { + var precision = 0; + precisionSet = true; + textIndex++; + next = HEAP8[((textIndex+1)|0)]; + if (next == 42) { + precision = getNextArg('i32'); + textIndex++; + } else { + while(1) { + var precisionChr = HEAP8[((textIndex+1)|0)]; + if (precisionChr < 48 || + precisionChr > 57) break; + precision = precision * 10 + (precisionChr - 48); + textIndex++; + } + } + next = HEAP8[((textIndex+1)|0)]; + } else { + var precision = 6; // Standard default. + } + // Handle integer sizes. WARNING: These assume a 32-bit architecture! + var argSize; + switch (String.fromCharCode(next)) { + case 'h': + var nextNext = HEAP8[((textIndex+2)|0)]; + if (nextNext == 104) { + textIndex++; + argSize = 1; // char (actually i32 in varargs) + } else { + argSize = 2; // short (actually i32 in varargs) + } + break; + case 'l': + var nextNext = HEAP8[((textIndex+2)|0)]; + if (nextNext == 108) { + textIndex++; + argSize = 8; // long long + } else { + argSize = 4; // long + } + break; + case 'L': // long long + case 'q': // int64_t + case 'j': // intmax_t + argSize = 8; + break; + case 'z': // size_t + case 't': // ptrdiff_t + case 'I': // signed ptrdiff_t or unsigned size_t + argSize = 4; + break; + default: + argSize = null; + } + if (argSize) textIndex++; + next = HEAP8[((textIndex+1)|0)]; + // Handle type specifier. + switch (String.fromCharCode(next)) { + case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': { + // Integer. + var signed = next == 100 || next == 105; + argSize = argSize || 4; + var currArg = getNextArg('i' + (argSize * 8)); + var argText; + // Flatten i64-1 [low, high] into a (slightly rounded) double + if (argSize == 8) { + currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 117); + } + // Truncate to requested size. + if (argSize <= 4) { + var limit = Math.pow(256, argSize) - 1; + currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8); + } + // Format the number. + var currAbsArg = Math.abs(currArg); + var prefix = ''; + if (next == 100 || next == 105) { + argText = reSign(currArg, 8 * argSize, 1).toString(10); + } else if (next == 117) { + argText = unSign(currArg, 8 * argSize, 1).toString(10); + currArg = Math.abs(currArg); + } else if (next == 111) { + argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8); + } else if (next == 120 || next == 88) { + prefix = (flagAlternative && currArg != 0) ? '0x' : ''; + if (currArg < 0) { + // Represent negative numbers in hex as 2's complement. + currArg = -currArg; + argText = (currAbsArg - 1).toString(16); + var buffer = []; + for (var i = 0; i < argText.length; i++) { + buffer.push((0xF - parseInt(argText[i], 16)).toString(16)); + } + argText = buffer.join(''); + while (argText.length < argSize * 2) argText = 'f' + argText; + } else { + argText = currAbsArg.toString(16); + } + if (next == 88) { + prefix = prefix.toUpperCase(); + argText = argText.toUpperCase(); + } + } else if (next == 112) { + if (currAbsArg === 0) { + argText = '(nil)'; + } else { + prefix = '0x'; + argText = currAbsArg.toString(16); + } + } + if (precisionSet) { + while (argText.length < precision) { + argText = '0' + argText; + } + } + // Add sign if needed + if (flagAlwaysSigned) { + if (currArg < 0) { + prefix = '-' + prefix; + } else { + prefix = '+' + prefix; + } + } + // Add padding. + while (prefix.length + argText.length < width) { + if (flagLeftAlign) { + argText += ' '; + } else { + if (flagZeroPad) { + argText = '0' + argText; + } else { + prefix = ' ' + prefix; + } + } + } + // Insert the result into the buffer. + argText = prefix + argText; + argText.split('').forEach(function(chr) { + ret.push(chr.charCodeAt(0)); + }); + break; + } + case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': { + // Float. + var currArg = getNextArg('double'); + var argText; + if (isNaN(currArg)) { + argText = 'nan'; + flagZeroPad = false; + } else if (!isFinite(currArg)) { + argText = (currArg < 0 ? '-' : '') + 'inf'; + flagZeroPad = false; + } else { + var isGeneral = false; + var effectivePrecision = Math.min(precision, 20); + // Convert g/G to f/F or e/E, as per: + // http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html + if (next == 103 || next == 71) { + isGeneral = true; + precision = precision || 1; + var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10); + if (precision > exponent && exponent >= -4) { + next = ((next == 103) ? 'f' : 'F').charCodeAt(0); + precision -= exponent + 1; + } else { + next = ((next == 103) ? 'e' : 'E').charCodeAt(0); + precision--; + } + effectivePrecision = Math.min(precision, 20); + } + if (next == 101 || next == 69) { + argText = currArg.toExponential(effectivePrecision); + // Make sure the exponent has at least 2 digits. + if (/[eE][-+]\d$/.test(argText)) { + argText = argText.slice(0, -1) + '0' + argText.slice(-1); + } + } else if (next == 102 || next == 70) { + argText = currArg.toFixed(effectivePrecision); + if (currArg === 0 && __reallyNegative(currArg)) { + argText = '-' + argText; + } + } + var parts = argText.split('e'); + if (isGeneral && !flagAlternative) { + // Discard trailing zeros and periods. + while (parts[0].length > 1 && parts[0].indexOf('.') != -1 && + (parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) { + parts[0] = parts[0].slice(0, -1); + } + } else { + // Make sure we have a period in alternative mode. + if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.'; + // Zero pad until required precision. + while (precision > effectivePrecision++) parts[0] += '0'; + } + argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : ''); + // Capitalize 'E' if needed. + if (next == 69) argText = argText.toUpperCase(); + // Add sign. + if (flagAlwaysSigned && currArg >= 0) { + argText = '+' + argText; + } + } + // Add padding. + while (argText.length < width) { + if (flagLeftAlign) { + argText += ' '; + } else { + if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) { + argText = argText[0] + '0' + argText.slice(1); + } else { + argText = (flagZeroPad ? '0' : ' ') + argText; + } + } + } + // Adjust case. + if (next < 97) argText = argText.toUpperCase(); + // Insert the result into the buffer. + argText.split('').forEach(function(chr) { + ret.push(chr.charCodeAt(0)); + }); + break; + } + case 's': { + // String. + var arg = getNextArg('i8*'); + var argLength = arg ? _strlen(arg) : '(null)'.length; + if (precisionSet) argLength = Math.min(argLength, precision); + if (!flagLeftAlign) { + while (argLength < width--) { + ret.push(32); + } + } + if (arg) { + for (var i = 0; i < argLength; i++) { + ret.push(HEAPU8[((arg++)|0)]); + } + } else { + ret = ret.concat(intArrayFromString('(null)'.substr(0, argLength), true)); + } + if (flagLeftAlign) { + while (argLength < width--) { + ret.push(32); + } + } + break; + } + case 'c': { + // Character. + if (flagLeftAlign) ret.push(getNextArg('i8')); + while (--width > 0) { + ret.push(32); + } + if (!flagLeftAlign) ret.push(getNextArg('i8')); + break; + } + case 'n': { + // Write the length written so far to the next parameter. + var ptr = getNextArg('i32*'); + HEAP32[((ptr)>>2)]=ret.length + break; + } + case '%': { + // Literal percent sign. + ret.push(curr); + break; + } + default: { + // Unknown specifiers remain untouched. + for (var i = startTextIndex; i < textIndex + 2; i++) { + ret.push(HEAP8[(i)]); + } + } + } + textIndex += 2; + // TODO: Support a/A (hex float) and m (last error) specifiers. + // TODO: Support %1${specifier} for arg selection. + } else { + ret.push(curr); + textIndex += 1; + } + } + return ret; + }function _fprintf(stream, format, varargs) { + // int fprintf(FILE *restrict stream, const char *restrict format, ...); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html + var result = __formatString(format, varargs); + var stack = Runtime.stackSave(); + var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream); + Runtime.stackRestore(stack); + return ret; + }function _printf(format, varargs) { + // int printf(const char *restrict format, ...); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html + var stdout = HEAP32[((_stdout)>>2)]; + return _fprintf(stdout, format, varargs); + } + function _atexit(func, arg) { + __ATEXIT__.unshift({ func: func, arg: arg }); + }var ___cxa_atexit=_atexit; + var _llvm_memset_p0i8_i32=_memset; + function _llvm_umul_with_overflow_i32(x, y) { + x = x>>>0; + y = y>>>0; + return ((asm["setTempRet0"](x*y > 4294967295),(x*y)>>>0)|0); + } + function _llvm_bswap_i16(x) { + return ((x&0xff)<<8) | ((x>>8)&0xff); + } + function _llvm_bswap_i32(x) { + return ((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24); + } + function ___assert_func(filename, line, func, condition) { + throw 'Assertion failed: ' + (condition ? Pointer_stringify(condition) : 'unknown condition') + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + new Error().stack; + } + Module["_llvm_uadd_with_overflow_i64"] = _llvm_uadd_with_overflow_i64; + function _gettimeofday(ptr) { + // %struct.timeval = type { i32, i32 } + var now = Date.now(); + HEAP32[((ptr)>>2)]=Math.floor(now/1000); // seconds + HEAP32[(((ptr)+(4))>>2)]=Math.floor((now-1000*Math.floor(now/1000))*1000); // microseconds + return 0; + } + function _abort() { + Module['abort'](); + } + function ___errno_location() { + return ___errno_state; + }var ___errno=___errno_location; + function _sbrk(bytes) { + // Implement a Linux-like 'memory area' for our 'process'. + // Changes the size of the memory area by |bytes|; returns the + // address of the previous top ('break') of the memory area + // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP + var self = _sbrk; + if (!self.called) { + DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned + self.called = true; + assert(Runtime.dynamicAlloc); + self.alloc = Runtime.dynamicAlloc; + Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; + } + var ret = DYNAMICTOP; + if (bytes != 0) self.alloc(bytes); + return ret; // Previous break location. + } + function _sysconf(name) { + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 8: return PAGE_SIZE; + case 54: + case 56: + case 21: + case 61: + case 63: + case 22: + case 67: + case 23: + case 24: + case 25: + case 26: + case 27: + case 69: + case 28: + case 101: + case 70: + case 71: + case 29: + case 30: + case 199: + case 75: + case 76: + case 32: + case 43: + case 44: + case 80: + case 46: + case 47: + case 45: + case 48: + case 49: + case 42: + case 82: + case 33: + case 7: + case 108: + case 109: + case 107: + case 112: + case 119: + case 121: + return 200809; + case 13: + case 104: + case 94: + case 95: + case 34: + case 35: + case 77: + case 81: + case 83: + case 84: + case 85: + case 86: + case 87: + case 88: + case 89: + case 90: + case 91: + case 94: + case 95: + case 110: + case 111: + case 113: + case 114: + case 115: + case 116: + case 117: + case 118: + case 120: + case 40: + case 16: + case 79: + case 19: + return -1; + case 92: + case 93: + case 5: + case 72: + case 6: + case 74: + case 92: + case 93: + case 96: + case 97: + case 98: + case 99: + case 102: + case 103: + case 105: + return 1; + case 38: + case 66: + case 50: + case 51: + case 4: + return 1024; + case 15: + case 64: + case 41: + return 32; + case 55: + case 37: + case 17: + return 2147483647; + case 18: + case 1: + return 47839; + case 59: + case 57: + return 99; + case 68: + case 58: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 14: return 32768; + case 73: return 32767; + case 39: return 16384; + case 60: return 1000; + case 106: return 700; + case 52: return 256; + case 62: return 255; + case 2: return 100; + case 65: return 64; + case 36: return 20; + case 100: return 16; + case 20: return 6; + case 53: return 4; + case 10: return 1; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + function _time(ptr) { + var ret = Math.floor(Date.now()/1000); + if (ptr) { + HEAP32[((ptr)>>2)]=ret + } + return ret; + } + function ___cxa_allocate_exception(size) { + return _malloc(size); + } + function _llvm_eh_exception() { + return HEAP32[((_llvm_eh_exception.buf)>>2)]; + } + function __ZSt18uncaught_exceptionv() { // std::uncaught_exception() + return !!__ZSt18uncaught_exceptionv.uncaught_exception; + } + function ___cxa_is_number_type(type) { + var isNumber = false; + try { if (type == __ZTIi) isNumber = true } catch(e){} + try { if (type == __ZTIj) isNumber = true } catch(e){} + try { if (type == __ZTIl) isNumber = true } catch(e){} + try { if (type == __ZTIm) isNumber = true } catch(e){} + try { if (type == __ZTIx) isNumber = true } catch(e){} + try { if (type == __ZTIy) isNumber = true } catch(e){} + try { if (type == __ZTIf) isNumber = true } catch(e){} + try { if (type == __ZTId) isNumber = true } catch(e){} + try { if (type == __ZTIe) isNumber = true } catch(e){} + try { if (type == __ZTIc) isNumber = true } catch(e){} + try { if (type == __ZTIa) isNumber = true } catch(e){} + try { if (type == __ZTIh) isNumber = true } catch(e){} + try { if (type == __ZTIs) isNumber = true } catch(e){} + try { if (type == __ZTIt) isNumber = true } catch(e){} + return isNumber; + }function ___cxa_does_inherit(definiteType, possibilityType, possibility) { + if (possibility == 0) return false; + if (possibilityType == 0 || possibilityType == definiteType) + return true; + var possibility_type_info; + if (___cxa_is_number_type(possibilityType)) { + possibility_type_info = possibilityType; + } else { + var possibility_type_infoAddr = HEAP32[((possibilityType)>>2)] - 8; + possibility_type_info = HEAP32[((possibility_type_infoAddr)>>2)]; + } + switch (possibility_type_info) { + case 0: // possibility is a pointer + // See if definite type is a pointer + var definite_type_infoAddr = HEAP32[((definiteType)>>2)] - 8; + var definite_type_info = HEAP32[((definite_type_infoAddr)>>2)]; + if (definite_type_info == 0) { + // Also a pointer; compare base types of pointers + var defPointerBaseAddr = definiteType+8; + var defPointerBaseType = HEAP32[((defPointerBaseAddr)>>2)]; + var possPointerBaseAddr = possibilityType+8; + var possPointerBaseType = HEAP32[((possPointerBaseAddr)>>2)]; + return ___cxa_does_inherit(defPointerBaseType, possPointerBaseType, possibility); + } else + return false; // one pointer and one non-pointer + case 1: // class with no base class + return false; + case 2: // class with base class + var parentTypeAddr = possibilityType + 8; + var parentType = HEAP32[((parentTypeAddr)>>2)]; + return ___cxa_does_inherit(definiteType, parentType, possibility); + default: + return false; // some unencountered type + } + } + function ___resumeException(ptr) { + if (HEAP32[((_llvm_eh_exception.buf)>>2)] == 0) HEAP32[((_llvm_eh_exception.buf)>>2)]=ptr; + throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";; + }function ___cxa_find_matching_catch(thrown, throwntype) { + if (thrown == -1) thrown = HEAP32[((_llvm_eh_exception.buf)>>2)]; + if (throwntype == -1) throwntype = HEAP32[(((_llvm_eh_exception.buf)+(4))>>2)]; + var typeArray = Array.prototype.slice.call(arguments, 2); + // If throwntype is a pointer, this means a pointer has been + // thrown. When a pointer is thrown, actually what's thrown + // is a pointer to the pointer. We'll dereference it. + if (throwntype != 0 && !___cxa_is_number_type(throwntype)) { + var throwntypeInfoAddr= HEAP32[((throwntype)>>2)] - 8; + var throwntypeInfo= HEAP32[((throwntypeInfoAddr)>>2)]; + if (throwntypeInfo == 0) + thrown = HEAP32[((thrown)>>2)]; + } + // The different catch blocks are denoted by different types. + // Due to inheritance, those types may not precisely match the + // type of the thrown object. Find one which matches, and + // return the type of the catch block which should be called. + for (var i = 0; i < typeArray.length; i++) { + if (___cxa_does_inherit(typeArray[i], throwntype, thrown)) + return ((asm["setTempRet0"](typeArray[i]),thrown)|0); + } + // Shouldn't happen unless we have bogus data in typeArray + // or encounter a type for which emscripten doesn't have suitable + // typeinfo defined. Best-efforts match just in case. + return ((asm["setTempRet0"](throwntype),thrown)|0); + }function ___cxa_throw(ptr, type, destructor) { + if (!___cxa_throw.initialized) { + try { + HEAP32[((__ZTVN10__cxxabiv119__pointer_type_infoE)>>2)]=0; // Workaround for libcxxabi integration bug + } catch(e){} + try { + HEAP32[((__ZTVN10__cxxabiv117__class_type_infoE)>>2)]=1; // Workaround for libcxxabi integration bug + } catch(e){} + try { + HEAP32[((__ZTVN10__cxxabiv120__si_class_type_infoE)>>2)]=2; // Workaround for libcxxabi integration bug + } catch(e){} + ___cxa_throw.initialized = true; + } + HEAP32[((_llvm_eh_exception.buf)>>2)]=ptr + HEAP32[(((_llvm_eh_exception.buf)+(4))>>2)]=type + HEAP32[(((_llvm_eh_exception.buf)+(8))>>2)]=destructor + if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) { + __ZSt18uncaught_exceptionv.uncaught_exception = 1; + } else { + __ZSt18uncaught_exceptionv.uncaught_exception++; + } + throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";; + } + function ___cxa_call_unexpected(exception) { + Module.printErr('Unexpected exception thrown, this is not properly supported - aborting'); + ABORT = true; + throw exception; + } + Module["_memmove"] = _memmove;var _llvm_memmove_p0i8_p0i8_i32=_memmove; + var Browser={mainLoop:{scheduler:null,shouldPause:false,paused:false,queue:[],pause:function () { + Browser.mainLoop.shouldPause = true; + },resume:function () { + if (Browser.mainLoop.paused) { + Browser.mainLoop.paused = false; + Browser.mainLoop.scheduler(); + } + Browser.mainLoop.shouldPause = false; + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + if (Browser.initted || ENVIRONMENT_IS_WORKER) return; + Browser.initted = true; + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + var imagePlugin = {}; + imagePlugin['canHandle'] = function(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + var img = new Image(); + img.onload = function() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + var audioPlugin = {}; + audioPlugin['canHandle'] = function(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + // Canvas event setup + var canvas = Module['canvas']; + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock']; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === canvas || + document['mozPointerLockElement'] === canvas || + document['webkitPointerLockElement'] === canvas; + } + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && canvas.requestPointerLock) { + canvas.requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + },createContext:function (canvas, useWebGL, setInModule) { + var ctx; + try { + if (useWebGL) { + ctx = canvas.getContext('experimental-webgl', { + alpha: false + }); + } else { + ctx = canvas.getContext('2d'); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas - ' + e); + return null; + } + if (useWebGL) { + // Set the background of the WebGL canvas to black + canvas.style.backgroundColor = "black"; + // Warn on context loss + canvas.addEventListener('webglcontextlost', function(event) { + alert('WebGL context lost. You will need to reload the page.'); + }, false); + } + if (setInModule) { + Module.ctx = ctx; + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + var canvas = Module['canvas']; + function fullScreenChange() { + Browser.isFullScreen = false; + if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || + document['mozFullScreenElement'] || document['mozFullscreenElement'] || + document['fullScreenElement'] || document['fullscreenElement']) === canvas) { + canvas.cancelFullScreen = document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen']; + canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullScreen = true; + if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); + } else if (Browser.resizeCanvas){ + Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); + } + if (!Browser.fullScreenHandlersInstalled) { + Browser.fullScreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullScreenChange, false); + document.addEventListener('mozfullscreenchange', fullScreenChange, false); + document.addEventListener('webkitfullscreenchange', fullScreenChange, false); + } + canvas.requestFullScreen = canvas['requestFullScreen'] || + canvas['mozRequestFullScreen'] || + (canvas['webkitRequestFullScreen'] ? function() { canvas['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + canvas.requestFullScreen(); + },requestAnimationFrame:function (func) { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + window['setTimeout']; + } + window.requestAnimationFrame(func); + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (!ABORT) func(); + }); + },safeSetTimeout:function (func, timeout) { + return setTimeout(function() { + if (!ABORT) func(); + }, timeout); + },safeSetInterval:function (func, timeout) { + return setInterval(function() { + if (!ABORT) func(); + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var x, y; + if (event.type == 'touchstart' || + event.type == 'touchend' || + event.type == 'touchmove') { + var t = event.touches.item(0); + if (t) { + x = t.pageX - (window.scrollX + rect.left); + y = t.pageY - (window.scrollY + rect.top); + } else { + return; + } + } else { + x = event.pageX - (window.scrollX + rect.left); + y = event.pageY - (window.scrollY + rect.top); + } + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + x = x * (cw / rect.width); + y = y * (ch / rect.height); + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },xhrLoad:function (url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + },asyncLoad:function (url, onload, onerror, noRunDep) { + Browser.xhrLoad(url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (!noRunDep) removeRunDependency('al ' + url); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (!noRunDep) addRunDependency('al ' + url); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + canvas.width = width; + canvas.height = height; + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { + var canvas = Module['canvas']; + this.windowedWidth = canvas.width; + this.windowedHeight = canvas.height; + canvas.width = screen.width; + canvas.height = screen.height; + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + var canvas = Module['canvas']; + canvas.width = this.windowedWidth; + canvas.height = this.windowedHeight; + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + }}; +FS.staticInit();__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: function() { FS.quit() } });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice; +___errno_state = Runtime.staticAlloc(4); HEAP32[((___errno_state)>>2)]=0; +_llvm_eh_exception.buf = allocate(12, "void*", ALLOC_STATIC); +Module["requestFullScreen"] = function(lockPointer, resizeCanvas) { Browser.requestFullScreen(lockPointer, resizeCanvas) }; + Module["requestAnimationFrame"] = function(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function() { Browser.getUserMedia() } +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); +staticSealed = true; // seal the static portion of memory +STACK_MAX = STACK_BASE + 5242880; +DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); +assert(DYNAMIC_BASE < TOTAL_MEMORY); // Stack must fit in TOTAL_MEMORY; allocations from here on may enlarge TOTAL_MEMORY +var Math_min = Math.min; +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiif(index,a1,a2,a3,a4,a5,a6) { + try { + return Module["dynCall_iiiiiif"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vif(index,a1,a2) { + try { + Module["dynCall_vif"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viifii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viifii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiifffffif(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) { + try { + Module["dynCall_viiiifffffif"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiffii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + return Module["dynCall_iiiiiffii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiifii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiifii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_ifffffffff(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + return Module["dynCall_ifffffffff"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiif(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiif"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiffffii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { + try { + Module["dynCall_viiiiffffii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiiifif(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + return Module["dynCall_iiiiiiifif"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vifffi(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vifffi"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_ifiii(index,a1,a2,a3,a4) { + try { + return Module["dynCall_ifiii"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viifi(index,a1,a2,a3,a4) { + try { + Module["dynCall_viifi"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiiiff(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiff"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiifiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + return Module["dynCall_iiiifiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) { + try { + return Module["dynCall_iiiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viffff(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viffff"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viffiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viffiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) { + try { + return Module["dynCall_iiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fififii(index,a1,a2,a3,a4,a5,a6) { + try { + return Module["dynCall_fififii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) { + try { + return Module["dynCall_fiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiifii(index,a1,a2,a3,a4,a5) { + try { + return Module["dynCall_fiifii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_ifff(index,a1,a2,a3) { + try { + return Module["dynCall_ifff"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiff(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiff"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iifi(index,a1,a2,a3) { + try { + return Module["dynCall_iifi"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiifffffi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { + try { + Module["dynCall_viiiifffffi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fif(index,a1,a2) { + try { + return Module["dynCall_fif"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiff(index,a1,a2,a3,a4,a5) { + try { + return Module["dynCall_iiiiff"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viff(index,a1,a2,a3) { + try { + Module["dynCall_viff"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vifi(index,a1,a2,a3) { + try { + Module["dynCall_vifi"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiif(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiif"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vifff(index,a1,a2,a3,a4) { + try { + Module["dynCall_vifff"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiiff(index,a1,a2,a3,a4) { + try { + return Module["dynCall_fiiff"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiif(index,a1,a2,a3) { + try { + return Module["dynCall_iiif"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viffffff(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viffffff"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiii(index,a1,a2,a3) { + try { + return Module["dynCall_fiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiif(index,a1,a2,a3) { + try { + return Module["dynCall_fiif"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { + try { + return Module["dynCall_fiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_ifii(index,a1,a2,a3) { + try { + return Module["dynCall_ifii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiffiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { + try { + return Module["dynCall_fiffiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) { + try { + return Module["dynCall_iiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiiiii(index,a1,a2,a3,a4,a5) { + try { + return Module["dynCall_fiiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iif(index,a1,a2) { + try { + return Module["dynCall_iif"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_if(index,a1) { + try { + return Module["dynCall_if"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vifffff(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vifffff"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiiiiif(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiif"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vifii(index,a1,a2,a3,a4) { + try { + Module["dynCall_vifii"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fi(index,a1) { + try { + return Module["dynCall_fi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { + try { + Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiii(index,a1,a2,a3,a4,a5) { + try { + return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiiiif(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiif"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fii(index,a1,a2) { + try { + return Module["dynCall_fii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_vifffffffff(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { + try { + Module["dynCall_vifffffffff"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + return Module["dynCall_fiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iifif(index,a1,a2,a3,a4) { + try { + return Module["dynCall_iifif"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iffff(index,a1,a2,a3,a4) { + try { + return Module["dynCall_iffff"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiiffffiif(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) { + try { + Module["dynCall_viiiiffffiif"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiif(index,a1,a2,a3,a4,a5) { + try { + return Module["dynCall_iiiiif"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiff(index,a1,a2,a3) { + try { + return Module["dynCall_iiff"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiif(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiif"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiiifii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiifii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiifffiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + return Module["dynCall_iiiifffiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iff(index,a1,a2) { + try { + return Module["dynCall_iff"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiii(index,a1,a2,a3,a4) { + try { + return Module["dynCall_iiiii"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viif(index,a1,a2,a3) { + try { + Module["dynCall_viif"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_iiiif(index,a1,a2,a3,a4) { + try { + return Module["dynCall_iiiif"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_fiiifii(index,a1,a2,a3,a4,a5,a6) { + try { + return Module["dynCall_fiiifii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + asm["setThrew"](1, 0); + } +} +function asmPrintInt(x, y) { + Module.print('int ' + x + ',' + y);// + ' ' + new Error().stack); +} +function asmPrintFloat(x, y) { + Module.print('float ' + x + ',' + y);// + ' ' + new Error().stack); +} +// EMSCRIPTEN_START_ASM +var asm=(function(global,env,buffer){"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.__ZTVN10__cxxabiv117__class_type_infoE|0;var n=env.__ZTVN10__cxxabiv120__si_class_type_infoE|0;var o=env.___dso_handle|0;var p=+env.NaN;var q=+env.Infinity;var r=0;var s=0;var t=0;var u=0;var v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0.0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=0;var O=global.Math.floor;var P=global.Math.abs;var Q=global.Math.sqrt;var R=global.Math.pow;var S=global.Math.cos;var T=global.Math.sin;var U=global.Math.tan;var V=global.Math.acos;var W=global.Math.asin;var X=global.Math.atan;var Y=global.Math.atan2;var Z=global.Math.exp;var _=global.Math.log;var $=global.Math.ceil;var aa=global.Math.imul;var ab=env.abort;var ac=env.assert;var ad=env.asmPrintInt;var ae=env.asmPrintFloat;var af=env.min;var ag=env.jsCall;var ah=env.invoke_viiiii;var ai=env.invoke_iiiiiif;var aj=env.invoke_vif;var ak=env.invoke_viifii;var al=env.invoke_viiiifffffif;var am=env.invoke_vi;var an=env.invoke_iiiiiffii;var ao=env.invoke_vii;var ap=env.invoke_viiifii;var aq=env.invoke_ifffffffff;var ar=env.invoke_viiiif;var as=env.invoke_viiiiffffii;var at=env.invoke_ii;var au=env.invoke_iiiiiiifif;var av=env.invoke_vifffi;var aw=env.invoke_ifiii;var ax=env.invoke_viifi;var ay=env.invoke_viiiiiiiii;var az=env.invoke_viiiiiiff;var aA=env.invoke_iiiifiii;var aB=env.invoke_iiiiiiiiiiiiii;var aC=env.invoke_viffff;var aD=env.invoke_viffiii;var aE=env.invoke_iiiiiiiiiiii;var aF=env.invoke_fififii;var aG=env.invoke_fiiiiiiiiiii;var aH=env.invoke_fiifii;var aI=env.invoke_ifff;var aJ=env.invoke_viiff;var aK=env.invoke_iifi;var aL=env.invoke_iiii;var aM=env.invoke_viiiifffffi;var aN=env.invoke_fif;var aO=env.invoke_iiiiff;var aP=env.invoke_viff;var aQ=env.invoke_vifi;var aR=env.invoke_viiiiif;var aS=env.invoke_vifff;var aT=env.invoke_viiiiii;var aU=env.invoke_fiiff;var aV=env.invoke_iiif;var aW=env.invoke_iiiiiiii;var aX=env.invoke_viiiiiiii;var aY=env.invoke_viffffff;var aZ=env.invoke_fiii;var a_=env.invoke_iiiiiiiiii;var a$=env.invoke_fiif;var a0=env.invoke_fiiiiiiiiii;var a1=env.invoke_ifii;var a2=env.invoke_fiffiiiiiii;var a3=env.invoke_iiiiiiiiiiiii;var a4=env.invoke_fiiiii;var a5=env.invoke_iif;var a6=env.invoke_if;var a7=env.invoke_vifffff;var a8=env.invoke_viiiiiiiif;var a9=env.invoke_vifii;var ba=env.invoke_fi;var bb=env.invoke_viiiiiiiiii;var bc=env.invoke_iii;var bd=env.invoke_iiiiii;var be=env.invoke_iiiiiii;var bf=env.invoke_viiiiiiif;var bg=env.invoke_fii;var bh=env.invoke_vifffffffff;var bi=env.invoke_fiiiiiiii;var bj=env.invoke_iifif;var bk=env.invoke_iffff;var bl=env.invoke_viiiiffffiif;var bm=env.invoke_iiiiif;var bn=env.invoke_iiff;var bo=env.invoke_viiif;var bp=env.invoke_i;var bq=env.invoke_viiiifii;var br=env.invoke_iiiifffiii;var bs=env.invoke_viii;var bt=env.invoke_iff;var bu=env.invoke_v;var bv=env.invoke_iiiiiiiii;var bw=env.invoke_iiiii;var bx=env.invoke_viif;var by=env.invoke_iiiif;var bz=env.invoke_fiiifii;var bA=env.invoke_viiii;var bB=env._llvm_lifetime_end;var bC=env._cosf;var bD=env._fabsf;var bE=env._sysconf;var bF=env.___cxa_throw;var bG=env._atexit;var bH=env._abort;var bI=env._fprintf;var bJ=env._llvm_eh_exception;var bK=env._printf;var bL=env._acosf;var bM=env._fflush;var bN=env._sqrtf;var bO=env._write;var bP=env.___setErrNo;var bQ=env._fwrite;var bR=env._send;var bS=env._llvm_pow_f32;var bT=env._llvm_umul_with_overflow_i32;var bU=env._exit;var bV=env._atan2f;var bW=env.___cxa_pure_virtual;var bX=env._llvm_bswap_i16;var bY=env.__formatString;var bZ=env.__reallyNegative;var b_=env._time;var b$=env._asinf;var b0=env.___cxa_does_inherit;var b1=env.___cxa_guard_acquire;var b2=env.__ZSt9terminatev;var b3=env._gettimeofday;var b4=env.___cxa_find_matching_catch;var b5=env._sinf;var b6=env.__ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback;var b7=env.___assert_func;var b8=env.__ZSt18uncaught_exceptionv;var b9=env._pwrite;var ca=env.___cxa_call_unexpected;var cb=env._sbrk;var cc=env.___cxa_guard_abort;var cd=env.___cxa_allocate_exception;var ce=env.___errno_location;var cf=env.___gxx_personality_v0;var cg=env.__ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback;var ch=env._llvm_lifetime_start;var ci=env.___cxa_is_number_type;var cj=env._llvm_bswap_i32;var ck=env._fmod;var cl=env.___cxa_guard_release;var cm=env.__exit;var cn=env.___resumeException; +// EMSCRIPTEN_START_FUNCS +function dJ(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+7>>3<<3;return b|0}function dK(){return i|0}function dL(a){a=a|0;i=a}function dM(a,b){a=a|0;b=b|0;if((r|0)==0){r=a;s=b}}function dN(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0]}function dO(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0];a[k+4|0]=a[b+4|0];a[k+5|0]=a[b+5|0];a[k+6|0]=a[b+6|0];a[k+7|0]=a[b+7|0]}function dP(a){a=a|0;E=a}function dQ(a){a=a|0;F=a}function dR(a){a=a|0;G=a}function dS(a){a=a|0;H=a}function dT(a){a=a|0;I=a}function dU(a){a=a|0;J=a}function dV(a){a=a|0;K=a}function dW(a){a=a|0;L=a}function dX(a){a=a|0;M=a}function dY(a){a=a|0;N=a}function dZ(){c[n+8>>2]=512;c[n+12>>2]=384;c[n+16>>2]=82;c[n+20>>2]=488;c[n+24>>2]=174;c[n+28>>2]=80;c[n+32>>2]=104;c[n+36>>2]=224;c[m+8>>2]=512;c[m+12>>2]=440;c[m+16>>2]=82;c[m+20>>2]=488;c[m+24>>2]=174;c[m+28>>2]=52;c[m+32>>2]=96;c[m+36>>2]=544;c[8500]=n+8;c[8504]=n+8;c[8508]=n+8;c[8512]=n+8;c[8516]=n+8;c[8520]=n+8;c[8524]=n+8;c[8528]=n+8;c[8532]=n+8;c[8536]=n+8;c[8540]=n+8;c[8544]=n+8;c[8548]=n+8;c[8552]=n+8;c[8556]=n+8;c[8560]=n+8;c[8564]=n+8;c[8568]=n+8;c[8572]=n+8;c[8576]=n+8;c[8580]=n+8;c[8584]=n+8;c[8588]=m+8;c[8590]=m+8;c[8592]=n+8;c[8596]=m+8;c[8598]=m+8;c[8600]=n+8;c[8604]=n+8;c[8608]=n+8;c[8612]=n+8;c[8616]=n+8;c[8620]=n+8;c[8624]=n+8;c[8628]=n+8;c[8632]=m+8;c[8634]=n+8;c[8638]=n+8;c[8642]=n+8;c[8646]=n+8;c[8650]=n+8;c[8654]=m+8;c[8656]=m+8;c[8658]=m+8;c[8660]=m+8;c[8662]=n+8;c[8666]=n+8;c[8670]=n+8;c[8674]=n+8;c[8678]=m+8;c[8680]=n+8;c[8684]=n+8;c[8688]=n+8;c[8692]=n+8;c[8696]=n+8;c[8700]=n+8;c[8704]=n+8;c[8708]=n+8;c[8712]=m+8;c[8714]=n+8;c[8718]=n+8;c[8722]=n+8;c[8726]=m+8;c[8728]=m+8;c[8730]=n+8;c[8734]=n+8;c[8738]=n+8;c[8742]=n+8;c[8746]=n+8;c[8750]=n+8;c[8754]=n+8;c[8758]=n+8;c[8762]=n+8;c[8766]=n+8;c[8770]=n+8;c[8774]=n+8;c[8778]=m+8;c[8780]=m+8;c[8782]=n+8;c[8786]=n+8;c[8790]=n+8;c[8794]=n+8;c[8798]=n+8;c[8802]=n+8;c[8806]=n+8;c[8810]=n+8;c[8814]=m+8;c[8816]=m+8;c[8818]=m+8;c[8820]=n+8;c[8824]=n+8;c[8828]=n+8;c[8832]=n+8;c[8836]=n+8;c[8840]=n+8;c[8844]=n+8;c[8848]=n+8;c[8852]=n+8;c[8856]=n+8;c[8860]=n+8;c[8864]=n+8;c[8868]=n+8;c[8872]=n+8;c[8876]=n+8;c[8880]=n+8;c[8884]=n+8;c[8888]=n+8;c[8892]=m+8;c[8894]=n+8;c[8898]=n+8;c[8902]=n+8;c[8906]=m+8;c[8908]=n+8;c[8912]=n+8;c[8916]=m+8;c[8918]=n+8;c[8922]=n+8;c[8926]=n+8;c[8930]=n+8;c[8934]=n+8;c[8938]=n+8;c[8942]=n+8;c[8946]=m+8;c[8948]=m+8;c[8950]=n+8;c[8954]=n+8;c[8958]=n+8;c[8962]=n+8;c[8966]=n+8;c[8970]=n+8;c[8974]=m+8;c[8976]=m+8;c[8984]=m+8;c[8986]=n+8;c[8990]=n+8;c[8994]=n+8;c[8998]=m+8;c[9e3]=m+8;c[9002]=n+8;c[9014]=n+8;c[9018]=n+8;c[9022]=n+8;c[9026]=n+8;c[9030]=n+8;c[9034]=n+8;c[9038]=n+8;c[9042]=m+8;c[9044]=m+8;c[9046]=n+8;c[9050]=n+8;c[9054]=n+8;c[9058]=n+8;c[9062]=n+8;c[9066]=n+8;c[9070]=n+8;c[9074]=n+8;c[9078]=n+8;c[9082]=n+8;c[9086]=n+8;c[9090]=m+8;c[9092]=n+8;c[9096]=n+8;c[9100]=n+8;c[9104]=m+8;c[9106]=n+8;c[9110]=m+8;c[9112]=n+8;c[9116]=n+8;c[9120]=n+8;c[9124]=m+8;c[9126]=m+8;c[9128]=n+8;c[9132]=n+8;c[9136]=n+8;c[9140]=n+8;c[9144]=n+8;c[9148]=n+8}function d_(a){a=a|0;return 44}function d$(a,b,c,d,e,f,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;l=a+48|0;m=a|0;do{m=m+16|0;}while((m|0)!=(l|0));g[a>>2]=+g[b>>2];g[a+4>>2]=+g[c>>2];g[a+8>>2]=+g[d>>2];g[a+12>>2]=0.0;g[a+16>>2]=+g[e>>2];g[a+20>>2]=+g[f>>2];g[a+24>>2]=+g[h>>2];g[a+28>>2]=0.0;g[a+32>>2]=+g[i>>2];g[a+36>>2]=+g[j>>2];g[a+40>>2]=+g[k>>2];g[a+44>>2]=0.0;return}function d0(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){if((c|0)<3){d=0}else{break}while(1){if((d|0)>=4){break}g[b+(c<<4)+(d<<2)>>2]=+g[a+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}return}function d1(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){if((c|0)<3){d=0}else{break}while(1){if((d|0)>=4){break}g[a+(c<<4)+(d<<2)>>2]=+h[b+(c<<5)+(d<<3)>>3];d=d+1|0}c=c+1|0}return}function d2(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0;c=a|0;d=a+4|0;e=+g[d>>2]- +g[b+4>>2];f=a+8|0;h=+g[f>>2]- +g[b+8>>2];i=a+16|0;j=+g[i>>2]- +g[b+16>>2];k=a+20|0;l=+g[k>>2]- +g[b+20>>2];m=a+24|0;n=+g[m>>2]- +g[b+24>>2];o=a+32|0;p=+g[o>>2]- +g[b+32>>2];q=a+36|0;r=+g[q>>2]- +g[b+36>>2];s=a+40|0;t=+g[s>>2]- +g[b+40>>2];g[c>>2]=+g[c>>2]- +g[b>>2];g[d>>2]=e;g[f>>2]=h;g[a+12>>2]=0.0;g[i>>2]=j;g[k>>2]=l;g[m>>2]=n;g[a+28>>2]=0.0;g[o>>2]=p;g[q>>2]=r;g[s>>2]=t;g[a+44>>2]=0.0;return a|0}function d3(a,b){a=a|0;b=b|0;return+(+g[a+8>>2]*+g[b>>2]+ +g[a+24>>2]*+g[b+4>>2]+ +g[a+40>>2]*+g[b+8>>2])}function d4(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){if((c|0)<3){d=0}else{break}while(1){if((d|0)>=4){break}g[b+(c<<4)+(d<<2)>>2]=+g[a+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}return}function d5(a,b){a=a|0;b=b|0;return+(+g[a>>2]*+g[b>>2]+ +g[a+16>>2]*+g[b+4>>2]+ +g[a+32>>2]*+g[b+8>>2])}function d6(a,b){a=a|0;b=b|0;return+(+g[a+4>>2]*+g[b>>2]+ +g[a+20>>2]*+g[b+4>>2]+ +g[a+36>>2]*+g[b+8>>2])}function d7(b,c){b=b|0;c=c|0;var d=0.0,e=0.0;do{if((a[43976]|0)==0){if((b1(43976)|0)==0){break}}}while(0);d=+g[b+16+(c<<2)>>2];e=+g[b+32+(c<<2)>>2];g[9778]=+g[b+(c<<2)>>2];g[9779]=d;g[9780]=e;g[9781]=0.0;return 39112}function d8(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;e=i;i=i+120|0;f=e|0;h=e+8|0;j=e+16|0;k=e+24|0;l=e+32|0;m=e+40|0;n=e+48|0;o=e+56|0;p=e+64|0;q=e+72|0;do{if((a[44104]|0)==0){if((b1(44104)|0)==0){break}else{r=39064}do{r=r+16|0;}while((r|0)!=39112)}}while(0);s=+g[d>>2];g[f>>2]=+g[b>>2]*s;t=+g[d+4>>2];g[h>>2]=+g[b+4>>2]*t;u=+g[d+8>>2];g[j>>2]=+g[b+8>>2]*u;g[k>>2]=+g[b+16>>2]*s;g[l>>2]=+g[b+20>>2]*t;g[m>>2]=+g[b+24>>2]*u;g[n>>2]=+g[b+32>>2]*s;g[o>>2]=+g[b+36>>2]*t;g[p>>2]=+g[b+40>>2]*u;d$(q,f,h,j,k,l,m,n,o,p);p=q;c[9766]=c[p>>2];c[9767]=c[p+4>>2];c[9768]=c[p+8>>2];c[9769]=c[p+12>>2];p=q+16|0;c[9770]=c[p>>2];c[39084>>2]=c[p+4>>2];c[39088>>2]=c[p+8>>2];c[39092>>2]=c[p+12>>2];p=q+32|0;c[9774]=c[p>>2];c[39100>>2]=c[p+4>>2];c[39104>>2]=c[p+8>>2];c[39108>>2]=c[p+12>>2];i=e;return 39064}function d9(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+48|0;f=e|0;do{if((a[43888]|0)==0){if((b1(43888)|0)==0){break}else{g=38264}do{g=g+16|0;}while((g|0)!=38312)}}while(0);ea(f,b,d);d=f;c[9566]=c[d>>2];c[9567]=c[d+4>>2];c[9568]=c[d+8>>2];c[9569]=c[d+12>>2];d=f+16|0;c[9570]=c[d>>2];c[38284>>2]=c[d+4>>2];c[38288>>2]=c[d+8>>2];c[38292>>2]=c[d+12>>2];d=f+32|0;c[9574]=c[d>>2];c[38300>>2]=c[d+4>>2];c[38304>>2]=c[d+8>>2];c[38308>>2]=c[d+12>>2];i=e;return 38264}function ea(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;d=i;i=i+72|0;e=d|0;f=d+8|0;h=d+16|0;j=d+24|0;k=d+32|0;l=d+40|0;m=d+48|0;n=d+56|0;o=d+64|0;p=+g[b>>2];q=+g[c>>2];r=+g[b+16>>2];s=+g[c+16>>2];t=+g[b+32>>2];u=+g[c+32>>2];g[e>>2]=p*q+r*s+t*u;v=+g[c+4>>2];w=+g[c+20>>2];x=+g[c+36>>2];g[f>>2]=p*v+r*w+t*x;y=+g[c+8>>2];z=+g[c+24>>2];A=+g[c+40>>2];g[h>>2]=p*y+r*z+t*A;t=+g[b+4>>2];r=+g[b+20>>2];p=+g[b+36>>2];g[j>>2]=t*q+r*s+p*u;g[k>>2]=t*v+r*w+p*x;g[l>>2]=t*y+r*z+p*A;p=+g[b+8>>2];r=+g[b+24>>2];t=+g[b+40>>2];g[m>>2]=p*q+r*s+t*u;g[n>>2]=p*v+r*w+t*x;g[o>>2]=p*y+r*z+t*A;d$(a,e,f,h,j,k,l,m,n,o);i=d;return}function eb(a,b){a=a|0;b=b|0;ec(a,b);return}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=i;i=i+16|0;d=c|0;e=+g[a>>2];f=+g[a+20>>2];h=+g[a+40>>2];j=e+f+h;if(j>0.0){k=+Q(+(j+1.0));j=k*.5;g[d+12>>2]=j;l=.5/k;k=(+g[a+36>>2]- +g[a+24>>2])*l;g[d>>2]=k;m=(+g[a+8>>2]- +g[a+32>>2])*l;g[d+4>>2]=m;n=(+g[a+16>>2]- +g[a+4>>2])*l;g[d+8>>2]=n;o=k;p=m;q=n;r=j;s=b|0;g[s>>2]=o;t=b+4|0;g[t>>2]=p;u=b+8|0;g[u>>2]=q;v=b+12|0;g[v>>2]=r;i=c;return}if(e>>0)%3|0;y=((w+2|0)>>>0)%3|0;h=+Q(+(+g[a+(w<<4)+(w<<2)>>2]- +g[a+(x<<4)+(x<<2)>>2]- +g[a+(y<<4)+(y<<2)>>2]+1.0));g[d+(w<<2)>>2]=h*.5;e=.5/h;z=d+12|0;g[z>>2]=(+g[a+(y<<4)+(x<<2)>>2]- +g[a+(x<<4)+(y<<2)>>2])*e;g[d+(x<<2)>>2]=(+g[a+(x<<4)+(w<<2)>>2]+ +g[a+(w<<4)+(x<<2)>>2])*e;g[d+(y<<2)>>2]=(+g[a+(y<<4)+(w<<2)>>2]+ +g[a+(w<<4)+(y<<2)>>2])*e;o=+g[d>>2];p=+g[d+4>>2];q=+g[d+8>>2];r=+g[z>>2];s=b|0;g[s>>2]=o;t=b+4|0;g[t>>2]=p;u=b+8|0;g[u>>2]=q;v=b+12|0;g[v>>2]=r;i=c;return}function ed(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+120|0;e=d|0;f=d+8|0;h=d+16|0;j=d+24|0;k=d+32|0;l=d+40|0;m=d+48|0;n=d+56|0;o=d+64|0;p=d+72|0;do{if((a[44032]|0)==0){if((b1(44032)|0)==0){break}else{q=38056}do{q=q+16|0;}while((q|0)!=38104)}}while(0);g[e>>2]=+P(+(+g[b>>2]));g[f>>2]=+P(+(+g[b+4>>2]));g[h>>2]=+P(+(+g[b+8>>2]));g[j>>2]=+P(+(+g[b+16>>2]));g[k>>2]=+P(+(+g[b+20>>2]));g[l>>2]=+P(+(+g[b+24>>2]));g[m>>2]=+P(+(+g[b+32>>2]));g[n>>2]=+P(+(+g[b+36>>2]));g[o>>2]=+P(+(+g[b+40>>2]));d$(p,e,f,h,j,k,l,m,n,o);o=p;c[9514]=c[o>>2];c[9515]=c[o+4>>2];c[9516]=c[o+8>>2];c[9517]=c[o+12>>2];o=p+16|0;c[9518]=c[o>>2];c[38076>>2]=c[o+4>>2];c[38080>>2]=c[o+8>>2];c[38084>>2]=c[o+12>>2];o=p+32|0;c[9522]=c[o>>2];c[38092>>2]=c[o+4>>2];c[38096>>2]=c[o+8>>2];c[38100>>2]=c[o+12>>2];i=d;return 38056}function ee(){var a=0,b=0,d=0,e=0;while(1){a=aDx(48)|0;if((a|0)!=0){break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){d=65;break}dC[b&63]()}if((d|0)==65){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}d=a;b=a+48|0;e=a;do{e=e+16|0;}while((e|0)!=(b|0));return d|0}function ef(a){a=a|0;var b=0,d=0,e=0,f=0;while(1){b=aDx(48)|0;if((b|0)!=0){break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){e=79;break}dC[d&63]()}if((e|0)==79){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}e=b;d=b+48|0;f=b;do{f=f+16|0;}while((f|0)!=(d|0));em(e,a);return e|0}function eg(a,b,d,e,f,h,j,k,l){a=+a;b=+b;d=+d;e=+e;f=+f;h=+h;j=+j;k=+k;l=+l;var 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;m=i;i=i+72|0;n=m|0;o=m+8|0;p=m+16|0;q=m+24|0;r=m+32|0;s=m+40|0;t=m+48|0;u=m+56|0;v=m+64|0;g[n>>2]=a;g[o>>2]=b;g[p>>2]=d;g[q>>2]=e;g[r>>2]=f;g[s>>2]=h;g[t>>2]=j;g[u>>2]=k;g[v>>2]=l;while(1){w=aDx(48)|0;if((w|0)!=0){x=96;break}y=(C=c[10744]|0,c[10744]=C+0,C);if((y|0)==0){break}dC[y&63]()}if((x|0)==96){x=w;d$(x,n,o,p,q,r,s,t,u,v);i=m;return x|0}x=cd(4)|0;c[x>>2]=19096;bF(x|0,34368,676);return 0}function eh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+(+g[a+(b<<4)+(c<<2)>>2]*+g[a+(d<<4)+(e<<2)>>2]- +g[a+(b<<4)+(e<<2)>>2]*+g[a+(d<<4)+(c<<2)>>2])}function ei(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){if((c|0)<3){d=0}else{break}while(1){if((d|0)>=4){break}g[a+(c<<4)+(d<<2)>>2]=+g[b+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}return}function ej(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0;c=a|0;d=a+4|0;e=+g[d>>2]+ +g[b+4>>2];f=a+8|0;h=+g[f>>2]+ +g[b+8>>2];i=a+16|0;j=+g[i>>2]+ +g[b+16>>2];k=a+20|0;l=+g[k>>2]+ +g[b+20>>2];m=a+24|0;n=+g[m>>2]+ +g[b+24>>2];o=a+32|0;p=+g[o>>2]+ +g[b+32>>2];q=a+36|0;r=+g[q>>2]+ +g[b+36>>2];s=a+40|0;t=+g[s>>2]+ +g[b+40>>2];g[c>>2]=+g[c>>2]+ +g[b>>2];g[d>>2]=e;g[f>>2]=h;g[a+12>>2]=0.0;g[i>>2]=j;g[k>>2]=l;g[m>>2]=n;g[a+28>>2]=0.0;g[o>>2]=p;g[q>>2]=r;g[s>>2]=t;g[a+44>>2]=0.0;return a|0}function el(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;c=+g[b>>2];d=a|0;e=+g[d>>2];f=+g[b+16>>2];h=+g[a+4>>2];i=+g[b+32>>2];j=+g[a+8>>2];k=+g[b+4>>2];l=+g[b+20>>2];m=+g[b+36>>2];n=+g[b+8>>2];o=+g[b+24>>2];p=+g[b+40>>2];q=+g[a+16>>2];r=+g[a+20>>2];s=+g[a+24>>2];t=+g[a+32>>2];u=+g[a+36>>2];v=+g[a+40>>2];g[d>>2]=c*e+f*h+i*j;g[a+4>>2]=k*e+l*h+m*j;g[a+8>>2]=n*e+o*h+p*j;g[a+12>>2]=0.0;g[a+16>>2]=c*q+f*r+i*s;g[a+20>>2]=k*q+l*r+m*s;g[a+24>>2]=n*q+o*r+p*s;g[a+28>>2]=0.0;g[a+32>>2]=c*t+f*u+i*v;g[a+36>>2]=k*t+l*u+m*v;g[a+40>>2]=n*t+o*u+p*v;g[a+44>>2]=0.0;return a|0}function em(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;c=+g[b>>2];d=+g[b+4>>2];e=+g[b+8>>2];f=+g[b+12>>2];h=2.0/(c*c+d*d+e*e+f*f);i=c*h;j=d*h;k=e*h;h=f*i;l=f*j;m=f*k;f=c*i;i=c*j;n=c*k;c=d*j;j=d*k;d=e*k;g[a>>2]=1.0-(c+d);g[a+4>>2]=i-m;g[a+8>>2]=n+l;g[a+12>>2]=0.0;g[a+16>>2]=i+m;g[a+20>>2]=1.0-(f+d);g[a+24>>2]=j-h;g[a+28>>2]=0.0;g[a+32>>2]=n-l;g[a+36>>2]=j+h;g[a+40>>2]=1.0-(f+c);g[a+44>>2]=0.0;return}function en(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;b=+g[a+20>>2];c=+g[a+40>>2];d=+g[a+24>>2];e=+g[a+36>>2];f=+g[a+32>>2];h=+g[a+16>>2];return+(+g[a>>2]*(b*c-d*e)+ +g[a+4>>2]*(d*f-h*c)+ +g[a+8>>2]*(h*e-b*f))}function eo(a,b,c,d,e,f,h,i,j,k){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=0.0;g[a+16>>2]=e;g[a+20>>2]=f;g[a+24>>2]=h;g[a+28>>2]=0.0;g[a+32>>2]=i;g[a+36>>2]=j;g[a+40>>2]=k;g[a+44>>2]=0.0;return}function ep(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+48|0;e=d|0;do{if((a[44056]|0)==0){if((b1(44056)|0)==0){break}else{f=37848}do{f=f+16|0;}while((f|0)!=37896)}}while(0);eq(e,b);b=e;c[9462]=c[b>>2];c[9463]=c[b+4>>2];c[9464]=c[b+8>>2];c[9465]=c[b+12>>2];b=e+16|0;c[9466]=c[b>>2];c[37868>>2]=c[b+4>>2];c[37872>>2]=c[b+8>>2];c[37876>>2]=c[b+12>>2];b=e+32|0;c[9470]=c[b>>2];c[37884>>2]=c[b+4>>2];c[37888>>2]=c[b+8>>2];c[37892>>2]=c[b+12>>2];i=d;return 37848}function eq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;c=i;i=i+72|0;d=c|0;e=c+8|0;f=c+16|0;h=c+24|0;j=c+32|0;k=c+40|0;l=c+48|0;m=c+56|0;n=c+64|0;o=+g[b+20>>2];p=+g[b+40>>2];q=+g[b+24>>2];r=+g[b+36>>2];s=o*p-q*r;t=+g[b+32>>2];u=+g[b+16>>2];v=q*t-u*p;w=u*r-o*t;x=+g[b>>2];y=+g[b+4>>2];z=+g[b+8>>2];A=1.0/(x*s+y*v+z*w);g[d>>2]=s*A;g[e>>2]=(z*r-y*p)*A;g[f>>2]=(y*q-z*o)*A;g[h>>2]=v*A;g[j>>2]=(x*p-z*t)*A;g[k>>2]=(z*u-x*q)*A;g[l>>2]=w*A;g[m>>2]=(y*t-x*r)*A;g[n>>2]=(x*o-y*u)*A;d$(a,d,e,f,h,j,k,l,m,n);i=c;return}function er(){es();return 42816}function es(){var b=0,c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+72|0;c=b|0;d=b+8|0;e=b+16|0;f=b+24|0;h=b+32|0;j=b+40|0;k=b+48|0;l=b+56|0;m=b+64|0;if((a[43048]|0)!=0){i=b;return}if((b1(43048)|0)==0){i=b;return}g[c>>2]=1.0;g[d>>2]=0.0;g[e>>2]=0.0;g[f>>2]=0.0;g[h>>2]=1.0;g[j>>2]=0.0;g[k>>2]=0.0;g[l>>2]=0.0;g[m>>2]=1.0;d$(42816,c,d,e,f,h,j,k,l,m);i=b;return}function et(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;d=i;i=i+120|0;e=d|0;f=d+8|0;h=d+16|0;j=d+24|0;k=d+32|0;l=d+40|0;m=d+48|0;n=d+56|0;o=d+64|0;p=d+72|0;do{if((a[44064]|0)==0){if((b1(44064)|0)==0){break}else{q=37640}do{q=q+16|0;}while((q|0)!=37688)}}while(0);r=+g[b+20>>2];s=+g[b+40>>2];t=+g[b+24>>2];u=+g[b+36>>2];g[e>>2]=r*s-t*u;v=+g[b+8>>2];w=+g[b+4>>2];g[f>>2]=v*u-w*s;g[h>>2]=w*t-v*r;x=+g[b+32>>2];y=+g[b+16>>2];g[j>>2]=t*x-y*s;z=+g[b>>2];g[k>>2]=z*s-v*x;g[l>>2]=v*y-z*t;g[m>>2]=y*u-r*x;g[n>>2]=w*x-z*u;g[o>>2]=z*r-w*y;d$(p,e,f,h,j,k,l,m,n,o);o=p;c[9410]=c[o>>2];c[9411]=c[o+4>>2];c[9412]=c[o+8>>2];c[9413]=c[o+12>>2];o=p+16|0;c[9414]=c[o>>2];c[37660>>2]=c[o+4>>2];c[37664>>2]=c[o+8>>2];c[37668>>2]=c[o+12>>2];o=p+32|0;c[9418]=c[o>>2];c[37676>>2]=c[o+4>>2];c[37680>>2]=c[o+8>>2];c[37684>>2]=c[o+12>>2];i=d;return 37640}function eu(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ev(a,b,c,d);return}function ev(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;g[b>>2]=1.0;aDD(b+4|0,0,16);g[b+20>>2]=1.0;aDD(b+24|0,0,16);g[b+40>>2]=1.0;g[b+44>>2]=0.0;e=a+4|0;f=a+8|0;h=a+24|0;i=a|0;j=a+20|0;k=a+40|0;l=d;while(1){if((l|0)<=0){m=147;break}n=+P(+(+g[e>>2]));o=+P(+(+g[f>>2]));d=o>n;p=d?o:n;n=+P(+(+g[h>>2]));if(n>p){q=1;r=2;s=0;t=n}else{q=0;r=d?2:1;s=d?1:2;t=p}p=+P(+(+g[i>>2]));n=p+ +P(+(+g[j>>2]));p=(n+ +P(+(+g[k>>2])))*c;if(t>p){u=l}else{if(t>p*1.1920928955078125e-7){u=1}else{m=148;break}}d=a+(q<<4)+(r<<2)|0;p=+g[d>>2];v=a+(r<<4)+(r<<2)|0;w=a+(q<<4)+(q<<2)|0;n=(+g[v>>2]- +g[w>>2])/(p*2.0);o=n*n;if(o*o<83886080.0){x=+Q(+(o+1.0));if(n<0.0){y=n-x}else{y=n+x}x=1.0/y;z=1.0/+Q(+(x*x+1.0));A=z*x;B=z;C=x}else{x=1.0/(n*(.5/o+2.0));o=1.0-x*.5*x;A=o*x;B=o;C=x}g[a+(r<<4)+(q<<2)>>2]=0.0;g[d>>2]=0.0;x=C*p;g[w>>2]=+g[w>>2]-x;g[v>>2]=+g[v>>2]+x;v=a+(s<<4)+(q<<2)|0;x=+g[v>>2];w=a+(s<<4)+(r<<2)|0;p=+g[w>>2];o=B*x-A*p;g[a+(q<<4)+(s<<2)>>2]=o;g[v>>2]=o;o=B*p+A*x;g[a+(r<<4)+(s<<2)>>2]=o;g[w>>2]=o;w=0;while(1){if((w|0)>=3){break}o=+g[b+(w<<4)+(q<<2)>>2];x=+g[b+(w<<4)+(r<<2)>>2];g[b+(w<<4)+(q<<2)>>2]=B*o-A*x;g[b+(w<<4)+(r<<2)>>2]=B*x+A*o;w=w+1|0}l=u-1|0}if((m|0)==147){return}else if((m|0)==148){return}}function ew(a,b){a=a|0;b=b|0;em(a,b);return}function ex(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ey(a,b,c,d);return}function ey(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+S(+b);f=+S(+c);h=+S(+d);i=+T(+b);b=+T(+c);c=+T(+d);d=e*h;j=e*c;k=i*h;l=i*c;g[a>>2]=f*h;g[a+4>>2]=b*k-j;g[a+8>>2]=b*d+l;g[a+12>>2]=0.0;g[a+16>>2]=f*c;g[a+20>>2]=b*l+d;g[a+24>>2]=b*j-k;g[a+28>>2]=0.0;g[a+32>>2]=-0.0-b;g[a+36>>2]=f*i;g[a+40>>2]=f*e;g[a+44>>2]=0.0;return}function ez(a){a=a|0;g[a>>2]=1.0;aDD(a+4|0,0,16);g[a+20>>2]=1.0;aDD(a+24|0,0,16);g[a+40>>2]=1.0;g[a+44>>2]=0.0;return}function eA(a,b){a=a|0;b=b|0;var d=0,e=0;d=a;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+16|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+32|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return a|0}function eB(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0,h=0,j=0;e=i;i=i+24|0;f=e|0;h=e+8|0;j=e+16|0;g[f>>2]=b;g[h>>2]=c;g[j>>2]=d;eC(a,f,h,j,1);i=e;return}function eC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;f=+g[a+32>>2];if(+P(+f)<1.0){do{if(f<-1.0){h=-1.0}else{if(f<=1.0){h=f;break}h=1.0}}while(0);i=+W(+h);h=-0.0-i;j=i+3.1415927410125732;i=+g[a+36>>2];k=+S(+h);l=+g[a+40>>2];m=+Y(+(i/k),+(l/k));n=+S(+j);o=+Y(+(i/n),+(l/n));l=+g[a+16>>2];i=+g[a>>2];p=+Y(+(l/k),+(i/k));q=m;r=+Y(+(l/n),+(i/n));s=j;t=o;u=p;v=h}else{h=+Y(+(+g[a>>2]),+(+g[a+8>>2]))+1.5707963705062866;p=f>0.0?1.5707963705062866:-1.5707963705062866;q=h;r=0.0;s=p;t=h;u=0.0;v=p}a=(e|0)==1;g[b>>2]=a?u:r;g[c>>2]=a?v:s;g[d>>2]=a?q:t;return}function eD(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;var f=0,h=0,j=0,k=0;f=i;i=i+24|0;h=f|0;j=f+8|0;k=f+16|0;g[h>>2]=b;g[j>>2]=c;g[k>>2]=d;eC(a,h,j,k,e);i=f;return}function eE(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ey(a,d,c,b);return}function eF(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){if((c|0)<3){d=0}else{break}while(1){if((d|0)>=4){break}g[a+(c<<4)+(d<<2)>>2]=+g[b+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}return}function eG(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function eH(b,c){b=b|0;c=c|0;a[b+24|0]=c&1;return}function eI(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function eJ(a){a=a|0;return+(+g[a+12>>2])}function eK(a){a=a|0;return c[a+4>>2]|0}function eL(b){b=b|0;return(a[b+26|0]&1)!=0|0}function eM(b){b=b|0;return(a[b+16|0]&1)!=0|0}function eN(b,c){b=b|0;c=c|0;a[b+16|0]=c&1;return}function eO(a){a=a|0;return c[a+8>>2]|0}function eP(a,b){a=a|0;b=b|0;c[a+40>>2]=b;return}function eQ(a){a=a|0;return c[a+40>>2]|0}function eR(a){a=a|0;return+(+g[a>>2])}function eS(a){a=a|0;return+(+g[a+36>>2])}function eT(b){b=b|0;return(a[b+24|0]&1)!=0|0}function eU(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function eV(a,b){a=a|0;b=+b;g[a>>2]=b;return}function eW(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function eX(b,c){b=b|0;c=c|0;a[b+32|0]=c&1;return}function eY(b){b=b|0;return(a[b+32|0]&1)!=0|0}function eZ(a){a=a|0;return+(+g[a+28>>2])}function e_(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function e$(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function e0(b){b=b|0;return(a[b+25|0]&1)!=0|0}function e1(b,c){b=b|0;c=c|0;a[b+25|0]=c&1;return}function e2(b,c){b=b|0;c=c|0;a[b+26|0]=c&1;return}function e3(a){a=a|0;return(c[a+4>>2]|0)==31|0}function e4(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function e5(a){a=a|0;return c[a+52>>2]|0}function e6(a){a=a|0;return(c[a+4>>2]|0)<7|0}function e7(a){a=a|0;return+(+g[a+28+((((c[a+52>>2]|0)+2|0)%3|0)<<2)>>2])}function e8(a){a=a|0;return+(+g[a+28+(c[a+52>>2]<<2)>>2])}function e9(a){a=a|0;return a+12|0}function fa(a){a=a|0;return+(+g[a+44>>2])}function fb(a){a=a|0;return(c[a+4>>2]|0)<20|0}function fc(a){a=a|0;return(c[a+4>>2]|0)==28|0}function fd(a){a=a|0;return c[a+8>>2]|0}function fe(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function ff(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function fg(a){a=a|0;return(c[a+4>>2]|0)==32|0}function fh(a){a=a|0;return a+28|0}function fi(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function fj(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+48|0;e=d|0;do{if((a[43968]|0)==0){if((b1(43968)|0)==0){break}else{f=37432}do{f=f+16|0;}while((f|0)!=37480)}}while(0);d$(e,b|0,b+16|0,b+32|0,b+4|0,b+20|0,b+36|0,b+8|0,b+24|0,b+40|0);b=e;c[9358]=c[b>>2];c[9359]=c[b+4>>2];c[9360]=c[b+8>>2];c[9361]=c[b+12>>2];b=e+16|0;c[9362]=c[b>>2];c[37452>>2]=c[b+4>>2];c[37456>>2]=c[b+8>>2];c[37460>>2]=c[b+12>>2];b=e+32|0;c[9366]=c[b>>2];c[37468>>2]=c[b+4>>2];c[37472>>2]=c[b+8>>2];c[37476>>2]=c[b+12>>2];i=d;return 37432}function fk(a){a=a|0;if((a|0)==0){return}aDB(a);return}function fl(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;e=i;i=i+120|0;f=e|0;h=e+8|0;j=e+16|0;k=e+24|0;l=e+32|0;m=e+40|0;n=e+48|0;o=e+56|0;p=e+64|0;q=e+72|0;do{if((a[43896]|0)==0){if((b1(43896)|0)==0){break}else{r=37224}do{r=r+16|0;}while((r|0)!=37272)}}while(0);s=+g[b>>2];t=+g[d>>2];u=+g[b+4>>2];v=+g[d+4>>2];w=+g[b+8>>2];x=+g[d+8>>2];g[f>>2]=s*t+u*v+w*x;y=+g[d+16>>2];z=+g[d+20>>2];A=+g[d+24>>2];g[h>>2]=s*y+u*z+w*A;B=+g[d+32>>2];C=+g[d+36>>2];D=+g[d+40>>2];g[j>>2]=s*B+u*C+w*D;w=+g[b+16>>2];u=+g[b+20>>2];s=+g[b+24>>2];g[k>>2]=w*t+u*v+s*x;g[l>>2]=w*y+u*z+s*A;g[m>>2]=w*B+u*C+s*D;s=+g[b+32>>2];u=+g[b+36>>2];w=+g[b+40>>2];g[n>>2]=s*t+u*v+w*x;g[o>>2]=s*y+u*z+w*A;g[p>>2]=s*B+u*C+w*D;d$(q,f,h,j,k,l,m,n,o,p);p=q;c[9306]=c[p>>2];c[9307]=c[p+4>>2];c[9308]=c[p+8>>2];c[9309]=c[p+12>>2];p=q+16|0;c[9310]=c[p>>2];c[37244>>2]=c[p+4>>2];c[37248>>2]=c[p+8>>2];c[37252>>2]=c[p+12>>2];p=q+32|0;c[9314]=c[p>>2];c[37260>>2]=c[p+4>>2];c[37264>>2]=c[p+8>>2];c[37268>>2]=c[p+12>>2];i=e;return 37224}function fm(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0;d=+g[a+32>>2];do{if(d>1.0){e=-1.0}else{if(d>=-1.0){e=-0.0-d;break}e=1.0}}while(0);+P(+(+W(+e)));return}function fn(a){a=a|0;if((a|0)==0){return}aDB(a);return}function fo(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function fp(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43720]|0)==0){if((b1(43720)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9262]=c[d>>2];c[9263]=c[d+4>>2];c[9264]=c[d+8>>2];c[9265]=c[d+12>>2];i=e;return 37048}function fq(a,b){a=+a;b=+b;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(75)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e>>2]=25424;c[e+4>>2]=10;c[e+52>>2]=1;g[e+28>>2]=a;g[e+32>>2]=b*.5;g[e+36>>2]=a;g[e+40>>2]=0.0;return e|0}function fr(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function fs(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function ft(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function fu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function fv(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function fw(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function fx(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43256]|0)==0){if((b1(43256)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9218]=c[d>>2];c[9219]=c[d+4>>2];c[9220]=c[d+8>>2];c[9221]=c[d+12>>2];i=e;return 36872}function fy(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43416]|0)==0){if((b1(43416)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9762]=c[d>>2];c[9763]=c[d+4>>2];c[9764]=c[d+8>>2];c[9765]=c[d+12>>2];i=e;return 39048}function fz(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function fA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function fB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43576]|0)==0){if((b1(43576)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9718]=c[d>>2];c[9719]=c[d+4>>2];c[9720]=c[d+8>>2];c[9721]=c[d+12>>2];i=e;return 38872}function fC(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function fD(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function fE(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function fF(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function fG(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function fH(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 0:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function fI(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function fJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function fK(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function fL(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function fM(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function fN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function fO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function fP(){var b=0,d=0,e=0;while(1){b=aDx(44)|0;if((b|0)!=0){d=299;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==299){g[b>>2]=0.0;c[b+4>>2]=0;c[b+8>>2]=1;g[b+12>>2]=1.0;a[b+16|0]=1;c[b+20>>2]=0;a[b+24|0]=0;a[b+25|0]=1;a[b+26|0]=1;g[b+28>>2]=.03999999910593033;a[b+32|0]=0;g[b+36>>2]=0.0;c[b+40>>2]=0;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function fQ(a){a=a|0;return c[a+4>>2]|0}function fR(a){a=a|0;return(c[a+4>>2]|0)<20|0}function fS(a){a=a|0;return(c[a+4>>2]|0)<7|0}function fT(a){a=a|0;return c[a+104>>2]|0}function fU(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function fV(a){a=a|0;return a+12|0}function fW(a){a=a|0;return+(+g[a+44>>2])}function fX(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function fY(a){a=a|0;return(c[a+4>>2]|0)==28|0}function fZ(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function f_(a){a=a|0;return c[a+8>>2]|0}function f$(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function f0(a){a=a|0;return(c[a+4>>2]|0)==32|0}function f1(a){a=a|0;return c[a+104>>2]|0}function f2(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function f3(a){a=a|0;return cA[c[(c[a>>2]|0)+104>>2]&4095](a)|0}function f4(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43632]|0)==0){if((b1(43632)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9674]=c[d>>2];c[9675]=c[d+4>>2];c[9676]=c[d+8>>2];c[9677]=c[d+12>>2];i=e;return 38696}function f5(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function f6(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0;do{if((a[43840]|0)==0){if((b1(43840)|0)==0){break}}}while(0);e=c[b+104>>2]|0;f=+g[e+(d<<4)+4>>2]*+g[b+16>>2];h=+g[e+(d<<4)+8>>2]*+g[b+20>>2];g[9630]=+g[e+(d<<4)>>2]*+g[b+12>>2];g[9631]=f;g[9632]=h;g[9633]=0.0;return 38520}function f7(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+96>>2]&1023](a,b,d,e);return}function f8(a){a=a|0;return cA[c[(c[a>>2]|0)+88>>2]&4095](a)|0}function f9(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function ga(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function gb(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+100>>2]&511](a,b,d);return}function gc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function gd(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function ge(a){a=a|0;return cA[c[(c[a>>2]|0)+92>>2]&4095](a)|0}function gf(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function gg(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(131)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}d=b;avo(d,0,0,16);return d|0}function gh(a){a=a|0;var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(131)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}e=d;avo(e,a,0,16);return e|0}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(131)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}f=e;avo(f,a,b,16);return f|0}function gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[9806]=(c[9806]|0)+1;e=aDx(131)|0;if((e|0)==0){f=0}else{g=-(e+4|0)&15;c[e+g>>2]=e;f=e+(g+4)|0}g=f;avo(g,a,b,d);return g|0}function gk(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43160]|0)==0){if((b1(43160)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9598]=c[d>>2];c[9599]=c[d+4>>2];c[9600]=c[d+8>>2];c[9601]=c[d+12>>2];i=e;return 38392}function gl(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function gm(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function go(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43472]|0)==0){if((b1(43472)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9594]=c[d>>2];c[9595]=c[d+4>>2];c[9596]=c[d+8>>2];c[9597]=c[d+12>>2];i=e;return 38376}function gp(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function gq(b,d){b=b|0;d=d|0;var 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;e=b+96|0;f=c[e>>2]|0;g=b+100|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<4|4)+15|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[e>>2]|0}n=b+104|0;if((k|0)>0){l=0;do{o=j+(l<<4)|0;if((o|0)!=0){p=o;o=(c[n>>2]|0)+(l<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=b+108|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-16+12>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[e>>2]|0}else{i=f}}while(0);f=(c[b+104>>2]|0)+(i<<4)|0;if((f|0)==0){q=i;r=q+1|0;c[e>>2]=r;s=b|0;aze(s);return}i=f;f=d;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];q=c[e>>2]|0;r=q+1|0;c[e>>2]=r;s=b|0;aze(s);return}function gr(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function gs(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function gt(a){a=a|0;aze(a|0);return}function gu(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function gv(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function gw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;gx(a|0,b,c,d,e);return}function gx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;f=i;i=i+120|0;h=f|0;j=f+8|0;k=f+16|0;l=f+24|0;m=f+32|0;n=f+40|0;o=f+48|0;p=f+56|0;q=f+64|0;r=f+72|0;s=+g[a+72>>2];t=+g[a+56>>2];u=+g[a+76>>2];v=+g[a+60>>2];w=+g[a+80>>2];x=+g[a+64>>2];y=(s-t)*.5+e;z=(u-v)*.5+e;A=(w-x)*.5+e;e=(s+t)*.5;t=(u+v)*.5;v=(w+x)*.5;a=b|0;g[h>>2]=+P(+(+g[a>>2]));B=b+4|0;g[j>>2]=+P(+(+g[B>>2]));C=b+8|0;g[k>>2]=+P(+(+g[C>>2]));D=b+16|0;g[l>>2]=+P(+(+g[D>>2]));E=b+20|0;g[m>>2]=+P(+(+g[E>>2]));F=b+24|0;g[n>>2]=+P(+(+g[F>>2]));G=b+32|0;g[o>>2]=+P(+(+g[G>>2]));H=b+36|0;g[p>>2]=+P(+(+g[H>>2]));I=b+40|0;g[q>>2]=+P(+(+g[I>>2]));d$(r,h,j,k,l,m,n,o,p,q);x=+g[a>>2]*e+ +g[B>>2]*t+ +g[C>>2]*v+ +g[b+48>>2];w=+g[D>>2]*e+ +g[E>>2]*t+ +g[F>>2]*v+ +g[b+52>>2];u=+g[G>>2]*e+ +g[H>>2]*t+ +g[I>>2]*v+ +g[b+56>>2];v=+g[r>>2]*y+ +g[r+4>>2]*z+ +g[r+8>>2]*A;t=+g[r+16>>2]*y+ +g[r+20>>2]*z+ +g[r+24>>2]*A;e=+g[r+32>>2]*y+ +g[r+36>>2]*z+ +g[r+40>>2]*A;g[c>>2]=x-v;g[c+4>>2]=w-t;g[c+8>>2]=u-e;g[c+12>>2]=0.0;g[d>>2]=x+v;g[d+4>>2]=w+t;g[d+8>>2]=u+e;g[d+12>>2]=0.0;i=f;return}function gy(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43336]|0)==0){if((b1(43336)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9590]=c[d>>2];c[9591]=c[d+4>>2];c[9592]=c[d+8>>2];c[9593]=c[d+12>>2];i=e;return 38360}function gz(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 5:case 4:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function gA(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function gB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function gC(a){a=a|0;return a+28|0}function gD(a){a=a|0;return(c[a+4>>2]|0)==31|0}function gE(a){a=a|0;return c[a+52>>2]|0}function gF(a){a=a|0;return c[a+4>>2]|0}function gG(a){a=a|0;return c[a+96>>2]|0}function gH(a){a=a|0;return c[a>>2]|0}function gI(a){a=a|0;return c[a>>2]|0}function gJ(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gK(a){a=a|0;return c[a+12>>2]|0}function gL(a){a=a|0;return c[a+16>>2]|0}function gM(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function gN(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gO(a){a=a|0;return c[a+28>>2]|0}function gP(a){a=a|0;return c[a+20>>2]|0}function gQ(a){a=a|0;return c[a>>2]|0}function gR(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function gS(a,b){a=a|0;b=b|0;c[a+28>>2]=b;return}function gT(a){a=a|0;return c[a+24>>2]|0}function gU(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function gV(a){a=a|0;return c[a+4>>2]|0}function gW(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function gX(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function gY(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function gZ(a){a=a|0;return c[a+8>>2]|0}function g_(a){a=a|0;return+(+g[a+224>>2])}function g$(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function g0(a){a=a|0;return+(+g[a+220>>2])}function g1(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function g2(a,b){a=a|0;b=b|0;c[a+196>>2]=b;return}function g3(a){a=a|0;var b=0;if((c[a+204>>2]&3|0)!=0){return}b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function g4(a,b){a=a|0;b=b|0;do{if(!b){if((c[a+204>>2]&3|0)==0){break}return}}while(0);b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function g5(a){a=a|0;return a+132|0}function g6(a){a=a|0;return(c[a+204>>2]&7|0)==0|0}function g7(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function g8(a){a=a|0;return c[a+208>>2]|0}function g9(a,b){a=a|0;b=b|0;c[a+212>>2]=b;return}function ha(a){a=a|0;return+(+g[a+248>>2])}function hb(a,b){a=a|0;b=b|0;c[a+236>>2]=b;return}function hc(a){a=a|0;return a+164|0}function hd(a){a=a|0;return a+148|0}function he(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function hf(a){a=a|0;return a+68|0}function hg(a,b){a=a|0;b=b|0;c[a+208>>2]=b;return}function hh(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function hi(a){a=a|0;return c[a+204>>2]|0}function hj(a){a=a|0;return(c[a+204>>2]&1|0)!=0|0}function hk(a){a=a|0;return c[a+192>>2]|0}function hl(a){a=a|0;return c[a+188>>2]|0}function hm(a){a=a|0;return+(+g[a+228>>2])}function hn(a){a=a|0;return c[a+236>>2]|0}function ho(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function hp(a){a=a|0;return a+4|0}function hq(a){a=a|0;var b=0.0;b=+g[a+248>>2];return+(b*b)}function hr(a,b){a=a|0;b=b|0;c[a+192>>2]=b;return}function hs(a){a=a|0;return c[a+212>>2]|0}function ht(a){a=a|0;var b=0;b=c[a+216>>2]|0;return((b|0)==2?0:(b|0)!=5)|0}function hu(a){a=a|0;return c[a+232>>2]|0}function hv(a){a=a|0;return c[a+216>>2]|0}function hw(a){a=a|0;return(c[a+204>>2]&4|0)==0|0}function hx(a,b){a=a|0;b=b|0;var d=0;d=a+216|0;if(((c[d>>2]|0)-4|0)>>>0<2){return}c[d>>2]=b;return}function hy(a){a=a|0;return c[a+200>>2]|0}function hz(a){a=a|0;return+(+g[a+184>>2])}function hA(a){a=a|0;return+(+g[a+240>>2])}function hB(a){a=a|0;return+(+g[a+244>>2])}function hC(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function hD(a){a=a|0;return c[a+196>>2]|0}function hE(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function hF(a){a=a|0;return(c[a+204>>2]&3|0)!=0|0}function hG(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function hH(a){a=a|0;return(c[a+180>>2]|0)!=0|0}function hI(a,b){a=a|0;b=b|0;c[a+188>>2]=b;return}function hJ(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function hK(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function hL(a){a=a|0;return c[a+92>>2]|0}function hM(a){a=a|0;return(c[a+4>>2]|0)<7|0}function hN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function hO(a,b,d){a=a|0;b=b|0;d=+d;return c0[c[(c[a>>2]|0)+112>>2]&127](a,b,d)|0}function hP(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function hQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function hR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+108>>2]&1023](a,b,d,e);return}function hS(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function hT(a){a=a|0;return cA[c[(c[a>>2]|0)+84>>2]&4095](a|0)|0}function hU(a){a=a|0;if((a|0)==0){return}aDB(a);return}function hV(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-32+28>>2]|0);return}function hW(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(51)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}c[b+24>>2]=2;c[b+28>>2]=0;return b|0}function hX(a,b){a=a|0;b=b|0;var d=0;d=a+132|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function hY(a,b){a=a|0;b=b|0;var d=0;d=a+148|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function hZ(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+20>>2]&511](a,b,d)|0}function h_(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+68|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+84|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+100|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+116|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function h$(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(275)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}c[b>>2]=23736;g[b+164>>2]=1.0;g[b+168>>2]=1.0;g[b+172>>2]=1.0;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749400.0;aDD(b+188|0,0,16);c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;c[b+232>>2]=1;c[b+236>>2]=0;g[b+240>>2]=1.0;g[b+244>>2]=0.0;g[b+248>>2]=0.0;c[b+252>>2]=0;g[b+4>>2]=1.0;aDD(b+8|0,0,16);g[b+24>>2]=1.0;aDD(b+28|0,0,16);g[b+44>>2]=1.0;aDD(b+48|0,0,20);return b|0}function h0(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a,b);return}function h1(a,b){a=a|0;b=b|0;var d=0;if((c[a+252>>2]|0)==0){d=1;return d|0}d=dj[c[c[a>>2]>>2]&511](a,b)|0;return d|0}function h2(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a)|0}function h3(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function h4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+164|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];do{if(+g[b>>2]!=1.0){f=1}else{if(+g[b+4>>2]!=1.0){f=1;break}f=+g[b+8>>2]!=1.0|0}}while(0);c[a+180>>2]=f;return}function h5(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function h6(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+20|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+36|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+52|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function h7(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function h8(a){a=a|0;return cA[c[(c[a>>2]|0)+104>>2]&4095](a)|0}function h9(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43448]|0)==0){if((b1(43448)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9586]=c[d>>2];c[9587]=c[d+4>>2];c[9588]=c[d+8>>2];c[9589]=c[d+12>>2];i=e;return 38344}function ia(a,b,d){a=a|0;b=b|0;d=+d;return c0[c[(c[a>>2]|0)+112>>2]&127](a,b,d)|0}function ib(a){a=a|0;return cA[c[(c[a>>2]|0)+88>>2]&4095](a)|0}function ic(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function id(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+100>>2]&511](a,b,d);return}function ie(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(4)|0;if((b|0)!=0){d=578;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==578){c[b>>2]=a;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function ig(a){a=a|0;return a+12|0}function ih(a){a=a|0;return+(+g[a+44>>2])}function ii(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function ij(a){a=a|0;return(c[a+4>>2]|0)<20|0}function ik(a){a=a|0;return(c[a+4>>2]|0)==28|0}function il(a){a=a|0;return c[a+8>>2]|0}function im(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function io(a){a=a|0;return(c[a+4>>2]|0)==32|0}function ip(a){a=a|0;return a+28|0}function iq(a){a=a|0;return(c[a+4>>2]|0)==31|0}function ir(a){a=a|0;return c[a+52>>2]|0}function is(a){a=a|0;return c[a+4>>2]|0}function it(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function iu(a){a=a|0;return+(+g[a+20>>2])}function iv(b){b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(115)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;g[e+56>>2]=1.0;g[e+60>>2]=1.0;g[e+64>>2]=1.0;g[e+68>>2]=0.0;g[e+72>>2]=-1.0;g[e+76>>2]=-1.0;g[e+80>>2]=-1.0;g[e+84>>2]=0.0;a[e+88|0]=0;c[e>>2]=20672;c[e+92>>2]=b;c[e+4>>2]=3;aze(e);return e|0}function iw(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;c[9806]=(c[9806]|0)+1;e=aDx(115)|0;if((e|0)==0){f=0}else{h=-(e+4|0)&15;c[e+h>>2]=e;f=e+(h+4)|0}h=f;c[f+8>>2]=0;g[f+12>>2]=1.0;g[f+16>>2]=1.0;g[f+20>>2]=1.0;g[f+24>>2]=0.0;g[f+44>>2]=.03999999910593033;c[f+52>>2]=0;g[f+56>>2]=1.0;g[f+60>>2]=1.0;g[f+64>>2]=1.0;g[f+68>>2]=0.0;g[f+72>>2]=-1.0;g[f+76>>2]=-1.0;g[f+80>>2]=-1.0;g[f+84>>2]=0.0;a[f+88|0]=0;c[f>>2]=20672;c[f+92>>2]=b;c[f+4>>2]=3;if(!d){return h|0}aze(f);return h|0}function ix(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43280]|0)==0){if((b1(43280)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9582]=c[d>>2];c[9583]=c[d+4>>2];c[9584]=c[d+8>>2];c[9585]=c[d+12>>2];i=e;return 38328}function iy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function iz(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function iA(a){a=a|0;return cA[c[(c[a>>2]|0)+92>>2]&4095](a)|0}function iB(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function iC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+96>>2]&1023](a,b,d,e);return}function iD(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43088]|0)==0){if((b1(43088)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9578]=c[d>>2];c[9579]=c[d+4>>2];c[9580]=c[d+8>>2];c[9581]=c[d+12>>2];i=e;return 38312}function iE(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function iF(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function iG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function iH(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function iI(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function iJ(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function iK(a){a=a|0;aze(a|0);return}function iL(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function iM(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function iN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;gx(a|0,b,c,d,e);return}function iO(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43152]|0)==0){if((b1(43152)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9562]=c[d>>2];c[9563]=c[d+4>>2];c[9564]=c[d+8>>2];c[9565]=c[d+12>>2];i=e;return 38248}function iP(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 13:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function iQ(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function iR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function iS(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function iT(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function iU(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function iV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function iW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+108>>2]&1023](a,b,d,e);return}function iX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function iY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=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.0,v=0.0,w=0.0,x=0.0,y=0.0;h=i;i=i+168|0;j=h|0;k=h+48|0;l=h+64|0;m=h+80|0;n=h+152|0;c[j>>2]=18392;a[j+4|0]=1;o=j+8|0;aDD(o|0,0,36);p=k|0;g[p>>2]=999999984306749400.0;q=k+4|0;g[q>>2]=999999984306749400.0;r=k+8|0;g[r>>2]=999999984306749400.0;g[k+12>>2]=0.0;s=b+92|0;b=c[s>>2]|0;t=c[(c[b>>2]|0)+8>>2]|0;g[l>>2]=-999999984306749400.0;g[l+4>>2]=-999999984306749400.0;g[l+8>>2]=-999999984306749400.0;g[l+12>>2]=0.0;dI[t&1023](b,j|0,l,k);f=+g[j+40>>2];if(f>0.0){u=1.0/f;v=u*+g[j+24>>2];w=u*+g[j+28>>2];x=u*+g[j+32>>2];y=0.0}else{v=+g[o>>2];w=+g[j+12>>2];x=+g[j+16>>2];y=+g[j+20>>2]}g[d+48>>2]=v;g[d+52>>2]=w;g[d+56>>2]=x;g[d+60>>2]=y;c[m>>2]=18360;aDD(m+4|0,0,48);g[m+52>>2]=v;g[m+56>>2]=w;g[m+60>>2]=x;g[m+64>>2]=y;j=c[s>>2]|0;s=c[(c[j>>2]|0)+8>>2]|0;y=-0.0- +g[q>>2];x=-0.0- +g[r>>2];g[n>>2]=-0.0- +g[p>>2];g[n+4>>2]=y;g[n+8>>2]=x;g[n+12>>2]=0.0;dI[s&1023](j,m|0,n,k);k=m+4|0;ev(k,d|0,9999999747378752.0e-21,20);x=+g[k>>2];y=+g[m+24>>2];w=+g[m+44>>2];g[e+12>>2]=0.0;v=1.0/(f*.1666666716337204);g[e>>2]=v*x;g[e+4>>2]=v*y;g[e+8>>2]=v*w;i=h;return}function iZ(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function i_(a){a=a|0;return cA[c[(c[a>>2]|0)+84>>2]&4095](a|0)|0}function i$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f|0;h=f+16|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(g|0,0,16);aDD(h|0,0,16);c_[j&127](a,b,d,e,g,h);i=f;return}function i0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(h|0,0,16);c_[j&127](a,b,d,e,f,h);i=g;return}function i1(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c_[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e,f,g);return}function i2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+16>>2]&255](a,b,d,e,f);return}function i3(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function i4(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+48>>2]&2047](a,b);return}function i5(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a,b);return}function i6(a){a=a|0;ct[c[(c[a>>2]|0)+52>>2]&2047](a);return}function i7(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+20>>2]&1023](a,b,d,e);return}function i8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a,b,d,e);return}function i9(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return c5[c[(c[a>>2]|0)+8>>2]&63](a,b,d,e,f,g,h,i,j)|0}function ja(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a,b,d);return}function jb(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a,b,d);return}function jc(a){a=a|0;return+(+g[a+20>>2]*+g[a+24>>2])}function jd(b){b=b|0;return(a[b+28|0]&1)!=0|0}function je(a){a=a|0;return+(+g[a+12>>2])}function jf(a){a=a|0;return+(+g[a+24>>2])}function jg(a){a=a|0;return+(+g[a+8>>2])}function jh(a){a=a|0;return+(+g[a+4>>2])}function ji(a){a=a|0;return+(+g[a+16>>2])}function jj(a){a=a|0;var b=0;b=c[a+40>>2]|0;c[b+16>>2]=3;c[b+20>>2]=3;return}function jk(a,b){a=a|0;b=b|0;var d=0;d=c[a+40>>2]|0;c[d+16>>2]=b;c[d+20>>2]=3;return}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+40>>2]|0;c[e+16>>2]=b;c[e+20>>2]=d;return}function jm(a,c){a=a|0;c=c|0;b[a+4>>1]=c;return}function jn(a,c){a=a|0;c=c|0;b[a+6>>1]=c;return}function jo(a){a=a|0;return b[a+6>>1]|0}function jp(a){a=a|0;return b[a+4>>1]|0}function jq(a,b){a=a|0;b=+b;var c=0,d=0;c=i;i=i+8|0;d=c|0;g[d>>2]=b;aq4(a,d);i=c;return}function jr(a){a=a|0;if((a|0)==0){return}aDB(a);return}function js(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0;d=(c-b)*.5;g[a+4>>2]=d;c=+ck(+(d+b),6.2831854820251465);do{if(c<-3.1415927410125732){e=c+6.2831854820251465}else{if(c<=3.1415927410125732){e=c;break}e=c-6.2831854820251465}}while(0);g[a>>2]=e;g[a+8>>2]=.8999999761581421;g[a+12>>2]=.30000001192092896;g[a+16>>2]=1.0;return}function jt(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0;e=(c-b)*.5;g[a+4>>2]=e;c=+ck(+(e+b),6.2831854820251465);do{if(c<-3.1415927410125732){f=c+6.2831854820251465}else{if(c<=3.1415927410125732){f=c;break}f=c-6.2831854820251465}}while(0);g[a>>2]=f;g[a+8>>2]=d;g[a+12>>2]=.30000001192092896;g[a+16>>2]=1.0;return}function ju(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0.0,h=0.0;f=(c-b)*.5;g[a+4>>2]=f;c=+ck(+(f+b),6.2831854820251465);do{if(c<-3.1415927410125732){h=c+6.2831854820251465}else{if(c<=3.1415927410125732){h=c;break}h=c-6.2831854820251465}}while(0);g[a>>2]=h;g[a+8>>2]=d;g[a+12>>2]=e;g[a+16>>2]=1.0;return}function jv(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var h=0.0,i=0.0;h=(c-b)*.5;g[a+4>>2]=h;c=+ck(+(h+b),6.2831854820251465);do{if(c<-3.1415927410125732){i=c+6.2831854820251465}else{if(c<=3.1415927410125732){i=c;break}i=c-6.2831854820251465}}while(0);g[a>>2]=i;g[a+8>>2]=d;g[a+12>>2]=e;g[a+16>>2]=f;return}function jw(a){a=a|0;var b=0.0,c=0.0;b=+ck(+(+g[a>>2]+ +g[a+4>>2]),6.2831854820251465);if(b<-3.1415927410125732){c=b+6.2831854820251465;return+c}if(b<=3.1415927410125732){c=b;return+c}c=b-6.2831854820251465;return+c}function jx(b,c){b=b|0;c=+c;var d=0,e=0,f=0,h=0,i=0.0,j=0.0;d=b+20|0;g[d>>2]=0.0;e=b+24|0;g[e>>2]=0.0;f=b+28|0;a[f]=0;h=b+4|0;if(+g[h>>2]<0.0){return}i=+ck(+(c- +g[b>>2]),6.2831854820251465);do{if(i<-3.1415927410125732){j=i+6.2831854820251465}else{if(i<=3.1415927410125732){j=i;break}j=i-6.2831854820251465}}while(0);i=+g[h>>2];if(j<-0.0-i){a[f]=1;g[d>>2]=-0.0-(j+i);g[e>>2]=1.0;return}if(j<=i){return}a[f]=1;g[d>>2]=i-j;g[e>>2]=-1.0;return}function jy(a){a=a|0;var b=0.0,c=0.0;b=+ck(+(+g[a>>2]- +g[a+4>>2]),6.2831854820251465);if(b<-3.1415927410125732){c=b+6.2831854820251465;return+c}if(b<=3.1415927410125732){c=b;return+c}c=b-6.2831854820251465;return+c}function jz(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function jA(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a)|0}function jB(a){a=a|0;return cA[c[(c[a>>2]|0)+8>>2]&4095](a)|0}function jC(a){a=a|0;return cA[c[(c[a>>2]|0)+24>>2]&4095](a)|0}function jD(a){a=a|0;return cA[c[(c[a>>2]|0)+12>>2]&4095](a)|0}function jE(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+20>>2]&511](a,b,d)|0}function jF(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return+(+dq[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i))}function jG(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function jH(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function jI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;return+(+db[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e,f))}function jJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+8>>2]&255](a,b,d,e,f);return}function jK(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function jL(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function jM(){var b=0,d=0,e=0;while(1){b=aDx(32)|0;if((b|0)!=0){d=792;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==792){g[b>>2]=0.0;g[b+4>>2]=-1.0;g[b+8>>2]=.8999999761581421;g[b+12>>2]=.30000001192092896;g[b+16>>2]=1.0;g[b+20>>2]=0.0;g[b+24>>2]=0.0;a[b+28|0]=0;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function jN(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+32|0;b=a|0;while(1){d=aDx(88)|0;if((d|0)!=0){e=804;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==804){e=d;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=4096;c[b+16>>2]=4096;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=1;aw$(e,b);i=a;return e|0}e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}function jO(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(88)|0;if((b|0)!=0){d=816;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==816){d=b;aw$(d,a);return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function jP(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(16)|0;if((b|0)!=0){d=828;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==828){d=b;c[d>>2]=22536;c[b+4>>2]=c[a>>2];c[d>>2]=19832;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function jQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;while(1){g=aDx(16)|0;if((g|0)!=0){break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){i=837;break}dC[h&63]()}if((i|0)==837){i=cd(4)|0;c[i>>2]=19096;bF(i|0,34368,676);return 0}i=g;h=g;c[h>>2]=22536;j=c[d>>2]|0;c[g+4>>2]=j;c[h>>2]=19832;h=g+8|0;a[h]=0;d=g+12|0;c[d>>2]=b;if((b|0)!=0){return i|0}c[d>>2]=cS[c[(c[j>>2]|0)+12>>2]&511](j,e,f)|0;a[h]=1;return i|0}function jR(){var a=0,b=0,d=0;while(1){a=aDx(40)|0;if((a|0)!=0){b=856;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){b=853;break}dC[d&63]()}if((b|0)==853){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}else if((b|0)==856){b=a;az0(b,16384,0);return b|0}return 0}function jS(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(40)|0;if((b|0)!=0){d=870;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){d=867;break}dC[e&63]()}if((d|0)==867){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}else if((d|0)==870){d=b;az0(d,a,0);return d|0}return 0}function jT(a,b){a=a|0;b=b|0;return}function jU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(+g[b+16>>2]>+g[c+32>>2]){d=0;return d|0}if(+g[c+16>>2]>+g[b+32>>2]){d=0;return d|0}if(+g[b+20>>2]>+g[c+36>>2]){d=0;return d|0}if(+g[c+20>>2]>+g[b+36>>2]){d=0;return d|0}if(+g[b+24>>2]>+g[c+40>>2]){d=0;return d|0}d=+g[c+24>>2]<=+g[b+40>>2];return d|0}function jV(a,b){a=a|0;b=b|0;var c=0;if(+g[a+16>>2]>+g[b+32>>2]){c=0;return c|0}if(+g[b+16>>2]>+g[a+32>>2]){c=0;return c|0}if(+g[a+20>>2]>+g[b+36>>2]){c=0;return c|0}if(+g[b+20>>2]>+g[a+36>>2]){c=0;return c|0}if(+g[a+24>>2]>+g[b+40>>2]){c=0;return c|0}c=+g[b+24>>2]<=+g[a+40>>2];return c|0}function jW(a){a=a|0;return c[a+1116>>2]|0}function jX(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function jY(a){a=a|0;return c[a+1112>>2]|0}function jZ(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;d=+g[b+80>>2];if((c[b+144>>2]|0)>1){e=+g[a+1120>>2];f=d<=e;return f|0}else{e=+g[a+1124>>2];f=d<=e;return f|0}return 0}function j_(a){a=a|0;return c[a>>2]|0}function j$(a,b){a=a|0;b=b|0;c[a+1136>>2]=b;return}function j0(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0;d=+g[a+1120>>2];e=c[a+1116>>2]|0;if((e|0)<=0){f=-1;return f|0}h=+g[b>>2];i=+g[b+4>>2];j=+g[b+8>>2];b=0;k=-1;l=d*d;while(1){d=+g[a+4+(b*276|0)>>2]-h;m=+g[a+4+(b*276|0)+4>>2]-i;n=+g[a+4+(b*276|0)+8>>2]-j;o=d*d+m*m+n*n;p=o>2]|0}function j2(a,b){a=a|0;b=b|0;return a+4+(b*276|0)|0}function j3(a){a=a|0;return+(+g[a+1120>>2])}function j4(a){a=a|0;var b=0,d=0;b=a+1116|0;a=c[b>>2]|0;d=0;while(1){if((d|0)>=(a|0)){break}d=d+1|0}c[b>>2]=0;return}function j5(a){a=a|0;return c[a+1108>>2]|0}function j6(a,b,d){a=a|0;b=b|0;d=d|0;c[a+1108>>2]=b;c[a+1112>>2]=d;return}function j7(a){a=a|0;return c[a+1136>>2]|0}function j8(a){a=a|0;return+(+g[a+1124>>2])}function j9(a){a=a|0;return c[a+1132>>2]|0}function ka(a){a=a|0;return c[a+1128>>2]|0}function kb(a,b){a=a|0;b=b|0;c[a+1132>>2]=b;return}function kc(a,b){a=a|0;b=b|0;c[a+1128>>2]=b;return}function kd(a){a=a|0;return c[a+64>>2]|0}function ke(a){a=a|0;return(c[a+4>>2]|0)<20|0}function kf(a){a=a|0;return c[a+68>>2]|0}function kg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+16>>2]&255](a,b,d,e,f);return}function kh(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f|0;h=f+16|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(g|0,0,16);aDD(h|0,0,16);c_[j&127](a,b,d,e,g,h);i=f;return}function kj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(h|0,0,16);c_[j&127](a,b,d,e,f,h);i=g;return}function kk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c_[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e,f,g);return}function kl(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a,b);return}function km(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+20>>2]&1023](a,b,d,e);return}function kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a,b,d,e);return}function ko(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return c5[c[(c[a>>2]|0)+8>>2]&63](a,b,d,e,f,g,h,i,j)|0}function kp(a){a=a|0;ct[c[(c[a>>2]|0)+52>>2]&2047](a);return}function kq(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a,b,d);return}function kr(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a,b,d);return}function ks(a){a=a|0;return cA[c[(c[a>>2]|0)+8>>2]&4095](a)|0}function kt(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a)|0}function ku(a){a=a|0;return cA[c[(c[a>>2]|0)+12>>2]&4095](a)|0}function kv(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+20>>2]&511](a,b,d)|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;ay6(a,b,c);return}function kx(){var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(1159)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}c[d>>2]=1025;c[d+112>>2]=0;g[d+116>>2]=0.0;a[d+120|0]=0;aDD(d+124|0,0,28);c[d+388>>2]=0;g[d+392>>2]=0.0;a[d+396|0]=0;aDD(d+400|0,0,28);c[d+664>>2]=0;g[d+668>>2]=0.0;a[d+672|0]=0;aDD(d+676|0,0,28);c[d+940>>2]=0;g[d+944>>2]=0.0;a[d+948|0]=0;aDD(d+952|0,0,28);c[d+1108>>2]=0;c[d+1112>>2]=0;c[d+1116>>2]=0;c[d+1136>>2]=0;return d|0}function ky(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=+f;h=+h;var i=0,j=0,k=0;c[9806]=(c[9806]|0)+1;e=aDx(1159)|0;i=-(e+4|0)&15;c[e+i>>2]=e;j=e+(i+4)|0;c[j>>2]=1025;i=j+1108|0;e=j+4|0;while(1){c[e+108>>2]=0;g[e+112>>2]=0.0;a[e+116|0]=0;k=e+276|0;aDD(e+120|0,0,28);if((k|0)==(i|0)){break}else{e=k}}c[j+1108>>2]=b;c[j+1112>>2]=d;c[j+1116>>2]=0;g[j+1120>>2]=f;g[j+1124>>2]=h;return j|0}function kz(a,b){a=a|0;b=b|0;return ay5(a,b)|0}function kA(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;e=b+1116|0;f=c[e>>2]|0;h=f-1|0;if((h|0)==(d|0)){i=f;j=i-1|0;c[e>>2]=j;return}f=b+4+(d*276|0)|0;d=b+4+(h*276|0)|0;aDC(f|0,d|0,276)|0;c[b+4+(h*276|0)+108>>2]=0;g[b+4+(h*276|0)+208>>2]=0.0;g[b+4+(h*276|0)+240>>2]=0.0;g[b+4+(h*276|0)+272>>2]=0.0;g[b+4+(h*276|0)+112>>2]=0.0;a[b+4+(h*276|0)+116|0]=0;g[b+4+(h*276|0)+120>>2]=0.0;g[b+4+(h*276|0)+124>>2]=0.0;c[b+4+(h*276|0)+144>>2]=0;i=c[e>>2]|0;j=i-1|0;c[e>>2]=j;return}function kB(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-1140+1136>>2]|0);return}function kC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0;e=a+4+(d*276|0)+144|0;f=c[e>>2]|0;h=a+4+(d*276|0)+208|0;i=+g[h>>2];j=a+4+(d*276|0)+240|0;k=+g[j>>2];l=a+4+(d*276|0)+272|0;m=+g[l>>2];n=a+4+(d*276|0)+108|0;o=c[n>>2]|0;p=a+4+(d*276|0)|0;q=b;aDC(p|0,q|0,276)|0;c[n>>2]=o;g[a+4+(d*276|0)+112>>2]=i;g[a+4+(d*276|0)+120>>2]=k;g[a+4+(d*276|0)+124>>2]=m;g[h>>2]=i;g[j>>2]=k;g[l>>2]=m;c[e>>2]=f;return}function kD(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+8>>2]&511](a,b,d);return}function kE(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function kF(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function kG(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function kH(b){b=b|0;var d=0,e=0,f=0,g=0,h=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;d=i;i=i+48|0;e=d|0;f=d+16|0;g=e;h=f;j=b+64|0;if((c[j>>2]|0)!=0){i=d;return}c[9806]=(c[9806]|0)+1;k=aDx(59)|0;do{if((k|0)==0){l=0}else{m=-(k+4|0)&15;n=k+(m+4)|0;c[k+m>>2]=k;if((n|0)==0){l=0;break}a[k+(m+40)|0]=1;c[k+(m+36)>>2]=0;c[k+(m+28)>>2]=0;c[k+(m|32)>>2]=0;c[n>>2]=0;c[k+(m+8)>>2]=0;c[k+(m+12)>>2]=-1;c[k+(m|16)>>2]=0;c[k+(m+20)>>2]=0;l=n}}while(0);c[j>>2]=l;l=b+16|0;if((c[l>>2]|0)<=0){i=d;return}k=b+24|0;b=f+16|0;n=f|0;f=0;do{m=c[k>>2]|0;o=c[m+(f*80|0)+64>>2]|0;dI[c[(c[o>>2]|0)+8>>2]&1023](o,m+(f*80|0)|0,n,e);c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2];o=c[j>>2]|0;p=o+4|0;q=c[p>>2]|0;do{if((q|0)==0){c[9806]=(c[9806]|0)+1;r=aDx(63)|0;if((r|0)==0){s=0;break}t=-(r+4|0)&15;u=r+(t+4)|0;c[r+t>>2]=r;if((u|0)==0){s=0;break}aDD(u|0,0,44);s=u}else{c[p>>2]=0;s=q}}while(0);c[s+32>>2]=0;c[s+36>>2]=f;c[s+40>>2]=0;q=s;aDC(q|0,h|0,32)|0;awv(o,c[o>>2]|0,s);q=o+12|0;c[q>>2]=(c[q>>2]|0)+1;c[m+(f*80|0)+76>>2]=s;f=f+1|0;}while((f|0)<(c[l>>2]|0));i=d;return}function kI(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(111)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}d=b;auE(d,1);return d|0}function kJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;while(1){d=aDx(40)|0;if((d|0)!=0){e=1008;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){e=1005;break}dC[f&63]()}if((e|0)==1005){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}else if((e|0)==1008){e=d;az0(e,a,b);return e|0}return 0}function kK(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function kL(a){a=a|0;return(c[a+4>>2]|0)==31|0}function kM(a){a=a|0;return(c[a+4>>2]|0)<7|0}function kN(a,b){a=a|0;b=b|0;return c[(c[a+24>>2]|0)+(b*80|0)+64>>2]|0}function kO(a){a=a|0;return(c[a+4>>2]|0)==28|0}function kP(a,b){a=a|0;b=b|0;return(c[a+24>>2]|0)+(b*80|0)|0}function kQ(a){a=a|0;return c[a+8>>2]|0}function kR(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function kS(a){a=a|0;return c[a+24>>2]|0}function kT(a){a=a|0;return c[a+16>>2]|0}function kU(a){a=a|0;return(c[a+4>>2]|0)==32|0}function kV(a){a=a|0;var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(111)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}e=d;auE(e,a);return e|0}function kW(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function kX(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function kY(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function kZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function k_(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function k$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=i;i=i+128|0;h=f+64|0;j=f+80|0;k=f+96|0;l=f|0;m=f+16|0;n=f+32|0;o=f+48|0;p=h;q=j;r=k;s=b+68|0;c[s>>2]=(c[s>>2]|0)+1;s=d;c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[l+12>>2]=c[s+12>>2];s=d+16|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2];c[m+12>>2]=c[s+12>>2];s=d+32|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];s=d+48|0;c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];c[o+8>>2]=c[s+8>>2];c[o+12>>2]=c[s+12>>2];s=c[e+4>>2]|0;t=+dh[c[(c[e>>2]|0)+44>>2]&1023](e);dI[c[(c[e>>2]|0)+8>>2]&1023](e,d,h,j);d=b+32|0;u=+g[h>>2];if(+g[d>>2]>u){g[d>>2]=u}d=b+48|0;u=+g[j>>2];if(+g[d>>2]>2]=u}d=b+36|0;u=+g[h+4>>2];if(+g[d>>2]>u){g[d>>2]=u}d=b+52|0;u=+g[j+4>>2];if(+g[d>>2]>2]=u}d=b+40|0;u=+g[h+8>>2];if(+g[d>>2]>u){g[d>>2]=u}d=b+56|0;u=+g[j+8>>2];if(+g[d>>2]>2]=u}d=c[b+64>>2]|0;if((d|0)==0){v=0;w=b+16|0}else{c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=k+16|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];q=b+16|0;p=c[q>>2]|0;k=d+4|0;j=c[k>>2]|0;do{if((j|0)==0){c[9806]=(c[9806]|0)+1;h=aDx(63)|0;if((h|0)==0){x=0;break}y=-(h+4|0)&15;z=h+(y+4)|0;c[h+y>>2]=h;if((z|0)==0){x=0;break}aDD(z|0,0,44);x=z}else{c[k>>2]=0;x=j}}while(0);c[x+32>>2]=0;c[x+36>>2]=p;c[x+40>>2]=0;p=x;aDC(p|0,r|0,32)|0;awv(d,c[d>>2]|0,x);r=d+12|0;c[r>>2]=(c[r>>2]|0)+1;v=x;w=q}q=c[w>>2]|0;x=b+20|0;do{if((q|0)==(c[x>>2]|0)){r=(q|0)==0?1:q<<1;if((q|0)>=(r|0)){A=q;break}do{if((r|0)==0){B=0}else{c[9806]=(c[9806]|0)+1;d=aDx((r*80|0|4)+15|0)|0;if((d|0)==0){B=0;break}p=-(d+4|0)&15;c[d+p>>2]=d;B=d+(p+4)|0}}while(0);p=c[b+16>>2]|0;d=b+24|0;if((p|0)>0){j=0;do{k=c[d>>2]|0;z=B+(j*80|0)|0;h=k+(j*80|0)|0;c[z>>2]=c[h>>2];c[z+4>>2]=c[h+4>>2];c[z+8>>2]=c[h+8>>2];c[z+12>>2]=c[h+12>>2];h=B+(j*80|0)+16|0;z=k+(j*80|0)+16|0;c[h>>2]=c[z>>2];c[h+4>>2]=c[z+4>>2];c[h+8>>2]=c[z+8>>2];c[h+12>>2]=c[z+12>>2];z=B+(j*80|0)+32|0;h=k+(j*80|0)+32|0;c[z>>2]=c[h>>2];c[z+4>>2]=c[h+4>>2];c[z+8>>2]=c[h+8>>2];c[z+12>>2]=c[h+12>>2];h=B+(j*80|0)+48|0;z=k+(j*80|0)+48|0;c[h>>2]=c[z>>2];c[h+4>>2]=c[z+4>>2];c[h+8>>2]=c[z+8>>2];c[h+12>>2]=c[z+12>>2];c[B+(j*80|0)+64>>2]=c[k+(j*80|0)+64>>2];c[B+(j*80|0)+68>>2]=c[k+(j*80|0)+68>>2];g[B+(j*80|0)+72>>2]=+g[k+(j*80|0)+72>>2];c[B+(j*80|0)+76>>2]=c[k+(j*80|0)+76>>2];j=j+1|0;}while((j|0)<(p|0))}p=c[d>>2]|0;j=b+28|0;if((p|0)!=0){if((a[j]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-80+76>>2]|0)}c[d>>2]=0}a[j]=1;c[d>>2]=B;c[x>>2]=r;A=c[w>>2]|0}else{A=q}}while(0);q=c[b+24>>2]|0;b=q+(A*80|0)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];l=q+(A*80|0)+16|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];m=q+(A*80|0)+32|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=q+(A*80|0)+48|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[q+(A*80|0)+64>>2]=e;c[q+(A*80|0)+68>>2]=s;g[q+(A*80|0)+72>>2]=t;c[q+(A*80|0)+76>>2]=v;c[w>>2]=(c[w>>2]|0)+1;i=f;return}function k0(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a))}function k1(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function k2(a,b){a=a|0;b=b|0;auH(a,b);return}function k3(a){a=a|0;ct[c[(c[a>>2]|0)+64>>2]&2047](a);return}function k4(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function k5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+48|0;f=e|0;g=e+16|0;h=f;j=g;k=a+24|0;l=c[k>>2]|0;m=l+(b*80|0)|0;n=d;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=l+(b*80|0)+16|0;m=d+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];m=l+(b*80|0)+32|0;n=d+32|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=l+(b*80|0)+48|0;l=d+48|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];l=a+64|0;if((c[l>>2]|0)==0){o=a;p=c[o>>2]|0;q=p+64|0;r=c[q>>2]|0;ct[r&2047](a);i=e;return}n=c[(c[k>>2]|0)+(b*80|0)+64>>2]|0;dI[c[(c[n>>2]|0)+8>>2]&1023](n,d,g|0,f);f=g+16|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=c[l>>2]|0;l=c[(c[k>>2]|0)+(b*80|0)+76>>2]|0;b=aww(h,l)|0;L1123:do{if((b|0)==0){s=0}else{k=c[h+8>>2]|0;if((k|0)>-1){t=0;u=b}else{s=c[h>>2]|0;break}while(1){if((t|0)>=(k|0)){s=u;break L1123}f=c[u+32>>2]|0;if((f|0)==0){s=u;break}else{t=t+1|0;u=f}}}}while(0);u=l;aDC(u|0,j|0,32)|0;awv(h,s,l);o=a;p=c[o>>2]|0;q=p+64|0;r=c[q>>2]|0;ct[r&2047](a);i=e;return}function k6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;g=f|0;h=f+16|0;j=g;k=h;l=a+24|0;m=c[l>>2]|0;n=m+(b*80|0)|0;o=d;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];o=m+(b*80|0)+16|0;n=d+16|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];n=m+(b*80|0)+32|0;o=d+32|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];o=m+(b*80|0)+48|0;m=d+48|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=a+64|0;if((c[m>>2]|0)!=0){o=c[(c[l>>2]|0)+(b*80|0)+64>>2]|0;dI[c[(c[o>>2]|0)+8>>2]&1023](o,d,h|0,g);g=h+16|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];j=c[m>>2]|0;m=c[(c[l>>2]|0)+(b*80|0)+76>>2]|0;b=aww(j,m)|0;L1135:do{if((b|0)==0){p=0}else{l=c[j+8>>2]|0;if((l|0)>-1){q=0;r=b}else{p=c[j>>2]|0;break}while(1){if((q|0)>=(l|0)){p=r;break L1135}g=c[r+32>>2]|0;if((g|0)==0){p=r;break}else{q=q+1|0;r=g}}}}while(0);r=m;aDC(r|0,k|0,32)|0;awv(j,p,m)}if(!e){i=f;return}ct[c[(c[a>>2]|0)+64>>2]&2047](a);i=f;return}function k7(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function k8(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function k9(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function la(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function lb(a){a=a|0;return c[a+4>>2]|0}function lc(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function ld(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function le(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function lf(a){a=a|0;return(c[a+4>>2]|0)==31|0}function lg(a){a=a|0;return(c[a+4>>2]|0)<7|0}function lh(a){a=a|0;return c[a+32>>2]|0}function li(a){a=a|0;return(c[a+4>>2]|0)<20|0}function lj(a){a=a|0;return(c[a+4>>2]|0)==28|0}function lk(a){a=a|0;return c[a+8>>2]|0}function ll(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function lm(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function ln(a){a=a|0;return(c[a+4>>2]|0)==32|0}function lo(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function lp(a){a=a|0;return c[a+4>>2]|0}function lq(a){a=a|0;return a+100|0}function lr(a){a=a|0;return c[a+24>>2]|0}function ls(a,b){a=a|0;b=b|0;c[a+76>>2]=b;return}function lt(a){a=a|0;return a+4|0}function lu(a,b){a=a|0;b=b|0;c[a+88>>2]=b;c[a+96>>2]=0;return}function lv(a,b,d){a=a|0;b=b|0;d=d|0;c[a+88>>2]=b;c[a+96>>2]=d;return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(e){c[a+92>>2]=b}else{c[a+88>>2]=b}c[a+96>>2]=d;return}function lx(b){b=b|0;return(a[b+84|0]&1)!=0|0}function ly(a){a=a|0;return c[a+8>>2]|0}function lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0;f=i;i=i+64|0;h=f|0;j=f+48|0;k=h;l=c[a+16>>2]|0;m=(l|0)>0;if(m){n=c[a+24>>2]|0;o=0.0;p=0.0;q=0.0;r=0.0;s=0;while(1){t=+g[b+(s<<2)>>2];u=r+ +g[n+(s*80|0)+48>>2]*t;v=q+t*+g[n+(s*80|0)+52>>2];w=p+t*+g[n+(s*80|0)+56>>2];x=o+t;y=s+1|0;if((y|0)<(l|0)){o=x;p=w;q=v;r=u;s=y}else{z=x;A=w;B=v;C=u;break}}}else{z=0.0;A=0.0;B=0.0;C=0.0}r=1.0/z;z=C*r;C=B*r;B=A*r;g[d+48>>2]=z;g[d+52>>2]=C;g[d+56>>2]=B;g[d+60>>2]=0.0;s=h|0;n=h+4|0;y=h+8|0;D=h+16|0;E=h+20|0;F=h+24|0;G=h+32|0;H=h+36|0;I=h+40|0;aDD(k|0,0,48);if(!m){J=d|0;ev(h,J,9999999747378752.0e-21,20);K=+g[s>>2];L=e|0;g[L>>2]=K;M=+g[E>>2];N=e+4|0;g[N>>2]=M;O=+g[I>>2];P=e+8|0;g[P>>2]=O;Q=e+12|0;g[Q>>2]=0.0;i=f;return}m=a+24|0;a=j|0;k=j+4|0;R=j+8|0;S=0;T=c[m>>2]|0;r=0.0;A=0.0;q=0.0;p=0.0;o=0.0;u=0.0;v=0.0;w=0.0;x=0.0;do{U=c[T+(S*80|0)+64>>2]|0;V=b+(S<<2)|0;cX[c[(c[U>>2]|0)+32>>2]&255](U,+g[V>>2],j);T=c[m>>2]|0;t=+g[T+(S*80|0)+48>>2]-z;W=+g[T+(S*80|0)+52>>2]-C;X=+g[T+(S*80|0)+56>>2]-B;Y=+g[T+(S*80|0)>>2];Z=+g[T+(S*80|0)+16>>2];_=+g[T+(S*80|0)+32>>2];$=+g[T+(S*80|0)+4>>2];aa=+g[T+(S*80|0)+20>>2];ab=+g[T+(S*80|0)+36>>2];ac=+g[T+(S*80|0)+8>>2];ad=+g[T+(S*80|0)+24>>2];ae=+g[T+(S*80|0)+40>>2];af=+g[a>>2];ag=Y*af;ah=Z*af;ai=_*af;af=+g[k>>2];aj=$*af;ak=aa*af;al=ab*af;af=+g[R>>2];am=ac*af;an=ad*af;ao=ae*af;af=t*t+W*W+X*X;ap=-0.0-t;aq=-0.0-W;ar=-0.0-X;as=+g[V>>2];r=(t*ap+af)*as+(r+(Y*ag+$*aj+ac*am));g[s>>2]=r;A=(W*ap+0.0)*as+(A+(Y*ah+$*ak+ac*an));g[n>>2]=A;q=(X*ap+0.0)*as+(Y*ai+$*al+ac*ao+q);g[y>>2]=q;p=(t*aq+0.0)*as+(Z*ag+aa*aj+ad*am+p);g[D>>2]=p;o=(W*aq+af)*as+(Z*ah+aa*ak+ad*an+o);g[E>>2]=o;u=(X*aq+0.0)*as+(Z*ai+aa*al+ad*ao+u);g[F>>2]=u;v=(t*ar+0.0)*as+(_*ag+ab*aj+ae*am+v);g[G>>2]=v;w=(W*ar+0.0)*as+(_*ah+ab*ak+ae*an+w);g[H>>2]=w;x=(X*ar+af)*as+(_*ai+ab*al+ae*ao+x);g[I>>2]=x;S=S+1|0;}while((S|0)<(l|0));J=d|0;ev(h,J,9999999747378752.0e-21,20);K=+g[s>>2];L=e|0;g[L>>2]=K;M=+g[E>>2];N=e+4|0;g[N>>2]=M;O=+g[I>>2];P=e+8|0;g[P>>2]=O;Q=e+12|0;g[Q>>2]=0.0;i=f;return}function lA(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function lB(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function lC(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function lD(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function lE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+60>>2]&1023](a,b,d,e);return}function lF(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function lG(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function lH(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function lI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function lJ(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function lK(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function lL(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function lM(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function lN(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function lO(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function lP(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function lQ(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function lR(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+68>>2]&2047](a,b);return}function lS(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function lT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+44>>2]&2047](a|0,b);return}function lU(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+80>>2]&2047](a,b);return}function lV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+84>>2]&1023](a,b,d,e);return}function lW(a){a=a|0;ct[c[(c[a>>2]|0)+116>>2]&2047](a);return}function lX(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+124>>2]&2047](a,b);return}function lY(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a|0)|0}function lZ(a){a=a|0;ct[c[(c[a>>2]|0)+40>>2]&2047](a|0);return}function l_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+24>>2]&1023](a|0,b,d,e);return}function l$(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a,b);return}function l0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a|0,b,d,e);return}function l1(a){a=a|0;return cA[c[(c[a>>2]|0)+100>>2]&4095](a)|0}function l2(a,b){a=a|0;b=b|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,1,-1);return}function l3(a,b,d){a=a|0;b=b|0;d=d|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,d,-1);return}function l4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,d,e);return}function l5(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+88>>2]&2047](a,b);return}function l6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;f=e|0;g=e+16|0;h=e+32|0;j=c[b+192>>2]|0;dI[c[(c[j>>2]|0)+8>>2]&1023](j,b+4|0,f,g);c[h>>2]=21168;c[h+4>>2]=b;c[h+8>>2]=a;c[h+12>>2]=d;d=c[a+76>>2]|0;dI[c[(c[d>>2]|0)+28>>2]&1023](d,f,g,h|0);i=e;return}function l7(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a|0);return}function l8(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a|0,b);return}function l9(a){a=a|0;ct[c[(c[a>>2]|0)+76>>2]&2047](a);return}function ma(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;atO(a|0,b,c,d,e,0.0);return}function mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;atO(a|0,b,c,d,e,f);return}function mc(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function md(a,b){a=a|0;b=b|0;dA[c[(c[a>>2]|0)+52>>2]&511](a,b,0);return}function me(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+52>>2]&511](a,b,d);return}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+168|0;g=f|0;h=a+24|0;j=c[h>>2]|0;k=dE[c[(c[j>>2]|0)+8>>2]&127](j,b,d,0)|0;if((k|0)==0){i=f;return}c[g+4>>2]=0;c[g+136>>2]=b;c[g+140>>2]=d;j=g+8|0;l=b+4|0;aDD(g+144|0,-1|0,16);c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+24|0;j=b+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+40|0;l=b+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+56|0;j=b+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+72|0;l=d+4|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+88|0;j=d+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+104|0;l=d+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+120|0;j=d+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];c[g>>2]=21728;c[g+160>>2]=e;co[c[(c[k>>2]|0)+8>>2]&255](k,b,d,a+28|0,g|0);ct[c[c[k>>2]>>2]&2047](k);g=c[h>>2]|0;cv[c[(c[g>>2]|0)+60>>2]&2047](g,k);i=f;return}function mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;while(1){d=aDx(36)|0;if((d|0)!=0){e=1205;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==1205){e=d+4|0;c[e>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=20128;f=d+16|0;h=b;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[d+32>>2]=a;c[e>>2]=22;return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function mh(a){a=a|0;return c[a+76>>2]|0}function mi(b,c){b=b|0;c=c|0;a[b+84|0]=c&1;return}function mj(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function mk(a){a=a|0;return c[a+96>>2]|0}function ml(a){a=a|0;return a+28|0}function mm(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function mn(a){a=a|0;return+(+g[a+4>>2])}function mo(a){a=a|0;return+(+g[a+8>>2])}function mp(a,b){a=a|0;b=+b;g[a>>2]=b;return}function mq(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function mr(a){a=a|0;return+(+g[a>>2])}function ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+8|0;e=c[d>>2]|0;f=e+b|0;if(f>>>0>=(c[a+4>>2]|0)>>>0){g=0;return g|0}c[d>>2]=f;g=(c[a>>2]|0)+e|0;return g|0}function mt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+8|0;d=c[b>>2]|0;e=d+8|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[b>>2]=e;e=a|0;f=(c[e>>2]|0)+d|0;g=e}else{f=0;g=a|0}e=f;d=a+12|0;c[f>>2]=c[d>>2];c[f+4>>2]=(c[g>>2]|0)+(c[b>>2]|0);c[d>>2]=e;return e|0}function mu(a){a=a|0;return(c[a+4>>2]|0)-(c[a+8>>2]|0)|0}function mv(a,b){a=a|0;b=b|0;var d=0;d=a+12|0;if((c[d>>2]|0)!=(b|0)){return}c[d>>2]=c[b>>2];c[a+8>>2]=(c[b+4>>2]|0)-(c[a>>2]|0)-8;return}function mw(a){a=a|0;return c[a+28>>2]|0}function mx(a){a=a|0;return c[a+12>>2]|0}function my(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function mz(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function mA(a){a=a|0;return a+40|0}function mB(a,b){a=a|0;b=b|0;return+(+g[a+1248+(b<<2)>>2])}function mC(a){a=a|0;return a+104|0}function mD(a){a=a|0;return a+1056|0}function mE(a){a=a|0;return c[a+12>>2]|0}function mF(a){a=a|0;return c[a+4>>2]|0}function mG(a){a=a|0;return c[a+24>>2]|0}function mH(a){a=a|0;return+(+g[a+16>>2])}function mI(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d|0;do{if((a[43912]|0)==0){if((b1(43912)|0)==0){break}}}while(0);cv[c[(c[b>>2]|0)+72>>2]&2047](e,b);b=e;c[9558]=c[b>>2];c[9559]=c[b+4>>2];c[9560]=c[b+8>>2];c[9561]=c[b+12>>2];i=d;return 38232}function mJ(a){a=a|0;ct[c[(c[a>>2]|0)+20>>2]&2047](a);return}function mK(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;atG(a,b,c,d,e,f);return}function mL(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+64>>2]&2047](a,b);return}function mM(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+132>>2]&2047](a,b);return}function mN(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+104>>2]&511](a,b)|0}function mO(a){a=a|0;return cA[c[(c[a>>2]|0)+96>>2]&4095](a)|0}function mP(a,b){a=a|0;b=+b;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,1,.01666666753590107)|0}function mQ(a,b,d){a=a|0;b=+b;d=d|0;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,d,.01666666753590107)|0}function mR(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,d,e)|0}function mS(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+128>>2]&2047](a,b);return}function mT(a){a=a|0;return cA[c[(c[a>>2]|0)+112>>2]&4095](a)|0}function mU(a,b){a=a|0;b=b|0;atC(a|0,b);return}function mV(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+120>>2]&2047](a,b);return}function mW(a){a=a|0;var b=0;b=c[a+76>>2]|0;return cA[c[(c[b>>2]|0)+36>>2]&4095](b)|0}function mX(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a|0,b);return}function mY(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+92>>2]&2047](a,b);return}function mZ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;atI(a,b,c,d,e,f,g,h);return}function m_(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function m$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e)|0}function m0(a){a=a|0;if((a|0)==0){return}aDB(a);return}function m1(b){b=b|0;var d=0,e=0,f=0,g=0;if((b|0)==0){return}d=b+8|0;L1333:do{if((c[d>>2]|0)==0){e=b|0;do{if((a[b+16|0]&1)==0){f=c[e>>2]|0;if((f|0)==0){c[e>>2]=0;c[d>>2]=0;break L1333}else{c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0);g=e;break}}else{g=e}}while(0);c[g>>2]=0;c[d>>2]=0}}while(0);aDB(b);return}function m2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+8|0;if((c[e>>2]|0)==0){f=b|0;do{if((a[b+16|0]&1)==0){g=c[f>>2]|0;if((g|0)==0){h=f;break}c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0);h=f}else{h=f}}while(0);c[h>>2]=0;c[e>>2]=0}c[9806]=(c[9806]|0)+1;e=aDx(d+19|0)|0;if((e|0)==0){i=0;j=b|0;c[j>>2]=i;k=b+4|0;c[k>>2]=d;return}h=-(e+4|0)&15;c[e+h>>2]=e;i=e+(h+4)|0;j=b|0;c[j>>2]=i;k=b+4|0;c[k>>2]=d;return}function m3(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+8|0;if((c[d>>2]|0)!=0){return}e=b|0;do{if((a[b+16|0]&1)==0){f=c[e>>2]|0;if((f|0)==0){g=e;break}c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0);g=e}else{g=e}}while(0);c[g>>2]=0;c[d>>2]=0;return}function m4(a){a=a|0;if((a|0)==0){return}aDB(a);return}function m5(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a|0);return}function m6(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a|0,b,d,-1);return}function m7(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a|0,b,d,e);return}function m8(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;apb(a|0,b,c,d,e,f,g,h);return}function m9(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a|0,b,-1))}function na(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a|0,b,d))}function nb(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0,h=0.0;d=i;i=i+16|0;e=d|0;g[e>>2]=0.0;g[e+4>>2]=b;g[e+8>>2]=c;g[e+12>>2]=0.0;f=0;while(1){if((f|0)>=3){break}c=+ck(+(+g[e+(f<<2)>>2]),6.2831854820251465);do{if(c<-3.1415927410125732){h=c+6.2831854820251465}else{if(c<=3.1415927410125732){h=c;break}h=c-6.2831854820251465}}while(0);g[a+860+(f<<6)+4>>2]=h;f=f+1|0}i=d;return}function nc(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a|0,b);return}function nd(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a|0,b);return}function ne(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(8)|0;if((b|0)!=0){d=1337;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==1337){c[b>>2]=20640;c[b+4>>2]=a;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function nf(){var a=0,b=0,d=0;while(1){a=aDx(12)|0;if((a|0)!=0){b=1349;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==1349){g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;while(1){b=aDx(20)|0;if((b|0)!=0){break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){e=1358;break}dC[d&63]()}if((e|0)==1358){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}e=b;d=b;f=b+4|0;aDD(b|0,0,17);c[d>>2]=0;c[b+8>>2]=0;c[9806]=(c[9806]|0)+1;b=aDx(a+19|0)|0;if((b|0)==0){g=0;c[d>>2]=g;c[f>>2]=a;return e|0}h=-(b+4|0)&15;c[b+h>>2]=b;g=b+(h+4)|0;c[d>>2]=g;c[f>>2]=a;return e|0}function nh(){var a=0,b=0,d=0;while(1){a=aDx(72)|0;if((a|0)!=0){b=1377;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==1377){g[a>>2]=.6000000238418579;g[a+4>>2]=1.0;g[a+8>>2]=.30000001192092896;g[a+16>>2]=0.0;g[a+24>>2]=20.0;c[a+20>>2]=10;g[a+32>>2]=.20000000298023224;g[a+36>>2]=.10000000149011612;g[a+40>>2]=0.0;g[a+28>>2]=1.0;c[a+44>>2]=0;g[a+48>>2]=-.019999999552965164;g[a+52>>2]=0.0;g[a+56>>2]=.8500000238418579;c[a+60>>2]=260;c[a+64>>2]=2;c[a+68>>2]=128;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function ni(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=3){break}g[b+(c<<2)>>2]=+g[a+860+(c<<6)>>2];c=c+1|0}return}function nj(a){a=a|0;return+(+g[a+32>>2])}function nk(b){b=b|0;return(a[b+20|0]&1)!=0|0}function nl(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function nm(a){a=a|0;return c[a+4>>2]|0}function nn(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function no(a){a=a|0;return a+1104|0}function np(b,c){b=b|0;c=c|0;a[b+1293|0]=c&1;return}function nq(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<3){c=+g[a+688+(b<<2)>>2]>=+g[a+672+(b<<2)>>2];return c|0}d=b-3|0;if(+g[a+860+(d<<6)>>2]>+g[a+860+(d<<6)+4>>2]){c=0;return c|0}c=1;return c|0}function nr(a){a=a|0;return+(+g[a+1188>>2])}function ns(a,b){a=a|0;b=b|0;return a+860+(b<<6)|0}function nt(a){a=a|0;return+(+g[a+1192>>2])}function nu(b,d){b=b|0;d=d|0;var e=0;e=d|0;if((a[b+1300|0]&1)==0){c[e>>2]=6;c[d+4>>2]=0;return}else{c[e>>2]=0;c[d+4>>2]=0;return}}function nv(a){a=a|0;return a+1168|0}function nw(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function nx(b){b=b|0;return(a[b+1293|0]&1)!=0|0}function ny(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function nz(a){a=a|0;return a+1120|0}function nA(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function nB(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function nC(b){b=b|0;return(a[b+1300|0]&1)!=0|0}function nD(a){a=a|0;return+(+g[a+32>>2])}function nE(a){a=a|0;ct[c[(c[a>>2]|0)+44>>2]&2047](a|0);return}function nF(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function nG(b,c){b=b|0;c=c|0;do{if((a[43872]|0)==0){if((b1(43872)|0)==0){break}}}while(0);aDG(38216,b+1200+(c<<4)|0,16);return 38216}function nH(a,b){a=a|0;b=b|0;var d=0;d=b;b=a+688|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return}function nI(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a|0,b,d)|0}function nJ(a,b){a=a|0;b=b|0;var d=0;d=a+672|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function nK(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function nL(a,b){a=a|0;b=b|0;var d=0;d=b;b=a+672|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return}function nM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a|0;f=a+40|0;g=b;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+56|0;f=b+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+72|0;g=b+32|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+88|0;f=b+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+104|0;g=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+120|0;f=d+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+136|0;g=d+32|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+152|0;f=d+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];ct[c[(c[a>>2]|0)+8>>2]&2047](e);aoZ(e,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function nN(a){a=a|0;aoZ(a|0,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function nO(a,b,c){a=a|0;b=b|0;c=c|0;aoZ(a|0,b,c);return}function nP(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ao7(a|0,b,c,d,e,f,g,h,i,j,k,l,0)|0}function nQ(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ao7(a|0,b,c,d,e,f,g,h,i,j,k,l,m)|0}function nR(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;nS(a|0,b,c,d);return}function nS(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0;if((b|0)<3){g[a+672+(b<<2)>>2]=c;g[a+688+(b<<2)>>2]=d;return}e=+ck(+c,6.2831854820251465);do{if(e<-3.1415927410125732){f=e+6.2831854820251465}else{if(e<=3.1415927410125732){f=e;break}f=e-6.2831854820251465}}while(0);e=+ck(+d,6.2831854820251465);do{if(e<-3.1415927410125732){h=e+6.2831854820251465}else{if(e<=3.1415927410125732){h=e;break}h=e-6.2831854820251465}}while(0);i=b-3|0;g[a+860+(i<<6)>>2]=f;g[a+860+(i<<6)+4>>2]=h;return}function nT(a,b){a=a|0;b=+b;return}function nU(a){a=a|0;return a+672|0}function nV(b){b=b|0;return(a[b+21|0]&1)!=0|0}function nW(a,b){a=a|0;b=b|0;return+(+g[a+1184+(b<<2)>>2])}function nX(b,c){b=b|0;c=c|0;a[b+1300|0]=c&1;return}function nY(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=3){break}g[b+(c<<2)>>2]=+g[a+860+(c<<6)+4>>2];c=c+1|0}return}function nZ(a){a=a|0;return c[a+4>>2]|0}function n_(a){a=a|0;return c[a+8>>2]|0}function n$(a){a=a|0;return+(+g[a+36>>2])}function n0(a){a=a|0;return a+1320|0}function n1(a){a=a|0;return c[a+12>>2]|0}function n2(a){a=a|0;return a+1336|0}function n3(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0,h=0.0;d=i;i=i+16|0;e=d|0;g[e>>2]=0.0;g[e+4>>2]=b;g[e+8>>2]=c;g[e+12>>2]=0.0;f=0;while(1){if((f|0)>=3){break}c=+ck(+(+g[e+(f<<2)>>2]),6.2831854820251465);do{if(c<-3.1415927410125732){h=c+6.2831854820251465}else{if(c<=3.1415927410125732){h=c;break}h=c-6.2831854820251465}}while(0);g[a+860+(f<<6)>>2]=h;f=f+1|0}i=d;return}function n4(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f);return}function n5(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;while(1){if((c|0)>=3){break}d=+ck(+(+g[b+(c<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[a+860+(c<<6)>>2]=e;c=c+1|0}return}function n6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e);return}function n7(a,b){a=a|0;b=b|0;var d=0;d=a+688|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function n8(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;while(1){if((c|0)>=3){break}d=+ck(+(+g[b+(c<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[a+860+(c<<6)+4>>2]=e;c=c+1|0}return}function n9(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,R=0.0,S=0.0,T=0,U=0;while(1){i=aDx(1352)|0;if((i|0)!=0){break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){k=1500;break}dC[j&63]()}if((k|0)==1500){k=cd(4)|0;c[k>>2]=19096;bF(k|0,34368,676);return 0}k=i;j=i;do{if((a[43040]|0)==0){if((b1(43040)|0)==0){break}do{if((a[43048]|0)==0){if((b1(43048)|0)==0){break}g[10704]=1.0;aDD(42820,0,16);g[10709]=1.0;aDD(42840,0,16);g[10714]=1.0;g[10715]=0.0}}while(0);c[10688]=c[10704];c[10689]=c[10705];c[10690]=c[10706];c[10691]=c[10707];c[10692]=c[10708];c[42772>>2]=c[42836>>2];c[42776>>2]=c[42840>>2];c[42780>>2]=c[42844>>2];c[10696]=c[10712];c[42788>>2]=c[42852>>2];c[42792>>2]=c[42856>>2];c[42796>>2]=c[42860>>2];aDD(42800,0,16)}}while(0);do{if((a[43040]|0)==0){if((b1(43040)|0)==0){break}do{if((a[43048]|0)==0){if((b1(43048)|0)==0){break}g[10704]=1.0;aDD(42820,0,16);g[10709]=1.0;aDD(42840,0,16);g[10714]=1.0;g[10715]=0.0}}while(0);c[10688]=c[10704];c[10689]=c[10705];c[10690]=c[10706];c[10691]=c[10707];c[10692]=c[10708];c[42772>>2]=c[42836>>2];c[42776>>2]=c[42840>>2];c[42780>>2]=c[42844>>2];c[10696]=c[10712];c[42788>>2]=c[42852>>2];c[42792>>2]=c[42856>>2];c[42796>>2]=c[42860>>2];aDD(42800,0,16)}}while(0);aoY(j,b,d,42752,42752,1);c[i>>2]=21976;j=i+1304|0;l=e;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=i+1320|0;j=f;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=i+1336|0;l=h;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=f|0;m=+g[l>>2];j=f+4|0;n=+g[j>>2];o=f+8|0;p=+g[o>>2];q=1.0/+Q(+(m*m+n*n+p*p));r=m*q;g[l>>2]=r;m=n*q;g[j>>2]=m;n=p*q;g[o>>2]=n;o=h|0;q=+g[o>>2];j=h+4|0;p=+g[j>>2];l=h+8|0;s=+g[l>>2];t=1.0/+Q(+(q*q+p*p+s*s));u=q*t;g[o>>2]=u;q=p*t;g[j>>2]=q;p=s*t;g[l>>2]=p;t=n*q-m*p;s=r*p-n*u;v=m*u-r*q;w=+g[e>>2];x=+g[e+4>>2];y=+g[e+8>>2];z=+g[b+4>>2];A=+g[b+20>>2];B=+g[b+36>>2];D=+g[b+8>>2];E=+g[b+24>>2];F=+g[b+40>>2];G=+g[b+12>>2];H=+g[b+28>>2];I=+g[b+44>>2];J=-0.0- +g[b+52>>2];K=-0.0- +g[b+56>>2];L=-0.0- +g[b+60>>2];g[i+40>>2]=t*z+s*A+v*B;g[i+44>>2]=u*z+q*A+p*B;g[i+48>>2]=r*z+m*A+n*B;g[i+52>>2]=0.0;g[i+56>>2]=t*D+s*E+v*F;g[i+60>>2]=u*D+q*E+p*F;g[i+64>>2]=r*D+m*E+n*F;g[i+68>>2]=0.0;g[i+72>>2]=t*G+s*H+v*I;g[i+76>>2]=u*G+q*H+p*I;g[i+80>>2]=r*G+m*H+n*I;g[i+84>>2]=0.0;g[i+88>>2]=w*z+x*A+y*B+(z*J+A*K+B*L);g[i+92>>2]=w*D+x*E+y*F+(D*J+E*K+F*L);g[i+96>>2]=w*G+x*H+y*I+(G*J+H*K+I*L);g[i+100>>2]=0.0;L=+g[d+4>>2];I=+g[d+20>>2];K=+g[d+36>>2];H=+g[d+8>>2];J=+g[d+24>>2];G=+g[d+40>>2];F=+g[d+12>>2];E=+g[d+28>>2];D=+g[d+44>>2];B=-0.0- +g[d+52>>2];A=-0.0- +g[d+56>>2];z=-0.0- +g[d+60>>2];g[i+104>>2]=t*L+s*I+v*K;g[i+108>>2]=u*L+q*I+p*K;g[i+112>>2]=r*L+m*I+n*K;g[i+116>>2]=0.0;g[i+120>>2]=t*H+s*J+v*G;g[i+124>>2]=u*H+q*J+p*G;g[i+128>>2]=r*H+m*J+n*G;g[i+132>>2]=0.0;g[i+136>>2]=t*F+s*E+v*D;g[i+140>>2]=u*F+q*E+p*D;g[i+144>>2]=r*F+m*E+n*D;g[i+148>>2]=0.0;g[i+152>>2]=w*L+x*I+y*K+(L*B+I*A+K*z);g[i+156>>2]=w*H+x*J+y*G+(H*B+J*A+G*z);g[i+160>>2]=w*F+x*E+y*D+(F*B+E*A+D*z);g[i+164>>2]=0.0;aDD(i+672|0,0,32);z=+ck(0.0,6.2831854820251465);do{if(z<-3.1415927410125732){M=z+6.2831854820251465}else{if(z<=3.1415927410125732){M=z;break}M=z-6.2831854820251465}}while(0);g[i+860>>2]=M;M=+ck(-1.5607963800430298,6.2831854820251465);do{if(M<-3.1415927410125732){N=M+6.2831854820251465}else{if(M<=3.1415927410125732){N=M;break}N=M-6.2831854820251465}}while(0);g[i+924>>2]=N;N=+ck(-3.1315927505493164,6.2831854820251465);do{if(N<-3.1415927410125732){O=N+6.2831854820251465}else{if(N<=3.1415927410125732){O=N;break}O=N-6.2831854820251465}}while(0);g[i+988>>2]=O;O=+ck(0.0,6.2831854820251465);do{if(O<-3.1415927410125732){P=O+6.2831854820251465}else{if(O<=3.1415927410125732){P=O;break}P=O-6.2831854820251465}}while(0);g[i+864>>2]=P;P=+ck(1.5607963800430298,6.2831854820251465);do{if(P<-3.1415927410125732){R=P+6.2831854820251465}else{if(P<=3.1415927410125732){R=P;break}R=P-6.2831854820251465}}while(0);g[i+928>>2]=R;R=+ck(3.1315927505493164,6.2831854820251465);if(R<-3.1415927410125732){S=R+6.2831854820251465;T=i+992|0;U=T;g[U>>2]=S;return k|0}if(R<=3.1415927410125732){S=R;T=i+992|0;U=T;g[U>>2]=S;return k|0}S=R-6.2831854820251465;T=i+992|0;U=T;g[U>>2]=S;return k|0}function oa(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function ob(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function oc(a){a=a|0;return(c[a+4>>2]|0)==31|0}function od(a){a=a|0;return(c[a+4>>2]|0)<7|0}function oe(a){a=a|0;return(c[a+4>>2]|0)<20|0}function of(a){a=a|0;return(c[a+4>>2]|0)==28|0}function og(a){a=a|0;return c[a+8>>2]|0}function oh(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function oi(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function oj(a){a=a|0;return(c[a+4>>2]|0)==32|0}function ok(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function ol(a){a=a|0;return c[a+4>>2]|0}function om(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0;d=a+216|0;e=c[d>>2]|0;if((e|0)==2|(e|0)==4){return}f=+g[a+304>>2];h=+g[a+308>>2];i=+g[a+312>>2];j=+g[a+464>>2];do{if(f*f+h*h+i*i>2];l=+g[a+324>>2];m=+g[a+328>>2];n=+g[a+468>>2];if(k*k+l*l+m*m>=n*n){break}o=a+220|0;g[o>>2]=+g[o>>2]+b;return}}while(0);g[a+220>>2]=0.0;if((e-4|0)>>>0<2){return}c[d>>2]=0;return}function on(a,b){a=a|0;b=b|0;c[a+236>>2]=b;return}function oo(b){b=b|0;var d=0,e=0;d=c[b+216>>2]|0;do{if((d|0)==4){e=0}else{if((a[39240]&1)!=0){e=0;break}if((d-2|0)>>>0<2){e=1;break}if(+g[b+220>>2]>2.0){e=1;break}e=0}}while(0);return e|0}function op(a){a=a|0;return a+132|0}function oq(a,b){a=a|0;b=b|0;c[a+604>>2]=b;return}function or(a){a=a|0;return+(+g[a+240>>2])}function os(a){a=a|0;return a+584|0}function ot(a){a=a|0;return a+552|0}function ou(a,b){a=a|0;b=b|0;c[a+208>>2]=b;return}function ov(a){a=a|0;return+(+g[a+336>>2])}function ow(a){a=a|0;return c[a+204>>2]|0}function ox(a){a=a|0;return a+404|0}function oy(a){a=a|0;return a+52|0}function oz(a){a=a|0;return+(+g[a+220>>2])}function oA(a){a=a|0;return c[a+200>>2]|0}function oB(a){a=a|0;return a+372|0}function oC(a,b){a=a|0;b=b|0;c[a+496>>2]=b;return}function oD(a){a=a|0;var b=0;b=c[a+216>>2]|0;return((b|0)==2?0:(b|0)!=5)|0}function oE(a){a=a|0;return c[a+216>>2]|0}function oF(a){a=a|0;return a+420|0}function oG(a){a=a|0;return a+256|0}function oH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;d=+g[b>>2]- +g[a+52>>2];e=+g[b+4>>2]- +g[a+56>>2];f=+g[b+8>>2]- +g[a+60>>2];h=+g[c+8>>2];i=+g[c+4>>2];j=e*h-f*i;k=+g[c>>2];l=f*k-d*h;m=d*i-e*k;n=+g[a+256>>2]*j+ +g[a+272>>2]*l+ +g[a+288>>2]*m;o=+g[a+260>>2]*j+ +g[a+276>>2]*l+ +g[a+292>>2]*m;p=+g[a+264>>2]*j+ +g[a+280>>2]*l+ +g[a+296>>2]*m;return+(+g[a+336>>2]+(k*(o*f-p*e)+i*(p*d-n*f)+h*(n*e-o*d)))}function oI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;e=a+1320|0;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+1336|0;e=d;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];h=+g[b>>2];i=+g[b+4>>2];j=+g[b+8>>2];k=1.0/+Q(+(h*h+i*i+j*j));l=h*k;h=i*k;i=j*k;k=+g[d>>2];j=+g[d+4>>2];m=+g[d+8>>2];n=1.0/+Q(+(k*k+j*j+m*m));o=k*n;k=j*n;j=m*n;n=i*k-h*j;m=l*j-i*o;p=h*o-l*k;q=+g[a+1304>>2];r=+g[a+1308>>2];s=+g[a+1312>>2];d=c[a+24>>2]|0;t=+g[d+4>>2];u=+g[d+20>>2];v=+g[d+36>>2];w=+g[d+8>>2];x=+g[d+24>>2];y=+g[d+40>>2];z=+g[d+12>>2];A=+g[d+28>>2];B=+g[d+44>>2];C=-0.0- +g[d+52>>2];D=-0.0- +g[d+56>>2];E=-0.0- +g[d+60>>2];g[a+40>>2]=n*t+m*u+p*v;g[a+44>>2]=o*t+k*u+j*v;g[a+48>>2]=l*t+h*u+i*v;g[a+52>>2]=0.0;g[a+56>>2]=n*w+m*x+p*y;g[a+60>>2]=o*w+k*x+j*y;g[a+64>>2]=l*w+h*x+i*y;g[a+68>>2]=0.0;g[a+72>>2]=n*z+m*A+p*B;g[a+76>>2]=o*z+k*A+j*B;g[a+80>>2]=l*z+h*A+i*B;g[a+84>>2]=0.0;g[a+88>>2]=q*t+r*u+s*v+(t*C+u*D+v*E);g[a+92>>2]=q*w+r*x+s*y+(w*C+x*D+y*E);g[a+96>>2]=q*z+r*A+s*B+(z*C+A*D+B*E);g[a+100>>2]=0.0;b=c[a+28>>2]|0;E=+g[b+4>>2];B=+g[b+20>>2];D=+g[b+36>>2];A=+g[b+8>>2];C=+g[b+24>>2];z=+g[b+40>>2];y=+g[b+12>>2];x=+g[b+28>>2];w=+g[b+44>>2];v=-0.0- +g[b+52>>2];u=-0.0- +g[b+56>>2];t=-0.0- +g[b+60>>2];g[a+104>>2]=n*E+m*B+p*D;g[a+108>>2]=o*E+k*B+j*D;g[a+112>>2]=l*E+h*B+i*D;g[a+116>>2]=0.0;g[a+120>>2]=n*A+m*C+p*z;g[a+124>>2]=o*A+k*C+j*z;g[a+128>>2]=l*A+h*C+i*z;g[a+132>>2]=0.0;g[a+136>>2]=n*y+m*x+p*w;g[a+140>>2]=o*y+k*x+j*w;g[a+144>>2]=l*y+h*x+i*w;g[a+148>>2]=0.0;g[a+152>>2]=q*E+r*B+s*D+(E*v+B*u+D*t);g[a+156>>2]=q*A+r*C+s*z+(A*v+C*u+z*t);g[a+160>>2]=q*y+r*x+s*w+(y*v+x*u+w*t);g[a+164>>2]=0.0;aoZ(a|0,d+4|0,b+4|0);return}function oJ(a,b){a=a|0;b=b|0;return ao$(a|0,b)|0}function oK(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function oL(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function oM(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function oN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+60>>2]&1023](a,b,d,e);return}function oO(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function oP(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function oQ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function oR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function oS(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function oT(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function oU(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function oV(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function oW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function oX(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function oY(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function oZ(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function o_(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d|0;do{if((a[43880]|0)==0){if((b1(43880)|0)==0){break}}}while(0);ec(b+4|0,e);b=e;c[9550]=c[b>>2];c[9551]=c[b+4>>2];c[9552]=c[b+8>>2];c[9553]=c[b+12>>2];i=d;return 38200}function o$(a,b,c){a=a|0;b=+b;c=c|0;apV(a,b,c);return}function o0(a,b){a=a|0;b=b|0;c[a+472>>2]=b;if((b|0)==0){return}cv[c[(c[b>>2]|0)+8>>2]&2047](b,a+4|0);return}function o1(a){a=a|0;aDD(a+404|0,0,32);return}function o2(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a|0,b);return}function o3(a,b){a=a|0;b=b|0;ap4(a,b);return}function o4(){var a=0,b=0,d=0;while(1){a=aDx(32)|0;if((a|0)!=0){b=1645;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==1645){c[a+8>>2]=0;g[a+12>>2]=0.0;c[a>>2]=25688;c[a+4>>2]=27;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function o5(a){a=a|0;return+(+g[a+464>>2])}function o6(a){a=a|0;return c[a+196>>2]|0}function o7(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;d=b|0;e=+g[a+340>>2];f=b+4|0;h=+g[a+344>>2];i=+g[f>>2]*h;j=b+8|0;k=+g[a+348>>2];l=+g[j>>2]*k;b=a+404|0;g[b>>2]=+g[b>>2]+ +g[d>>2]*e;b=a+408|0;g[b>>2]=+g[b>>2]+i;b=a+412|0;g[b>>2]=+g[b>>2]+l;l=+g[d>>2]*e;e=+g[f>>2]*h;h=+g[j>>2]*k;k=+g[c+4>>2];i=+g[c+8>>2];m=+g[c>>2];n=(i*l-m*h)*+g[a+540>>2];o=(m*e-k*l)*+g[a+544>>2];c=a+420|0;g[c>>2]=+g[c>>2]+(k*h-i*e)*+g[a+536>>2];c=a+424|0;g[c>>2]=+g[c>>2]+n;c=a+428|0;g[c>>2]=+g[c>>2]+o;return}function o8(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=+g[a+320>>2]+ +g[a+520>>2];e=+g[a+324>>2]+ +g[a+524>>2];f=+g[a+328>>2]+ +g[a+528>>2];h=+g[b+8>>2];i=+g[b+4>>2];j=+g[b>>2];k=+g[a+308>>2]+ +g[a+508>>2]+(f*j-d*h);l=+g[a+312>>2]+ +g[a+512>>2]+(d*i-e*j);g[c>>2]=+g[a+304>>2]+ +g[a+504>>2]+(e*h-f*i);g[c+4>>2]=k;g[c+8>>2]=l;g[c+12>>2]=0.0;return}function o9(a){a=a|0;return(c[a+204>>2]&7|0)==0|0}function pa(a){a=a|0;return+(+g[a+224>>2])}function pb(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function pc(a){a=a|0;return a+520|0}function pd(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;c=+g[b+4>>2]*+g[a+344>>2];d=+g[b+8>>2]*+g[a+348>>2];e=a+404|0;g[e>>2]=+g[e>>2]+ +g[b>>2]*+g[a+340>>2];b=a+408|0;g[b>>2]=+g[b>>2]+c;b=a+412|0;g[b>>2]=+g[b>>2]+d;return}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;d=+g[a+336>>2];if(d==0.0){return}e=b|0;f=+g[a+340>>2];h=b+4|0;i=+g[a+344>>2];j=b+8|0;k=+g[a+348>>2];l=+g[h>>2]*i*d;m=+g[j>>2]*k*d;b=a+304|0;g[b>>2]=+g[b>>2]+ +g[e>>2]*f*d;b=a+308|0;g[b>>2]=+g[b>>2]+l;b=a+312|0;g[b>>2]=+g[b>>2]+m;if((a+536|0)==0){return}m=+g[e>>2]*f;f=+g[h>>2]*i;i=+g[j>>2]*k;k=+g[c+4>>2];l=+g[c+8>>2];d=k*i-l*f;n=+g[c>>2];o=l*m-n*i;i=n*f-k*m;m=(+g[a+272>>2]*d+ +g[a+276>>2]*o+ +g[a+280>>2]*i)*+g[a+540>>2];k=(+g[a+288>>2]*d+ +g[a+292>>2]*o+ +g[a+296>>2]*i)*+g[a+544>>2];c=a+320|0;g[c>>2]=+g[c>>2]+(+g[a+256>>2]*d+ +g[a+260>>2]*o+ +g[a+264>>2]*i)*+g[a+536>>2];c=a+324|0;g[c>>2]=+g[c>>2]+m;c=a+328|0;g[c>>2]=+g[c>>2]+k;return}function pf(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;c=+g[b+4>>2]*+g[a+540>>2];d=+g[b+8>>2]*+g[a+544>>2];e=a+420|0;g[e>>2]=+g[e>>2]+ +g[b>>2]*+g[a+536>>2];b=a+424|0;g[b>>2]=+g[b>>2]+c;b=a+428|0;g[b>>2]=+g[b>>2]+d;return}function pg(a){a=a|0;return c[a+208>>2]|0}function ph(a){a=a|0;return a+536|0}function pi(a){a=a|0;return a+148|0}function pj(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function pk(a){a=a|0;return a+320|0}function pl(a){a=a|0;return a+304|0}function pm(a){a=a|0;return c[a+188>>2]|0}function pn(a){a=a|0;return c[a+236>>2]|0}function po(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function pp(a){a=a|0;return(c[a+188>>2]|0)!=0|0}function pq(a,b){a=a|0;b=b|0;c[a+192>>2]=b;return}function pr(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+g[b>>2];d=+g[b+4>>2];e=+g[b+8>>2];return+(c*(+g[a+256>>2]*c+ +g[a+272>>2]*d+ +g[a+288>>2]*e)+d*(+g[a+260>>2]*c+ +g[a+276>>2]*d+ +g[a+292>>2]*e)+e*(+g[a+264>>2]*c+ +g[a+280>>2]*d+ +g[a+296>>2]*e))}function ps(a){a=a|0;return+(+g[a+440>>2])}function pt(a,b){a=a|0;b=b|0;c[a+188>>2]=b;return}function pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+480|0;e=c[d>>2]|0;f=a+488|0;g=0;while(1){if((g|0)>=(e|0)){h=e;i=1683;break}j=c[f>>2]|0;k=j+(g<<2)|0;if((c[k>>2]|0)==(b|0)){break}else{g=g+1|0}}if((i|0)==1683){l=(h|0)>0;m=l&1;n=a+252|0;c[n>>2]=m;return}i=e-1|0;c[k>>2]=c[j+(i<<2)>>2];c[(c[f>>2]|0)+(i<<2)>>2]=b;b=(c[d>>2]|0)-1|0;c[d>>2]=b;h=b;l=(h|0)>0;m=l&1;n=a+252|0;c[n>>2]=m;return}function pv(a){a=a|0;return a+536|0}function pw(a){a=a|0;return(c[a+204>>2]&3|0)!=0|0}function px(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function py(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function pz(a){a=a|0;var b=0.0,c=0.0;if(+g[a+336>>2]==0.0){return}b=+g[a+308>>2]+ +g[a+508>>2];c=+g[a+312>>2]+ +g[a+512>>2];g[a+304>>2]=+g[a+304>>2]+ +g[a+504>>2];g[a+308>>2]=b;g[a+312>>2]=c;g[a+316>>2]=0.0;c=+g[a+324>>2]+ +g[a+524>>2];b=+g[a+328>>2]+ +g[a+528>>2];g[a+320>>2]=+g[a+320>>2]+ +g[a+520>>2];g[a+324>>2]=c;g[a+328>>2]=b;g[a+332>>2]=0.0;return}function pA(b){b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(627)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}f=e;g[e+164>>2]=1.0;g[e+168>>2]=1.0;g[e+172>>2]=1.0;g[e+176>>2]=0.0;c[e+180>>2]=0;g[e+184>>2]=999999984306749400.0;aDD(e+188|0,0,16);c[e+204>>2]=1;c[e+208>>2]=-1;c[e+212>>2]=-1;c[e+216>>2]=1;g[e+220>>2]=0.0;g[e+224>>2]=.5;g[e+228>>2]=0.0;c[e+232>>2]=1;c[e+236>>2]=0;g[e+240>>2]=1.0;g[e+244>>2]=0.0;g[e+248>>2]=0.0;c[e+252>>2]=0;g[e+4>>2]=1.0;aDD(e+8|0,0,16);g[e+24>>2]=1.0;aDD(e+28|0,0,16);g[e+44>>2]=1.0;aDD(e+48|0,0,20);c[e>>2]=26048;a[e+492|0]=1;c[e+488>>2]=0;c[e+480>>2]=0;c[e+484>>2]=0;ap_(f,b);return f|0}function pB(a,b,d){a=+a;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e|0;c[9806]=(c[9806]|0)+1;g=aDx(627)|0;if((g|0)==0){h=0}else{j=-(g+4|0)&15;c[g+j>>2]=g;h=g+(j+4)|0}j=h;aDD(f|0,0,16);ap$(j,a,b,d,f);i=e;return j|0}function pC(a,b,d,e){a=+a;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[9806]=(c[9806]|0)+1;f=aDx(627)|0;if((f|0)==0){g=0}else{h=-(f+4|0)&15;c[f+h>>2]=f;g=f+(h+4)|0}h=g;ap$(h,a,b,d,e);return h|0}function pD(a,b,c){a=a|0;b=b|0;c=c|0;pe(a,b,c);return}function pE(a,b,c){a=a|0;b=+b;c=c|0;anY(a+4|0,+g[a+304>>2],+g[a+308>>2],+g[a+312>>2],a+320|0,b,c);return}function pF(a,b){a=a|0;b=b|0;return dj[c[c[a>>2]>>2]&511](a,b)|0}function pG(a,b){a=a|0;b=b|0;var d=0;d=a+320|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function pH(a,b){a=a|0;b=b|0;ap6(a,b);return}function pI(a,b){a=a|0;b=+b;ap5(a,b);return}function pJ(a,b){a=a|0;b=b|0;ap4(a,b);return}function pK(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,j=0,k=0.0,l=0,m=0.0;d=i;i=i+64|0;e=d|0;f=e;if(+g[a+336>>2]==0.0){i=d;return}h=a+304|0;j=a+308|0;k=+g[j>>2]+ +g[a+508>>2];l=a+312|0;m=+g[l>>2]+ +g[a+512>>2];g[h>>2]=+g[h>>2]+ +g[a+504>>2];g[j>>2]=k;g[l>>2]=m;g[a+316>>2]=0.0;l=a+320|0;j=a+324|0;m=+g[j>>2]+ +g[a+524>>2];h=a+328|0;k=+g[h>>2]+ +g[a+528>>2];g[l>>2]=+g[l>>2]+ +g[a+520>>2];g[j>>2]=m;g[h>>2]=k;g[a+332>>2]=0.0;h=a+4|0;anY(h,+g[a+568>>2],+g[a+572>>2],+g[a+576>>2],a+584|0,b,e);j=h;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];f=a+20|0;j=e+16|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];j=a+36|0;f=e+32|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];f=a+52|0;a=e+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];i=d;return}function pL(a,b){a=a|0;b=b|0;var d=0;d=a+132|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function pM(a){a=a|0;var b=0.0,d=0.0,e=0;if((c[a+204>>2]&3|0)!=0){return}b=+g[a+360>>2]*+g[a+344>>2];d=+g[a+364>>2]*+g[a+348>>2];e=a+404|0;g[e>>2]=+g[a+356>>2]*+g[a+340>>2]+ +g[e>>2];e=a+408|0;g[e>>2]=b+ +g[e>>2];e=a+412|0;g[e>>2]=d+ +g[e>>2];return}function pN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0,f=0.0,h=0;if(+g[a+336>>2]==0.0){return}e=+g[b+4>>2]*d;f=+g[b+8>>2]*d;h=a+504|0;g[h>>2]=+g[h>>2]+ +g[b>>2]*d;b=a+508|0;g[b>>2]=+g[b>>2]+e;b=a+512|0;g[b>>2]=+g[b>>2]+f;f=+g[c+4>>2]*+g[a+540>>2]*d;e=+g[c+8>>2]*+g[a+544>>2]*d;b=a+520|0;g[b>>2]=+g[b>>2]+ +g[c>>2]*+g[a+536>>2]*d;c=a+524|0;g[c>>2]=+g[c>>2]+f;c=a+528|0;g[c>>2]=+g[c>>2]+e;return}function pO(a,b){a=a|0;b=b|0;c[a+196>>2]=b;return}function pP(a){a=a|0;var b=0;if((c[a+204>>2]&3|0)!=0){return}b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function pQ(a,b){a=a|0;b=b|0;do{if(!b){if((c[a+204>>2]&3|0)==0){break}return}}while(0);b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function pR(a){a=a|0;return c[a+472>>2]|0}function pS(a,b){a=a|0;b=b|0;c[a+212>>2]=b;return}function pT(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0,f=0.0,h=0;if(+g[a+336>>2]==0.0){return}e=+g[b+4>>2]*d;f=+g[b+8>>2]*d;h=a+568|0;g[h>>2]=+g[h>>2]+ +g[b>>2]*d;b=a+572|0;g[b>>2]=+g[b>>2]+e;b=a+576|0;g[b>>2]=+g[b>>2]+f;f=+g[c+4>>2]*+g[a+540>>2]*d;e=+g[c+8>>2]*+g[a+544>>2]*d;b=a+584|0;g[b>>2]=+g[b>>2]+ +g[c>>2]*+g[a+536>>2]*d;c=a+588|0;g[c>>2]=+g[c>>2]+f;c=a+592|0;g[c>>2]=+g[c>>2]+e;return}function pU(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function pV(a){a=a|0;return+(+g[a+248>>2])}function pW(a){a=a|0;return a+340|0}function pX(a){a=a|0;return a+164|0}function pY(a){a=a|0;return+(+g[a+468>>2])}function pZ(a){a=a|0;return a+68|0}function p_(a,b){a=a|0;b=b|0;var c=0;c=a+52|0;g[c>>2]=+g[c>>2]+ +g[b>>2];c=a+56|0;g[c>>2]=+g[c>>2]+ +g[b+4>>2];c=a+60|0;g[c>>2]=+g[c>>2]+ +g[b+8>>2];return}function p$(a){a=a|0;return a+4|0}function p0(a){a=a|0;return c[a+188>>2]|0}function p1(a){a=a|0;return c[a+192>>2]|0}function p2(a){a=a|0;return c[a+600>>2]|0}function p3(a){a=a|0;return a+504|0}function p4(a){a=a|0;return(c[a+204>>2]&4|0)==0|0}function p5(a){a=a|0;var b=0;if((c[a+232>>2]&2|0)==0){b=0}else{b=a}return b|0}function p6(a){a=a|0;return c[a+212>>2]|0}function p7(a,b){a=a|0;b=b|0;var d=0;d=a+216|0;if(((c[d>>2]|0)-4|0)>>>0<2){return}c[d>>2]=b;return}function p8(a){a=a|0;return a+520|0}function p9(a){a=a|0;return+(+g[a+244>>2])}function qa(a,b){a=a|0;b=b|0;return c[(c[a+488>>2]|0)+(b<<2)>>2]|0}function qb(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function qc(a){a=a|0;return a+4|0}function qd(a){a=a|0;return(c[a+180>>2]|0)!=0|0}function qe(a,b){a=a|0;b=b|0;c[a+188>>2]=b;return}function qf(a){a=a|0;return c[a+496>>2]|0}function qg(a){a=a|0;var b=0.0;b=+g[a+248>>2];return+(b*b)}function qh(a){a=a|0;return a+568|0}function qi(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;b=+g[a+4>>2];c=+g[a+388>>2];d=b*c;e=+g[a+8>>2];f=+g[a+392>>2];h=e*f;i=+g[a+12>>2];j=+g[a+396>>2];k=i*j;l=+g[a+20>>2];m=c*l;n=+g[a+24>>2];o=f*n;p=+g[a+28>>2];q=j*p;r=+g[a+36>>2];s=c*r;c=+g[a+40>>2];t=f*c;f=+g[a+44>>2];u=j*f;g[a+256>>2]=b*d+e*h+i*k;g[a+260>>2]=d*l+h*n+k*p;g[a+264>>2]=d*r+h*c+k*f;g[a+268>>2]=0.0;g[a+272>>2]=b*m+e*o+i*q;g[a+276>>2]=l*m+n*o+p*q;g[a+280>>2]=m*r+o*c+q*f;g[a+284>>2]=0.0;g[a+288>>2]=b*s+e*t+i*u;g[a+292>>2]=l*s+n*t+p*u;g[a+296>>2]=r*s+c*t+f*u;g[a+300>>2]=0.0;return}function qj(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function qk(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0;if(b<0.0){d=0.0}else{d=b>1.0?1.0:b}g[a+436>>2]=d;if(c<0.0){e=0.0}else{e=c>1.0?1.0:c}g[a+440>>2]=e;return}function ql(a){a=a|0;return c[a+232>>2]|0}function qm(a,b){a=a|0;b=b|0;c[a+600>>2]=b;return}function qn(a){a=a|0;return a+388|0}function qo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;c=+g[b>>2];d=+g[b+4>>2];e=+g[b+8>>2];f=(+g[a+272>>2]*c+ +g[a+276>>2]*d+ +g[a+280>>2]*e)*+g[a+540>>2];h=(+g[a+288>>2]*c+ +g[a+292>>2]*d+ +g[a+296>>2]*e)*+g[a+544>>2];b=a+320|0;g[b>>2]=+g[b>>2]+(+g[a+256>>2]*c+ +g[a+260>>2]*d+ +g[a+264>>2]*e)*+g[a+536>>2];b=a+324|0;g[b>>2]=+g[b>>2]+f;b=a+328|0;g[b>>2]=+g[b>>2]+h;return}function qp(a){a=a|0;return a+568|0}function qq(a){a=a|0;return(c[a+204>>2]&1|0)!=0|0}function qr(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0;c=+g[a+336>>2];d=+g[b+4>>2]*+g[a+344>>2]*c;e=+g[b+8>>2]*+g[a+348>>2]*c;f=a+304|0;g[f>>2]=+g[f>>2]+ +g[b>>2]*+g[a+340>>2]*c;b=a+308|0;g[b>>2]=+g[b>>2]+d;b=a+312|0;g[b>>2]=+g[b>>2]+e;return}function qs(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function qt(a){a=a|0;return a+504|0}function qu(a,b,c){a=a|0;b=+b;c=+c;g[a+464>>2]=b;g[a+468>>2]=c;return}function qv(a){a=a|0;return c[a+604>>2]|0}function qw(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[a+324>>2]+ +g[a+524>>2];d=+g[a+328>>2]+ +g[a+528>>2];g[b>>2]=+g[a+320>>2]+ +g[a+520>>2];g[b+4>>2]=c;g[b+8>>2]=d;g[b+12>>2]=0.0;return}function qx(a){a=a|0;return c[a+480>>2]|0}function qy(a){a=a|0;return+(+g[a+228>>2])}function qz(a){a=a|0;return+(+g[a+184>>2])}function qA(a){a=a|0;return a+584|0}function qB(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+20>>2]&511](a,b,d)|0}function qC(b,c){b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;do{if((a[43792]|0)==0){if((b1(43792)|0)==0){break}}}while(0);d=+g[b+324>>2];e=+g[c+8>>2];f=+g[b+328>>2];h=+g[c+4>>2];i=+g[c>>2];j=+g[b+320>>2];k=+g[b+308>>2]+(f*i-j*e);l=+g[b+312>>2]+(j*h-d*i);g[9546]=+g[b+304>>2]+(d*e-f*h);g[9547]=k;g[9548]=l;g[9549]=0.0;return 38184}function qD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+192>>2]|0;dI[c[(c[e>>2]|0)+8>>2]&1023](e,a+4|0,b,d);return}function qE(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function qF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+164|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];do{if(+g[b>>2]!=1.0){f=1}else{if(+g[b+4>>2]!=1.0){f=1;break}f=+g[b+8>>2]!=1.0|0}}while(0);c[a+180>>2]=f;return}function qG(a,b){a=a|0;b=+b;ap0(a,b);return}function qH(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+20|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+36|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+52|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function qI(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0;d=+g[a+336>>2];if(d!=0.0){e=1.0/d;d=e*+g[b+4>>2];f=e*+g[b+8>>2];g[a+356>>2]=e*+g[b>>2];g[a+360>>2]=d;g[a+364>>2]=f;g[a+368>>2]=0.0}h=a+372|0;a=b;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];return}function qJ(a,b){a=a|0;b=b|0;var d=0;d=a+536|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function qK(a,b){a=a|0;b=b|0;var d=0;d=a+148|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function qL(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a)|0}function qM(a,b){a=a|0;b=b|0;var d=0;if((c[a+252>>2]|0)==0){d=1;return d|0}d=dj[c[c[a>>2]>>2]&511](a|0,b)|0;return d|0}function qN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0;d=a+340|0;e=d;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];h=+g[a+336>>2];i=+g[a+344>>2]*h;j=+g[a+348>>2]*h;g[a+552>>2]=+g[d>>2]*h;g[a+556>>2]=i;g[a+560>>2]=j;g[a+564>>2]=0.0;return}function qO(a,b){a=a|0;b=b|0;var d=0;d=a+304|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function qP(a,b){a=a|0;b=b|0;var d=0;d=a+388|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function qQ(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function qR(){return 0}function qS(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function qT(a){a=a|0;return+(+g[a+436>>2])}function qU(a){a=a|0;return a+104|0}function qV(b,c,d){b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=+g[c>>2]+-1.0;f=+g[c+4>>2]+-1.0;h=+g[c+8>>2]+-1.0;g[b+4>>2]=e;g[b+8>>2]=f;g[b+12>>2]=h;g[b+16>>2]=0.0;i=+g[d>>2]+1.0;j=+g[d+4>>2]+1.0;k=+g[d+8>>2]+1.0;g[b+20>>2]=i;g[b+24>>2]=j;g[b+28>>2]=k;g[b+32>>2]=0.0;g[b+36>>2]=65533.0/(i-e);g[b+40>>2]=65533.0/(j-f);g[b+44>>2]=65533.0/(k-h);g[b+48>>2]=0.0;a[b+60|0]=1;return}function qW(b,c,d,e){b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=+g[c>>2]-e;h=+g[c+4>>2]-e;i=+g[c+8>>2]-e;g[b+4>>2]=f;g[b+8>>2]=h;g[b+12>>2]=i;g[b+16>>2]=0.0;j=+g[d>>2]+e;k=+g[d+4>>2]+e;l=+g[d+8>>2]+e;g[b+20>>2]=j;g[b+24>>2]=k;g[b+28>>2]=l;g[b+32>>2]=0.0;g[b+36>>2]=65533.0/(j-f);g[b+40>>2]=65533.0/(k-h);g[b+44>>2]=65533.0/(l-i);g[b+48>>2]=0.0;a[b+60|0]=1;return}function qX(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0;f=(+g[d>>2]- +g[a+4>>2])*+g[a+36>>2];h=(+g[d+4>>2]- +g[a+8>>2])*+g[a+40>>2];i=(+g[d+8>>2]- +g[a+12>>2])*+g[a+44>>2];if((e|0)==0){b[c>>1]=~~f&-2;b[c+2>>1]=~~h&-2;b[c+4>>1]=~~i&-2;return}else{b[c>>1]=~~(f+1.0)|1;b[c+2>>1]=~~(h+1.0)|1;b[c+4>>1]=~~(i+1.0)|1;return}}function qY(b){b=b|0;return(a[b+60|0]&1)!=0|0}function qZ(b){b=b|0;return(c[b+168>>2]<<5)+172+(c[b+56>>2]<<((a[b+60|0]&1)==0?6:4))|0}function q_(a){a=a|0;return a+124|0}function q$(a){a=a|0;return a+148|0}function q0(a){a=a|0;return c[a+28>>2]|0}function q1(a){a=a|0;return c[a+24>>2]|0}function q2(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function q3(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function q4(a){a=a|0;return c[a+12>>2]|0}function q5(a){a=a|0;return c[a+4>>2]|0}function q6(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function q7(b){b=b|0;return(a[b+20|0]&1)!=0|0}function q8(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function q9(a){a=a|0;return c[a+4>>2]|0}function ra(a){a=a|0;return+(+g[a+36>>2])}function rb(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function rc(b){b=b|0;return(a[b+21|0]&1)!=0|0}function rd(a){a=a|0;return c[a+4>>2]|0}function re(a){a=a|0;return c[a+12>>2]|0}function rf(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function rg(a){a=a|0;return c[a+12>>2]|0}function rh(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function ri(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function rj(a){a=a|0;return+(+g[a+32>>2])}function rk(a){a=a|0;return+(+g[a+16>>2])}function rl(a){a=a|0;return c[a+8>>2]|0}function rm(a){a=a|0;return+(+g[a+32>>2])}function rn(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function ro(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function rp(a){a=a|0;return(c[a+4>>2]|0)<7|0}function rq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+68|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+84|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+100|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+116|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function rr(a,b){a=a|0;b=+b;ap3(a,b);return}function rs(a){a=a|0;azj(a|0);return}function rt(a,b,d){a=a|0;b=b|0;d=d|0;return(cS[c[(c[a>>2]|0)+16>>2]&511](a|0,b,d)|0)!=0|0}function ru(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a|0,b,d,e)|0}function rv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qX(a|0,b,c,d);return}function rw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ayA(a,b,c,d);return}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;azn(a|0,b,c,d);return}function ry(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h|0;k=h+16|0;l=b|0;aDD(j|0,0,16);aDD(k|0,0,16);if((a[b+60|0]&1)==0){azp(l,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],j,k);i=h;return}else{azq(l,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],j,k,c[b+56>>2]|0);i=h;return}}function rz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ayv(a,b,c,d,e);return}function rA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ayB(a,b,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;return azs(a,b,c)|0}function rC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rD(a|0,b,c,d);return}function rD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0;f=i;i=i+16|0;h=f|0;j=h;k=d;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=h|0;l=+g[k>>2];m=+g[a+4>>2];if(l>2]=m;n=m}else{n=l}j=h+4|0;l=+g[j>>2];m=+g[a+8>>2];if(l>2]=m;o=m}else{o=l}d=h+8|0;l=+g[d>>2];m=+g[a+12>>2];if(l>2]=m;p=m}else{p=l}q=h+12|0;l=+g[q>>2];m=+g[a+16>>2];if(l>2]=m;r=m}else{r=l}l=+g[a+20>>2];if(l>2]=l}l=+g[a+24>>2];if(l>2]=l}l=+g[a+28>>2];if(l>2]=l}l=+g[a+32>>2];if(l>=r){qX(a,b,h,e);i=f;return}g[q>>2]=l;qX(a,b,h,e);i=f;return}function rE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ayw(a,b,c,d);return}function rF(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function rG(a){a=a|0;return cA[c[(c[a>>2]|0)+12>>2]&4095](a|0)|0}function rH(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function rI(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a|0,b);return}function rJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)|0}function rK(b,c){b=b|0;c=c|0;var d=0.0,f=0.0;do{if((a[43928]|0)==0){if((b1(43928)|0)==0){break}}}while(0);d=+((e[c+2>>1]|0)>>>0)/+g[b+40>>2]+ +g[b+8>>2];f=+((e[c+4>>1]|0)>>>0)/+g[b+44>>2]+ +g[b+12>>2];g[9542]=+((e[c>>1]|0)>>>0)/+g[b+36>>2]+ +g[b+4>>2];g[9543]=d;g[9544]=f;g[9545]=0.0;return 38168}function rL(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0;j=b|0;if((a[b+60|0]&1)==0){azp(j,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],h,i);return}else{azq(j,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],h,i,c[b+56>>2]|0);return}}function rM(){var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(191)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}c[d+52>>2]=278;a[d+60|0]=0;a[d+80|0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100|0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120|0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140|0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164|0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;g[d+4>>2]=-3.4028234663852886e+38;g[d+8>>2]=-3.4028234663852886e+38;g[d+12>>2]=-3.4028234663852886e+38;g[d+16>>2]=0.0;g[d+20>>2]=3.4028234663852886e+38;g[d+24>>2]=3.4028234663852886e+38;g[d+28>>2]=3.4028234663852886e+38;g[d+32>>2]=0.0;c[d>>2]=25376;return d|0}function rN(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function rO(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a,b,d)|0}function rP(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function rQ(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function rR(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function rS(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function rT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function rU(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function rV(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function rW(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function rX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e,f);return}function rY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function rZ(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function r_(a){a=a|0;return cA[c[(c[a>>2]|0)+104>>2]&4095](a)|0}function r$(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43488]|0)==0){if((b1(43488)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9538]=c[d>>2];c[9539]=c[d+4>>2];c[9540]=c[d+8>>2];c[9541]=c[d+12>>2];i=e;return 38152}function r0(a,b,d){a=a|0;b=b|0;d=+d;return c0[c[(c[a>>2]|0)+112>>2]&127](a,b,d)|0}function r1(a){a=a|0;return cA[c[(c[a>>2]|0)+88>>2]&4095](a)|0}function r2(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function r3(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function r4(a){a=a|0;return}function r5(a){a=a|0;return a+12|0}function r6(a){a=a|0;return+(+g[a+44>>2])}function r7(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function r8(a){a=a|0;return(c[a+4>>2]|0)<20|0}function r9(a){a=a|0;return(c[a+4>>2]|0)==28|0}function sa(a){a=a|0;return c[a+8>>2]|0}function sb(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function sc(a){a=a|0;return(c[a+4>>2]|0)==32|0}function sd(a){a=a|0;return a+28|0}function se(a){a=a|0;return(c[a+4>>2]|0)==31|0}function sf(a){a=a|0;return c[a+52>>2]|0}function sg(a){a=a|0;return c[a+4>>2]|0}function sh(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function si(a,b){a=a|0;b=b|0;c[a+140>>2]=b;return}function sj(b){b=b|0;return(a[b+153|0]&1)!=0|0}function sk(b,c){b=b|0;c=c|0;a[b+152|0]=c&1;return}function sl(a){a=a|0;return c[a+112>>2]|0}function sm(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function sn(b){b=b|0;return(a[b+152|0]&1)!=0|0}function so(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function sp(b,c){b=b|0;c=c|0;a[b+153|0]=c&1;return}function sq(a,b){a=a|0;b=b|0;c[a+144>>2]=b;return}function sr(a,b){a=a|0;b=b|0;c[a+120>>2]=b;return}function ss(a){a=a|0;return c[a+124>>2]|0}function st(a,b){a=a|0;b=b|0;c[a+148>>2]=b;return}function su(a){a=a|0;return c[a+104>>2]|0}function sv(a,b){a=a|0;b=b|0;c[a+128>>2]=b;return}function sw(b,c){b=b|0;c=c|0;a[b+154|0]=c&1;return}function sx(a,b){a=a|0;b=b|0;c[a+132>>2]=b;return}function sy(a){a=a|0;return c[a+108>>2]|0}function sz(a){a=a|0;return c[a+140>>2]|0}function sA(a,b){a=a|0;b=b|0;c[a+112>>2]=b;return}function sB(a){a=a|0;return c[a+144>>2]|0}function sC(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function sD(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function sE(a){a=a|0;return c[a+128>>2]|0}function sF(a){a=a|0;return c[a+116>>2]|0}function sG(a,b){a=a|0;b=b|0;c[a+116>>2]=b;return}function sH(a){a=a|0;return+(+g[a+100>>2])}function sI(a){a=a|0;return c[a+148>>2]|0}function sJ(b){b=b|0;return(a[b+154|0]&1)!=0|0}function sK(a){a=a|0;return c[a+120>>2]|0}function sL(a){a=a|0;return+(+g[a+136>>2])}function sM(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+100>>2]&511](a,b,d);return}function sN(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43328]|0)==0){if((b1(43328)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9534]=c[d>>2];c[9535]=c[d+4>>2];c[9536]=c[d+8>>2];c[9537]=c[d+12>>2];i=e;return 38136}function sO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function sP(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function sQ(a){a=a|0;return cA[c[(c[a>>2]|0)+92>>2]&4095](a)|0}function sR(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function sS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+96>>2]&1023](a,b,d,e);return}function sT(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43104]|0)==0){if((b1(43104)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9530]=c[d>>2];c[9531]=c[d+4>>2];c[9532]=c[d+8>>2];c[9533]=c[d+12>>2];i=e;return 38120}function sU(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43168]|0)==0){if((b1(43168)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9526]=c[d>>2];c[9527]=c[d+4>>2];c[9528]=c[d+8>>2];c[9529]=c[d+12>>2];i=e;return 38104}function sV(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function sW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function sX(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function sY(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function sZ(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function s_(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function s$(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function s0(a){a=a|0;return cA[c[(c[a>>2]|0)+84>>2]&4095](a)|0}function s1(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function s2(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 13:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function s3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function s4(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function s5(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function s6(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function s7(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function s8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+108>>2]&1023](a,b,d,e);return}function s9(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function ta(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+40>>2]&511](a,b,d);return}function tb(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;cY[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e,f,g);return}function tc(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;df[c[(c[a>>2]|0)+24>>2]&63](a,b,d,e,f,g,h,i,j);return}function td(a,b,d,e,f,g){a=a|0;b=+b;d=+d;e=e|0;f=f|0;g=g|0;cK[c[(c[a>>2]|0)+84>>2]&63](a,b,d,e,f,g);return}function te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;cw[c[(c[a>>2]|0)+32>>2]&63](a,b,d,e,f,g);return}function tf(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;dt[c[(c[a>>2]|0)+60>>2]&63](a,b,d,e,f,g,h,i,j,k,10.0);return}function tg(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;dt[c[(c[a>>2]|0)+60>>2]&63](a,b,d,e,f,g,h,i,j,k,l);return}function th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+12>>2]&255](a,b,d,e,f);return}function tj(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a,b);return}function tk(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function tl(a,b,d,e,f,g){a=a|0;b=+b;d=+d;e=e|0;f=f|0;g=g|0;cK[c[(c[a>>2]|0)+80>>2]&63](a,b,d,e,f,g);return}function tm(a,b,d){a=a|0;b=b|0;d=+d;dF[c[(c[a>>2]|0)+56>>2]&255](a,b,d);return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+52>>2]&1023](a,b,d,e);return}function to(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;cr[c[(c[a>>2]|0)+88>>2]&63](a,b,d,e,f);return}function tp(a,b,d,e,f,g){a=a|0;b=+b;d=+d;e=e|0;f=f|0;g=g|0;cK[c[(c[a>>2]|0)+76>>2]&63](a,b,d,e,f,g);return}function tq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function tr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+72>>2]&255](a,b,d,e,f);return}function ts(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+44>>2]&2047](a,b);return}function tt(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;cs[c[(c[a>>2]|0)+64>>2]&63](a,b,d,e,f,g,h,i,j,k,10.0);return}function tu(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;cs[c[(c[a>>2]|0)+64>>2]&63](a,b,d,e,f,g,h,i,j,k,l);return}function tv(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;dg[c[(c[a>>2]|0)+16>>2]&63](a,b,d,e);return}function tw(a,b){a=a|0;b=b|0;awS(a,b);return}function tx(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a,b);return}function ty(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f|0;h=f+16|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(g|0,0,16);aDD(h|0,0,16);c_[j&127](a,b,d,e,g,h);i=f;return}function tz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(h|0,0,16);c_[j&127](a,b,d,e,f,h);i=g;return}function tA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c_[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e,f,g);return}function tB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+16>>2]&255](a,b,d,e,f);return}function tC(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+48>>2]&2047](a,b);return}function tD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+20>>2]&1023](a,b,d,e);return}function tE(a,b){a=a|0;b=b|0;awR(a,b);return}function tF(a){a=a|0;ct[c[(c[a>>2]|0)+52>>2]&2047](a);return}function tG(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return c5[c[(c[a>>2]|0)+8>>2]&63](a,b,d,e,f,g,h,i,j)|0}function tH(a){a=a|0;aws(a+4|0);aws(a+44|0);return}function tI(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function tJ(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function tK(){var a=0,b=0,d=0;while(1){a=aDx(156)|0;if((a|0)!=0){b=2117;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){b=2114;break}dC[d&63]()}if((b|0)==2114){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}else if((b|0)==2117){b=a;awx(b,0);return b|0}return 0}function tL(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(156)|0;if((b|0)!=0){d=2131;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){d=2128;break}dC[e&63]()}if((d|0)==2128){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}else if((d|0)==2131){d=b;awx(d,a);return d|0}return 0}function tM(a){a=a|0;return(a|0)==28|0}function tN(a){a=a|0;return(a|0)==31|0}function tO(a){a=a|0;return(a|0)<7|0}function tP(a){a=a|0;return(a|0)<20|0}function tQ(a){a=a|0;return((a|0)>20&(a|0)<30?(a|0)!=25:0)|0}function tR(a){a=a|0;return((a|0)==17?1:(a|0)==18)|0}function tS(a){a=a|0;return(a|0)==32|0}function tT(a){a=a|0;return((a|0)>20?(a|0)<30:0)|0}function tU(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function tV(a){a=a|0;return+(+g[a+100>>2])}function tW(a){a=a|0;return c[a+96>>2]|0}function tX(a){a=a|0;return c[a+132>>2]|0}function tY(a,b){a=a|0;b=b|0;c[a+124>>2]=b;return}function tZ(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function t_(a){a=a|0;return c[a>>2]|0}function t$(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function t0(a,b){a=a|0;b=b|0;c[a+48>>2]=b;return}function t1(a){a=a|0;return c[a+48>>2]|0}function t2(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function t3(a){a=a|0;return a+16|0}function t4(a){a=a|0;return b[a+6>>1]|0}function t5(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function t6(a){a=a|0;return c[a+48>>2]|0}function t7(a){a=a|0;return c[a+12>>2]|0}function t8(a){a=a|0;return a+32|0}function t9(a,c){a=a|0;c=c|0;b[a+4>>1]=c;return}function ua(a){a=a|0;return c[a+12>>2]|0}function ub(a,b){a=a|0;b=b|0;c[a+48>>2]=b;return}function uc(a,c){a=a|0;c=c|0;b[a+6>>1]=c;return}function ud(a){a=a|0;return c[a+8>>2]|0}function ue(a){a=a|0;return b[a+4>>1]|0}function uf(a,b){a=a|0;b=b|0;c[a+188>>2]=b;return}function ug(a){a=a|0;return c[a+188>>2]|0}function uh(a){a=a|0;return c[a+4>>2]|0}function ui(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function uj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+200+(b*144|0)+(d<<2)>>2]=e;return}function uk(a,b){a=a|0;b=b|0;c[a+5384>>2]=b;return}function ul(a){a=a|0;return c[a+5384>>2]|0}function um(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=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;g=i;i=i+48|0;h=g|0;j=g+32|0;k=h;l=d;m=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];e=h+16|0;h=f;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];e=d+60|0;if((c[e>>2]|0)==2){f=b+44|0;n=d+48|0;o=c[n>>2]|0;aww(f,o)|0;f=b+48|0;p=c[f>>2]|0;if((p|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-44+40>>2]|0)}c[f>>2]=o;o=b+56|0;c[o>>2]=(c[o>>2]|0)-1;o=b+4|0;f=b+8|0;p=c[f>>2]|0;do{if((p|0)==0){c[9806]=(c[9806]|0)+1;q=aDx(63)|0;if((q|0)==0){r=0;break}s=-(q+4|0)&15;t=q+(s+4)|0;c[q+s>>2]=q;if((t|0)==0){r=0;break}aDD(t|0,0,44);r=t}else{c[f>>2]=0;r=p}}while(0);c[r+32>>2]=0;c[r+36>>2]=d;c[r+40>>2]=0;p=r;aDC(p|0,k|0,32)|0;awv(o,c[o>>2]|0,r);r=b+16|0;c[r>>2]=(c[r>>2]|0)+1;c[n>>2]=p}else{p=b+128|0;c[p>>2]=(c[p>>2]|0)+1;p=b+4|0;n=c[d+48>>2]|0;r=aww(p,n)|0;L2259:do{if((r|0)==0){u=0}else{o=c[b+12>>2]|0;if((o|0)>-1){v=0;w=r}else{u=c[p>>2]|0;break}while(1){if((v|0)>=(o|0)){u=w;break L2259}f=c[w+32>>2]|0;if((f|0)==0){u=w;break}else{v=v+1|0;w=f}}}}while(0);w=n;aDC(w|0,k|0,32)|0;awv(p,u,n);n=b+132|0;c[n>>2]=(c[n>>2]|0)+1}n=d+52|0;u=c[n>>2]|0;p=d+56|0;k=c[p>>2]|0;if((u|0)==0){c[b+84+(c[e>>2]<<2)>>2]=k}else{c[u+56>>2]=k}k=c[p>>2]|0;if((k|0)!=0){c[k+52>>2]=c[n>>2]}k=d+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];m=d+32|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];h=b+104|0;c[e>>2]=c[h>>2];e=b+84+(c[h>>2]<<2)|0;c[n>>2]=0;c[p>>2]=c[e>>2];p=c[e>>2]|0;if((p|0)!=0){c[p+52>>2]=l}c[e>>2]=l;a[b+154|0]=1;if((a[b+153|0]&1)!=0){x=32;y=0;i=g;return}c[j>>2]=23368;c[j+4>>2]=b;l=b+44|0;e=d+48|0;d=j|0;awL(l,c[l>>2]|0,c[e>>2]|0,d);l=b+4|0;awL(l,c[l>>2]|0,c[e>>2]|0,d);x=32;y=0;i=g;return}function un(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a,b,d,e);return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a,b,d);return}function up(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a,b,d);return}function uq(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(71)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}c[b>>2]=0;c[b+8>>2]=0;return b|0}function ur(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c[9806]=(c[9806]|0)+1;e=aDx(71)|0;if((e|0)==0){j=0}else{k=-(e+4|0)&15;c[e+k>>2]=e;j=e+(k+4)|0}c[j>>2]=f;b[j+4>>1]=g;b[j+6>>1]=h;h=j+16|0;g=a;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];g=j+32|0;h=d;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[j+8>>2]=i;return j|0}function us(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ut(a,b){a=a|0;b=b|0;var d=0;d=a+32|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function uu(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-52+48>>2]|0);return}function uv(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function uw(a,b,d){a=a|0;b=b|0;d=d|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,0)|0}function ux(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e)|0}function uy(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+28>>2]&511](a,b,d)|0}function uz(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function uA(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+40>>2]&511](a,b)|0}function uB(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+24>>2]&511](a,b,d)|0}function uC(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function uD(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function uE(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+12>>2]&511](a,b,d)|0}function uF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,e);return}function uG(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+56>>2]&511](a,b)|0}function uH(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function uI(a){a=a|0;return cA[c[(c[a>>2]|0)+44>>2]&4095](a)|0}function uJ(a,b,c){a=a|0;b=b|0;c=c|0;ata(a,b,c);return}function uK(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function uL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(135)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}f=e;aq6(f,a,b,16384,0,0);return f|0}function uM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[9806]=(c[9806]|0)+1;e=aDx(135)|0;if((e|0)==0){f=0}else{g=-(e+4|0)&15;c[e+g>>2]=e;f=e+(g+4)|0}g=f;aq6(g,a,b,d,0,0);return g|0}function uN(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){d=aDx(5388)|0;if((d|0)!=0){break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){f=2257;break}dC[e&63]()}if((f|0)==2257){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}f=d;c[d>>2]=22392;c[d+4>>2]=2;a[d+24|0]=1;c[d+20>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+28>>2]=24e3;aDD(d+172|0,-1|0,16);e=d+5384|0;c[e>>2]=b;c[d+188>>2]=156;g=b;c[d+192>>2]=cA[c[(c[g>>2]|0)+12>>2]&4095](b)|0;c[d+196>>2]=cA[c[(c[g>>2]|0)+8>>2]&4095](b)|0;b=0;do{g=0;do{d=c[e>>2]|0;c[f+200+(b*144|0)+(g<<2)>>2]=cS[c[(c[d>>2]|0)+20>>2]&511](d,b,g)|0;g=g+1|0;}while((g|0)<36);b=b+1|0;}while((b|0)<36);return f|0}function uO(a){a=a|0;return b[a+56>>1]|0}function uP(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0;f=(+g[d>>2]- +g[a+8>>2])*+g[a+40>>2];h=(+g[d+4>>2]- +g[a+12>>2])*+g[a+44>>2];i=(+g[d+8>>2]- +g[a+16>>2])*+g[a+48>>2];do{if(f>0.0){d=b[a+6>>1]|0;if(f<+(d&65535|0)){j=(~~f&b[a+4>>1]&65535|e)&65535;break}else{j=(d&b[a+4>>1]&65535|e)&65535;break}}else{j=e&65535}}while(0);b[c>>1]=j;do{if(h>0.0){j=b[a+6>>1]|0;if(h<+(j&65535|0)){k=(~~h&b[a+4>>1]&65535|e)&65535;break}else{k=(j&b[a+4>>1]&65535|e)&65535;break}}else{k=e&65535}}while(0);b[c+2>>1]=k;if(i<=0.0){l=e&65535;m=c+4|0;b[m>>1]=l;return}k=b[a+6>>1]|0;if(i<+(k&65535|0)){l=(~~i&b[a+4>>1]&65535|e)&65535;m=c+4|0;b[m>>1]=l;return}else{l=(k&b[a+4>>1]&65535|e)&65535;m=c+4|0;b[m>>1]=l;return}}function uQ(a){a=a|0;return c[a+96>>2]|0}function uR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0;a=b;b=c;c=0;while(1){if((c|0)>=3){d=1;f=2303;break}if((e[a+54+(c<<1)>>1]|0)<(e[b+48+(c<<1)>>1]|0)){d=0;f=2304;break}if((e[b+54+(c<<1)>>1]|0)<(e[a+48+(c<<1)>>1]|0)){d=0;f=2302;break}c=c+1|0}if((f|0)==2302){return d|0}else if((f|0)==2303){return d|0}else if((f|0)==2304){return d|0}return 0}function uS(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function uT(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0;i=d;j=c[a+68>>2]|0;k=(b[j+((e[d+54>>1]|0)<<2)>>1]|0)+1&65535;l=c[a+72>>2]|0;m=(b[l+((e[d+56>>1]|0)<<2)>>1]|0)+1&65535;n=c[a+76>>2]|0;o=(b[n+((e[i+58>>1]|0)<<2)>>1]|0)+1&65535;p=a+40|0;q=+((e[j+((e[d+48>>1]|0)<<2)>>1]|0)>>>0)/+g[p>>2];j=a+44|0;r=+((e[l+((e[i+50>>1]|0)<<2)>>1]|0)>>>0)/+g[j>>2];i=a+48|0;s=+((e[n+((e[d+52>>1]|0)<<2)>>1]|0)>>>0)/+g[i>>2];d=f|0;g[d>>2]=q;n=f+4|0;g[n>>2]=r;l=f+8|0;g[l>>2]=s;g[f+12>>2]=0.0;f=a+8|0;g[d>>2]=q+ +g[f>>2];d=a+12|0;g[n>>2]=r+ +g[d>>2];n=a+16|0;g[l>>2]=s+ +g[n>>2];s=+((k&65535)>>>0)/+g[p>>2];r=+((m&65535)>>>0)/+g[j>>2];q=+((o&65535)>>>0)/+g[i>>2];i=h|0;g[i>>2]=s;o=h+4|0;g[o>>2]=r;j=h+8|0;g[j>>2]=q;g[h+12>>2]=0.0;g[i>>2]=s+ +g[f>>2];g[o>>2]=r+ +g[d>>2];g[j>>2]=q+ +g[n>>2];return}function uU(a,b){a=a|0;b=b|0;return(c[a+60>>2]|0)+((b&65535)<<6)|0}function uV(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function uW(a){a=a|0;return c[a>>2]|0}function uX(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function uY(a){a=a|0;return c[a+4>>2]|0}function uZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[9806]=(c[9806]|0)+1;f=aDx(135)|0;if((f|0)==0){g=0}else{h=-(f+4|0)&15;c[f+h>>2]=f;g=f+(h+4)|0}h=g;aq6(h,a,b,d,e,0);return h|0}function u_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[9806]=(c[9806]|0)+1;g=aDx(135)|0;if((g|0)==0){h=0}else{i=-(g+4|0)&15;c[g+i>>2]=g;h=g+(i+4)|0}i=h;aq6(i,a,b,d,e,f);return i|0}function u$(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return u0(a|0,b,c,d,e,f,g,h)|0}function u0(a,d,f,g,h,j,k,l){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;m=i;i=i+16|0;n=m|0;o=m+8|0;uP(a,n|0,d,0);uP(a,o|0,f,1);f=a+64|0;d=b[f>>1]|0;p=a+60|0;q=c[p>>2]|0;r=d&65535;b[f>>1]=b[q+(r<<6)+48>>1]|0;f=a+56|0;b[f>>1]=(b[f>>1]|0)+1&65535;c[q+(r<<6)+12>>2]=r;c[q+(r<<6)>>2]=g;b[q+(r<<6)+4>>1]=h;b[q+(r<<6)+6>>1]=j;c[q+(r<<6)+8>>2]=l;l=b[f>>1]<<1;f=l&65535;j=f|1;h=f-1|0;g=l-1&65535;s=0;while(1){if((s&65535)>=3){break}t=s&65535;u=(c[p>>2]|0)+54+(t<<1)|0;b[u>>1]=(b[u>>1]|0)+2&65535;u=a+68+(t<<2)|0;v=c[u>>2]|0;x=v+(h<<2)|0;y=v+(j<<2)|0;w=e[x>>1]|e[x+2>>1]<<16;b[y>>1]=w&65535;b[y+2>>1]=w>>16;b[(c[u>>2]|0)+(h<<2)>>1]=b[n+(t<<1)>>1]|0;b[(c[u>>2]|0)+(h<<2)+2>>1]=d;b[(c[u>>2]|0)+(f<<2)>>1]=b[o+(t<<1)>>1]|0;b[(c[u>>2]|0)+(f<<2)+2>>1]=d;b[q+(r<<6)+48+(t<<1)>>1]=g;b[q+(r<<6)+54+(t<<1)>>1]=l;s=s+1&65535}and(a,0,b[q+(r<<6)+48>>1]|0,0);ang(a,0,b[q+(r<<6)+54>>1]|0,k,0);and(a,1,b[q+(r<<6)+50>>1]|0,0);ang(a,1,b[q+(r<<6)+56>>1]|0,k,0);and(a,2,b[q+(r<<6)+52>>1]|0,1);ang(a,2,b[q+(r<<6)+58>>1]|0,k,1);i=m;return d|0}function u1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;uP(a|0,b,c,d);return}function u2(a,b,c){a=a|0;b=b|0;c=c|0;u3(a|0,b,c);return}function u3(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a+60|0;h=c[g>>2]|0;i=d&65535;j=a+92|0;k=c[j>>2]|0;if(!(cA[c[(c[k>>2]|0)+56>>2]&4095](k)|0)){k=c[j>>2]|0;dA[c[(c[k>>2]|0)+16>>2]&511](k|0,h+(i<<6)|0,f)}k=a+56|0;j=(e[k>>1]|0)<<1;l=0;while(1){if((l|0)>=3){break}m=(c[g>>2]|0)+54+(l<<1)|0;b[m>>1]=(b[m>>1]|0)-2&65535;l=l+1|0}l=a+6|0;m=j-1|0;j=0;while(1){if((j|0)>=3){break}n=c[a+68+(j<<2)>>2]|0;o=b[h+(i<<6)+54+(j<<1)>>1]|0;b[n+((o&65535)<<2)>>1]=b[l>>1]|0;ane(a,j,o,0);o=b[h+(i<<6)+48+(j<<1)>>1]|0;b[n+((o&65535)<<2)>>1]=b[l>>1]|0;anf(a,j,o,f,0);b[n+(m<<2)+2>>1]=0;b[n+(m<<2)>>1]=b[l>>1]|0;j=j+1|0}j=a+64|0;b[(c[g>>2]|0)+(i<<6)+48>>1]=b[j>>1]|0;b[j>>1]=d;b[k>>1]=(b[k>>1]|0)-1&65535;return}function u4(a,b){a=a|0;b=b|0;b6(a|0,b|0);return}function u5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f|0;h=f+16|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(g|0,0,16);aDD(h|0,0,16);c_[j&127](a|0,b,d,e,g,h);i=f;return}function u6(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(h|0,0,16);c_[j&127](a|0,b,d,e,f,h);i=g;return}function u7(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c_[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e,f,g);return}function u8(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+16>>2]&255](a|0,b,d,e,f);return}function u9(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+48>>2]&2047](a|0,b);return}function va(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+20>>2]&1023](a|0,b,d,e);return}function vb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;vc(a|0,b,c,d,e);return}function vc(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var 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;j=i;i=i+16|0;k=j|0;l=j+8|0;m=c[a+60>>2]|0;n=d&65535;uP(a,k|0,f,0);uP(a,l|0,g,1);g=0;while(1){if((g|0)>=3){break}f=b[m+(n<<6)+48+(g<<1)>>1]|0;d=b[m+(n<<6)+54+(g<<1)>>1]|0;o=b[k+(g<<1)>>1]|0;p=a+68+(g<<2)|0;q=c[p>>2]|0;r=q+((f&65535)<<2)|0;s=(o&65535)-(e[r>>1]|0)|0;t=b[l+(g<<1)>>1]|0;u=d&65535;v=(t&65535)-(e[q+(u<<2)>>1]|0)|0;b[r>>1]=o;b[(c[p>>2]|0)+(u<<2)>>1]=t;if((s|0)<0){and(a,g,f,1)}if((v|0)>0){ane(a,g,d,1)}if((s|0)>0){anf(a,g,f,h,1)}if((v|0)<0){ang(a,g,d,h,1)}g=g+1|0}i=j;return}function vd(a){a=a|0;ct[c[(c[a>>2]|0)+52>>2]&2047](a|0);return}function ve(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return c5[c[(c[a>>2]|0)+8>>2]&63](a|0,b,d,e,f,g,h,i,j)|0}function vf(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function vg(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a|0,b);return}function vh(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a|0,b,d,e);return}function vj(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a|0,b,d);return}function vk(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,d);return}function vl(a){a=a|0;if((a|0)==0){return}aDB(a);return}function vm(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+68>>2]&2047](a,b);return}function vn(){var a=0,b=0,d=0;while(1){a=aDx(8)|0;if((a|0)!=0){b=2391;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==2391){c[a>>2]=0;c[a+4>>2]=0;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function vo(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=aDx(8)|0;if((d|0)!=0){e=2403;break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){break}dC[b&63]()}if((e|0)==2403){c[d>>2]=a;return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function vp(a){a=a|0;return a+100|0}function vq(a){a=a|0;return c[a+24>>2]|0}function vr(a){a=a|0;return a|0}function vs(a,b){a=a|0;b=b|0;c[a+76>>2]=b;return}function vt(b){b=b|0;return(a[b+242|0]&1)!=0|0}function vu(b,c){b=b|0;c=c|0;a[b+242|0]=c&1;return}function vv(a){a=a|0;return a+4|0}function vw(a,b){a=a|0;b=b|0;c[a+88>>2]=b;c[a+96>>2]=0;return}function vx(a,b,d){a=a|0;b=b|0;d=d|0;c[a+88>>2]=b;c[a+96>>2]=d;return}function vy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(e){c[a+92>>2]=b}else{c[a+88>>2]=b}c[a+96>>2]=d;return}function vz(b){b=b|0;return(a[b+84|0]&1)!=0|0}function vA(a){a=a|0;return c[a+8>>2]|0}function vB(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function vC(a){a=a|0;return c[a+96>>2]|0}function vD(a){a=a|0;return c[a+76>>2]|0}function vE(b,c){b=b|0;c=c|0;a[b+84|0]=c&1;return}function vF(a){a=a|0;return c[a+176>>2]|0}function vG(a){a=a|0;return a+28|0}function vH(a){a=a|0;return c[a+28>>2]|0}function vI(a){a=a|0;return c[a+24>>2]|0}function vJ(b){b=b|0;return(a[b+518|0]&1)!=0|0}function vK(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function vL(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function vM(a){a=a|0;return a+292|0}function vN(a){a=a|0;return a+356|0}function vO(a){a=a|0;return+(+g[a+440>>2])}function vP(a){a=a|0;return+(+g[a+436>>2])}function vQ(a){a=a|0;return c[a+4>>2]|0}function vR(a,b){a=a|0;b=+b;g[a+432>>2]=b;return}function vS(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function vT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function vU(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a|0)|0}function vV(a){a=a|0;ct[c[(c[a>>2]|0)+164>>2]&2047](a);return}function vW(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+44>>2]&2047](a,b);return}function vX(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+80>>2]&2047](a,b);return}function vY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+84>>2]&1023](a,b,d,e);return}function vZ(a){a=a|0;ct[c[(c[a>>2]|0)+116>>2]&2047](a);return}function v_(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+124>>2]&2047](a,b);return}function v$(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+168>>2]&2047](a,b);return}function v0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+24>>2]&1023](a|0,b,d,e);return}function v1(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a,b);return}function v2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a|0,b,d,e);return}function v3(a){a=a|0;return cA[c[(c[a>>2]|0)+100>>2]&4095](a)|0}function v4(a,b){a=a|0;b=b|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,2,-3);return}function v5(a,b,d){a=a|0;b=b|0;d=d|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,-3);return}function v6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,e);return}function v7(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+88>>2]&2047](a,b);return}function v8(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;f=e|0;g=e+16|0;h=e+32|0;j=c[b+192>>2]|0;dI[c[(c[j>>2]|0)+8>>2]&1023](j,b+4|0,f,g);c[h>>2]=21168;c[h+4>>2]=b;c[h+8>>2]=a;c[h+12>>2]=d;d=c[a+76>>2]|0;dI[c[(c[d>>2]|0)+28>>2]&1023](d,f,g,h|0);i=e;return}function v9(a){a=a|0;ct[c[(c[a>>2]|0)+40>>2]&2047](a|0);return}function wa(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a|0);return}function wb(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a|0,b);return}function wc(a,b){a=a|0;b=b|0;aoh(a,b);return}function wd(a){a=a|0;ct[c[(c[a>>2]|0)+20>>2]&2047](a);return}function we(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;atO(a|0,b,c,d,e,0.0);return}function wf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;atO(a|0,b,c,d,e,f);return}function wg(a,b){a=a|0;b=b|0;dA[c[(c[a>>2]|0)+52>>2]&511](a,b,0);return}function wh(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+52>>2]&511](a,b,d);return}function wi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+168|0;g=f|0;h=a+24|0;j=c[h>>2]|0;k=dE[c[(c[j>>2]|0)+8>>2]&127](j,b,d,0)|0;if((k|0)==0){i=f;return}c[g+4>>2]=0;c[g+136>>2]=b;c[g+140>>2]=d;j=g+8|0;l=b+4|0;aDD(g+144|0,-1|0,16);c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+24|0;j=b+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+40|0;l=b+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+56|0;j=b+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+72|0;l=d+4|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+88|0;j=d+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+104|0;l=d+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+120|0;j=d+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];c[g>>2]=21728;c[g+160>>2]=e;co[c[(c[k>>2]|0)+8>>2]&255](k,b,d,a+28|0,g|0);ct[c[c[k>>2]>>2]&2047](k);g=c[h>>2]|0;cv[c[(c[g>>2]|0)+60>>2]&2047](g,k);i=f;return}function wj(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d|0;do{if((a[43816]|0)==0){if((b1(43816)|0)==0){break}}}while(0);cv[c[(c[b>>2]|0)+72>>2]&2047](e,b);b=e;c[9510]=c[b>>2];c[9511]=c[b+4>>2];c[9512]=c[b+8>>2];c[9513]=c[b+12>>2];i=d;return 38040}function wk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;atG(a,b,c,d,e,f);return}function wl(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+64>>2]&2047](a,b);return}function wm(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function wn(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+132>>2]&2047](a,b);return}function wo(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+104>>2]&511](a,b)|0}function wp(a){a=a|0;return cA[c[(c[a>>2]|0)+96>>2]&4095](a)|0}function wq(a,b){a=a|0;b=+b;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,1,.01666666753590107)|0}function wr(a,b,d){a=a|0;b=+b;d=d|0;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,d,.01666666753590107)|0}function ws(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,d,e)|0}function wt(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+128>>2]&2047](a,b);return}function wu(a){a=a|0;return cA[c[(c[a>>2]|0)+112>>2]&4095](a)|0}function wv(a,b){a=a|0;b=b|0;atC(a|0,b);return}function ww(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+172>>2]&1023](a,b);return}function wx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+64|0;e=d|0;f=b+472|0;if((c[f>>2]|0)==0){i=d;return}if((c[b+204>>2]&3|0)!=0){i=d;return}anY(b+68|0,+g[b+132>>2],+g[b+136>>2],+g[b+140>>2],b+148|0,+g[a+236>>2]*+g[b+240>>2],e);b=c[f>>2]|0;cv[c[(c[b>>2]|0)+12>>2]&2047](b,e);i=d;return}function wy(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+120>>2]&2047](a,b);return}function wz(a){a=a|0;var b=0;b=c[a+76>>2]|0;return cA[c[(c[b>>2]|0)+36>>2]&4095](b)|0}function wA(a){a=a|0;ct[c[(c[a>>2]|0)+76>>2]&2047](a);return}function wB(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a,b);return}function wC(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+92>>2]&2047](a,b);return}function wD(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;atI(a,b,c,d,e,f,g,h);return}function wE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function wF(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function wG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;anP(a,b,c,d,e);return}function wH(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function wI(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function wJ(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function wK(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function wL(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function wM(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function wN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;while(1){f=aDx(268)|0;if((f|0)!=0){g=2523;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){g=2520;break}dC[h&63]()}if((g|0)==2523){h=f;aob(h,a,b,d,e);return h|0}else if((g|0)==2520){g=cd(4)|0;c[g>>2]=19096;bF(g|0,34368,676);return 0}return 0}function wO(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;while(1){e=aDx(600)|0;if((e|0)!=0){f=2537;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){f=2534;break}dC[h&63]()}if((f|0)==2534){h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}else if((f|0)==2537){aq1(e,5,b);c[e>>2]=22328;b=e+292|0;f=d;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=e+308|0;h=d+16|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=e+324|0;i=d+32|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];i=e+340|0;j=d+48|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];j=e+356|0;a[e+519|0]=0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];b=e+372|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=e+388|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=e+404|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];a[e+516|0]=0;a[e+517|0]=0;a[e+518|0]=0;a[e+544|0]=0;g[e+564>>2]=-1.0;g[e+436>>2]=999999984306749400.0;g[e+440>>2]=999999984306749400.0;g[e+444>>2]=999999984306749400.0;g[e+420>>2]=1.0;g[e+424>>2]=.30000001192092896;g[e+428>>2]=1.0;g[e+432>>2]=.009999999776482582;g[e+448>>2]=.05000000074505806;c[e+584>>2]=0;g[e+588>>2]=0.0;g[e+592>>2]=.699999988079071;g[e+596>>2]=0.0;return e|0}return 0}function wP(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function wQ(b){b=b|0;return(a[b+20|0]&1)!=0|0}function wR(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function wS(a){a=a|0;return c[a+4>>2]|0}function wT(a){a=a|0;return+(+g[a+504>>2])}function wU(b,c){b=b|0;c=+c;g[b+564>>2]=c;a[b+545|0]=1;return}function wV(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function wW(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function wX(b){b=b|0;return(a[b+21|0]&1)!=0|0}function wY(a){a=a|0;return c[a+4>>2]|0}function wZ(b){b=b|0;return a[b+517|0]&1|0}function w_(a){a=a|0;return c[a+12>>2]|0}function w$(b,c){b=b|0;c=c|0;a[b+544|0]=c&1;return}function w0(a){a=a|0;return a+356|0}function w1(a,b){a=a|0;b=b|0;c[b>>2]=6;c[b+4>>2]=0;return}function w2(a){a=a|0;return c[a+12>>2]|0}function w3(a){a=a|0;return+(+g[a+36>>2])}function w4(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function w5(a){a=a|0;return+(+g[a+448>>2])}function w6(b){b=b|0;return a[b+517|0]&1|0}function w7(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function w8(a){a=a|0;return+(+g[a+32>>2])}function w9(b,c){b=b|0;c=c|0;a[b+516|0]=c&1;return}function xa(a,b,c){a=a|0;b=b|0;c=+c;if((b|0)==3){g[a+444>>2]=c;return}else if((b|0)==5){g[a+436>>2]=c;return}else if((b|0)==4){g[a+440>>2]=c;return}else{return}}function xb(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;g[a+436>>2]=b;g[a+440>>2]=c;g[a+444>>2]=d;g[a+420>>2]=1.0;g[a+424>>2]=.30000001192092896;g[a+428>>2]=1.0;return}function xc(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a+436>>2]=b;g[a+440>>2]=c;g[a+444>>2]=d;g[a+420>>2]=e;g[a+424>>2]=.30000001192092896;g[a+428>>2]=1.0;return}function xd(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+436>>2]=b;g[a+440>>2]=c;g[a+444>>2]=d;g[a+420>>2]=e;g[a+424>>2]=f;g[a+428>>2]=1.0;return}function xe(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;g[a+436>>2]=b;g[a+440>>2]=c;g[a+444>>2]=d;g[a+420>>2]=e;g[a+424>>2]=f;g[a+428>>2]=h;return}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0;d=i;i=i+208|0;e=d|0;f=d+80|0;h=d+160|0;j=d+176|0;k=d+192|0;l=c[a+24>>2]|0;m=+g[l+4>>2];n=+g[l+8>>2];o=+g[l+12>>2];p=+g[l+20>>2];q=+g[l+24>>2];r=+g[l+28>>2];s=+g[l+36>>2];t=+g[l+40>>2];u=+g[l+44>>2];v=+g[l+52>>2];w=+g[l+56>>2];x=+g[l+60>>2];l=c[a+28>>2]|0;y=+g[l+4>>2];z=+g[l+8>>2];A=+g[l+12>>2];B=+g[l+20>>2];C=+g[l+24>>2];D=+g[l+28>>2];E=+g[l+36>>2];F=+g[l+40>>2];G=+g[l+44>>2];H=+g[l+52>>2];I=+g[l+56>>2];J=+g[l+60>>2];K=-0.0-H;L=-0.0-I;M=-0.0-J;g[e>>2]=m*y+p*B+s*E;g[e+4>>2]=n*y+q*B+t*E;g[e+8>>2]=o*y+r*B+u*E;g[e+12>>2]=0.0;g[e+16>>2]=m*z+p*C+s*F;g[e+20>>2]=n*z+q*C+t*F;g[e+24>>2]=o*z+r*C+u*F;g[e+28>>2]=0.0;g[e+32>>2]=m*A+p*D+s*G;g[e+36>>2]=n*A+q*D+t*G;g[e+40>>2]=o*A+r*D+u*G;g[e+44>>2]=0.0;g[e+48>>2]=v*y+w*B+x*E+(y*K+B*L+E*M);g[e+52>>2]=v*z+w*C+x*F+(z*K+C*L+F*M);g[e+56>>2]=v*A+w*D+x*G+(A*K+D*L+G*M);g[e+60>>2]=0.0;ec(e|0,d+64|0);e=a+356|0;M=+g[e>>2];L=+g[a+372>>2];K=+g[a+388>>2];N=y*M+z*L+A*K;O=+g[a+360>>2];P=+g[a+376>>2];Q=+g[a+392>>2];R=y*O+z*P+A*Q;S=+g[a+364>>2];T=+g[a+380>>2];U=+g[a+396>>2];V=y*S+z*T+A*U;W=B*M+C*L+D*K;X=B*O+C*P+D*Q;Y=B*S+C*T+D*U;Z=E*M+F*L+G*K;K=E*O+F*P+G*Q;Q=E*S+F*T+G*U;U=+g[a+404>>2];T=+g[a+408>>2];S=+g[a+412>>2];P=-0.0-(H+(y*U+z*T+A*S));A=-0.0-(I+(B*U+C*T+D*S));D=-0.0-(J+(E*U+F*T+G*S));l=a+292|0;S=+g[l>>2];G=+g[a+308>>2];T=+g[a+324>>2];F=m*S+n*G+o*T;U=+g[a+296>>2];E=+g[a+312>>2];J=+g[a+328>>2];C=m*U+n*E+o*J;B=+g[a+300>>2];I=+g[a+316>>2];z=+g[a+332>>2];y=m*B+n*I+o*z;H=p*S+q*G+r*T;O=p*U+q*E+r*J;L=p*B+q*I+r*z;M=s*S+t*G+u*T;T=s*U+t*E+u*J;J=s*B+t*I+u*z;z=+g[a+340>>2];I=+g[a+344>>2];B=+g[a+348>>2];E=v+(m*z+n*I+o*B);o=w+(p*z+q*I+r*B);r=x+(s*z+t*I+u*B);g[f>>2]=Z*M+(N*F+W*H);g[f+4>>2]=Z*T+(N*C+W*O);g[f+8>>2]=Z*J+(N*y+W*L);g[f+12>>2]=0.0;g[f+16>>2]=K*M+(R*F+X*H);g[f+20>>2]=K*T+(R*C+X*O);g[f+24>>2]=K*J+(R*y+X*L);g[f+28>>2]=0.0;g[f+32>>2]=Q*M+(V*F+Y*H);g[f+36>>2]=Q*T+(V*C+Y*O);g[f+40>>2]=Q*J+(V*y+Y*L);g[f+44>>2]=0.0;g[f+48>>2]=Z*D+(N*P+W*A)+(Z*r+(N*E+W*o));g[f+52>>2]=K*D+(R*P+X*A)+(K*r+(R*E+X*o));g[f+56>>2]=Q*D+(V*P+Y*A)+(Q*r+(V*E+Y*o));g[f+60>>2]=0.0;ec(f|0,d+144|0);ec(e|0,j);o=-0.0- +g[j>>2];Y=-0.0- +g[j+4>>2];E=-0.0- +g[j+8>>2];V=+g[j+12>>2];r=+g[b>>2];Q=+g[b+12>>2];A=+g[b+8>>2];P=+g[b+4>>2];D=V*r+Q*o+A*Y-P*E;X=r*E+(Q*Y+V*P)-A*o;R=Q*E+V*A+P*o-r*Y;K=V*Q-r*o-P*Y-A*E;ec(l|0,k);E=+g[k>>2];A=+g[k+12>>2];Y=+g[k+8>>2];P=+g[k+4>>2];g[h>>2]=E*K+D*A+X*Y-R*P;g[h+4>>2]=E*R+(A*X+K*P)-D*Y;g[h+8>>2]=A*R+K*Y+D*P-E*X;g[h+12>>2]=K*A-E*D-X*P-R*Y;an_(a,h);i=d;return}function xg(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function xh(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a,b,d)|0}function xi(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function xj(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a,b,d);return}function xk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;while(1){h=aDx(600)|0;if((h|0)!=0){i=2596;break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){break}dC[j&63]()}if((i|0)==2596){c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3.4028234663852886e+38;a[h+20|0]=1;a[h+21|0]=0;c[h+24>>2]=b;c[h+28>>2]=d;g[h+32>>2]=0.0;g[h+36>>2]=.30000001192092896;c[h>>2]=22328;d=h+292|0;b=e;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=h+308|0;d=e+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=h+324|0;b=e+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=h+340|0;d=e+48|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=h+356|0;b=f;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=h+372|0;d=f+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=h+388|0;b=f+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=h+404|0;d=f+48|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];a[h+544|0]=0;d=h+516|0;w=0;a[d]=w&255;w=w>>8;a[d+1|0]=w&255;w=w>>8;a[d+2|0]=w&255;w=w>>8;a[d+3|0]=w&255;g[h+564>>2]=-1.0;g[h+436>>2]=999999984306749400.0;g[h+440>>2]=999999984306749400.0;g[h+444>>2]=999999984306749400.0;g[h+420>>2]=1.0;g[h+424>>2]=.30000001192092896;g[h+428>>2]=1.0;g[h+432>>2]=.009999999776482582;g[h+448>>2]=.05000000074505806;c[h+584>>2]=0;g[h+588>>2]=0.0;g[h+592>>2]=.699999988079071;g[h+596>>2]=0.0;return h|0}h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}function xl(a,b){a=a|0;b=+b;return}function xm(a){a=a|0;return+(+g[a+32>>2])}function xn(a){a=a|0;return+(+g[a+492>>2])}function xo(b,c){b=b|0;c=+c;g[b+564>>2]=c;a[b+545|0]=0;return}function xp(a){a=a|0;return c[a+12>>2]|0}function xq(a,b){a=a|0;b=+b;g[a+448>>2]=b;return}function xr(a){a=a|0;return+(+g[a+16>>2])}function xs(a){a=a|0;return c[a+8>>2]|0}function xt(a){a=a|0;return+(+g[a+444>>2])}function xu(a){a=a|0;return a+292|0}function xv(a){a=a|0;return c[a+28>>2]|0}function xw(a){a=a|0;return c[a+24>>2]|0}function xx(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function xy(a){a=a|0;return+(+g[a+672>>2])}function xz(a){a=a|0;return a+544|0}function xA(a){a=a|0;return a+608|0}function xB(a,b){a=a|0;b=+b;g[a+676>>2]=b;return}function xC(a){a=a|0;return c[a+4>>2]|0}function xD(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+729|0]=c&1;g[b+672>>2]=d;g[b+676>>2]=e;return}function xE(a){a=a|0;return+(+g[a+704>>2])}function xF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f);return}function xG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;anR(a,b,c,d,e,f);return}function xH(a,b){a=a|0;b=b|0;an_(a,b);return}function xI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function xJ(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0;f=i;i=i+16|0;g=f|0;do{if((a[43744]|0)==0){if((b1(43744)|0)==0){break}}}while(0);anZ(g,b,d,e);b=g;c[9506]=c[b>>2];c[9507]=c[b+4>>2];c[9508]=c[b+8>>2];c[9509]=c[b+12>>2];i=f;return 38024}function xK(b){b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0;d=b+496|0;g[d>>2]=0.0;g[b+492>>2]=0.0;e=b+517|0;a[e]=0;f=b+518|0;a[f]=0;h=c[b+24>>2]|0;i=+g[b+292>>2];j=+g[b+308>>2];k=+g[b+324>>2];l=+g[h+4>>2];m=+g[h+8>>2];n=+g[h+12>>2];o=i*l+j*m+k*n;p=+g[h+20>>2];q=+g[h+24>>2];r=+g[h+28>>2];s=i*p+j*q+k*r;t=+g[h+36>>2];u=+g[h+40>>2];v=+g[h+44>>2];w=i*t+j*u+k*v;h=c[b+28>>2]|0;k=+g[b+356>>2];j=+g[b+372>>2];i=+g[b+388>>2];x=h+4|0;y=h+8|0;z=h+12|0;A=k*+g[x>>2]+j*+g[y>>2]+i*+g[z>>2];B=h+20|0;C=h+24|0;D=h+28|0;E=k*+g[B>>2]+j*+g[C>>2]+i*+g[D>>2];F=h+36|0;G=h+40|0;H=h+44|0;I=k*+g[F>>2]+j*+g[G>>2]+i*+g[H>>2];i=+g[b+436>>2];if(i<.05000000074505806){J=0.0;K=0.0;L=0.0;M=0.0}else{j=+g[b+296>>2];k=+g[b+312>>2];N=+g[b+328>>2];O=l*j+m*k+n*N;R=p*j+q*k+r*N;S=t*j+u*k+v*N;N=o*A+s*E+w*I;k=I*S+(A*O+E*R);j=+P(+k);if(N<0.0){T=2.356194496154785-(N+j)/(j-N)*.7853981852531433}else{T=.7853981852531433-(N-j)/(N+j)*.7853981852531433}if(k<0.0){U=-0.0-T}else{U=T}T=(N*N+k*k)*10.0*10.0;J=U*(T/(T+1.0));K=O;L=R;M=S}S=+g[b+440>>2];if(S<.05000000074505806){V=0.0;W=0.0;X=0.0;Y=0.0}else{R=+g[b+300>>2];O=+g[b+316>>2];T=+g[b+332>>2];U=R*l+O*m+T*n;n=R*p+O*q+T*r;r=R*t+O*u+T*v;v=o*A+s*E+w*I;T=A*U+E*n+I*r;u=+P(+T);if(v<0.0){Z=2.356194496154785-(v+u)/(u-v)*.7853981852531433}else{Z=.7853981852531433-(v-u)/(v+u)*.7853981852531433}if(T<0.0){_=-0.0-Z}else{_=Z}Z=(v*v+T*T)*10.0*10.0;V=_*(Z/(Z+1.0));W=U;X=n;Y=r}r=1.0/(i*i)*+P(+(J*J));J=r+1.0/(S*S)*+P(+(V*V));if(J>1.0){g[d>>2]=J+-1.0;a[f]=1;J=I*M+(E*L+A*K);V=I*Y+(E*X+A*W);S=K*J+W*V;r=L*J+X*V;i=M*J+Y*V;V=E*i-I*r;J=I*S-A*i;i=A*r-E*S;g[b+464>>2]=0.0;S=1.0/+Q(+(V*V+J*J+i*i));r=o*A+s*E+w*I>=0.0?1.0:-1.0;g[b+452>>2]=r*V*S;g[b+456>>2]=r*J*S;g[b+460>>2]=r*i*S}S=+g[b+444>>2];if(S<0.0){return}i=+g[b+360>>2];r=+g[b+376>>2];J=+g[b+392>>2];V=i*+g[x>>2]+r*+g[y>>2]+J*+g[z>>2];n=i*+g[B>>2]+r*+g[C>>2]+J*+g[D>>2];U=i*+g[F>>2]+r*+g[G>>2]+J*+g[H>>2];J=o*A+s*E+w*I;do{if(J<-.9999998807907104){if(+P(+I)>.7071067690849304){r=1.0/+Q(+(E*E+I*I));$=0.0;aa=r*(-0.0-I);ab=E*r;ac=0.0;break}else{r=1.0/+Q(+(A*A+E*E));$=r*(-0.0-E);aa=A*r;ab=0.0;ac=0.0;break}}else{r=+Q(+((J+1.0)*2.0));i=1.0/r;$=(w*E-s*I)*i;aa=(o*I-w*A)*i;ab=(s*A-o*E)*i;ac=r*.5}}while(0);J=V*ac+U*aa-n*ab;r=n*ac+V*ab-U*$;i=U*ac+n*$-V*aa;Z=-0.0-$;$=V*Z-n*aa-U*ab;U=-0.0-aa;aa=-0.0-ab;ab=r*aa+(ac*J+$*Z)-i*U;n=i*Z+(ac*r+$*U)-J*aa;V=J*U+(ac*i+$*aa)-r*Z;Z=Y*V+(W*ab+X*n);X=M*V+(K*ab+L*n);n=+P(+Z);if(X<0.0){ad=2.356194496154785-(n+X)/(n-X)*.7853981852531433}else{ad=.7853981852531433-(X-n)/(n+X)*.7853981852531433}if(Z<0.0){ae=-0.0-ad}else{ae=ad}g[b+504>>2]=ae;ad=S>.05000000074505806?1.0:0.0;if(ae<=ad*(-0.0-S)){g[b+500>>2]=-0.0-(ae+S);a[e]=1;Z=(o+A)*.5;X=(s+E)*.5;n=(w+I)*.5;g[b+480>>2]=0.0;L=1.0/+Q(+(Z*Z+X*X+n*n));g[b+468>>2]=Z*L*-1.0;g[b+472>>2]=X*L*-1.0;g[b+476>>2]=n*L*-1.0;return}if(ae<=S*ad){return}g[b+500>>2]=ae-S;a[e]=1;S=(o+A)*.5;A=(s+E)*.5;E=(w+I)*.5;g[b+480>>2]=0.0;I=1.0/+Q(+(S*S+A*A+E*E));g[b+468>>2]=S*I;g[b+472>>2]=A*I;g[b+476>>2]=E*I;return}function xL(b,c,d,e,f,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;i=+apy(b,d,e);g[b+720>>2]=i;j=b+700|0;g[j>>2]=0.0;k=b+704|0;g[k>>2]=0.0;l=b+708|0;a[l]=0;m=b+684|0;do{if(+g[m>>2]>=0.0){n=+ck(+(i- +g[b+680>>2]),6.2831854820251465);do{if(n<-3.1415927410125732){o=n+6.2831854820251465}else{if(n<=3.1415927410125732){o=n;break}o=n-6.2831854820251465}}while(0);n=+g[m>>2];if(o<-0.0-n){a[l]=1;g[j>>2]=-0.0-(o+n);g[k>>2]=1.0;break}if(o<=n){break}a[l]=1;g[j>>2]=n-o;g[k>>2]=-1.0}}while(0);apx(b,c,d,e,f,h);return}function xM(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function xN(a){a=a|0;return+(+apy(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0))}function xO(a,b,c){a=a|0;b=b|0;c=c|0;return+(+apy(a,b,c))}function xP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0.0,j=0.0;e=+apy(b,c,d);g[b+720>>2]=e;d=b+700|0;g[d>>2]=0.0;c=b+704|0;g[c>>2]=0.0;f=b+708|0;a[f]=0;h=b+684|0;if(+g[h>>2]<0.0){return}i=+ck(+(e- +g[b+680>>2]),6.2831854820251465);do{if(i<-3.1415927410125732){j=i+6.2831854820251465}else{if(i<=3.1415927410125732){j=i;break}j=i-6.2831854820251465}}while(0);i=+g[h>>2];if(j<-0.0-i){a[f]=1;g[d>>2]=-0.0-(j+i);g[c>>2]=1.0;return}if(j<=i){return}a[f]=1;g[d>>2]=i-j;g[c>>2]=-1.0;return}function xQ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function xR(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;apx(a,b,c,d,e,f);return}function xS(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function xT(a){a=a|0;var b=0.0,c=0.0;b=+ck(+(+g[a+680>>2]+ +g[a+684>>2]),6.2831854820251465);if(b<-3.1415927410125732){c=b+6.2831854820251465;return+c}if(b<=3.1415927410125732){c=b;return+c}c=b-6.2831854820251465;return+c}function xU(a,b){a=a|0;b=+b;return}function xV(b){b=b|0;return(a[b+20|0]&1)!=0|0}function xW(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function xX(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function xY(a){a=a|0;return c[a+4>>2]|0}function xZ(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function x_(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function x$(a){a=a|0;return+(+g[a+676>>2])}function x0(b,c){b=b|0;c=c|0;a[b+731|0]=c&1;return}function x1(b){b=b|0;return(a[b+729|0]&1)!=0|0}function x2(b){b=b|0;return(a[b+21|0]&1)!=0|0}function x3(a){a=a|0;return c[a+4>>2]|0}function x4(a){a=a|0;return c[a+12>>2]|0}function x5(b,c){b=b|0;c=c|0;a[b+729|0]=c&1;return}function x6(a){a=a|0;return a+608|0}function x7(b,d){b=b|0;d=d|0;var e=0;e=d|0;if((a[b+730|0]&1)==0){c[e>>2]=6;c[d+4>>2]=0;return}else{c[e>>2]=0;c[d+4>>2]=0;return}}function x8(a){a=a|0;return c[a+12>>2]|0}function x9(a){a=a|0;return+(+g[a+36>>2])}function ya(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function yb(b){b=b|0;return(a[b+731|0]&1)!=0|0}function yc(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function yd(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function ye(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function yf(a){a=a|0;return+(+g[a+32>>2])}function yg(b,c){b=b|0;c=c|0;a[b+728|0]=c&1;return}function yh(b){b=b|0;return a[b+708|0]&1|0}function yi(a){a=a|0;return c[a+12>>2]|0}function yj(a){a=a|0;return+(+g[a+16>>2])}function yk(a){a=a|0;return c[a+8>>2]|0}function yl(b){b=b|0;return(a[b+728|0]&1)!=0|0}function ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e);return}function yn(a){a=a|0;var b=0.0,c=0.0;b=+ck(+(+g[a+680>>2]- +g[a+684>>2]),6.2831854820251465);if(b<-3.1415927410125732){c=b+6.2831854820251465;return+c}if(b<=3.1415927410125732){c=b;return+c}c=b-6.2831854820251465;return+c}function yo(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function yp(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function yq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aps(a,b,c,d,e,f);return}function yr(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a,b,d)|0}function ys(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function yt(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function yu(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function yv(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0;d=(c-b)*.5;g[a+684>>2]=d;c=+ck(+(d+b),6.2831854820251465);do{if(c<-3.1415927410125732){e=c+6.2831854820251465}else{if(c<=3.1415927410125732){e=c;break}e=c-6.2831854820251465}}while(0);g[a+680>>2]=e;g[a+688>>2]=.8999999761581421;g[a+692>>2]=.30000001192092896;g[a+696>>2]=1.0;return}function yw(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0;e=(c-b)*.5;g[a+684>>2]=e;c=+ck(+(e+b),6.2831854820251465);do{if(c<-3.1415927410125732){f=c+6.2831854820251465}else{if(c<=3.1415927410125732){f=c;break}f=c-6.2831854820251465}}while(0);g[a+680>>2]=f;g[a+688>>2]=d;g[a+692>>2]=.30000001192092896;g[a+696>>2]=1.0;return}function yx(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0.0,h=0.0;f=(c-b)*.5;g[a+684>>2]=f;c=+ck(+(f+b),6.2831854820251465);do{if(c<-3.1415927410125732){h=c+6.2831854820251465}else{if(c<=3.1415927410125732){h=c;break}h=c-6.2831854820251465}}while(0);g[a+680>>2]=h;g[a+688>>2]=d;g[a+692>>2]=e;g[a+696>>2]=1.0;return}function yy(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var h=0.0,i=0.0;h=(c-b)*.5;g[a+684>>2]=h;c=+ck(+(h+b),6.2831854820251465);do{if(c<-3.1415927410125732){i=c+6.2831854820251465}else{if(c<=3.1415927410125732){i=c;break}i=c-6.2831854820251465}}while(0);g[a+680>>2]=i;g[a+688>>2]=d;g[a+692>>2]=e;g[a+696>>2]=f;return}function yz(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function yA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f);return}function yB(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,R=0.0,S=0.0,T=0.0,U=0;e=i;i=i+40|0;f=e|0;h=e+8|0;j=e+24|0;ec(a+608|0,h);k=-0.0- +g[h>>2];l=-0.0- +g[h+4>>2];m=-0.0- +g[h+8>>2];n=+g[h+12>>2];o=+g[b>>2];q=+g[b+12>>2];r=+g[b+8>>2];s=+g[b+4>>2];t=n*o+q*k+r*l-s*m;u=o*m+(q*l+n*s)-r*k;v=q*m+n*r+s*k-o*l;w=n*q-o*k-s*l-r*m;ec(a+544|0,j);m=+g[j>>2];r=+g[j+12>>2];l=+g[j+8>>2];s=+g[j+4>>2];k=m*w+t*r+u*l-v*s;o=m*v+(r*u+w*s)-t*l;q=r*v+w*l+t*s-m*u;n=w*r-m*t-u*s-v*l;l=1.0/+Q(+(n*n+(q*q+(k*k+o*o))));v=k*l;k=l*o;o=l*q;q=l*n;n=q*0.0;l=o*0.0;s=n+k-l;u=l+n-v;n=k*0.0;l=q+v*0.0-n;t=-0.0-v;m=v*-0.0-n-o;n=-0.0-k;r=-0.0-o;w=u*r+(q*s+m*t)-l*n;x=l*t+(q*u+m*n)-s*r;y=s*n+(q*l+m*r)-u*t;t=1.0/+Q(+(y*y+(w*w+x*x)));u=t*w;w=t*x;x=t*y;y=u*0.0;t=w*0.0;r=x+(t+y);do{if(r<-.9999998807907104){if(+P(1.0)>.7071067690849304){z=0.0;A=-1.0;B=0.0;C=0.0;break}z=p;A=p;B=0.0;C=0.0}else{m=x*0.0;l=+Q(+((r+1.0)*2.0));n=1.0/l;z=(m-w)*n;A=(u-m)*n;B=(t-y)*n;C=l*.5}}while(0);y=-0.0-z;z=-0.0-A;A=-0.0-B;B=o*z+(v*C+q*y)-k*A;t=v*A+(k*C+q*z)-o*y;u=o*C+q*A+k*y-v*z;w=q*C-v*y-k*z-o*A;A=1.0/+Q(+(w*w+(u*u+(t*t+B*B))));B=A*u;u=A*w;w=u<-1.0?-1.0:u;A=+V(+(w>1.0?1.0:w))*2.0;if(A>3.1415927410125732){w=u>1.0?-1.0:-0.0-u;D=+V(+(w>1.0?1.0:w))*2.0;E=-0.0-B}else{D=A;E=B}if(E>=0.0){F=D;G=f;g[f>>2]=F;H=a+680|0;aq4(H,f);I=a+24|0;J=c[I>>2]|0;K=J+4|0;L=a+28|0;M=c[L>>2]|0;N=M+4|0;O=+apy(a,K,N);R=+g[f>>2];S=R-O;T=S/d;U=a+672|0;g[U>>2]=T;i=e;return}F=-0.0-D;G=f;g[f>>2]=F;H=a+680|0;aq4(H,f);I=a+24|0;J=c[I>>2]|0;K=J+4|0;L=a+28|0;M=c[L>>2]|0;N=M+4|0;O=+apy(a,K,N);R=+g[f>>2];S=R-O;T=S/d;U=a+672|0;g[U>>2]=T;i=e;return}function yC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=aDx(756)|0;if((e|0)!=0){f=2798;break}g=(C=c[10744]|0,c[10744]=C+0,C);if((g|0)==0){f=2795;break}dC[g&63]()}if((f|0)==2798){g=e;apo(g,a,b,d,0);return g|0}else if((f|0)==2795){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}return 0}function yD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;while(1){f=aDx(756)|0;if((f|0)!=0){g=2812;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){g=2809;break}dC[h&63]()}if((g|0)==2812){h=f;apo(h,a,b,d,e);return h|0}else if((g|0)==2809){g=cd(4)|0;c[g>>2]=19096;bF(g|0,34368,676);return 0}return 0}function yE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;while(1){h=aDx(756)|0;if((h|0)!=0){i=2826;break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){break}dC[j&63]()}if((i|0)==2826){i=h;apn(i,a,b,d,e,f,g,0);return i|0}i=cd(4)|0;c[i>>2]=19096;bF(i|0,34368,676);return 0}function yF(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;while(1){i=aDx(756)|0;if((i|0)!=0){j=2838;break}k=(C=c[10744]|0,c[10744]=C+0,C);if((k|0)==0){break}dC[k&63]()}if((j|0)==2838){j=i;apn(j,a,b,d,e,f,g,h);return j|0}j=cd(4)|0;c[j>>2]=19096;bF(j|0,34368,676);return 0}function yG(a){a=a|0;return+(+g[a+32>>2])}function yH(a){a=a|0;return a+544|0}function yI(a,b){a=a|0;b=+b;g[a>>2]=b;return}function yJ(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function yK(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function yL(b){b=b|0;var d=0;do{if((c[b+56>>2]|0)==0){if((a[b+44|0]&1)==0){d=0}else{break}return d|0}}while(0);d=1;return d|0}function yM(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function yN(b,d,e,f,h,i){b=b|0;d=+d;e=e|0;f=+f;h=h|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;do{if((c[b+56>>2]|0)==0){if((a[b+44|0]&1)==0){j=0.0;return+j}else{k=+g[b+8>>2];l=b+12|0;break}}else{k=+g[b+48>>2]*(-0.0- +g[b+32>>2])/d;l=b+16|0}}while(0);m=+g[l>>2]*d;l=h+520|0;n=h+524|0;o=h+528|0;p=i+520|0;q=i+524|0;r=i+528|0;s=e|0;t=e+4|0;u=e+8|0;d=+g[b+24>>2]*(k- +g[b+20>>2]*((+g[h+320>>2]+ +g[l>>2]-(+g[i+320>>2]+ +g[p>>2]))*+g[s>>2]+(+g[h+324>>2]+ +g[n>>2]-(+g[i+324>>2]+ +g[q>>2]))*+g[t>>2]+(+g[h+328>>2]+ +g[o>>2]-(+g[i+328>>2]+ +g[r>>2]))*+g[u>>2]));if(d<1.1920928955078125e-7&d>-1.1920928955078125e-7){j=0.0;return+j}k=d*(+g[b+40>>2]+1.0)*f;if(k>0.0){v=k>m?m:k}else{f=-0.0-m;v=k>2];f=v+k;if(f>999999984306749400.0){w=0.0}else{w=f<-999999984306749400.0?0.0:f}g[e>>2]=w;f=w-k;k=+g[s>>2];w=+g[t>>2];v=+g[u>>2];if(+g[h+336>>2]!=0.0){m=w*+g[h+292>>2]+k*+g[h+288>>2]+v*+g[h+296>>2];d=w*+g[h+276>>2]+k*+g[h+272>>2]+v*+g[h+280>>2];x=w*+g[h+260>>2]+k*+g[h+256>>2]+v*+g[h+264>>2];y=f*0.0;e=h+504|0;g[e>>2]=y+ +g[e>>2];e=h+508|0;g[e>>2]=y+ +g[e>>2];e=h+512|0;g[e>>2]=y+ +g[e>>2];y=d*f*+g[h+540>>2];d=m*f*+g[h+544>>2];g[l>>2]=x*f*+g[h+536>>2]+ +g[l>>2];g[n>>2]=y+ +g[n>>2];g[o>>2]=d+ +g[o>>2];z=+g[s>>2];A=+g[t>>2];B=+g[u>>2]}else{z=k;A=w;B=v}v=-0.0-f;if(+g[i+336>>2]==0.0){j=f;return+j}w=A*+g[i+292>>2]+z*+g[i+288>>2]+B*+g[i+296>>2];k=A*+g[i+276>>2]+z*+g[i+272>>2]+B*+g[i+280>>2];d=A*+g[i+260>>2]+z*+g[i+256>>2]+B*+g[i+264>>2];B=f*-0.0;u=i+504|0;g[u>>2]=B+ +g[u>>2];u=i+508|0;g[u>>2]=B+ +g[u>>2];u=i+512|0;g[u>>2]=B+ +g[u>>2];B=k*+g[i+540>>2]*v;k=w*+g[i+544>>2]*v;g[p>>2]=d*+g[i+536>>2]*v+ +g[p>>2];g[q>>2]=B+ +g[q>>2];g[r>>2]=k+ +g[r>>2];j=f;return+j}function yO(a){a=a|0;return+(+g[a+32>>2])}function yP(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function yQ(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function yR(a){a=a|0;return+(+g[a+52>>2])}function yS(a){a=a|0;return+(+g[a+36>>2])}function yT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+544|0;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+560|0;e=b+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+576|0;f=b+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+592|0;e=b+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+608|0;f=d;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+624|0;e=d+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+640|0;f=d+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+656|0;e=d+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function yU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;d=i;i=i+272|0;e=d|0;f=d+32|0;h=d+80|0;j=d+96|0;k=d+112|0;l=d+176|0;m=d+224|0;n=k;o=l;anN(b,h,j);p=+g[a+592>>2];q=+g[a+596>>2];r=+g[a+600>>2];s=b|0;t=b+4|0;u=b+8|0;v=+g[h>>2];g[a+544>>2]=v;g[a+548>>2]=+g[j>>2];g[a+552>>2]=+g[s>>2];g[a+556>>2]=0.0;w=+g[h+4>>2];g[a+560>>2]=w;g[a+564>>2]=+g[j+4>>2];g[a+568>>2]=+g[t>>2];g[a+572>>2]=0.0;x=+g[h+8>>2];g[a+576>>2]=x;g[a+580>>2]=+g[j+8>>2];g[a+584>>2]=+g[u>>2];g[a+588>>2]=0.0;j=a+24|0;h=c[j>>2]|0;y=+g[s>>2];z=+g[t>>2];A=+g[u>>2];B=+g[h+4>>2]*y+ +g[h+8>>2]*z+ +g[h+12>>2]*A;C=+g[h+20>>2]*y+ +g[h+24>>2]*z+ +g[h+28>>2]*A;D=+g[h+36>>2]*y+ +g[h+40>>2]*z+ +g[h+44>>2]*A;E=y*B+z*C+A*D;if(E<-.9999998807907104){anN(b,e,d+16|0);F=0.0;G=+g[e+8>>2];H=+g[e+4>>2];I=+g[e>>2]}else{J=+Q(+((E+1.0)*2.0));E=1.0/J;F=J*.5;G=(y*C-z*B)*E;H=(A*B-y*D)*E;I=(z*D-A*C)*E}E=F*v+H*x-G*w;A=F*w+G*v-I*x;z=F*x+I*w-H*v;y=-0.0-I;I=v*y-H*w-G*x;x=-0.0-H;H=-0.0-G;G=I*y+E*F+A*H-z*x;w=I*x+A*F+z*y-E*H;v=I*H+z*F+E*x-A*y;y=C*v-D*w;A=D*G-B*v;x=B*w-C*G;e=a+28|0;b=c[e>>2]|0;h=f;d$(f,b+4|0,b+20|0,b+36|0,b+8|0,b+24|0,b+40|0,b+12|0,b+28|0,b+44|0);E=-0.0- +g[b+52>>2];F=-0.0- +g[b+56>>2];z=-0.0- +g[b+60>>2];H=+g[f>>2]*E+ +g[f+4>>2]*F+ +g[f+8>>2]*z;I=+g[f+16>>2]*E+ +g[f+20>>2]*F+ +g[f+24>>2]*z;J=+g[f+32>>2]*E+ +g[f+36>>2]*F+ +g[f+40>>2]*z;b=k+48|0;u=k|0;do{u=u+16|0;}while((u|0)!=(b|0));c[n>>2]=c[h>>2];c[n+4>>2]=c[h+4>>2];c[n+8>>2]=c[h+8>>2];c[n+12>>2]=c[h+12>>2];h=k+16|0;n=f+16|0;c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[h+12>>2]=c[n+12>>2];n=k+32|0;h=f+32|0;c[n>>2]=c[h>>2];c[n+4>>2]=c[h+4>>2];c[n+8>>2]=c[h+8>>2];c[n+12>>2]=c[h+12>>2];g[k+48>>2]=H;g[k+52>>2]=I;g[k+56>>2]=J;g[k+60>>2]=0.0;h=c[j>>2]|0;z=+g[h+4>>2]*p+ +g[h+8>>2]*q+ +g[h+12>>2]*r+ +g[h+52>>2];F=+g[h+20>>2]*p+ +g[h+24>>2]*q+ +g[h+28>>2]*r+ +g[h+56>>2];E=+g[h+36>>2]*p+ +g[h+40>>2]*q+ +g[h+44>>2]*r+ +g[h+60>>2];r=+g[k+16>>2]*z+ +g[k+20>>2]*F+ +g[k+24>>2]*E+I;I=+g[k+32>>2]*z+ +g[k+36>>2]*F+ +g[k+40>>2]*E+J;g[a+656>>2]=+g[k>>2]*z+ +g[k+4>>2]*F+ +g[k+8>>2]*E+H;g[a+660>>2]=r;g[a+664>>2]=I;g[a+668>>2]=0.0;k=a+608|0;g[k>>2]=G;g[a+612>>2]=y;g[a+616>>2]=B;g[a+620>>2]=0.0;g[a+624>>2]=w;g[a+628>>2]=A;g[a+632>>2]=C;g[a+636>>2]=0.0;g[a+640>>2]=v;g[a+644>>2]=x;g[a+648>>2]=D;g[a+652>>2]=0.0;eq(m,(c[e>>2]|0)+4|0);anx(l,m,k);m=k;c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];o=a+624|0;m=l+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=a+640|0;a=l+32|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];i=d;return}function yV(){var b=0,d=0,e=0;while(1){b=aDx(64)|0;if((b|0)!=0){d=2893;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==2893){g[b+60>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=.10000000149011612;g[b+16>>2]=300.0;g[b>>2]=1.0;g[b+4>>2]=-1.0;g[b+28>>2]=0.0;g[b+32>>2]=.20000000298023224;g[b+36>>2]=0.0;g[b+40>>2]=0.0;g[b+20>>2]=1.0;g[b+24>>2]=.5;c[b+56>>2]=0;g[b+48>>2]=0.0;a[b+44|0]=0;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function yW(b){b=b|0;return(a[b+44|0]&1)!=0|0}function yX(b,c){b=b|0;c=c|0;a[b+44|0]=c&1;return}function yY(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0,h=0;d=+g[a>>2];e=+g[a+4>>2];if(d>e){c[a+56>>2]=0;f=0;return f|0}if(d>b){c[a+56>>2]=1;g[a+48>>2]=b-d;f=1;return f|0}h=a+56|0;if(e>2]=2;g[a+48>>2]=b-e;f=2;return f|0}else{c[h>>2]=0;f=0;return f|0}return 0}function yZ(a){a=a|0;return+(+g[a+48>>2])}function y_(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function y$(a){a=a|0;return+(+g[a>>2])}function y0(a){a=a|0;return c[a+56>>2]|0}function y1(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function y2(a){a=a|0;return+(+g[a+40>>2])}function y3(a){a=a|0;return+(+g[a+8>>2])}function y4(a){a=a|0;return+(+g[a+60>>2])}function y5(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function y6(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function y7(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function y8(a){a=a|0;return+(+g[a+16>>2])}function y9(a){a=a|0;return+(+g[a+20>>2])}function za(a){a=a|0;return+(+g[a+28>>2])}function zb(a){a=a|0;return+(+g[a+4>>2])}function zc(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function zd(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function ze(a){a=a|0;return(+g[a>>2]>+g[a+4>>2]?0:1)|0}function zf(a){a=a|0;return+(+g[a+12>>2])}function zg(a,b){a=a|0;b=b|0;c[a+56>>2]=b;return}function zh(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function zi(a){a=a|0;return+(+g[a+24>>2])}function zj(a){a=a|0;return(c[a+4>>2]|0)==31|0}function zk(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function zl(a){a=a|0;return+(+g[a+44>>2])}function zm(a){a=a|0;return(c[a+4>>2]|0)<7|0}function zn(a){a=a|0;return+(+g[a+56>>2])}function zo(a){a=a|0;return+(+g[a+60>>2])}function zp(a){a=a|0;return a+12|0}function zq(a,b){a=a|0;b=b|0;if((b|0)==0){c[a+64>>2]=1;c[a+68>>2]=0;c[a+72>>2]=2;return}else if((b|0)==2){c[a+64>>2]=0;c[a+68>>2]=2;c[a+72>>2]=1;return}else if((b|0)==1){c[a+64>>2]=0;c[a+68>>2]=1;c[a+72>>2]=2;return}else{return}}function zr(a){a=a|0;return(c[a+4>>2]|0)<20|0}function zs(a){a=a|0;return(c[a+4>>2]|0)==28|0}function zt(a){a=a|0;return c[a+8>>2]|0}function zu(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function zv(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function zw(a){a=a|0;return(c[a+4>>2]|0)==32|0}function zx(a){a=a|0;return a+28|0}function zy(a){a=a|0;return c[a+68>>2]|0}function zz(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function zA(a){a=a|0;return c[a+4>>2]|0}function zB(a){a=a|0;return(c[a+4>>2]|0)==31|0}function zC(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function zD(a){a=a|0;return+(+g[a+44>>2])}function zE(a){a=a|0;return(c[a+4>>2]|0)<7|0}function zF(a){a=a|0;return+(+g[a+56>>2])}function zG(a){a=a|0;if((a|0)==0){return}aDB(a);return}function zH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e)|0}function zI(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function zJ(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43760]|0)==0){if((b1(43760)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9502]=c[d>>2];c[9503]=c[d+4>>2];c[9504]=c[d+8>>2];c[9505]=c[d+12>>2];i=e;return 38008}function zK(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function zL(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function zM(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function zN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function zO(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function zP(a,b){a=+a;b=+b;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(95)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;g[e+56>>2]=a;g[e+60>>2]=b;c[e+4>>2]=11;g[e+52>>2]=a/+Q(+(a*a+b*b));c[e>>2]=25768;c[e+64>>2]=0;c[e+68>>2]=2;c[e+72>>2]=1;return e|0}function zQ(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function zR(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43296]|0)==0){if((b1(43296)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9498]=c[d>>2];c[9499]=c[d+4>>2];c[9500]=c[d+8>>2];c[9501]=c[d+12>>2];i=e;return 37992}function zS(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43456]|0)==0){if((b1(43456)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9494]=c[d>>2];c[9495]=c[d+4>>2];c[9496]=c[d+8>>2];c[9497]=c[d+12>>2];i=e;return 37976}function zT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function zU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function zV(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43600]|0)==0){if((b1(43600)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9490]=c[d>>2];c[9491]=c[d+4>>2];c[9492]=c[d+8>>2];c[9493]=c[d+12>>2];i=e;return 37960}function zW(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function zX(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function zY(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function zZ(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function z_(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function z$(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 10:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function z0(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function z1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function z2(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function z3(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function z4(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function z5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function z6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function z7(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function z8(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43768]|0)==0){if((b1(43768)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9486]=c[d>>2];c[9487]=c[d+4>>2];c[9488]=c[d+8>>2];c[9489]=c[d+12>>2];i=e;return 37944}function z9(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function Aa(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function Ab(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function Ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function Ad(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function Ae(b){b=b|0;var d=0,e=0,f=0;while(1){d=aDx(64)|0;if((d|0)!=0){e=3041;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==3041){g[d+8>>2]=+g[b+8>>2];g[d+12>>2]=+g[b+12>>2];g[d+24>>2]=+g[b+24>>2];g[d>>2]=+g[b>>2];g[d+4>>2]=+g[b+4>>2];g[d+28>>2]=+g[b+28>>2];g[d+32>>2]=+g[b+32>>2];g[d+36>>2]=+g[b+36>>2];g[d+40>>2]=+g[b+40>>2];c[d+56>>2]=c[b+56>>2];g[d+48>>2]=+g[b+48>>2];a[d+44|0]=a[b+44|0]&1;return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function Af(a){a=a|0;return+(+g[a+60>>2])}function Ag(a){a=a|0;return a+12|0}function Ah(a,b){a=a|0;b=b|0;if((b|0)==1){c[a+64>>2]=0;c[a+68>>2]=1;c[a+72>>2]=2;return}else if((b|0)==2){c[a+64>>2]=0;c[a+68>>2]=2;c[a+72>>2]=1;return}else if((b|0)==0){c[a+64>>2]=1;c[a+68>>2]=0;c[a+72>>2]=2;return}else{return}}function Ai(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Aj(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Ak(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function Al(a){a=a|0;return c[a+8>>2]|0}function Am(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function An(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Ao(a){a=a|0;return(c[a+4>>2]|0)==32|0}function Ap(a){a=a|0;return a+28|0}function Aq(a){a=a|0;return c[a+68>>2]|0}function Ar(a){a=a|0;return c[a+4>>2]|0}function As(a){a=a|0;return+(+g[a+168>>2])}function At(b){b=b|0;return(a[b+165|0]&1)!=0|0}function Au(a){a=a|0;return a+4|0}function Av(a,b){a=a|0;b=+b;g[a+168>>2]=b;return}function Aw(b){b=b|0;return(a[b+164|0]&1)!=0|0}function Ax(b){b=b|0;return(c[((a[b+164|0]&1)==0?b+148|0:b+128|0)>>2]|0)/3|0|0}function Ay(a){a=a|0;return a+20|0}function Az(a,b){a=+a;b=+b;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(95)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;g[e+56>>2]=a;g[e+60>>2]=b;c[e+4>>2]=11;g[e+52>>2]=a/+Q(+(a*a+b*b));c[e>>2]=25872;c[e+64>>2]=1;c[e+68>>2]=0;c[e+72>>2]=2;return e|0}function AA(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43304]|0)==0){if((b1(43304)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9482]=c[d>>2];c[9483]=c[d+4>>2];c[9484]=c[d+8>>2];c[9485]=c[d+12>>2];i=e;return 37928}function AB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43464]|0)==0){if((b1(43464)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9478]=c[d>>2];c[9479]=c[d+4>>2];c[9480]=c[d+8>>2];c[9481]=c[d+12>>2];i=e;return 37912}function AC(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function AD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function AE(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43608]|0)==0){if((b1(43608)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9474]=c[d>>2];c[9475]=c[d+4>>2];c[9476]=c[d+8>>2];c[9477]=c[d+12>>2];i=e;return 37896}function AF(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function AG(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function AH(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function AI(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function AJ(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function AK(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 10:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function AL(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function AM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function AN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function AO(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function AP(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function AQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function AR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function AS(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function AT(a,b){a=a|0;b=b|0;aBk(a,b);return}function AU(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a,b);return}function AV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+40|0;f=e|0;c[f>>2]=18624;g[f+4>>2]=999999984306749400.0;g[f+8>>2]=999999984306749400.0;g[f+12>>2]=999999984306749400.0;g[f+16>>2]=0.0;g[f+20>>2]=-999999984306749400.0;g[f+24>>2]=-999999984306749400.0;g[f+28>>2]=-999999984306749400.0;g[f+32>>2]=0.0;g[b>>2]=-999999984306749400.0;g[b+4>>2]=-999999984306749400.0;g[b+8>>2]=-999999984306749400.0;g[b+12>>2]=0.0;g[d>>2]=999999984306749400.0;g[d+4>>2]=999999984306749400.0;g[d+8>>2]=999999984306749400.0;g[d+12>>2]=0.0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,f|0,b,d);a=b;b=f+4|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];b=d;d=f+20|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];i=e;return}function AW(a,b,c){a=a|0;b=b|0;c=c|0;return aBn(a,b,c)|0}function AX(a,b){a=a|0;b=b|0;AY(a|0,b,2);return}function AY(b,d,e){b=b|0;d=d|0;e=e|0;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;f=b+24|0;g=c[f>>2]|0;h=b+28|0;do{if((g|0)==(c[h>>2]|0)){i=(g|0)==0?1:g<<1;if((g|0)>=(i|0)){j=g;break}do{if((i|0)==0){k=0}else{c[9806]=(c[9806]|0)+1;l=aDx((i<<5|4)+15|0)|0;if((l|0)==0){k=0;break}m=-(l+4|0)&15;c[l+m>>2]=l;k=l+(m+4)|0}}while(0);m=c[f>>2]|0;l=b+32|0;n=0;while(1){if((n|0)>=(m|0)){break}o=k+(n<<5)|0;p=(c[l>>2]|0)+(n<<5)|0;aDC(o|0,p|0,32)|0;n=n+1|0}n=c[f>>2]|0;m=0;while(1){if((m|0)>=(n|0)){break}m=m+1|0}m=c[l>>2]|0;p=b+36|0;if((m|0)==0){q=n;r=p}else{if((a[p]&1)==0){s=n}else{c[9804]=(c[9804]|0)+1;aDB(c[m-32+28>>2]|0);s=c[f>>2]|0}c[l>>2]=0;q=s;r=p}a[r]=1;c[l>>2]=k;c[h>>2]=i;j=q}else{j=g}}while(0);g=b+32|0;b=(c[g>>2]|0)+(j<<5)|0;j=d;aDC(b|0,j|0,32)|0;j=c[f>>2]|0;c[f>>2]=j+1;c[(c[g>>2]|0)+(j<<5)+24>>2]=e;return}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;AY(a|0,b,c);return}function A_(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+48>>2]&511](a|0,b,d);return}function A$(a){a=a|0;return cA[c[(c[a>>2]|0)+52>>2]&4095](a|0)|0}function A0(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(191)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}d=b;aBj(d,1,1);return d|0}function A1(a){a=a|0;var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(191)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}e=d;aBj(e,a,1);return e|0}function A2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(191)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}f=e;aBj(f,a,b);return f|0}function A3(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a|0,b,d);return}function A4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function A5(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function A6(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function A7(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;di[c[(c[a>>2]|0)+16>>2]&63](a|0,b,d,e,f,g,h,i,j,0);return}function A8(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;di[c[(c[a>>2]|0)+16>>2]&63](a|0,b,d,e,f,g,h,i,j,k);return}function A9(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a,b);return}function Ba(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+56>>2]&511](a|0,b,d)|0}function Bb(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a|0,b);return}function Bc(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Bd(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function Be(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;di[c[(c[a>>2]|0)+12>>2]&63](a|0,b,d,e,f,g,h,i,j,0);return}function Bf(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;di[c[(c[a>>2]|0)+12>>2]&63](a|0,b,d,e,f,g,h,i,j,k);return}function Bg(a){a=a|0;return cA[c[(c[a>>2]|0)+40>>2]&4095](a|0)|0}function Bh(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function Bi(a){a=a|0;return c[a>>2]|0}function Bj(a){a=a|0;return c[a+4>>2]|0}function Bk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Bl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Bm(a){a=a|0;return c[a+12>>2]|0}function Bn(a){a=a|0;return c[a+12>>2]|0}function Bo(a){a=a|0;return c[a+8>>2]|0}function Bp(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function Bq(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Br(a){a=a|0;return a+4|0}function Bs(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function Bt(a){a=a|0;return+(+g[a+32>>2])}function Bu(a){a=a|0;return+(+g[a+4>>2])}function Bv(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function Bw(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Bx(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function By(a){a=a|0;return+g[a+4>>2]<1.0|0}function Bz(a){a=a|0;return b[a+10>>1]|0}function BA(a){a=a|0;return b[a+8>>1]|0}function BB(a){a=a|0;return a+132|0}function BC(a){a=a|0;return c[a+196>>2]|0}function BD(a){a=a|0;return a+4|0}function BE(a,b){a=a|0;b=b|0;c[a+196>>2]=b;return}function BF(a){a=a|0;return a+68|0}function BG(a){a=a|0;return a+100|0}function BH(a){a=a|0;return c[a+24>>2]|0}function BI(a){a=a|0;return a|0}function BJ(a,b){a=a|0;b=b|0;c[a+76>>2]=b;return}function BK(b){b=b|0;return(a[b+242|0]&1)!=0|0}function BL(b,c){b=b|0;c=c|0;a[b+242|0]=c&1;return}function BM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;aBk(a,aBn(a,b,0)|0);aBk(a,aBn(a,d,0)|0);aBk(a,aBn(a,e,0)|0);return}function BN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;aBk(a,aBn(a,b,f)|0);aBk(a,aBn(a,d,f)|0);aBk(a,aBn(a,e,f)|0);return}function BO(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function BP(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-16+12>>2]|0);return}function BQ(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(35)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}aDD(b|0,0,16);return b|0}function BR(a){a=a|0;var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(35)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return d|0}function BS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[9806]=(c[9806]|0)+1;d=aDx(35)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}f=e|0;if((c[a+12>>2]|0)<(c[b+12>>2]|0)){c[f>>2]=a;c[e+4>>2]=b;g=e+8|0;c[g>>2]=0;h=e+12|0;c[h>>2]=0;return e|0}else{c[f>>2]=b;c[e+4>>2]=a;g=e+8|0;c[g>>2]=0;h=e+12|0;c[h>>2]=0;return e|0}return 0}function BT(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a|0,b)|0}function BU(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function BV(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function BW(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+12>>2]&127](a,b,d))}function BX(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function BY(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+8>>2]&2047](a,b);return}function BZ(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+132|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+148|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+164|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+180|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function B_(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a,b);return}function B$(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+20|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+36|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+52|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function B0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;c[a>>2]=22504;e=a+4|0;f=a+52|0;g=e|0;do{g=g+16|0;}while((g|0)!=(f|0));f=e;e=b;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];f=a+20|0;g=b+16|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];f=a+36|0;h=b+32|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];f=a+52|0;i=b+48|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];f=a+68|0;b=a+116|0;j=f|0;do{j=j+16|0;}while((j|0)!=(b|0));b=f;f=d;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=a+84|0;b=d+16|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];b=a+100|0;f=d+32|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=a+116|0;b=d+48|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];b=a+132|0;f=a+180|0;d=b|0;do{d=d+16|0;}while((d|0)!=(f|0));f=b;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+148|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=a+164|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=a+180|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[a+196>>2]=0;return}function B1(){var b=0;if((a[43040]|0)!=0){return}if((b1(43040)|0)==0){return}es();b=42752;do{b=b+16|0;}while((b|0)!=42800);c[10688]=c[10704];c[10689]=c[10705];c[10690]=c[10706];c[10691]=c[10707];c[10692]=c[10708];c[42772>>2]=c[42836>>2];c[42776>>2]=c[42840>>2];c[42780>>2]=c[42844>>2];c[10696]=c[10712];c[42788>>2]=c[42852>>2];c[42792>>2]=c[42856>>2];c[42796>>2]=c[42860>>2];aDD(42800,0,16);return}function B2(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+68|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+84|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+100|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+116|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function B3(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+68>>2]&2047](a|0,b);return}function B4(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a|0,b);return}function B5(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a|0)|0}function B6(a){a=a|0;ct[c[(c[a>>2]|0)+164>>2]&2047](a|0);return}function B7(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+44>>2]&2047](a|0,b);return}function B8(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+80>>2]&2047](a|0,b);return}function B9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+84>>2]&1023](a|0,b,d,e);return}function Ca(a){a=a|0;ct[c[(c[a>>2]|0)+116>>2]&2047](a|0);return}function Cb(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+124>>2]&2047](a|0,b);return}function Cc(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+156>>2]&1023](a,b);return}function Cd(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+168>>2]&2047](a|0,b);return}function Ce(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+176>>2]&1023](a,b);return}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+24>>2]&1023](a|0,b,d,e);return}function Cg(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function Ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a|0,b,d,e);return}function Ci(a){a=a|0;return cA[c[(c[a>>2]|0)+100>>2]&4095](a|0)|0}function Cj(a,b){a=a|0;b=b|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,2,-3);return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,d,-3);return}function Cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,d,e);return}function Cm(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+88>>2]&2047](a|0,b);return}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;f=e|0;g=e+16|0;h=e+32|0;j=c[b+192>>2]|0;dI[c[(c[j>>2]|0)+8>>2]&1023](j,b+4|0,f,g);c[h>>2]=21168;c[h+4>>2]=b;c[h+8>>2]=a;c[h+12>>2]=d;d=c[a+76>>2]|0;dI[c[(c[d>>2]|0)+28>>2]&1023](d,f,g,h|0);i=e;return}function Co(){var a=0,b=0,d=0;while(1){a=aDx(200)|0;if((a|0)!=0){break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){d=3290;break}dC[b&63]()}if((d|0)==3290){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}d=a;B1();B1();B0(d,42752,42752);return d|0}function Cp(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(200)|0;if((b|0)!=0){d=3308;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){d=3305;break}dC[e&63]()}if((d|0)==3305){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}else if((d|0)==3308){d=b;B1();B0(d,a,42752);return d|0}return 0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;while(1){d=aDx(200)|0;if((d|0)!=0){e=3322;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==3322){e=d;B0(e,a,b);return e|0}e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}function Cr(a,b){a=a|0;b=b|0;c[a+88>>2]=b;c[a+96>>2]=0;return}function Cs(a,b,d){a=a|0;b=b|0;d=d|0;c[a+88>>2]=b;c[a+96>>2]=d;return}function Ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(e){c[a+92>>2]=b}else{c[a+88>>2]=b}c[a+96>>2]=d;return}function Cu(b){b=b|0;return(a[b+84|0]&1)!=0|0}function Cv(a){a=a|0;return c[a+8>>2]|0}function Cw(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function Cx(a){a=a|0;return c[a+96>>2]|0}function Cy(a){a=a|0;return c[a+76>>2]|0}function Cz(b,c){b=b|0;c=c|0;a[b+84|0]=c&1;return}function CA(a){a=a|0;return a+4|0}function CB(a){a=a|0;return c[a+176>>2]|0}function CC(a){a=a|0;return a+28|0}function CD(a){a=a|0;return(c[a+4>>2]|0)==31|0}function CE(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function CF(a){a=a|0;return+(+g[a+44>>2])}function CG(a){a=a|0;return(c[a+4>>2]|0)<7|0}function CH(a){a=a|0;return+(+g[a+56>>2])}function CI(a){a=a|0;return+(+g[a+60>>2])}function CJ(a){a=a|0;return a+12|0}function CK(a,b){a=a|0;b=b|0;if((b|0)==0){c[a+64>>2]=1;c[a+68>>2]=0;c[a+72>>2]=2;return}else if((b|0)==2){c[a+64>>2]=0;c[a+68>>2]=2;c[a+72>>2]=1;return}else if((b|0)==1){c[a+64>>2]=0;c[a+68>>2]=1;c[a+72>>2]=2;return}else{return}}function CL(a){a=a|0;return(c[a+4>>2]|0)<20|0}function CM(a){a=a|0;return(c[a+4>>2]|0)==28|0}function CN(a){a=a|0;return c[a+8>>2]|0}function CO(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function CP(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function CQ(a){a=a|0;return(c[a+4>>2]|0)==32|0}function CR(a){a=a|0;ct[c[(c[a>>2]|0)+40>>2]&2047](a|0);return}function CS(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a|0);return}function CT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a|0,b);return}function CU(a,b){a=a|0;b=b|0;aoh(a|0,b);return}function CV(a){a=a|0;ct[c[(c[a>>2]|0)+20>>2]&2047](a|0);return}function CW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;atO(a|0,b,c,d,e,0.0);return}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;atO(a|0,b,c,d,e,f);return}function CY(a,b){a=a|0;b=b|0;dA[c[(c[a>>2]|0)+52>>2]&511](a|0,b,0);return}function CZ(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d);return}function C_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+168|0;g=f|0;h=a+24|0;j=c[h>>2]|0;k=dE[c[(c[j>>2]|0)+8>>2]&127](j,b,d,0)|0;if((k|0)==0){i=f;return}c[g+4>>2]=0;c[g+136>>2]=b;c[g+140>>2]=d;j=g+8|0;l=b+4|0;aDD(g+144|0,-1|0,16);c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+24|0;j=b+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+40|0;l=b+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+56|0;j=b+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+72|0;l=d+4|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+88|0;j=d+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+104|0;l=d+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+120|0;j=d+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];c[g>>2]=21728;c[g+160>>2]=e;co[c[(c[k>>2]|0)+8>>2]&255](k,b,d,a+28|0,g|0);ct[c[c[k>>2]>>2]&2047](k);g=c[h>>2]|0;cv[c[(c[g>>2]|0)+60>>2]&2047](g,k);i=f;return}function C$(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d|0;do{if((a[43776]|0)==0){if((b1(43776)|0)==0){break}}}while(0);cv[c[(c[b>>2]|0)+72>>2]&2047](e,b|0);b=e;c[9458]=c[b>>2];c[9459]=c[b+4>>2];c[9460]=c[b+8>>2];c[9461]=c[b+12>>2];i=d;return 37832}function C0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;atG(a,b,c,d,e,f);return}function C1(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+64>>2]&2047](a|0,b);return}function C2(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function C3(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+132>>2]&2047](a|0,b);return}function C4(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+104>>2]&511](a|0,b)|0}function C5(a){a=a|0;return cA[c[(c[a>>2]|0)+96>>2]&4095](a|0)|0}function C6(a,b){a=a|0;b=+b;return dr[c[(c[a>>2]|0)+48>>2]&63](a|0,b,1,.01666666753590107)|0}function C7(a,b,d){a=a|0;b=+b;d=d|0;return dr[c[(c[a>>2]|0)+48>>2]&63](a|0,b,d,.01666666753590107)|0}function C8(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return dr[c[(c[a>>2]|0)+48>>2]&63](a|0,b,d,e)|0}function C9(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+128>>2]&2047](a|0,b);return}function Da(a){a=a|0;return cA[c[(c[a>>2]|0)+112>>2]&4095](a)|0}function Db(a,b){a=a|0;b=b|0;atC(a|0,b);return}function Dc(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+172>>2]&1023](a|0,b);return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+64|0;e=d|0;f=b+472|0;if((c[f>>2]|0)==0){i=d;return}if((c[b+204>>2]&3|0)!=0){i=d;return}anY(b+68|0,+g[b+132>>2],+g[b+136>>2],+g[b+140>>2],b+148|0,+g[a+236>>2]*+g[b+240>>2],e);b=c[f>>2]|0;cv[c[(c[b>>2]|0)+12>>2]&2047](b,e);i=d;return}function De(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+120>>2]&2047](a|0,b);return}function Df(a){a=a|0;var b=0;b=c[a+76>>2]|0;return cA[c[(c[b>>2]|0)+36>>2]&4095](b)|0}function Dg(a){a=a|0;ct[c[(c[a>>2]|0)+76>>2]&2047](a|0);return}function Dh(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a|0,b);return}function Di(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+92>>2]&2047](a|0,b);return}function Dj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;atI(a,b,c,d,e,f,g,h);return}function Dk(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43784]|0)==0){if((b1(43784)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9454]=c[d>>2];c[9455]=c[d+4>>2];c[9456]=c[d+8>>2];c[9457]=c[d+12>>2];i=e;return 37816}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function Dn(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function Do(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function Dp(a,b){a=+a;b=+b;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(95)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e>>2]=26096;g[e+56>>2]=a;g[e+60>>2]=b;c[e+4>>2]=11;c[e+64>>2]=0;c[e+68>>2]=1;c[e+72>>2]=2;g[e+52>>2]=a/+Q(+(a*a+b*b));return e|0}function Dq(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function Dr(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function Ds(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43320]|0)==0){if((b1(43320)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9450]=c[d>>2];c[9451]=c[d+4>>2];c[9452]=c[d+8>>2];c[9453]=c[d+12>>2];i=e;return 37800}function Dt(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43480]|0)==0){if((b1(43480)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9446]=c[d>>2];c[9447]=c[d+4>>2];c[9448]=c[d+8>>2];c[9449]=c[d+12>>2];i=e;return 37784}function Du(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function Dv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function Dw(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43624]|0)==0){if((b1(43624)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9442]=c[d>>2];c[9443]=c[d+4>>2];c[9444]=c[d+8>>2];c[9445]=c[d+12>>2];i=e;return 37768}function Dx(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function Dy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function Dz(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function DA(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function DB(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function DC(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function DD(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 10:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 1:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function DE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;while(1){f=aDx(268)|0;if((f|0)!=0){g=3461;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){g=3458;break}dC[h&63]()}if((g|0)==3461){aob(f,a,b,d,e);c[f>>2]=20808;return f|0}else if((g|0)==3458){g=cd(4)|0;c[g>>2]=19096;bF(g|0,34368,676);return 0}return 0}function DF(a){a=a|0;return a+28|0}function DG(a){a=a|0;return c[a+68>>2]|0}function DH(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function DI(a){a=a|0;return c[a+4>>2]|0}function DJ(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function DK(a){a=a|0;return+(+g[a+212>>2])}function DL(a){a=a|0;return+(+g[a+204>>2])}function DM(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function DN(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function DO(a){a=a|0;return+(+g[a+248>>2])}function DP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=i;f=d;d=i;i=i+92|0;i=i+7>>3<<3;aDC(d,f,92)|0;if((a[b+84|0]&1)==0){g[b+32>>2]=+g[b+204>>2];g[b+272>>2]=0.0;h=-0.0- +g[b+56>>2];j=-0.0- +g[b+60>>2];g[b>>2]=-0.0- +g[b+52>>2];g[b+4>>2]=h;g[b+8>>2]=j;g[b+12>>2]=0.0;g[b+268>>2]=1.0;i=e;return}j=+g[b>>2];h=+g[b+4>>2];k=+g[b+8>>2];l=j*+g[b+52>>2]+h*+g[b+56>>2]+k*+g[b+60>>2];m=+g[b+16>>2]- +g[c+52>>2];n=+g[b+20>>2]- +g[c+56>>2];o=+g[b+24>>2]- +g[c+60>>2];p=+g[c+324>>2];q=+g[c+328>>2];r=+g[c+320>>2];if(l<-.10000000149011612){s=-1.0/l;g[b+272>>2]=s*(h*(m*q-o*r+ +g[c+308>>2])+j*(p*o-n*q+ +g[c+304>>2])+k*(n*r-m*p+ +g[c+312>>2]));g[b+268>>2]=s;i=e;return}else{g[b+272>>2]=0.0;g[b+268>>2]=10.0;i=e;return}}function DQ(a){a=a|0;return+(+g[a+220>>2])}function DR(a){a=a|0;return+(+g[a+268>>2])}function DS(a){a=a|0;return a+92|0}function DT(a){a=a|0;return+(+g[a+228>>2])}function DU(b){b=b|0;return(a[b+260|0]&1)!=0|0}function DV(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function DW(a){a=a|0;return+(+g[a+252>>2])}function DX(a){a=a|0;return+(+g[a+232>>2])}function DY(a){a=a|0;return+(+g[a+244>>2])}function DZ(a){a=a|0;return+(+g[a+272>>2])}function D_(a,b){a=a|0;b=b|0;c[a+264>>2]=b;return}function D$(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function D0(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function D1(b,c){b=b|0;c=c|0;a[b+260|0]=c&1;return}function D2(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function D3(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function D4(a){a=a|0;return c[a+264>>2]|0}function D5(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function D6(a){a=a|0;return+(+g[a+280>>2])}function D7(a){a=a|0;return+(+g[a+204>>2])}function D8(a){a=a|0;return+(+g[a+224>>2])}function D9(a){a=a|0;return+(+g[a+208>>2])}function Ea(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function Eb(a){a=a|0;return a+156|0}function Ec(a){a=a|0;return+(+g[a+256>>2])}function Ed(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function Ee(a){a=a|0;return+(+g[a+276>>2])}function Ef(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function Eg(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function Eh(a){a=a|0;return+(+g[a+236>>2])}function Ei(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function Ej(a){a=a|0;return a+172|0}function Ek(a){a=a|0;return+(+g[a+216>>2])}function El(a,b){a=a|0;b=+b;g[a+268>>2]=b;return}function Em(a,b){a=a|0;b=+b;g[a+236>>2]=b;return}function En(a){a=a|0;return a+188|0}function Eo(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function Ep(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function Eq(a){a=a|0;return+(+g[a+240>>2])}function Er(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Es(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Et(a){a=a|0;return a+12|0}function Eu(a){a=a|0;return+(+g[a+44>>2])}function Ev(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Ew(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Ex(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Ey(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Ez(a){a=a|0;return c[a+8>>2]|0}function EA(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function EB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function EC(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function ED(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function EE(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function EF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function EG(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function EH(a,b){a=a|0;b=b|0;var d=0;d=a+156|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function EI(a,b){a=a|0;b=b|0;var d=0;d=a+172|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function EJ(a,b){a=a|0;b=b|0;var d=0;d=a+188|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function EK(a){a=a|0;if((a|0)==0){return}aDB(a);return}function EL(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+92|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+108|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+124|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+140|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function EM(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function EN(a){a=a|0;return cA[c[(c[a>>2]|0)+104>>2]&4095](a)|0}function EO(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43680]|0)==0){if((b1(43680)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9438]=c[d>>2];c[9439]=c[d+4>>2];c[9440]=c[d+8>>2];c[9441]=c[d+12>>2];i=e;return 37752}function EP(a,b,d){a=a|0;b=b|0;d=+d;return c0[c[(c[a>>2]|0)+112>>2]&127](a,b,d)|0}function EQ(a){a=a|0;return cA[c[(c[a>>2]|0)+88>>2]&4095](a)|0}function ER(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+92|0;e=c[d>>2]|0;c[d>>2]=e+1;d=a+96+(e<<4)|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];aze(a|0);return}function ES(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function ET(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function EU(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+100>>2]&511](a,b,d);return}function EV(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43520]|0)==0){if((b1(43520)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9434]=c[d>>2];c[9435]=c[d+4>>2];c[9436]=c[d+8>>2];c[9437]=c[d+12>>2];i=e;return 37736}function EW(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+116>>2]&511](a,b)|0}function EX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function EY(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function EZ(a){a=a|0;return cA[c[(c[a>>2]|0)+92>>2]&4095](a)|0}function E_(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function E$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+96>>2]&1023](a,b,d,e);return}function E0(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43192]|0)==0){if((b1(43192)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9430]=c[d>>2];c[9431]=c[d+4>>2];c[9432]=c[d+8>>2];c[9433]=c[d+12>>2];i=e;return 37720}function E1(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function E2(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function E3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function E4(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function E5(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function E6(){var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(179)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;g[d+56>>2]=1.0;g[d+60>>2]=1.0;g[d+64>>2]=1.0;g[d+68>>2]=0.0;g[d+72>>2]=-1.0;g[d+76>>2]=-1.0;g[d+80>>2]=-1.0;g[d+84>>2]=0.0;a[d+88|0]=0;c[d>>2]=24456;c[d+92>>2]=0;c[d+4>>2]=2;return d|0}function E7(b){b=b|0;var d=0,e=0,f=0,h=0;while(1){d=aDx(284)|0;if((d|0)!=0){break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){f=3593;break}dC[e&63]()}if((f|0)==3593){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}f=d;e=d+140|0;h=d+92|0;do{h=h+16|0;}while((h|0)!=(e|0));g[d+204>>2]=+g[b+48>>2];g[d+208>>2]=+g[b+52>>2];g[d+212>>2]=+g[b+56>>2];g[d+216>>2]=+g[b+60>>2];g[d+220>>2]=+g[b+64>>2];g[d+224>>2]=+g[b+68>>2];e=d+156|0;h=b;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=d+172|0;e=b+16|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];e=d+188|0;h=b+32|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];g[d+228>>2]=+g[b+72>>2];g[d+232>>2]=0.0;g[d+252>>2]=0.0;g[d+236>>2]=0.0;g[d+240>>2]=0.0;g[d+256>>2]=0.0;g[d+244>>2]=.10000000149011612;a[d+260|0]=a[b+80|0]&1;g[d+248>>2]=+g[b+76>>2];return f|0}function E8(a){a=a|0;return(c[a+4>>2]|0)==32|0}function E9(a){a=a|0;c[a+92>>2]=0;return}function Fa(a){a=a|0;return a+28|0}function Fb(a){a=a|0;return(c[a+4>>2]|0)==31|0}function Fc(a){a=a|0;return c[a+52>>2]|0}function Fd(a){a=a|0;return c[a+4>>2]|0}function Fe(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+4|0;d=+g[b+4>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+8|0;d=+g[b+8>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+12|0;d=+g[b+12>>2];if(d>=+g[c>>2]){return}g[c>>2]=d;return}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0;e=a+8|0;f=-0.0- +g[e>>2];h=a+4|0;g[b>>2]=0.0;g[b+4>>2]=f;g[b+8>>2]=+g[h>>2];g[b+12>>2]=0.0;b=a|0;f=-0.0- +g[b>>2];g[c>>2]=+g[e>>2];g[c+4>>2]=0.0;g[c+8>>2]=f;g[c+12>>2]=0.0;g[d>>2]=-0.0- +g[h>>2];g[d+4>>2]=+g[b>>2];g[d+8>>2]=0.0;g[d+12>>2]=0.0;return}function Fh(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[b+(c<<2)>>2]=+g[a+(c<<2)>>2];c=c+1|0}return}function Fi(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[a+(c<<2)>>2]=+h[b+(c<<3)>>3];c=c+1|0}return}function Fj(a){a=a|0;return+(+g[a>>2])}function Fk(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,f=0.0,h=0;b=+g[a>>2];c=b<999999984306749400.0;d=c?b:999999984306749400.0;b=+g[a+4>>2];e=b>2];h=d>2]<(h?d:f)?3:h?2:e?1:c?0:-1)|0}function Fl(a){a=a|0;return+(+g[a+8>>2])}function Fm(b){b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(179)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;g[e+56>>2]=1.0;g[e+60>>2]=1.0;g[e+64>>2]=1.0;g[e+68>>2]=0.0;g[e+72>>2]=-1.0;g[e+76>>2]=-1.0;g[e+80>>2]=-1.0;g[e+84>>2]=0.0;a[e+88|0]=0;c[e>>2]=24456;f=e+96|0;c[e+4>>2]=2;c[e+92>>2]=1;d=b;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];aze(e);return e|0}function Fn(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;c[9806]=(c[9806]|0)+1;e=aDx(179)|0;if((e|0)==0){f=0}else{h=-(e+4|0)&15;c[e+h>>2]=e;f=e+(h+4)|0}h=f;e=f;c[f+8>>2]=0;g[f+12>>2]=1.0;g[f+16>>2]=1.0;g[f+20>>2]=1.0;g[f+24>>2]=0.0;g[f+44>>2]=.03999999910593033;c[f+52>>2]=0;g[f+56>>2]=1.0;g[f+60>>2]=1.0;g[f+64>>2]=1.0;g[f+68>>2]=0.0;g[f+72>>2]=-1.0;g[f+76>>2]=-1.0;g[f+80>>2]=-1.0;g[f+84>>2]=0.0;a[f+88|0]=0;c[f>>2]=24456;i=f+92|0;j=f+96|0;c[f+4>>2]=2;c[i>>2]=1;f=b;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];aze(e);f=c[i>>2]|0;c[i>>2]=f+1;i=h+96+(f<<4)|0;f=d;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];aze(e);return h|0}function Fo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;c[9806]=(c[9806]|0)+1;f=aDx(179)|0;if((f|0)==0){h=0}else{i=-(f+4|0)&15;c[f+i>>2]=f;h=f+(i+4)|0}i=h;f=h;c[h+8>>2]=0;g[h+12>>2]=1.0;g[h+16>>2]=1.0;g[h+20>>2]=1.0;g[h+24>>2]=0.0;g[h+44>>2]=.03999999910593033;c[h+52>>2]=0;g[h+56>>2]=1.0;g[h+60>>2]=1.0;g[h+64>>2]=1.0;g[h+68>>2]=0.0;g[h+72>>2]=-1.0;g[h+76>>2]=-1.0;g[h+80>>2]=-1.0;g[h+84>>2]=0.0;a[h+88|0]=0;c[h>>2]=24456;j=h+92|0;k=h+96|0;c[h+4>>2]=2;c[j>>2]=1;h=b;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];aze(f);h=c[j>>2]|0;c[j>>2]=h+1;k=i+96+(h<<4)|0;h=d;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];aze(f);h=c[j>>2]|0;c[j>>2]=h+1;j=i+96+(h<<4)|0;h=e;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];aze(f);return i|0}function Fp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0;c[9806]=(c[9806]|0)+1;h=aDx(179)|0;if((h|0)==0){i=0}else{j=-(h+4|0)&15;c[h+j>>2]=h;i=h+(j+4)|0}j=i;h=i;c[i+8>>2]=0;g[i+12>>2]=1.0;g[i+16>>2]=1.0;g[i+20>>2]=1.0;g[i+24>>2]=0.0;g[i+44>>2]=.03999999910593033;c[i+52>>2]=0;g[i+56>>2]=1.0;g[i+60>>2]=1.0;g[i+64>>2]=1.0;g[i+68>>2]=0.0;g[i+72>>2]=-1.0;g[i+76>>2]=-1.0;g[i+80>>2]=-1.0;g[i+84>>2]=0.0;a[i+88|0]=0;c[i>>2]=24456;k=i+92|0;l=i+96|0;c[i+4>>2]=2;c[k>>2]=1;i=b;c[l>>2]=c[i>>2];c[l+4>>2]=c[i+4>>2];c[l+8>>2]=c[i+8>>2];c[l+12>>2]=c[i+12>>2];aze(h);i=c[k>>2]|0;c[k>>2]=i+1;l=j+96+(i<<4)|0;i=d;c[l>>2]=c[i>>2];c[l+4>>2]=c[i+4>>2];c[l+8>>2]=c[i+8>>2];c[l+12>>2]=c[i+12>>2];aze(h);i=c[k>>2]|0;c[k>>2]=i+1;l=j+96+(i<<4)|0;i=e;c[l>>2]=c[i>>2];c[l+4>>2]=c[i+4>>2];c[l+8>>2]=c[i+8>>2];c[l+12>>2]=c[i+12>>2];aze(h);i=c[k>>2]|0;c[k>>2]=i+1;k=j+96+(i<<4)|0;i=f;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];aze(h);return j|0}function Fq(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function Fr(a){a=a|0;aze(a|0);return}function Fs(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function Ft(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function Fu(a){a=a|0;return cA[c[(c[a>>2]|0)+84>>2]&4095](a|0)|0}function Fv(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43368]|0)==0){if((b1(43368)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9426]=c[d>>2];c[9427]=c[d+4>>2];c[9428]=c[d+8>>2];c[9429]=c[d+12>>2];i=e;return 37704}function Fw(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 5:case 4:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 1:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function Fx(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Fy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function Fz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function FA(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function FB(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function FC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function FD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+108>>2]&1023](a,b,d,e);return}function FE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function FF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;gx(a|0,b,c,d,e);return}function FG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0;e=1.0-d;g[a>>2]=e*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=e*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=e*+g[b+8>>2]+ +g[c+8>>2]*d;return}function FH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+4>>2];e=+g[c+8>>2];f=+g[b+8>>2];h=+g[c+4>>2];i=+g[c>>2];j=+g[b>>2];return+(+g[a>>2]*(d*e-f*h)+ +g[a+4>>2]*(f*i-j*e)+ +g[a+8>>2]*(j*h-d*i))}function FI(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[a+(c<<2)>>2]=+g[b+(c<<2)>>2];c=c+1|0}return}function FJ(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(+g[c>>2]>2]=d}c=a+4|0;d=+g[b+4>>2];if(+g[c>>2]>2]=d}c=a+8|0;d=+g[b+8>>2];if(+g[c>>2]>2]=d}c=a+12|0;d=+g[b+12>>2];if(+g[c>>2]>=d){return}g[c>>2]=d;return}function FK(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}h[b+(c<<3)>>3]=+g[a+(c<<2)>>2];c=c+1|0}return}function FL(a){a=a|0;return+(+g[a+12>>2])}function FM(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+g[b>>2]- +g[a>>2];d=+g[b+4>>2]- +g[a+4>>2];e=+g[b+8>>2]- +g[a+8>>2];return+(c*c+d*d+e*e)}function FN(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=e;return}function FO(a){a=a|0;var b=0.0,c=0.0,d=0.0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];return b*b+c*c+d*d<1.1920928955078125e-7|0}function FP(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[a+(c<<2)>>2]=+g[b+(c<<2)>>2];c=c+1|0}return}function FQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];if(b>2]!=0.0){b=0;return b|0}if(+g[a+4>>2]!=0.0){b=0;return b|0}b=+g[a+8>>2]==0.0;return b|0}function FS(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[b+(c<<2)>>2]=+g[a+(c<<2)>>2];c=c+1|0}return}function FT(a,b){a=a|0;b=+b;g[a>>2]=b;return}function FU(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function FV(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function FW(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,f=0.0,h=0;b=+g[a>>2];c=b>-999999984306749400.0;d=c?b:-999999984306749400.0;b=+g[a+4>>2];e=b>d;f=e?b:d;d=+g[a+8>>2];h=d>f;return(+g[a+12>>2]>(h?d:f)?3:h?2:e?1:c?0:-1)|0}function FX(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];if(b>2])}function FZ(a){a=a|0;var b=0.0,c=0.0,d=0.0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];return+(b*b+c*c+d*d)}function F_(b){b=b|0;var c=0.0,d=0.0,e=0.0;do{if((a[44072]|0)==0){if((b1(44072)|0)==0){break}}}while(0);c=+P(+(+g[b>>2]));d=+P(+(+g[b+4>>2]));e=+P(+(+g[b+8>>2]));g[9422]=c;g[9423]=d;g[9424]=e;g[9425]=0.0;return 37688}function F$(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0,h=0.0,i=0.0;b=a|0;c=+g[b>>2];d=a+4|0;e=+g[d>>2];f=a+8|0;h=+g[f>>2];i=1.0/+Q(+(c*c+e*e+h*h));g[b>>2]=c*i;g[d>>2]=e*i;g[f>>2]=h*i;return a|0}function F0(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;c=+g[a>>2];d=+g[a+4>>2];e=+g[a+8>>2];f=+g[b>>2];h=+g[b+4>>2];i=+g[b+8>>2];j=(c*f+d*h+e*i)/+Q(+((c*c+d*d+e*e)*(f*f+h*h+i*i)));if(j<-1.0){k=-1.0;l=+V(+k);return+l}if(j<=1.0){k=j;l=+V(+k);return+l}k=1.0;l=+V(+k);return+l}function F1(b,c,d){b=b|0;c=c|0;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0;do{if((a[44144]|0)==0){if((b1(44144)|0)==0){break}}}while(0);e=+g[b>>2];f=+g[b+4>>2];h=f+(+g[c+4>>2]-f)*d;f=+g[b+8>>2];i=f+(+g[c+8>>2]-f)*d;g[9406]=e+(+g[c>>2]-e)*d;g[9407]=h;g[9408]=i;g[9409]=0.0;return 37624}function F2(b,c){b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;do{if((a[44128]|0)==0){if((b1(44128)|0)==0){break}}}while(0);d=+g[b+4>>2];e=+g[c+8>>2];f=+g[b+8>>2];h=+g[c+4>>2];i=+g[c>>2];j=+g[b>>2];g[9402]=d*e-f*h;g[9403]=f*i-j*e;g[9404]=j*h-d*i;g[9405]=0.0;return 37608}function F3(b){b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;do{if((a[44040]|0)==0){if((b1(44040)|0)==0){break}}}while(0);c=+P(+(+g[b>>2]));d=+P(+(+g[b+4>>2]));e=+P(+(+g[b+8>>2]));f=+P(+(+g[b+12>>2]));g[9398]=c;g[9399]=d;g[9400]=e;g[9401]=f;return 37592}function F4(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+P(+(+g[a>>2]));c=+P(+(+g[a+4>>2]));d=+P(+(+g[a+8>>2]));if(b>2]- +g[a>>2];d=+g[b+4>>2]- +g[a+4>>2];e=+g[b+8>>2]- +g[a+8>>2];return+(+Q(+(c*c+d*d+e*e)))}function F6(a){a=a|0;return F7(a|0)|0}function F7(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0.0,h=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0;b=i;i=i+16|0;c=b|0;d=a|0;e=+g[d>>2];f=+P(+e);h=a+4|0;j=+g[h>>2];k=+P(+j);l=a+8|0;m=+g[l>>2];n=+P(+m);g[c>>2]=f;g[c+4>>2]=k;g[c+8>>2]=n;g[c+12>>2]=0.0;if(f>2];if(n>0.0){f=1.0/n;n=e*f;e=j*f;j=m*f;f=1.0/+Q(+(n*n+e*e+j*j));g[d>>2]=n*f;g[h>>2]=e*f;g[l>>2]=j*f;i=b;return a|0}else{g[d>>2]=1.0;g[h>>2]=0.0;g[l>>2]=0.0;g[a+12>>2]=0.0;i=b;return a|0}return 0}function F8(b){b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;do{if((a[43984]|0)==0){if((b1(43984)|0)==0){break}}}while(0);c=+g[b>>2];d=+g[b+4>>2];e=+g[b+8>>2];f=1.0/+Q(+(c*c+d*d+e*e));g[9394]=c*f;g[9395]=d*f;g[9396]=e*f;g[9397]=0.0;return 37576}function F9(a){a=a|0;if((a|0)==0){return}aDB(a);return}function Ga(b,d,e){b=b|0;d=d|0;e=+e;var f=0,g=0;f=i;i=i+16|0;g=f|0;do{if((a[44112]|0)==0){if((b1(44112)|0)==0){break}}}while(0);Gb(g,b|0,d,e);d=g;c[9390]=c[d>>2];c[9391]=c[d+4>>2];c[9392]=c[d+8>>2];c[9393]=c[d+12>>2];i=f;return 37560}function Gb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;e=+g[c>>2];f=+g[b>>2];h=+g[c+4>>2];i=+g[b+4>>2];j=+g[c+8>>2];k=+g[b+8>>2];l=e*f+h*i+j*k;m=e*l;n=h*l;o=j*l;l=+S(+d);p=+T(+d);g[a>>2]=m+(f-m)*l+(h*k-j*i)*p;g[a+4>>2]=n+(i-n)*l+(j*f-e*k)*p;g[a+8>>2]=o+(k-o)*l+(e*i-h*f)*p;g[a+12>>2]=0.0;return}function Gc(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,f=0.0,h=0,i=0;b=+P(+(+g[a>>2]));c=+P(+(+g[a+4>>2]));d=+P(+(+g[a+8>>2]));e=b>-999999984306749400.0;f=e?b:-999999984306749400.0;h=c>f;b=h?c:f;i=d>b;return(+P(+(+g[a+12>>2]))>(i?d:b)?3:i?2:h?1:e?0:-1)|0}function Gd(a){a=a|0;aDD(a|0,0,16);return}function Ge(){var a=0,b=0,d=0;while(1){a=aDx(16)|0;if((a|0)!=0){b=3828;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==3828){return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function Gf(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0,i=0;while(1){f=aDx(16)|0;if((f|0)!=0){h=3840;break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){break}dC[i&63]()}if((h|0)==3840){g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;return f|0}f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}function Gg(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function Gh(a){a=a|0;return+(+g[a+12>>2])}function Gi(a){a=a|0;return+(+g[a+4>>2])}function Gj(a){a=a|0;return+(+g[a>>2])}function Gk(a){a=a|0;return+(+g[a+8>>2])}function Gl(a,b){a=a|0;b=b|0;return+(+g[a>>2]*+g[b>>2]+ +g[a+4>>2]*+g[b+4>>2]+ +g[a+8>>2]*+g[b+8>>2])}function Gm(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+4|0;d=+g[b+4>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+8|0;d=+g[b+8>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+12|0;d=+g[b+12>>2];if(d>=+g[c>>2]){return}g[c>>2]=d;return}function Gn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0;e=a+8|0;f=-0.0- +g[e>>2];h=a+4|0;g[b>>2]=0.0;g[b+4>>2]=f;g[b+8>>2]=+g[h>>2];g[b+12>>2]=0.0;b=a|0;f=-0.0- +g[b>>2];g[c>>2]=+g[e>>2];g[c+4>>2]=0.0;g[c+8>>2]=f;g[c+12>>2]=0.0;g[d>>2]=-0.0- +g[h>>2];g[d+4>>2]=+g[b>>2];g[d+8>>2]=0.0;g[d+12>>2]=0.0;return}function Go(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[b+(c<<2)>>2]=+g[a+(c<<2)>>2];c=c+1|0}return}function Gp(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[a+(c<<2)>>2]=+h[b+(c<<3)>>3];c=c+1|0}return}function Gq(a){a=a|0;return+(+g[a>>2])}function Gr(a){a=a|0;return+(+g[a+4>>2])}function Gs(a){a=a|0;return+(+g[a+8>>2])}function Gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0;e=1.0-d;g[a>>2]=e*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=e*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=e*+g[b+8>>2]+ +g[c+8>>2]*d;return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+4>>2];e=+g[c+8>>2];f=+g[b+8>>2];h=+g[c+4>>2];i=+g[c>>2];j=+g[b>>2];return+(+g[a>>2]*(d*e-f*h)+ +g[a+4>>2]*(f*i-j*e)+ +g[a+8>>2]*(j*h-d*i))}function Gv(a,b){a=a|0;b=b|0;var c=0;c=a|0;g[c>>2]=+g[c>>2]- +g[b>>2];c=a+4|0;g[c>>2]=+g[c>>2]- +g[b+4>>2];c=a+8|0;g[c>>2]=+g[c>>2]- +g[b+8>>2];return a|0}function Gw(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(+g[c>>2]>2]=d}c=a+4|0;d=+g[b+4>>2];if(+g[c>>2]>2]=d}c=a+8|0;d=+g[b+8>>2];if(+g[c>>2]>2]=d}c=a+12|0;d=+g[b+12>>2];if(+g[c>>2]>=d){return}g[c>>2]=d;return}function Gx(a,b){a=a|0;b=b|0;var c=0;c=a|0;g[c>>2]=+g[c>>2]+ +g[b>>2];c=a+4|0;g[c>>2]=+g[c>>2]+ +g[b+4>>2];c=a+8|0;g[c>>2]=+g[c>>2]+ +g[b+8>>2];return a|0}function Gy(a,b){a=a|0;b=b|0;var c=0;if(+g[a+12>>2]!=+g[b+12>>2]){c=0;return c|0}if(+g[a+8>>2]!=+g[b+8>>2]){c=0;return c|0}if(+g[a+4>>2]!=+g[b+4>>2]){c=0;return c|0}c=+g[a>>2]==+g[b>>2];return c|0}function Gz(a,b){a=a|0;b=+b;var c=0;c=a|0;g[c>>2]=+g[c>>2]*b;c=a+4|0;g[c>>2]=+g[c>>2]*b;c=a+8|0;g[c>>2]=+g[c>>2]*b;return a|0}function GA(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}h[b+(c<<3)>>3]=+g[a+(c<<2)>>2];c=c+1|0}return}function GB(a){a=a|0;var b=0;if(+g[a>>2]!=0.0){b=0;return b|0}if(+g[a+4>>2]!=0.0){b=0;return b|0}b=+g[a+8>>2]==0.0;return b|0}function GC(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+g[b>>2]- +g[a>>2];d=+g[b+4>>2]- +g[a+4>>2];e=+g[b+8>>2]- +g[a+8>>2];return+(c*c+d*d+e*e)}function GD(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function GE(a){a=a|0;var b=0.0,c=0.0,d=0.0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];return b*b+c*c+d*d<1.1920928955078125e-7|0}function GF(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[a+(c<<2)>>2]=+g[b+(c<<2)>>2];c=c+1|0}return}function GG(a,b){a=a|0;b=+b;var c=0.0,d=0;c=1.0/b;d=a|0;g[d>>2]=+g[d>>2]*c;d=a+4|0;g[d>>2]=+g[d>>2]*c;d=a+8|0;g[d>>2]=+g[d>>2]*c;return a|0}function GH(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];if(b>2];c=+g[a+4>>2];d=+g[a+8>>2];return+(+Q(+(b*b+c*c+d*d)))}function GJ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+P(+(+g[a>>2]));c=+P(+(+g[a+4>>2]));d=+P(+(+g[a+8>>2]));if(b>2]|0)+8>>2]&255](a,b,d);return}function GL(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a,b);return}function GM(b){b=b|0;var c=0.0,d=0.0,e=0.0;do{if((a[44080]|0)==0){if((b1(44080)|0)==0){break}}}while(0);c=+P(+(+g[b>>2]));d=+P(+(+g[b+4>>2]));e=+P(+(+g[b+8>>2]));g[9386]=c;g[9387]=d;g[9388]=e;g[9389]=0.0;return 37544}function GN(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0,h=0.0,i=0.0;b=a|0;c=+g[b>>2];d=a+4|0;e=+g[d>>2];f=a+8|0;h=+g[f>>2];i=1.0/+Q(+(c*c+e*e+h*h));g[b>>2]=c*i;g[d>>2]=e*i;g[f>>2]=h*i;return a|0}function GO(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;c=+g[a>>2];d=+g[a+4>>2];e=+g[a+8>>2];f=+g[b>>2];h=+g[b+4>>2];i=+g[b+8>>2];j=(c*f+d*h+e*i)/+Q(+((c*c+d*d+e*e)*(f*f+h*h+i*i)));if(j<-1.0){k=-1.0;l=+V(+k);return+l}if(j<=1.0){k=j;l=+V(+k);return+l}k=1.0;l=+V(+k);return+l}function GP(b,c,d){b=b|0;c=c|0;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0;do{if((a[44152]|0)==0){if((b1(44152)|0)==0){break}}}while(0);e=+g[b>>2];f=+g[b+4>>2];h=f+(+g[c+4>>2]-f)*d;f=+g[b+8>>2];i=f+(+g[c+8>>2]-f)*d;g[9382]=e+(+g[c>>2]-e)*d;g[9383]=h;g[9384]=i;g[9385]=0.0;return 37528}function GQ(b,c){b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;do{if((a[44136]|0)==0){if((b1(44136)|0)==0){break}}}while(0);d=+g[b+4>>2];e=+g[c+8>>2];f=+g[b+8>>2];h=+g[c+4>>2];i=+g[c>>2];j=+g[b>>2];g[9378]=d*e-f*h;g[9379]=f*i-j*e;g[9380]=j*h-d*i;g[9381]=0.0;return 37512}function GR(a){a=a|0;if((a|0)==0){return}aDB(a);return}function GS(a,b){a=a|0;b=b|0;var d=0,e=0;d=a;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return(a|0)!=0|0}function GT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+P(+(+g[a>>2]));c=+P(+(+g[a+4>>2]));d=+P(+(+g[a+8>>2]));if(b>2];d=+g[b+4>>2];e=+g[b+8>>2];f=1.0/+Q(+(c*c+d*d+e*e));g[9374]=c*f;g[9375]=d*f;g[9376]=e*f;g[9377]=0.0;return 37496}function GW(){var a=0,b=0,d=0;while(1){a=aDx(16)|0;if((a|0)!=0){b=3977;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==3977){return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function GX(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0,h=0;while(1){e=aDx(16)|0;if((e|0)!=0){f=3989;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){break}dC[h&63]()}if((f|0)==3989){g[e>>2]=a;g[e+4>>2]=b;g[e+8>>2]=d;g[e+12>>2]=0.0;return e|0}e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}function GY(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=4){break}g[b+(c<<2)>>2]=+g[a+(c<<2)>>2];c=c+1|0}return}function GZ(a,b){a=a|0;b=+b;g[a>>2]=b;return}function G_(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function G$(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function G0(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];if(b=4){break}g[a+(c<<2)>>2]=+g[b+(c<<2)>>2];c=c+1|0}return}function G2(a){a=a|0;var b=0.0,c=0.0,d=0.0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];return+(b*b+c*c+d*d)}function G3(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function G4(a,b){a=a|0;b=b|0;return+(+g[a>>2]*+g[b>>2]+ +g[a+4>>2]*+g[b+4>>2]+ +g[a+8>>2]*+g[b+8>>2])}function G5(a){a=a|0;return+(+g[a+12>>2])}function G6(a){a=a|0;return+(+g[a+4>>2])}function G7(a){a=a|0;return+(+g[a>>2])}function G8(a){a=a|0;return+(+g[a+8>>2])}function G9(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function Ha(a){a=a|0;return+(+g[a+8>>2])}function Hb(a){a=a|0;return+(+g[a+4>>2])}function Hc(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Hd(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function He(a){a=a|0;return+(+g[a+12>>2])}function Hf(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function Hg(a){a=a|0;return c[a>>2]|0}function Hh(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function Hi(a){a=a|0;return a+36|0}function Hj(a){a=a|0;return a+68|0}function Hk(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Hl(a){a=a|0;return c[a+8>>2]|0}function Hm(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function Hn(a){a=a|0;return a+20|0}function Ho(a){a=a|0;return b[a+14>>1]|0}function Hp(a){a=a|0;return+(+g[a+4>>2])}function Hq(a){a=a|0;return c[a+16>>2]|0}function Hr(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Hs(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function Ht(a){a=a|0;return(c[a+8>>2]|0)!=0|0}function Hu(a){a=a|0;return a+52|0}function Hv(a){a=a|0;return b[a+12>>1]|0}function Hw(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Hx(a){a=a|0;return a+8|0}function Hy(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function Hz(a){a=a|0;return+(+g[a+24>>2])}function HA(a){a=a|0;return c[a+4>>2]|0}function HB(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function HC(a){a=a|0;return c[a>>2]|0}function HD(a){a=a|0;return c[a+28>>2]|0}function HE(a){a=a|0;return c[a+12>>2]|0}function HF(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function HG(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function HH(a){a=a|0;return a+40|0}function HI(a,b){a=a|0;b=b|0;return+(+g[a+1248+(b<<2)>>2])}function HJ(a){a=a|0;return a+1120|0}function HK(a){a=a|0;return a+1056|0}function HL(a){a=a|0;return c[a+12>>2]|0}function HM(a){a=a|0;return c[a+4>>2]|0}function HN(a){a=a|0;return c[a+24>>2]|0}function HO(a){a=a|0;return+(+g[a+16>>2])}function HP(a,b,c){a=a|0;b=b|0;c=+c;g[a+1356+(b<<2)>>2]=c;return}function HQ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+g[b>>2]- +g[a>>2];d=+g[b+4>>2]- +g[a+4>>2];e=+g[b+8>>2]- +g[a+8>>2];return+(+Q(+(c*c+d*d+e*e)))}function HR(b,d,e){b=b|0;d=d|0;e=+e;var f=0,g=0;f=i;i=i+16|0;g=f|0;do{if((a[44120]|0)==0){if((b1(44120)|0)==0){break}}}while(0);Gb(g,b,d,e);d=g;c[9370]=c[d>>2];c[9371]=c[d+4>>2];c[9372]=c[d+8>>2];c[9373]=c[d+12>>2];i=f;return 37480}function HS(a){a=a|0;aDD(a|0,0,16);return}function HT(a){a=a|0;var b=0.0,c=0.0,d=0.0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];return+(+Q(+(b*b+c*c+d*d)))}function HU(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;b=+P(+(+g[a>>2]));c=+P(+(+g[a+4>>2]));d=+P(+(+g[a+8>>2]));if(b>2]|0)+56>>2]&2047](a,b);return}function HW(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+40>>2]&511](a,b)|0}function HX(a){a=a|0;ct[c[(c[a>>2]|0)+32>>2]&2047](a);return}function HY(a){a=a|0;return cA[c[(c[a>>2]|0)+52>>2]&4095](a)|0}function HZ(a){a=a|0;ct[c[(c[a>>2]|0)+36>>2]&2047](a);return}function H_(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+28>>2]&511](a,b)|0}function H$(a){a=a|0;return cA[c[(c[a>>2]|0)+8>>2]&4095](a)|0}function H0(a){a=a|0;return cA[c[(c[a>>2]|0)+12>>2]&4095](a)|0}function H1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+20>>2]&255](a,b,d,e,f);return}function H2(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+48>>2]&2047](a,b);return}function H3(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+24>>2]&511](a,b)|0}function H4(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a,b,d);return}function H5(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+16>>2]&511](a,b,d)|0}function H6(a){a=a|0;if((a|0)==0){return}aDB(a);return}function H7(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+12>>2]&127](a,b,d))}function H8(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function H9(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a|0,b)|0}function Ia(a,b){a=a|0;b=b|0;var d=0;d=a+52|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ib(a,b){a=a|0;b=b|0;var d=0;d=a+68|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ic(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Id(a,b){a=a|0;b=b|0;var d=0;d=a+20|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ie(a){a=a|0;if((a|0)==0){return}aDB(a);return}function If(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ig(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function Ih(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function Ii(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function Ij(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a|0,b,d)|0}function Ik(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0;c=i;i=i+16|0;d=c|0;e=a;g[d>>2]=-1.0;g[d+4>>2]=0.0;g[d+8>>2]=b;g[d+12>>2]=0.0;a=0;while(1){if((a|0)>=3){break}b=+ck(+(+g[d+(a<<2)>>2]),6.2831854820251465);do{if(b<-3.1415927410125732){f=b+6.2831854820251465}else{if(b<=3.1415927410125732){f=b;break}f=b-6.2831854820251465}}while(0);g[e+860+(a<<6)+4>>2]=f;a=a+1|0}i=c;return}function Il(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function Im(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function In(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function Io(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a|0,b);return}function Ip(a){a=a|0;ct[c[(c[a>>2]|0)+44>>2]&2047](a);return}function Iq(){var a=0,b=0,d=0;while(1){a=aDx(16)|0;if((a|0)!=0){b=4133;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==4133){g[a+4>>2]=6.2831854820251465;g[a+8>>2]=6.2831854820251465;g[a+12>>2]=6.2831854820251465;c[a>>2]=0;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function Ir(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;while(1){e=aDx(84)|0;if((e|0)!=0){f=4145;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){break}dC[h&63]()}if((f|0)==4145){g[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=19480;f=e+20|0;h=a;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=e+36|0;f=d;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];return e|0}e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}function Is(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0;while(1){f=aDx(28)|0;if((f|0)!=0){h=4157;break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){break}dC[i&63]()}if((h|0)==4157){c[f>>2]=a;c[f+4>>2]=b;b=f+8|0;a=d;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];g[f+24>>2]=e;return f|0}f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}function It(a,b){a=a|0;b=+b;return}function Iu(a,b){a=a|0;b=b|0;var c=0;c=a;a=0;while(1){if((a|0)>=3){break}g[b+(a<<2)>>2]=+g[c+860+(a<<6)>>2];a=a+1|0}return}function Iv(a,b,c){a=a|0;b=b|0;c=+c;g[a+1308+(b<<2)>>2]=c;return}function Iw(a){a=a|0;return+(+g[a+32>>2])}function Ix(b){b=b|0;return(a[b+20|0]&1)!=0|0}function Iy(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function Iz(a){a=a|0;return c[a+4>>2]|0}function IA(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function IB(a){a=a|0;return a+1104|0}function IC(b,c){b=b|0;c=c|0;a[b+1293|0]=c&1;return}function ID(a,b){a=a|0;b=b|0;var c=0,d=0;c=a;if((b|0)<3){d=+g[a+688+(b<<2)>>2]>=+g[a+672+(b<<2)>>2];return d|0}a=b-3|0;if(+g[c+860+(a<<6)>>2]>+g[c+860+(a<<6)+4>>2]){d=0;return d|0}d=1;return d|0}function IE(a){a=a|0;return+(+g[a+1184>>2])}function IF(a,b){a=a|0;b=b|0;return a+860+(b<<6)|0}function IG(a){a=a|0;return+(+g[a+1192>>2])}function IH(b,d){b=b|0;d=d|0;var e=0;e=d|0;if((a[b+1300|0]&1)==0){c[e>>2]=6;c[d+4>>2]=0;return}else{c[e>>2]=0;c[d+4>>2]=0;return}}function II(a){a=a|0;return a+104|0}function IJ(a){a=a|0;return a+1168|0}function IK(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function IL(b){b=b|0;return(a[b+1293|0]&1)!=0|0}function IM(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function IN(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=d&1;a[b+1301+c|0]=e;if((c|0)<3){a[b+(c+780)|0]=e;return}else{a[b+860+(c-3<<6)+44|0]=e;return}}function IO(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function IP(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function IQ(a,b,c){a=a|0;b=b|0;c=+c;g[a+1332+(b<<2)>>2]=c;return}function IR(b){b=b|0;return(a[b+1300|0]&1)!=0|0}function IS(a){a=a|0;return+(+g[a+32>>2])}function IT(b,c){b=b|0;c=c|0;a[b+1300|0]=c&1;return}function IU(a){a=a|0;return a+672|0}function IV(b){b=b|0;return(a[b+21|0]&1)!=0|0}function IW(a,b){a=a|0;b=b|0;return+(+g[a+1184+(b<<2)>>2])}function IX(a,b){a=a|0;b=b|0;var c=0;c=a;a=0;while(1){if((a|0)>=3){break}g[b+(a<<2)>>2]=+g[c+860+(a<<6)+4>>2];a=a+1|0}return}function IY(a){a=a|0;return c[a+4>>2]|0}function IZ(a){a=a|0;return c[a+8>>2]|0}function I_(a){a=a|0;return+(+g[a+36>>2])}function I$(a){a=a|0;return a+1396|0}function I0(a){a=a|0;return c[a+12>>2]|0}function I1(a){a=a|0;return a+1412|0}function I2(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function I3(a){a=a|0;aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);g[a+1308>>2]=+g[a+1248>>2];g[a+1312>>2]=+g[a+1252>>2];g[a+1316>>2]=+g[a+1256>>2];g[a+1320>>2]=+g[a+1184>>2];g[a+1324>>2]=+g[a+1188>>2];g[a+1328>>2]=+g[a+1192>>2];return}function I4(a,b){a=a|0;b=b|0;aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);if((b|0)<3){g[a+1308+(b<<2)>>2]=+g[a+1248+(b<<2)>>2];return}else{g[a+1308+(b<<2)>>2]=+g[a+1184+(b-3<<2)>>2];return}}function I5(b,c){b=b|0;c=c|0;do{if((a[43904]|0)==0){if((b1(43904)|0)==0){break}}}while(0);aDG(37416,b+1200+(c<<4)|0,16);return 37416}function I6(a,b){a=a|0;b=b|0;var d=0;d=a+688|0;a=b;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function I7(a,b){a=a|0;b=b|0;var d=0;d=a+672|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function I8(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function I9(a,b){a=a|0;b=b|0;var d=0;d=a+672|0;a=b;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function Ja(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a;f=a+40|0;g=b;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+56|0;f=b+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+72|0;g=b+32|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+88|0;f=b+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+104|0;g=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+120|0;f=d+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+136|0;g=d+32|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+152|0;f=d+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];ct[c[(c[a>>2]|0)+8>>2]&2047](e);aoZ(e,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function Jb(a){a=a|0;aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;aoZ(a,b,c);return}function Jd(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ao7(a,b,c,d,e,f,g,h,i,j,k,l,0)|0}function Je(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ao7(a,b,c,d,e,f,g,h,i,j,k,l,m)|0}function Jf(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;nS(a,b,c,d);return}function Jg(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0;c=i;i=i+16|0;d=c|0;e=a;g[d>>2]=1.0;g[d+4>>2]=0.0;g[d+8>>2]=b;g[d+12>>2]=0.0;a=0;while(1){if((a|0)>=3){break}b=+ck(+(+g[d+(a<<2)>>2]),6.2831854820251465);do{if(b<-3.1415927410125732){f=b+6.2831854820251465}else{if(b<=3.1415927410125732){f=b;break}f=b-6.2831854820251465}}while(0);g[e+860+(a<<6)>>2]=f;a=a+1|0}i=c;return}function Jh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e,f);return}function Ji(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;apb(a,b,c,d,e,f,g,h);return}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=a;a=0;while(1){if((a|0)>=3){break}d=+ck(+(+g[b+(a<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[c+860+(a<<6)>>2]=e;a=a+1|0}return}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function Jl(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function Jm(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0.0,j=0.0,k=0;d=1.0/+g[(c[b+116>>2]|0)+336>>2];e=b+136|0;if((c[e>>2]|0)<=0){return}f=b+144|0;b=0;do{h=c[f>>2]|0;do{if((a[h+(b*284|0)+84|0]&1)==0){g[h+(b*284|0)+276>>2]=0.0}else{i=+g[h+(b*284|0)+272>>2];j=d*(+g[h+(b*284|0)+216>>2]*(+g[h+(b*284|0)+204>>2]- +g[h+(b*284|0)+32>>2])*+g[h+(b*284|0)+268>>2]-i*+g[(i<0.0?h+(b*284|0)+220|0:h+(b*284|0)+224|0)>>2]);k=h+(b*284|0)+276|0;g[k>>2]=j;if(j>=0.0){break}g[k>>2]=0.0}}while(0);b=b+1|0;}while((b|0)<(c[e>>2]|0));return}function Jn(a){a=a|0;return c[a+116>>2]|0}function Jo(a){a=a|0;return c[a+88>>2]|0}function Jp(a,b){a=a|0;b=b|0;return(c[a+144>>2]|0)+(b*284|0)+92|0}function Jq(a,b){a=a|0;b=b|0;var d=0;d=a+688|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Jr(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=a;a=0;while(1){if((a|0)>=3){break}d=+ck(+(+g[b+(a<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[c+860+(a<<6)+4>>2]=e;a=a+1|0}return}function Js(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+48>>2]&511](a|0,b,d);return}function Jt(a,b){a=a|0;b=b|0;return ao$(a,b)|0}function Ju(a){a=a|0;ct[c[(c[a>>2]|0)+20>>2]&2047](a);return}function Jv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+16>>2]&1023](a,b,d,e);return}function Jw(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return+(+cN[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i,j,k,l))}function Jx(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+8>>2]&511](a,b,d);return}function Jy(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var 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.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0.0,ap=0,aq=0,ar=0.0,as=0,at=0,au=0.0,av=0,aw=0,ax=0.0,ay=0,az=0,aA=0.0,aB=0,aC=0,aD=0.0;while(1){i=aDx(1428)|0;if((i|0)!=0){break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){k=4300;break}dC[j&63]()}if((k|0)==4300){k=cd(4)|0;c[k>>2]=19096;bF(k|0,34368,676);return 0}k=i;do{if((a[43040]|0)==0){if((b1(43040)|0)==0){break}do{if((a[43048]|0)==0){if((b1(43048)|0)==0){break}g[10704]=1.0;aDD(42820,0,16);g[10709]=1.0;aDD(42840,0,16);g[10714]=1.0;g[10715]=0.0}}while(0);c[10688]=c[10704];c[10689]=c[10705];c[10690]=c[10706];c[10691]=c[10707];c[10692]=c[10708];c[42772>>2]=c[42836>>2];c[42776>>2]=c[42840>>2];c[42780>>2]=c[42844>>2];c[10696]=c[10712];c[42788>>2]=c[42852>>2];c[42792>>2]=c[42856>>2];c[42796>>2]=c[42860>>2];aDD(42800,0,16)}}while(0);do{if((a[43040]|0)==0){if((b1(43040)|0)==0){break}do{if((a[43048]|0)==0){if((b1(43048)|0)==0){break}g[10704]=1.0;aDD(42820,0,16);g[10709]=1.0;aDD(42840,0,16);g[10714]=1.0;g[10715]=0.0}}while(0);c[10688]=c[10704];c[10689]=c[10705];c[10690]=c[10706];c[10691]=c[10707];c[10692]=c[10708];c[42772>>2]=c[42836>>2];c[42776>>2]=c[42840>>2];c[42780>>2]=c[42844>>2];c[10696]=c[10712];c[42788>>2]=c[42852>>2];c[42792>>2]=c[42856>>2];c[42796>>2]=c[42860>>2];aDD(42800,0,16)}}while(0);j=i;aoY(j,b,d,42752,42752,1);c[i+4>>2]=9;a[i+1301|0]=0;l=i+1308|0;g[l>>2]=0.0;g[i+1332>>2]=0.0;g[i+1356>>2]=1.0;a[i+1302|0]=0;m=i+1312|0;g[m>>2]=0.0;g[i+1336>>2]=0.0;g[i+1360>>2]=1.0;n=i+1303|0;a[n]=0;o=i+1316|0;g[o>>2]=0.0;p=i+1340|0;g[p>>2]=0.0;q=i+1364|0;g[q>>2]=1.0;a[i+1304|0]=0;r=i+1320|0;g[r>>2]=0.0;g[i+1344>>2]=0.0;g[i+1368>>2]=1.0;a[i+1305|0]=0;s=i+1324|0;g[s>>2]=0.0;g[i+1348>>2]=0.0;g[i+1372>>2]=1.0;a[i+1306|0]=0;t=i+1328|0;g[t>>2]=0.0;g[i+1352>>2]=0.0;g[i+1376>>2]=1.0;c[i>>2]=23296;u=i+1380|0;v=e;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];v=i+1396|0;u=f;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];u=i+1412|0;v=h;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];v=f|0;w=+g[v>>2];u=f+4|0;x=+g[u>>2];y=f+8|0;z=+g[y>>2];A=1.0/+Q(+(w*w+x*x+z*z));B=w*A;g[v>>2]=B;w=x*A;g[u>>2]=w;x=z*A;g[y>>2]=x;y=h|0;A=+g[y>>2];u=h+4|0;z=+g[u>>2];v=h+8|0;D=+g[v>>2];E=1.0/+Q(+(A*A+z*z+D*D));F=A*E;g[y>>2]=F;A=z*E;g[u>>2]=A;z=D*E;g[v>>2]=z;E=w*z-x*A;D=x*F-B*z;G=B*A-w*F;H=+g[e>>2];I=+g[e+4>>2];J=+g[e+8>>2];K=+g[b+4>>2];L=+g[b+20>>2];M=+g[b+36>>2];N=+g[b+8>>2];O=+g[b+24>>2];P=+g[b+40>>2];R=+g[b+12>>2];S=+g[b+28>>2];T=+g[b+44>>2];U=-0.0- +g[b+52>>2];V=-0.0- +g[b+56>>2];W=-0.0- +g[b+60>>2];g[i+40>>2]=F*K+A*L+z*M;g[i+44>>2]=E*K+D*L+G*M;g[i+48>>2]=B*K+w*L+x*M;g[i+52>>2]=0.0;g[i+56>>2]=F*N+A*O+z*P;g[i+60>>2]=E*N+D*O+G*P;g[i+64>>2]=B*N+w*O+x*P;g[i+68>>2]=0.0;g[i+72>>2]=F*R+A*S+z*T;g[i+76>>2]=E*R+D*S+G*T;g[i+80>>2]=B*R+w*S+x*T;g[i+84>>2]=0.0;g[i+88>>2]=H*K+I*L+J*M+(K*U+L*V+M*W);g[i+92>>2]=H*N+I*O+J*P+(N*U+O*V+P*W);g[i+96>>2]=H*R+I*S+J*T+(R*U+S*V+T*W);g[i+100>>2]=0.0;W=+g[d+4>>2];T=+g[d+20>>2];V=+g[d+36>>2];S=+g[d+8>>2];U=+g[d+24>>2];R=+g[d+40>>2];P=+g[d+12>>2];O=+g[d+28>>2];N=+g[d+44>>2];M=-0.0- +g[d+52>>2];L=-0.0- +g[d+56>>2];K=-0.0- +g[d+60>>2];g[i+104>>2]=F*W+A*T+z*V;g[i+108>>2]=E*W+D*T+G*V;g[i+112>>2]=B*W+w*T+x*V;g[i+116>>2]=0.0;g[i+120>>2]=F*S+A*U+z*R;g[i+124>>2]=E*S+D*U+G*R;g[i+128>>2]=B*S+w*U+x*R;g[i+132>>2]=0.0;g[i+136>>2]=F*P+A*O+z*N;g[i+140>>2]=E*P+D*O+G*N;g[i+144>>2]=B*P+w*O+x*N;g[i+148>>2]=0.0;g[i+152>>2]=H*W+I*T+J*V+(W*M+T*L+V*K);g[i+156>>2]=H*S+I*U+J*R+(S*M+U*L+R*K);g[i+160>>2]=H*P+I*O+J*N+(P*M+O*L+N*K);g[i+164>>2]=0.0;g[i+672>>2]=0.0;g[i+676>>2]=0.0;g[i+680>>2]=-1.0;g[i+684>>2]=0.0;g[i+688>>2]=0.0;g[i+692>>2]=0.0;g[i+696>>2]=1.0;g[i+700>>2]=0.0;K=+ck(1.0,6.2831854820251465);do{if(K<-3.1415927410125732){X=K+6.2831854820251465}else{if(K<=3.1415927410125732){X=K;break}X=K-6.2831854820251465}}while(0);g[i+860>>2]=X;X=+ck(0.0,6.2831854820251465);do{if(X<-3.1415927410125732){Y=X+6.2831854820251465}else{if(X<=3.1415927410125732){Y=X;break}Y=X-6.2831854820251465}}while(0);g[i+924>>2]=Y;Y=+ck(-.7853981852531433,6.2831854820251465);do{if(Y<-3.1415927410125732){Z=Y+6.2831854820251465}else{if(Y<=3.1415927410125732){Z=Y;break}Z=Y-6.2831854820251465}}while(0);g[i+988>>2]=Z;Z=+ck(-1.0,6.2831854820251465);do{if(Z<-3.1415927410125732){_=Z+6.2831854820251465}else{if(Z<=3.1415927410125732){_=Z;break}_=Z-6.2831854820251465}}while(0);g[i+864>>2]=_;_=+ck(0.0,6.2831854820251465);do{if(_<-3.1415927410125732){$=_+6.2831854820251465}else{if(_<=3.1415927410125732){$=_;break}$=_-6.2831854820251465}}while(0);g[i+928>>2]=$;$=+ck(.7853981852531433,6.2831854820251465);if($<-3.1415927410125732){aa=$+6.2831854820251465;ab=i+992|0;ac=ab;g[ac>>2]=aa;a[n]=1;ad=i+782|0;a[ad]=1;g[p>>2]=39.47842025756836;g[q>>2]=.009999999776482582;ae=i+24|0;af=ae;ag=c[af>>2]|0;ah=ag+4|0;ai=i+28|0;aj=ai;ak=c[aj>>2]|0;al=ak+4|0;aoZ(j,ah,al);am=i+1248|0;an=am;ao=+g[an>>2];g[l>>2]=ao;ap=i+1252|0;aq=ap;ar=+g[aq>>2];g[m>>2]=ar;as=i+1256|0;at=as;au=+g[at>>2];g[o>>2]=au;av=i+1184|0;aw=av;ax=+g[aw>>2];g[r>>2]=ax;ay=i+1188|0;az=ay;aA=+g[az>>2];g[s>>2]=aA;aB=i+1192|0;aC=aB;aD=+g[aC>>2];g[t>>2]=aD;return k|0}if($<=3.1415927410125732){aa=$;ab=i+992|0;ac=ab;g[ac>>2]=aa;a[n]=1;ad=i+782|0;a[ad]=1;g[p>>2]=39.47842025756836;g[q>>2]=.009999999776482582;ae=i+24|0;af=ae;ag=c[af>>2]|0;ah=ag+4|0;ai=i+28|0;aj=ai;ak=c[aj>>2]|0;al=ak+4|0;aoZ(j,ah,al);am=i+1248|0;an=am;ao=+g[an>>2];g[l>>2]=ao;ap=i+1252|0;aq=ap;ar=+g[aq>>2];g[m>>2]=ar;as=i+1256|0;at=as;au=+g[at>>2];g[o>>2]=au;av=i+1184|0;aw=av;ax=+g[aw>>2];g[r>>2]=ax;ay=i+1188|0;az=ay;aA=+g[az>>2];g[s>>2]=aA;aB=i+1192|0;aC=aB;aD=+g[aC>>2];g[t>>2]=aD;return k|0}aa=$-6.2831854820251465;ab=i+992|0;ac=ab;g[ac>>2]=aa;a[n]=1;ad=i+782|0;a[ad]=1;g[p>>2]=39.47842025756836;g[q>>2]=.009999999776482582;ae=i+24|0;af=ae;ag=c[af>>2]|0;ah=ag+4|0;ai=i+28|0;aj=ai;ak=c[aj>>2]|0;al=ak+4|0;aoZ(j,ah,al);am=i+1248|0;an=am;ao=+g[an>>2];g[l>>2]=ao;ap=i+1252|0;aq=ap;ar=+g[aq>>2];g[m>>2]=ar;as=i+1256|0;at=as;au=+g[at>>2];g[o>>2]=au;av=i+1184|0;aw=av;ax=+g[aw>>2];g[r>>2]=ax;ay=i+1188|0;az=ay;aA=+g[az>>2];g[s>>2]=aA;aB=i+1192|0;aC=aB;aD=+g[aC>>2];g[t>>2]=aD;return k|0}function Jz(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function JA(a){a=a|0;return c[a+136>>2]|0}function JB(a){a=a|0;return c[a+120>>2]|0}function JC(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+252>>2]=b;return}function JD(a,b){a=a|0;b=b|0;return(c[a+144>>2]|0)+(b*284|0)|0}function JE(a){a=a|0;return(c[a+116>>2]|0)+4|0}function JF(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;b=a+136|0;if((c[b>>2]|0)<=0){return}d=a+144|0;a=0;do{e=c[d>>2]|0;g[e+(a*284|0)+32>>2]=+g[e+(a*284|0)+204>>2];g[e+(a*284|0)+272>>2]=0.0;f=-0.0- +g[e+(a*284|0)+56>>2];h=-0.0- +g[e+(a*284|0)+60>>2];g[e+(a*284|0)>>2]=-0.0- +g[e+(a*284|0)+52>>2];g[e+(a*284|0)+4>>2]=f;g[e+(a*284|0)+8>>2]=h;g[e+(a*284|0)+12>>2]=0.0;g[e+(a*284|0)+268>>2]=1.0;a=a+1|0;}while((a|0)<(c[b>>2]|0));return}function JG(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function JH(a){a=a|0;return c[a+128>>2]|0}function JI(a,b){a=a|0;b=b|0;return+(+g[(c[a+144>>2]|0)+(b*284|0)+232>>2])}function JJ(a){a=a|0;return c[a+84>>2]|0}function JK(a){a=a|0;return c[a+124>>2]|0}function JL(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function JM(a){a=a|0;return+(+g[a+112>>2])}function JN(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+256>>2]=b;return}function JO(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+144>>2]|0)+(d*284|0)+232>>2]=b;return}function JP(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function JQ(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function JR(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function JS(a){a=a|0;return+(+g[a+4>>2])}function JT(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function JU(a){a=a|0;return b[a+14>>1]|0}function JV(a){a=a|0;return a+56|0}function JW(a){a=a|0;return c[a+16>>2]|0}function JX(a){a=a|0;return a+40|0}function JY(a){a=a|0;return b[a+12>>1]|0}function JZ(a){a=a|0;return(c[a+8>>2]|0)!=0|0}function J_(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function J$(a){a=a|0;return c[a+8>>2]|0}function J0(a){a=a|0;return(c[a+4>>2]|0)==31|0} +function J1(b,d,e,f,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;j=+j;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;m=i;i=i+256|0;n=m+48|0;o=l&1;l=m|0;p=m+16|0;q=m+32|0;r=n;s=d;c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[l+12>>2]=c[s+12>>2];s=e;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];s=f;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];t=+g[k>>2];u=+g[k+4>>2];v=+g[k+8>>2];w=+g[k+16>>2];x=+g[k+12>>2];y=+g[k+20>>2];k=n+156|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];l=n+172|0;c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[l+12>>2]=c[p+12>>2];p=n+188|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];q=b+136|0;s=c[q>>2]|0;f=b+140|0;do{if((s|0)==(c[f>>2]|0)){e=(s|0)==0?1:s<<1;if((s|0)>=(e|0)){z=s;break}if((e|0)==0){A=0;B=s}else{c[9806]=(c[9806]|0)+1;d=aDx((e*284|0)+19|0)|0;if((d|0)==0){C=0}else{D=-(d+4|0)&15;c[d+D>>2]=d;C=d+(D+4)|0}A=C;B=c[q>>2]|0}D=b+144|0;if((B|0)>0){d=0;while(1){E=A+(d*284|0)|0;if((E|0)!=0){F=c[D>>2]|0;G=E;E=F+(d*284|0)|0;aDC(G|0,E|0,92)|0;E=A+(d*284|0)+92|0;G=F+(d*284|0)+92|0;c[E>>2]=c[G>>2];c[E+4>>2]=c[G+4>>2];c[E+8>>2]=c[G+8>>2];c[E+12>>2]=c[G+12>>2];G=A+(d*284|0)+108|0;E=F+(d*284|0)+108|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];E=A+(d*284|0)+124|0;G=F+(d*284|0)+124|0;c[E>>2]=c[G>>2];c[E+4>>2]=c[G+4>>2];c[E+8>>2]=c[G+8>>2];c[E+12>>2]=c[G+12>>2];G=A+(d*284|0)+140|0;E=F+(d*284|0)+140|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];E=A+(d*284|0)+156|0;G=F+(d*284|0)+156|0;c[E>>2]=c[G>>2];c[E+4>>2]=c[G+4>>2];c[E+8>>2]=c[G+8>>2];c[E+12>>2]=c[G+12>>2];G=A+(d*284|0)+172|0;E=F+(d*284|0)+172|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];E=A+(d*284|0)+188|0;G=F+(d*284|0)+188|0;c[E>>2]=c[G>>2];c[E+4>>2]=c[G+4>>2];c[E+8>>2]=c[G+8>>2];c[E+12>>2]=c[G+12>>2];g[A+(d*284|0)+204>>2]=+g[F+(d*284|0)+204>>2];g[A+(d*284|0)+208>>2]=+g[F+(d*284|0)+208>>2];g[A+(d*284|0)+212>>2]=+g[F+(d*284|0)+212>>2];g[A+(d*284|0)+216>>2]=+g[F+(d*284|0)+216>>2];g[A+(d*284|0)+220>>2]=+g[F+(d*284|0)+220>>2];g[A+(d*284|0)+224>>2]=+g[F+(d*284|0)+224>>2];g[A+(d*284|0)+228>>2]=+g[F+(d*284|0)+228>>2];g[A+(d*284|0)+232>>2]=+g[F+(d*284|0)+232>>2];g[A+(d*284|0)+236>>2]=+g[F+(d*284|0)+236>>2];g[A+(d*284|0)+240>>2]=+g[F+(d*284|0)+240>>2];g[A+(d*284|0)+244>>2]=+g[F+(d*284|0)+244>>2];g[A+(d*284|0)+248>>2]=+g[F+(d*284|0)+248>>2];g[A+(d*284|0)+252>>2]=+g[F+(d*284|0)+252>>2];g[A+(d*284|0)+256>>2]=+g[F+(d*284|0)+256>>2];a[A+(d*284|0)+260|0]=a[F+(d*284|0)+260|0]&1;c[A+(d*284|0)+264>>2]=c[F+(d*284|0)+264>>2];g[A+(d*284|0)+268>>2]=+g[F+(d*284|0)+268>>2];g[A+(d*284|0)+272>>2]=+g[F+(d*284|0)+272>>2];g[A+(d*284|0)+276>>2]=+g[F+(d*284|0)+276>>2];g[A+(d*284|0)+280>>2]=+g[F+(d*284|0)+280>>2]}F=d+1|0;if((F|0)<(B|0)){d=F}else{H=D;break}}}else{H=D}d=c[H>>2]|0;F=b+148|0;if((d|0)!=0){if((a[F]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-284+280>>2]|0)}c[H>>2]=0}a[F]=1;c[H>>2]=A;c[f>>2]=e;z=c[q>>2]|0}else{z=s}}while(0);s=b+144|0;f=c[s>>2]|0;A=f+(z*284|0)|0;if((A|0)==0){I=z;J=f;K=I+1|0;c[q>>2]=K;L=J+(I*284|0)|0;apO(b,L,0);M=c[q>>2]|0;N=M-1|0;apP(b,N,0);O=16;P=0;Q=16;R=0;S=16;T=0;U=204;V=0;i=m;return L|0}H=A;aDC(H|0,r|0,92)|0;r=f+(z*284|0)+92|0;H=n+92|0;c[r>>2]=c[H>>2];c[r+4>>2]=c[H+4>>2];c[r+8>>2]=c[H+8>>2];c[r+12>>2]=c[H+12>>2];H=f+(z*284|0)+108|0;r=n+108|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];r=f+(z*284|0)+124|0;H=n+124|0;c[r>>2]=c[H>>2];c[r+4>>2]=c[H+4>>2];c[r+8>>2]=c[H+8>>2];c[r+12>>2]=c[H+12>>2];H=f+(z*284|0)+140|0;r=n+140|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];r=f+(z*284|0)+156|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=f+(z*284|0)+172|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];l=f+(z*284|0)+188|0;c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[l+12>>2]=c[p+12>>2];g[f+(z*284|0)+204>>2]=h;g[f+(z*284|0)+208>>2]=x;g[f+(z*284|0)+212>>2]=j;g[f+(z*284|0)+216>>2]=t;g[f+(z*284|0)+220>>2]=u;g[f+(z*284|0)+224>>2]=v;g[f+(z*284|0)+228>>2]=w;g[f+(z*284|0)+232>>2]=0.0;g[f+(z*284|0)+236>>2]=0.0;g[f+(z*284|0)+240>>2]=0.0;g[f+(z*284|0)+244>>2]=.10000000149011612;g[f+(z*284|0)+248>>2]=y;g[f+(z*284|0)+252>>2]=0.0;g[f+(z*284|0)+256>>2]=0.0;a[f+(z*284|0)+260|0]=o;I=c[q>>2]|0;J=c[s>>2]|0;K=I+1|0;c[q>>2]=K;L=J+(I*284|0)|0;apO(b,L,0);M=c[q>>2]|0;N=M-1|0;apP(b,N,0);O=16;P=0;Q=16;R=0;S=16;T=0;U=204;V=0;i=m;return L|0}function J2(a,b){a=a|0;b=b|0;apP(a,b,1);return}function J3(a,b,c){a=a|0;b=b|0;c=c|0;apP(a,b,c);return}function J4(a,b){a=a|0;b=b|0;return+(+apQ(a,b))}function J5(b){b=b|0;var d=0,e=0,f=0.0,h=0.0;do{if((a[43824]|0)==0){if((b1(43824)|0)==0){break}}}while(0);d=c[b+116>>2]|0;e=c[b+128>>2]|0;f=+g[d+20+(e<<2)>>2];h=+g[d+36+(e<<2)>>2];g[9350]=+g[d+4+(e<<2)>>2];g[9351]=f;g[9352]=h;g[9353]=0.0;return 37400}function J6(a,b){a=a|0;b=b|0;apO(a,b,1);return}function J7(a,b,c){a=a|0;b=b|0;c=c|0;apO(a,b,c);return}function J8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+24>>2]&1023](a,b,d,e);return}function J9(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a,b);return}function Ka(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Kb(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+20>>2]&1023](a,b);return}function Kc(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+16>>2]&1023](a,b);return}function Kd(a,b,d){a=a|0;b=b|0;d=+d;dF[c[(c[a>>2]|0)+8>>2]&255](a,b,d);return}function Ke(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Kf(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a|0,b)|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+12>>2]&127](a,b,d))}function Kh(a,b){a=a|0;b=b|0;var d=0;d=a+56|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ki(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Kj(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function Kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0;while(1){f=aDx(152)|0;if((f|0)!=0){h=4445;break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){break}dC[b&63]()}if((h|0)==4445){c[f>>2]=23912;a[f+20|0]=1;c[f+16>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[f+40|0]=1;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;a[f+60|0]=1;c[f+56>>2]=0;c[f+48>>2]=0;c[f+52>>2]=0;a[f+80|0]=1;c[f+76>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+100>>2]=e;g[f+104>>2]=0.0;a[f+148|0]=1;c[f+144>>2]=0;c[f+136>>2]=0;c[f+140>>2]=0;c[f+116>>2]=d;c[f+120>>2]=0;c[f+124>>2]=2;c[f+128>>2]=1;g[f+112>>2]=0.0;g[f+108>>2]=0.0;return f|0}f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}function Kl(d,e){d=d|0;e=e|0;var f=0,h=0,i=0;while(1){f=aDx(132)|0;if((f|0)!=0){h=4457;break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){break}dC[i&63]()}if((h|0)==4457){g[f+4>>2]=1.0;c[f+8>>2]=0;b[f+12>>1]=1;b[f+14>>1]=-1;c[f+16>>2]=0;c[f>>2]=19512;a[f+36|0]=1;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;h=f+40|0;i=d;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];i=f+56|0;h=e;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];a[f+88|0]=1;c[f+84>>2]=0;c[f+76>>2]=0;c[f+80>>2]=0;a[f+108|0]=1;c[f+104>>2]=0;c[f+96>>2]=0;c[f+100>>2]=0;a[f+128|0]=1;c[f+124>>2]=0;c[f+116>>2]=0;c[f+120>>2]=0;return f|0}f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}function Km(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Kn(a){a=a|0;return c[a+52>>2]|0}function Ko(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Kp(a){a=a|0;return a+12|0}function Kq(a){a=a|0;return+(+g[a+44>>2])}function Kr(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Ks(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Kt(a){a=a|0;return c[a+8>>2]|0}function Ku(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Kv(a){a=a|0;return a+28|0}function Kw(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Kx(a){a=a|0;return(c[a+4>>2]|0)==32|0}function Ky(a){a=a|0;return a+28|0}function Kz(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function KA(a){a=a|0;return c[a+4>>2]|0}function KB(a){a=a|0;return+(+g[a+4>>2])}function KC(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function KD(a){a=a|0;return c[a+16>>2]|0}function KE(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function KF(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function KG(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function KH(a){a=a|0;return(c[a+8>>2]|0)!=0|0}function KI(a){a=a|0;return b[a+14>>1]|0}function KJ(a){a=a|0;return b[a+12>>1]|0}function KK(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function KL(a){a=a|0;return c[a+8>>2]|0}function KM(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function KN(a){a=a|0;return(c[a+4>>2]|0)<7|0}function KO(a){a=a|0;return(c[a+4>>2]|0)==31|0}function KP(a){a=a|0;return c[a+12>>2]|0}function KQ(a){a=a|0;return(c[a+4>>2]|0)<20|0}function KR(a){a=a|0;return(c[a+4>>2]|0)==28|0}function KS(a){a=a|0;return c[a+8>>2]|0}function KT(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function KU(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function KV(a){a=a|0;return(c[a+4>>2]|0)==32|0}function KW(a){a=a|0;return+(+g[a+16>>2])}function KX(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43664]|0)==0){if((b1(43664)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9346]=c[d>>2];c[9347]=c[d+4>>2];c[9348]=c[d+8>>2];c[9349]=c[d+12>>2];i=e;return 37384}function KY(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function KZ(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function K_(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function K$(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function K0(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+84>>2]&1023](a))}function K1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function K2(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function K3(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function K4(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43184]|0)==0){if((b1(43184)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9342]=c[d>>2];c[9343]=c[d+4>>2];c[9344]=c[d+8>>2];c[9345]=c[d+12>>2];i=e;return 37368}function K5(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43360]|0)==0){if((b1(43360)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9338]=c[d>>2];c[9339]=c[d+4>>2];c[9340]=c[d+8>>2];c[9341]=c[d+12>>2];i=e;return 37352}function K6(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function K7(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function K8(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43504]|0)==0){if((b1(43504)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9334]=c[d>>2];c[9335]=c[d+4>>2];c[9336]=c[d+8>>2];c[9337]=c[d+12>>2];i=e;return 37336}function K9(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function La(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function Lc(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ld(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 1:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function Le(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function Lg(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function Lh(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function Li(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0,i=0.0;c[9806]=(c[9806]|0)+1;b=aDx(75)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}e=d+4|0;c[e>>2]=35;c[d+8>>2]=0;b=d|0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[b>>2]=24848;f=d+52|0;c[f>>2]=1;h=+g[a+4>>2]+-.03999999910593033;i=+g[a+8>>2]+-.03999999910593033;g[d+28>>2]=+g[a>>2]+-.03999999910593033;g[d+32>>2]=h;g[d+36>>2]=i;g[d+40>>2]=0.0;c[e>>2]=13;c[b>>2]=24256;c[f>>2]=0;return d|0}function Lj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function Lk(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function Ll(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function Lm(b){b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;do{if((a[43672]|0)==0){if((b1(43672)|0)==0){break}}}while(0);d=+g[b+28>>2];e=+g[b+32>>2];f=+g[b+36>>2];h=+g[b+40>>2];i=b|0;j=b;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=f+ +dh[c[(c[j>>2]|0)+44>>2]&1023](i);g[9330]=d+k;g[9331]=e+l;g[9332]=m;g[9333]=h;return 37320}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+12>>2]&127](a,b,d))}function Lo(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function Lp(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function Lq(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43560]|0)==0){if((b1(43560)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9326]=c[d>>2];c[9327]=c[d+4>>2];c[9328]=c[d+8>>2];c[9329]=c[d+12>>2];i=e;return 37304}function Lr(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function Ls(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function Lt(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a)|0}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43376]|0)==0){if((b1(43376)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9322]=c[d>>2];c[9323]=c[d+4>>2];c[9324]=c[d+8>>2];c[9325]=c[d+12>>2];i=e;return 37288}function Lv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function Lw(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function Lx(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function Ly(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43112]|0)==0){if((b1(43112)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9318]=c[d>>2];c[9319]=c[d+4>>2];c[9320]=c[d+8>>2];c[9321]=c[d+12>>2];i=e;return 37272}function Lz(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function LB(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function LC(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function LD(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a))}function LE(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a,b,d);return}function LF(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function LG(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43232]|0)==0){if((b1(43232)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9302]=c[d>>2];c[9303]=c[d+4>>2];c[9304]=c[d+8>>2];c[9305]=c[d+12>>2];i=e;return 37208}function LH(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function LJ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function LK(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function LL(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function LM(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function LN(a){a=a|0;return c[a+4>>2]|0}function LO(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function LP(a){a=a|0;return a+16|0}function LQ(a){a=a|0;return a|0}function LR(a){a=a|0;return+(+g[a+32>>2])}function LS(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+4|0;d=+g[b+4>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+8|0;d=+g[b+8>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+12|0;d=+g[b+12>>2];if(d>=+g[c>>2]){return}g[c>>2]=d;return}function LT(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function LU(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=e;return}function LV(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(+g[c>>2]>2]=d}c=a+4|0;d=+g[b+4>>2];if(+g[c>>2]>2]=d}c=a+8|0;d=+g[b+8>>2];if(+g[c>>2]>2]=d}c=a+12|0;d=+g[b+12>>2];if(+g[c>>2]>=d){return}g[c>>2]=d;return}function LW(a,b){a=a|0;b=b|0;var c=0;if(+g[a+12>>2]!=+g[b+12>>2]){c=0;return c|0}if(+g[a+8>>2]!=+g[b+8>>2]){c=0;return c|0}if(+g[a+4>>2]!=+g[b+4>>2]){c=0;return c|0}c=+g[a>>2]==+g[b>>2];return c|0}function LX(a){a=a|0;return+(+g[a>>2])}function LY(a){a=a|0;return+(+g[a+4>>2])}function LZ(a){a=a|0;return+(+g[a+8>>2])}function L_(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function L$(a){a=a|0;return+(+g[a+12>>2])}function L0(a){a=a|0;return+(+g[a+4>>2])}function L1(a){a=a|0;return+(+g[a>>2])}function L2(a){a=a|0;return+(+g[a+8>>2])}function L3(a,b){a=a|0;b=+b;g[a>>2]=b;return}function L4(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function L5(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function L6(a){a=a|0;return(c[a+4>>2]|0)==31|0}function L7(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function L8(a){a=a|0;return c[a+52>>2]|0}function L9(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Ma(a){a=a|0;return a+12|0}function Mb(a){a=a|0;return+(+g[a+44>>2])}function Mc(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Md(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Me(a){a=a|0;return c[a+8>>2]|0}function Mf(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Mg(a){a=a|0;return a+28|0}function Mh(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Mi(a){a=a|0;return(c[a+4>>2]|0)==32|0}function Mj(a){a=a|0;return a+28|0}function Mk(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function Ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a,b,d,e);return}function Mm(a,b){a=a|0;b=+b;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(39)|0;e=-(d+4|0)&15;c[d+e>>2]=d;f=d+(e+4)|0;c[f+8>>2]=0;c[f>>2]=22040;c[f+12>>2]=a;g[f+16>>2]=b;c[f+4>>2]=14;return f|0}function Mn(a){a=a|0;if((a|0)==0){return}aDB(a);return}function Mo(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Mp(a,b){a=a|0;b=b|0;var d=0;d=a;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Mq(a){a=a|0;if((a|0)==0){return}aDB(a);return}function Mr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return(a|0)!=0|0}function Ms(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function Mt(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43688]|0)==0){if((b1(43688)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9298]=c[d>>2];c[9299]=c[d+4>>2];c[9300]=c[d+8>>2];c[9301]=c[d+12>>2];i=e;return 37192}function Mu(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function Mv(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function Mw(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function Mx(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+84>>2]&1023](a))}function My(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function Mz(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function MA(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function MB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43200]|0)==0){if((b1(43200)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9294]=c[d>>2];c[9295]=c[d+4>>2];c[9296]=c[d+8>>2];c[9297]=c[d+12>>2];i=e;return 37176}function MC(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43384]|0)==0){if((b1(43384)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9290]=c[d>>2];c[9291]=c[d+4>>2];c[9292]=c[d+8>>2];c[9293]=c[d+12>>2];i=e;return 37160}function MD(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function ME(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function MF(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43528]|0)==0){if((b1(43528)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9286]=c[d>>2];c[9287]=c[d+4>>2];c[9288]=c[d+8>>2];c[9289]=c[d+12>>2];i=e;return 37144}function MG(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function MH(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function MI(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function MJ(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function MK(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 1:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function ML(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function MM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function MN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function MO(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function MP(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function MQ(){var a=0,b=0,d=0;while(1){a=aDx(36)|0;if((a|0)!=0){b=4740;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==4740){g[a+32>>2]=-1.0;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function MR(){var a=0,b=0,d=0;while(1){a=aDx(16)|0;if((a|0)!=0){b=4752;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==4752){return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function MS(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0,h=0;while(1){e=aDx(16)|0;if((e|0)!=0){f=4764;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){break}dC[h&63]()}if((f|0)==4764){g[e>>2]=a;g[e+4>>2]=b;g[e+8>>2]=d;g[e+12>>2]=0.0;return e|0}e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}function MT(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0,i=0;while(1){f=aDx(16)|0;if((f|0)!=0){h=4776;break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){break}dC[i&63]()}if((h|0)==4776){g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;return f|0}f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}function MU(a){a=a|0;return(a|0)==31|0}function MV(a){a=a|0;return(a|0)<7|0}function MW(a){a=a|0;return(a|0)<20|0}function MX(a){a=a|0;return((a|0)>20&(a|0)<30?(a|0)!=25:0)|0}function MY(a){a=a|0;return(a|0)==32|0}function MZ(a){a=a|0;return(a|0)==28|0}function M_(a){a=a|0;return((a|0)>20?(a|0)<30:0)|0}function M$(a){a=a|0;return((a|0)==17?1:(a|0)==18)|0}function M0(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function M1(a){a=a|0;return c[a+4>>2]|0}function M2(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function M3(a){a=a|0;return+(+g[a+36>>2])}function M4(a){a=a|0;return a+20|0}function M5(a){a=a|0;return a+4|0}function M6(a){a=a|0;return c[a>>2]|0}function M7(a){a=a|0;return c[a+60>>2]|0}function M8(a,b){a=a|0;b=b|0;c[a+60>>2]=b;return}function M9(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Na(a){a=a|0;return c[a+48>>2]|0}function Nb(a){a=a|0;return a+16|0}function Nc(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function Nd(a){a=a|0;return b[a+6>>1]|0}function Ne(a){a=a|0;return c[a+12>>2]|0}function Nf(a){a=a|0;return a+32|0}function Ng(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Nh(a,c){a=a|0;c=c|0;b[a+4>>1]=c;return}function Ni(a){a=a|0;return c[a+12>>2]|0}function Nj(a,c){a=a|0;c=c|0;b[a+6>>1]=c;return}function Nk(a,b){a=a|0;b=b|0;c[a+48>>2]=b;return}function Nl(a){a=a|0;return c[a+8>>2]|0}function Nm(a){a=a|0;return b[a+4>>1]|0}function Nn(a,c){a=a|0;c=c|0;b[a+4>>1]=c;return}function No(a,c){a=a|0;c=c|0;b[a+6>>1]=c;return}function Np(a){a=a|0;return b[a+6>>1]|0}function Nq(a){a=a|0;return b[a+4>>1]|0}function Nr(a){a=a|0;var b=0;b=a+124|0;a=(aa(c[b>>2]|0,1664525)|0)+1013904223|0;c[b>>2]=a;return a|0}function Ns(a){a=a|0;return c[a+124>>2]|0}function Nt(a,b){a=a|0;b=b|0;c[a+124>>2]=b;return}function Nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+124|0;a=(aa(c[d>>2]|0,1664525)|0)+1013904223|0;c[d>>2]=a;do{if(b>>>0<65537){d=a>>>16^a;if(b>>>0>=257){e=d;break}f=d>>>8^d;if(b>>>0>=17){e=f;break}d=f>>>4^f;if(b>>>0>=5){e=d;break}f=d>>>2^d;if(b>>>0>=3){e=f;break}e=f>>>1^f}else{e=a}}while(0);return(e>>>0)%(b>>>0)|0|0}function Nv(a){a=a|0;return a+100|0}function Nw(a){a=a|0;return c[a+24>>2]|0}function Nx(a,b){a=a|0;b=b|0;c[a+76>>2]=b;return}function Ny(a){a=a|0;return a+4|0}function Nz(a,b){a=a|0;b=b|0;c[a+88>>2]=b;c[a+96>>2]=0;return}function NA(a,b,d){a=a|0;b=b|0;d=d|0;c[a+88>>2]=b;c[a+96>>2]=d;return}function NB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(e){c[a+92>>2]=b}else{c[a+88>>2]=b}c[a+96>>2]=d;return}function NC(b){b=b|0;return(a[b+84|0]&1)!=0|0}function ND(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function NE(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function NF(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function NG(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;c[9806]=(c[9806]|0)+1;b=aDx(75)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}e=d+4|0;c[e>>2]=35;c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=24848;c[d+52>>2]=1;f=+g[a+4>>2]+-.03999999910593033;h=+g[a+8>>2]+-.03999999910593033;g[d+28>>2]=+g[a>>2]+-.03999999910593033;g[d+32>>2]=f;g[d+36>>2]=h;g[d+40>>2]=0.0;c[e>>2]=13;return d|0}function NH(b){b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;do{if((a[43696]|0)==0){if((b1(43696)|0)==0){break}}}while(0);d=+g[b+28>>2];e=+g[b+32>>2];f=+g[b+36>>2];h=+g[b+40>>2];i=b|0;j=b;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=f+ +dh[c[(c[j>>2]|0)+44>>2]&1023](i);g[9282]=d+k;g[9283]=e+l;g[9284]=m;g[9285]=h;return 37128}function NI(a,b){a=a|0;b=b|0;var d=0;d=a+20|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function NJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+16>>2]&127](a,b,d,e);return}function NK(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function NL(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,d);return}function NM(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+8>>2]&511](a|0,b,d);return}function NN(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function NO(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;c[9806]=(c[9806]|0)+1;h=aDx(83)|0;if((h|0)==0){i=0}else{j=-(h+4|0)&15;c[h+j>>2]=h;i=h+(j+4)|0}c[i>>2]=e;b[i+4>>1]=f;b[i+6>>1]=g;g=i+16|0;f=a;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=i+32|0;g=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[i+8>>2]=0;c[i+56>>2]=0;c[i+52>>2]=0;return i|0}function NP(a,b){a=a|0;b=b|0;var d=0;d=a+32|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function NQ(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-64+60>>2]|0);return}function NR(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function NS(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return+(+dq[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i))}function NT(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a|0,b)|0}function NU(a){a=a|0;ct[c[(c[a>>2]|0)+20>>2]&2047](a);return}function NV(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function NW(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+8>>2]&511](a|0,b,d);return}function NX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+16>>2]&1023](a|0,b,d,e);return}function NY(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return+(+cN[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i,j,k,l))}function NZ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+68>>2]&2047](a,b);return}function N_(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function N$(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+44>>2]&2047](a|0,b);return}function N0(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+80>>2]&2047](a,b);return}function N1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+84>>2]&1023](a,b,d,e);return}function N2(a){a=a|0;ct[c[(c[a>>2]|0)+116>>2]&2047](a);return}function N3(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+124>>2]&2047](a|0,b);return}function N4(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a|0)|0}function N5(a){a=a|0;ct[c[(c[a>>2]|0)+40>>2]&2047](a|0);return}function N6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+24>>2]&1023](a|0,b,d,e);return}function N7(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function N8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a|0,b,d,e);return}function N9(a){a=a|0;return cA[c[(c[a>>2]|0)+100>>2]&4095](a|0)|0}function Oa(a,b){a=a|0;b=b|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,1,-1);return}function Ob(a,b,d){a=a|0;b=b|0;d=d|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,d,-1);return}function Oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b,d,e);return}function Od(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+88>>2]&2047](a,b);return}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;f=e|0;g=e+16|0;h=e+32|0;j=c[b+192>>2]|0;dI[c[(c[j>>2]|0)+8>>2]&1023](j,b+4|0,f,g);c[h>>2]=21168;c[h+4>>2]=b;c[h+8>>2]=a;c[h+12>>2]=d;d=c[a+76>>2]|0;dI[c[(c[d>>2]|0)+28>>2]&1023](d,f,g,h|0);i=e;return}function Of(){var a=0,d=0,e=0;while(1){a=aDx(8)|0;if((a|0)!=0){d=4903;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==4903){b[a+4>>1]=1;b[a+6>>1]=-1;c[a>>2]=20096;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function Og(){var b=0,d=0,e=0;while(1){b=aDx(128)|0;if((b|0)!=0){d=4915;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==4915){c[b>>2]=19632;a[b+20|0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40|0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60|0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80|0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100|0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120|0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+124>>2]=0;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function Oh(a){a=a|0;return c[a+8>>2]|0}function Oi(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function Oj(a){a=a|0;return c[a+96>>2]|0}function Ok(a){a=a|0;return c[a+76>>2]|0}function Ol(b,c){b=b|0;c=c|0;a[b+84|0]=c&1;return}function Om(a){a=a|0;return a+28|0}function On(a){a=a|0;return c[a+4>>2]|0}function Oo(a){a=a|0;return c[a+136>>2]|0}function Op(a){a=a|0;return c[a+140>>2]|0}function Oq(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Or(a){a=a|0;return(c[a+4>>2]|0)==31|0}function Os(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ot(a){a=a|0;return+(+g[a+44>>2])}function Ou(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function Ov(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a|0,b);return}function Ow(a){a=a|0;ct[c[(c[a>>2]|0)+20>>2]&2047](a);return}function Ox(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;atO(a|0,b,c,d,e,0.0);return}function Oy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;atO(a|0,b,c,d,e,f);return}function Oz(a,b){a=a|0;b=b|0;dA[c[(c[a>>2]|0)+52>>2]&511](a|0,b,0);return}function OA(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d);return}function OB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+168|0;g=f|0;h=a+24|0;j=c[h>>2]|0;k=dE[c[(c[j>>2]|0)+8>>2]&127](j,b,d,0)|0;if((k|0)==0){i=f;return}c[g+4>>2]=0;c[g+136>>2]=b;c[g+140>>2]=d;j=g+8|0;l=b+4|0;aDD(g+144|0,-1|0,16);c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+24|0;j=b+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+40|0;l=b+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+56|0;j=b+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+72|0;l=d+4|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+88|0;j=d+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+104|0;l=d+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+120|0;j=d+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];c[g>>2]=21728;c[g+160>>2]=e;co[c[(c[k>>2]|0)+8>>2]&255](k,b,d,a+28|0,g|0);ct[c[c[k>>2]>>2]&2047](k);g=c[h>>2]|0;cv[c[(c[g>>2]|0)+60>>2]&2047](g,k);i=f;return}function OC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d|0;do{if((a[43832]|0)==0){if((b1(43832)|0)==0){break}}}while(0);cv[c[(c[b>>2]|0)+72>>2]&2047](e,b);b=e;c[9278]=c[b>>2];c[9279]=c[b+4>>2];c[9280]=c[b+8>>2];c[9281]=c[b+12>>2];i=d;return 37112}function OD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;atG(a,b,c,d,e,f);return}function OE(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+64>>2]&2047](a,b);return}function OF(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function OG(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+132>>2]&2047](a|0,b);return}function OH(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+104>>2]&511](a|0,b)|0}function OI(a){a=a|0;return cA[c[(c[a>>2]|0)+96>>2]&4095](a)|0}function OJ(a,b){a=a|0;b=+b;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,1,.01666666753590107)|0}function OK(a,b,d){a=a|0;b=+b;d=d|0;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,d,.01666666753590107)|0}function OL(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return dr[c[(c[a>>2]|0)+48>>2]&63](a,b,d,e)|0}function OM(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+128>>2]&2047](a|0,b);return}function ON(a){a=a|0;return cA[c[(c[a>>2]|0)+112>>2]&4095](a)|0}function OO(a,b){a=a|0;b=b|0;atC(a|0,b);return}function OP(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+120>>2]&2047](a|0,b);return}function OQ(a){a=a|0;var b=0;b=c[a+76>>2]|0;return cA[c[(c[b>>2]|0)+36>>2]&4095](b)|0}function OR(a){a=a|0;ct[c[(c[a>>2]|0)+76>>2]&2047](a);return}function OS(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a,b);return}function OT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+92>>2]&2047](a,b);return}function OU(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;atI(a,b,c,d,e,f,g,h);return}function OV(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function OW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+16>>2]&127](a,b,d,e);return}function OX(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a,b,d);return}function OY(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+8>>2]&511](a,b,d);return}function OZ(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[b+1116>>2]|0)==0){return}if((c[b+1108>>2]|0)==(c[a+136>>2]|0)){ay6(b,a+8|0,a+72|0);return}else{ay6(b,a+72|0,a+8|0);return}}function O_(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function O$(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43616]|0)==0){if((b1(43616)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9274]=c[d>>2];c[9275]=c[d+4>>2];c[9276]=c[d+8>>2];c[9277]=c[d+12>>2];i=e;return 37096}function O0(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function O1(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;while(1){h=aDx(196)|0;if((h|0)!=0){i=5e3;break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){i=4997;break}dC[j&63]()}if((i|0)==4997){j=cd(4)|0;c[j>>2]=19096;bF(j|0,34368,676);return 0}else if((i|0)==5e3){aty(h,b,d,f);c[h+88>>2]=0;c[h+92>>2]=0;c[h+96>>2]=0;g[h+100>>2]=.6000000238418579;g[h+104>>2]=1.0;g[h+108>>2]=.30000001192092896;g[h+116>>2]=0.0;g[h+124>>2]=20.0;c[h+120>>2]=10;g[h+132>>2]=.20000000298023224;g[h+136>>2]=.10000000149011612;g[h+140>>2]=0.0;g[h+128>>2]=1.0;c[h+144>>2]=0;g[h+148>>2]=-.019999999552965164;g[h+152>>2]=0.0;g[h+156>>2]=.8500000238418579;c[h+160>>2]=260;c[h+164>>2]=2;c[h+168>>2]=128;c[h>>2]=22176;c[h+172>>2]=e;a[h+176|0]=0;g[h+180>>2]=0.0;g[h+184>>2]=0.0;g[h+188>>2]=-10.0;g[h+192>>2]=0.0;return h|0}return 0}function O2(){var a=0,b=0,d=0,e=0;while(1){a=aDx(160)|0;if((a|0)!=0){break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){d=5011;break}dC[b&63]()}if((d|0)==5011){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}d=a;c[a>>2]=24e3;b=a+56|0;e=a+8|0;do{e=e+16|0;}while((e|0)!=(b|0));b=a+120|0;e=a+72|0;do{e=e+16|0;}while((e|0)!=(b|0));aDD(a+144|0,-1|0,16);return d|0}function O3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;while(1){d=aDx(160)|0;if((d|0)!=0){e=5030;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==5030){c[d>>2]=24e3;c[d+4>>2]=0;e=d+8|0;f=d+72|0;c[d+136>>2]=a;c[d+140>>2]=b;g=a+4|0;aDD(d+144|0,-1|0,16);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=d+24|0;e=a+20|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=d+40|0;g=a+36|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=d+56|0;e=a+52|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=b+4|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=d+88|0;f=b+20|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=d+104|0;e=b+36|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=d+120|0;f=b+52|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function O4(a){a=a|0;return(c[a+4>>2]|0)<7|0}function O5(a,b){a=a|0;b=b|0;return+(+g[(c[a+120>>2]|0)+(b<<2)>>2])}function O6(a){a=a|0;return c[a+92>>2]|0}function O7(a){a=a|0;return a+12|0}function O8(a,b){a=a|0;b=b|0;return(c[a+100>>2]|0)+(b<<4)|0}function O9(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Pa(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Pb(a){a=a|0;return c[a+8>>2]|0}function Pc(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Pd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Pe(a){a=a|0;return(c[a+4>>2]|0)==32|0}function Pf(a){a=a|0;return a+28|0}function Pg(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function Ph(a){a=a|0;return c[a+4>>2]|0}function Pi(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=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,z=0,A=0,B=0,C=0,D=0;f=i;i=i+16|0;c[9806]=(c[9806]|0)+1;h=aDx(147)|0;if((h|0)==0){j=0}else{k=-(h+4|0)&15;c[h+k>>2]=h;j=h+(k+4)|0}k=j;h=f|0;l=j;c[j+8>>2]=0;g[j+12>>2]=1.0;g[j+16>>2]=1.0;g[j+20>>2]=1.0;g[j+24>>2]=0.0;g[j+44>>2]=.03999999910593033;g[j+52>>2]=1.0;g[j+56>>2]=1.0;g[j+60>>2]=1.0;g[j+64>>2]=0.0;g[j+68>>2]=-1.0;g[j+72>>2]=-1.0;g[j+76>>2]=-1.0;g[j+80>>2]=0.0;a[j+84|0]=0;c[j>>2]=23192;m=j+104|0;a[m]=1;n=j+100|0;c[n>>2]=0;o=j+92|0;c[o>>2]=0;p=j+96|0;c[p>>2]=0;q=j+124|0;a[q]=1;r=j+120|0;c[r>>2]=0;s=j+112|0;c[s>>2]=0;t=j+116|0;c[t>>2]=0;c[j+4>>2]=9;j=(e|0)>0;if(j){c[9806]=(c[9806]|0)+1;u=aDx((e<<4|4)+15|0)|0;if((u|0)==0){v=0}else{w=-(u+4|0)&15;c[u+w>>2]=u;v=u+(w+4)|0}w=c[o>>2]|0;if((w|0)>0){u=0;do{x=v+(u<<4)|0;if((x|0)!=0){y=x;x=(c[n>>2]|0)+(u<<4)|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2]}u=u+1|0;}while((u|0)<(w|0))}w=c[n>>2]|0;if((w|0)!=0){if((a[m]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[w-16+12>>2]|0)}c[n>>2]=0}a[m]=1;c[n>>2]=v;c[p>>2]=e;p=0;m=v;while(1){v=m+(p<<4)|0;if((v|0)!=0){w=v;c[w>>2]=c[h>>2];c[w+4>>2]=c[h+4>>2];c[w+8>>2]=c[h+8>>2];c[w+12>>2]=c[h+12>>2]}w=p+1|0;if((w|0)>=(e|0)){break}p=w;m=c[n>>2]|0}z=c[s>>2]|0}else{z=0}c[o>>2]=e;if((z|0)<(e|0)){if((c[t>>2]|0)<(e|0)){if((e|0)==0){A=0;B=z}else{c[9806]=(c[9806]|0)+1;o=aDx((e<<2)+19|0)|0;if((o|0)==0){C=0}else{m=-(o+4|0)&15;c[o+m>>2]=o;C=o+(m+4)|0}A=C;B=c[s>>2]|0}if((B|0)>0){C=0;do{m=A+(C<<2)|0;if((m|0)!=0){g[m>>2]=+g[(c[r>>2]|0)+(C<<2)>>2]}C=C+1|0;}while((C|0)<(B|0))}B=c[r>>2]|0;if((B|0)!=0){if((a[q]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[B-4>>2]|0)}c[r>>2]=0}a[q]=1;c[r>>2]=A;c[t>>2]=e;D=z}else{D=z}do{z=(c[r>>2]|0)+(D<<2)|0;if((z|0)!=0){g[z>>2]=0.0}D=D+1|0;}while((D|0)<(e|0))}c[s>>2]=e;if(j){j=0;do{s=(c[n>>2]|0)+(j<<4)|0;D=b+(j<<4)|0;c[s>>2]=c[D>>2];c[s+4>>2]=c[D+4>>2];c[s+8>>2]=c[D+8>>2];c[s+12>>2]=c[D+12>>2];g[(c[r>>2]|0)+(j<<2)>>2]=+g[d+(j<<2)>>2];j=j+1|0;}while((j|0)<(e|0))}avA(l);i=f;return k|0}function Pk(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function Pl(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43440]|0)==0){if((b1(43440)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9270]=c[d>>2];c[9271]=c[d+4>>2];c[9272]=c[d+8>>2];c[9273]=c[d+12>>2];i=e;return 37080}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function Pn(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function Po(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function Pp(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43144]|0)==0){if((b1(43144)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9266]=c[d>>2];c[9267]=c[d+4>>2];c[9268]=c[d+8>>2];c[9269]=c[d+12>>2];i=e;return 37064}function Pq(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Pr(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function Ps(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function Pt(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function Pu(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function Pv(a){a=a|0;avA(a|0);return}function Pw(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function Px(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function Py(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function Pz(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43312]|0)==0){if((b1(43312)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9258]=c[d>>2];c[9259]=c[d+4>>2];c[9260]=c[d+8>>2];c[9261]=c[d+12>>2];i=e;return 37032}function PA(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 1:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function PB(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function PC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function PD(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function PE(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function PF(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function PG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function PH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function PI(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function PJ(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function PK(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function PL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+60>>2]&1023](a,b,d,e);return}function PM(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0;while(1){j=aDx(124)|0;if((j|0)!=0){k=5158;break}l=(C=c[10744]|0,c[10744]=C+0,C);if((l|0)==0){break}dC[l&63]()}if((k|0)==5158){k=j;c[j+4>>2]=35;c[j+8>>2]=0;g[j+12>>2]=0.0;c[j>>2]=20552;ax$(k,a,b,d,e/65535.0,0.0,e,f,h?0:5,i);return k|0}k=cd(4)|0;c[k>>2]=19096;bF(k|0,34368,676);return 0}function PN(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;while(1){l=aDx(124)|0;if((l|0)!=0){m=5170;break}n=(C=c[10744]|0,c[10744]=C+0,C);if((n|0)==0){break}dC[n&63]()}if((m|0)==5170){m=l;c[l+4>>2]=35;c[l+8>>2]=0;g[l+12>>2]=0.0;c[l>>2]=20552;ax$(m,a,b,d,e,f,h,i,j,k);return m|0}m=cd(4)|0;c[m>>2]=19096;bF(m|0,34368,676);return 0}function PO(a){a=a|0;return(c[a+4>>2]|0)==31|0}function PP(a){a=a|0;return(c[a+4>>2]|0)<7|0}function PQ(b){b=b|0;a[b+101|0]=1;return}function PR(b,c){b=b|0;c=c|0;a[b+101|0]=c&1;return}function PS(a){a=a|0;return(c[a+4>>2]|0)<20|0}function PT(a){a=a|0;return(c[a+4>>2]|0)==28|0}function PU(a){a=a|0;return c[a+8>>2]|0}function PV(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function PW(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function PX(a){a=a|0;return(c[a+4>>2]|0)==32|0}function PY(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function PZ(a){a=a|0;return c[a+4>>2]|0}function P_(a){a=a|0;return(c[a+4>>2]|0)==31|0}function P$(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function P0(a){a=a|0;return+(+g[a+44>>2])}function P1(a){a=a|0;return(c[a+4>>2]|0)<7|0}function P2(a){a=a|0;return a+12|0}function P3(a){a=a|0;return(c[a+4>>2]|0)<20|0}function P4(a){a=a|0;return(c[a+4>>2]|0)==28|0}function P5(a){a=a|0;return c[a+8>>2]|0}function P6(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function P7(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function P8(a){a=a|0;return(c[a+4>>2]|0)==32|0}function P9(a){a=a|0;return a+28|0}function Qa(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function Qb(a){a=a|0;return c[a+4>>2]|0}function Qc(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Qd(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Qe(a){a=a|0;return(c[a+4>>2]|0)==31|0}function Qf(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Qg(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Qh(a){a=a|0;return c[a+8>>2]|0}function Qi(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Qj(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Qk(a){a=a|0;return(c[a+4>>2]|0)==32|0}function Ql(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function Qm(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function Qn(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function Qp(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function Qq(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function Qr(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function Qs(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Qt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function Qu(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function Qv(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function Qw(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function Qx(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function Qy(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43288]|0)==0){if((b1(43288)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9254]=c[d>>2];c[9255]=c[d+4>>2];c[9256]=c[d+8>>2];c[9257]=c[d+12>>2];i=e;return 37016}function Qz(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function QA(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function QB(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function QC(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43136]|0)==0){if((b1(43136)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9250]=c[d>>2];c[9251]=c[d+4>>2];c[9252]=c[d+8>>2];c[9253]=c[d+12>>2];i=e;return 37e3}function QD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function QE(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function QF(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function QG(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43072]|0)==0){if((b1(43072)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9246]=c[d>>2];c[9247]=c[d+4>>2];c[9248]=c[d+8>>2];c[9249]=c[d+12>>2];i=e;return 36984}function QH(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function QI(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function QJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function QK(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function QL(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function QM(a){a=a|0;avA(a);return}function QN(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function QO(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function QP(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43096]|0)==0){if((b1(43096)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9242]=c[d>>2];c[9243]=c[d+4>>2];c[9244]=c[d+8>>2];c[9245]=c[d+12>>2];i=e;return 36968}function QQ(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 0:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 10:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function QR(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function QS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function QT(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function QU(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function QV(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function QW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function QX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function QY(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function QZ(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43736]|0)==0){if((b1(43736)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9238]=c[d>>2];c[9239]=c[d+4>>2];c[9240]=c[d+8>>2];c[9241]=c[d+12>>2];i=e;return 36952}function Q_(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function Q$(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function Q0(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a)|0}function Q1(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43592]|0)==0){if((b1(43592)|0)==0){break}}}while(0);avC(f,b,d);d=f;c[9234]=c[d>>2];c[9235]=c[d+4>>2];c[9236]=c[d+8>>2];c[9237]=c[d+12>>2];i=e;return 36936}function Q2(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a,b,c,d);return}function Q3(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function Q4(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function Q5(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43272]|0)==0){if((b1(43272)|0)==0){break}}}while(0);avB(f,b,d);d=f;c[9230]=c[d>>2];c[9231]=c[d+4>>2];c[9232]=c[d+8>>2];c[9233]=c[d+12>>2];i=e;return 36920}function Q6(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function Q7(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function Q8(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function Q9(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a))}function Ra(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a,b,d);return}function Rb(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43432]|0)==0){if((b1(43432)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9226]=c[d>>2];c[9227]=c[d+4>>2];c[9228]=c[d+8>>2];c[9229]=c[d+12>>2];i=e;return 36904}function Rd(a){a=a|0;var b=0.0;switch(c[a+4>>2]|0){case 13:{b=+g[a+44>>2];break};case 8:{b=+g[a+28>>2]*+g[a+12>>2];break};case 1:{b=+g[a+44>>2];break};case 0:{b=+g[a+44>>2];break};case 10:{b=+g[a+44>>2];break};case 5:case 4:{b=+g[a+44>>2];break};default:{b=+dh[c[(c[a>>2]|0)+44>>2]&1023](a)}}return+b}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function Rf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function Rg(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function Rh(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function Ri(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function Rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a,b,d,e);return}function Rk(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function Rl(a){a=a|0;return c[a+4>>2]|0}function Rm(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function Rn(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ro(a){a=a|0;return c[a+20>>2]|0}function Rp(a){a=a|0;return c[a+4>>2]|0}function Rq(a,b){a=a|0;b=b|0;c[a+28>>2]=b;return}function Rr(a){a=a|0;return c[a+24>>2]|0}function Rs(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function Rt(a){a=a|0;return c[a+16>>2]|0}function Ru(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function Rv(a){a=a|0;return c[a+28>>2]|0}function Rw(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Rx(a){a=a|0;return c[a+8>>2]|0}function Ry(a){a=a|0;return c[a>>2]|0}function Rz(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function RA(a){a=a|0;return c[a+12>>2]|0}function RB(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function RC(a){a=a|0;return a+32|0}function RD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;co[c[(c[a>>2]|0)+8>>2]&255](a,b,d,e,0);return}function RE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+8>>2]&255](a,b,d,e,f);return}function RF(a){a=a|0;if((a|0)==0){return}aDB(a);return}function RG(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+56>>2]&511](a,b)|0}function RH(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+40>>2]&511](a,b)|0}function RI(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function RJ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function RK(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function RL(a){a=a|0;return cA[c[(c[a>>2]|0)+44>>2]&4095](a)|0}function RM(a,b,d){a=a|0;b=b|0;d=d|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,0)|0}function RN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e)|0}function RO(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+28>>2]&511](a,b,d)|0}function RP(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+12>>2]&511](a,b,d)|0}function RQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,e);return}function RR(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function RS(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+24>>2]&511](a,b,d)|0}function RT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function RU(a){a=a|0;if((a|0)==0){return}aDB(a);return}function RV(a,b){a=a|0;b=b|0;var d=0;d=a;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function RW(){var a=0,b=0,d=0;while(1){a=aDx(32)|0;if((a|0)!=0){b=5374;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==5374){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4096;c[a+16>>2]=4096;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=1;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function RX(){var a=0,b=0,d=0;while(1){a=aDx(84)|0;if((a|0)!=0){b=5386;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==5386){return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function RY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;while(1){f=aDx(84)|0;if((f|0)!=0){h=5398;break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){break}dC[i&63]()}if((h|0)==5398){h=f+16|0;i=a;aDD(f|0,0,16);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];j=-0.0- +g[b>>2];k=-0.0- +g[b+4>>2];l=-0.0- +g[b+8>>2];g[f+32>>2]=j;g[f+36>>2]=k;g[f+40>>2]=l;g[f+44>>2]=0.0;m=+g[h>>2];n=+g[d>>2]*m;o=+g[f+20>>2];p=+g[d+4>>2]*o;q=+g[f+24>>2];r=+g[d+8>>2]*q;g[f+48>>2]=n;g[f+52>>2]=p;g[f+56>>2]=r;g[f+60>>2]=0.0;s=+g[e>>2]*j;t=+g[e+4>>2]*k;u=+g[e+8>>2]*l;g[f+64>>2]=s;g[f+68>>2]=t;g[f+72>>2]=u;g[f+76>>2]=0.0;g[f+80>>2]=n*m+p*o+r*q+(s*j+t*k+u*l);return f|0}f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}function RZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;while(1){h=aDx(84)|0;if((h|0)!=0){i=5410;break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){break}dC[j&63]()}if((i|0)==5410){aDD(h|0,0,16);i=a|0;k=+g[i>>2];j=a+4|0;l=+g[j>>2];m=a+8|0;n=+g[m>>2];o=+g[b>>2]*k+ +g[b+4>>2]*l+ +g[b+8>>2]*n;p=+g[b+16>>2]*k+ +g[b+20>>2]*l+ +g[b+24>>2]*n;q=+g[b+32>>2]*k+ +g[b+36>>2]*l+ +g[b+40>>2]*n;g[h+16>>2]=o;g[h+20>>2]=p;g[h+24>>2]=q;g[h+28>>2]=0.0;n=-0.0- +g[i>>2];l=-0.0- +g[j>>2];k=-0.0- +g[m>>2];r=+g[d>>2]*n+ +g[d+4>>2]*l+ +g[d+8>>2]*k;s=+g[d+16>>2]*n+ +g[d+20>>2]*l+ +g[d+24>>2]*k;t=+g[d+32>>2]*n+ +g[d+36>>2]*l+ +g[d+40>>2]*k;g[h+32>>2]=r;g[h+36>>2]=s;g[h+40>>2]=t;g[h+44>>2]=0.0;k=+g[e>>2]*o;l=+g[e+4>>2]*p;n=+g[e+8>>2]*q;g[h+48>>2]=k;g[h+52>>2]=l;g[h+56>>2]=n;g[h+60>>2]=0.0;u=+g[f>>2]*r;v=+g[f+4>>2]*s;w=+g[f+8>>2]*t;g[h+64>>2]=u;g[h+68>>2]=v;g[h+72>>2]=w;g[h+76>>2]=0.0;g[h+80>>2]=k*o+l*p+n*q+(u*r+v*s+w*t);return h|0}h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}function R_(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,D=0.0,E=0.0;while(1){i=aDx(84)|0;if((i|0)!=0){j=5422;break}k=(C=c[10744]|0,c[10744]=C+0,C);if((k|0)==0){break}dC[k&63]()}if((j|0)==5422){j=e;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];l=+g[b+4>>2];j=e+8|0;m=+g[j>>2];n=+g[b+8>>2];k=e+4|0;o=+g[k>>2];p=l*m-n*o;q=e|0;r=+g[q>>2];s=+g[b>>2];t=n*r-s*m;m=s*o-l*r;b=a|0;e=a+4|0;u=a+8|0;r=+g[b>>2]*p+ +g[e>>2]*t+ +g[u>>2]*m;v=a+16|0;w=a+20|0;x=a+24|0;l=+g[v>>2]*p+ +g[w>>2]*t+ +g[x>>2]*m;y=a+32|0;z=a+36|0;A=a+40|0;o=+g[y>>2]*p+ +g[z>>2]*t+ +g[A>>2]*m;g[i+16>>2]=r;g[i+20>>2]=l;g[i+24>>2]=o;g[i+28>>2]=0.0;m=-0.0- +g[q>>2];t=-0.0- +g[k>>2];p=-0.0- +g[j>>2];s=+g[d+4>>2];n=+g[d+8>>2];B=s*p-n*t;D=+g[d>>2];E=n*m-D*p;p=D*t-s*m;m=+g[v>>2]*B+ +g[w>>2]*E+ +g[x>>2]*p;s=+g[y>>2]*B+ +g[z>>2]*E+ +g[A>>2]*p;g[i+32>>2]=+g[b>>2]*B+ +g[e>>2]*E+ +g[u>>2]*p;g[i+36>>2]=m;g[i+40>>2]=s;g[i+44>>2]=0.0;s=+g[f>>2]*r;m=+g[f+4>>2]*l;p=+g[f+8>>2]*o;g[i+48>>2]=s;g[i+52>>2]=m;g[i+56>>2]=p;aDD(i+60|0,0,20);g[i+80>>2]=s*r+m*l+p*o+h;return i|0}i=cd(4)|0;c[i>>2]=19096;bF(i|0,34368,676);return 0}function R$(a){a=a|0;return a|0}function R0(a){a=a|0;return+(+g[a+80>>2])}function R1(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function R2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+(+g[c>>2]*+g[a+16>>2]+ +g[e>>2]*+g[a+32>>2]+(+g[b>>2]- +g[d>>2])*+g[a>>2]+(+g[c+4>>2]*+g[a+20>>2]+ +g[e+4>>2]*+g[a+36>>2]+(+g[b+4>>2]- +g[d+4>>2])*+g[a+4>>2])+(+g[c+8>>2]*+g[a+24>>2]+ +g[e+8>>2]*+g[a+40>>2]+(+g[b+8>>2]- +g[d+8>>2])*+g[a+8>>2])+1.1920928955078125e-7)}function R3(a){a=a|0;return+(+g[a+80>>2])}function R4(a,b,c){a=a|0;b=b|0;c=+c;return+((+g[a>>2]*+g[b>>2]+ +g[a+4>>2]*+g[b+4>>2]+ +g[a+8>>2]*+g[b+8>>2])*c+(+g[a+48>>2]*+g[b+16>>2]+ +g[a+52>>2]*+g[b+20>>2]+ +g[a+56>>2]*+g[b+24>>2]))}function R5(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0;e=+g[a>>2]*+g[b>>2];f=+g[a+4>>2]*+g[b+4>>2];h=+g[a+8>>2]*+g[b+8>>2];return+(+g[a+48>>2]*+g[b+16>>2]+ +g[a+64>>2]*+g[b+32>>2]+e*c+e*d+(+g[a+52>>2]*+g[b+20>>2]+ +g[a+68>>2]*+g[b+36>>2]+f*c+f*d)+(+g[a+56>>2]*+g[b+24>>2]+ +g[a+72>>2]*+g[b+40>>2]+h*c+h*d))}function R6(a){a=a|0;return a+48|0}function R7(a){a=a|0;return a+16|0}function R8(a){a=a|0;return a+64|0}function R9(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Sa(a,b){a=a|0;b=b|0;return(c[a>>2]|0)==(c[b>>2]|0)|0}function Sb(a){a=a|0;return c[a>>2]|0}function Sc(a){a=a|0;var b=0;b=c[a>>2]|0;a=b+~(b<<15)|0;b=(a^a>>10)*9|0;a=b^b>>6;b=a+~(a<<11)|0;return b^b>>16|0}function Sd(b){b=b|0;return(a[b+4|0]&1)!=0|0}function Se(b,c){b=b|0;c=c|0;a[b+4|0]=c&1;return}function Sf(a,b){a=a|0;b=b|0;c[a+76>>2]=b;return}function Sg(a){a=a|0;return c[a+24>>2]|0}function Sh(a){a=a|0;return a+28|0}function Si(a){a=a|0;return a+4|0}function Sj(b){b=b|0;return(a[b+84|0]&1)!=0|0}function Sk(a){a=a|0;return c[a+8>>2]|0}function Sl(a){a=a|0;return c[a+76>>2]|0}function Sm(b,c){b=b|0;c=c|0;a[b+84|0]=c&1;return}function Sn(b,d){b=b|0;d=d|0;var e=0;do{if((c[b+176+(d<<2)>>2]|0)==0){if((a[b+108+d|0]&1)==0){e=0}else{break}return e|0}}while(0);e=1;return e|0}function So(a){a=a|0;return a+144|0}function Sp(a){a=a|0;return a+160|0}function Sq(a){a=a|0;return a+76|0}function Sr(a){a=a|0;return a+92|0}function Ss(a){a=a|0;return a|0}function St(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Su(a,b){a=a|0;b=b|0;var d=0;d=a+32|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Sv(a,b){a=a|0;b=b|0;var d=0;d=a+64|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Sw(a,b){a=a|0;b=b|0;var d=0;d=a+48|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+8>>2]&511](a,b,d)|0}function Sy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e)|0}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+16>>2]&511](a,b,d);return}function SA(a){a=a|0;if((a|0)==0){return}aDB(a);return}function SB(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function SC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e)|0}function SD(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+44>>2]&2047](a,b);return}function SE(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a)|0}function SF(a){a=a|0;ct[c[(c[a>>2]|0)+40>>2]&2047](a);return}function SG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+24>>2]&1023](a,b,d,e);return}function SH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a,b,d,e);return}function SI(a,b){a=a|0;b=b|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,1,-1);return}function SJ(a,b,d){a=a|0;b=b|0;d=d|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,-1);return}function SK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,e);return}function SL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;f=e|0;g=e+16|0;h=e+32|0;j=c[b+192>>2]|0;dI[c[(c[j>>2]|0)+8>>2]&1023](j,b+4|0,f,g);c[h>>2]=21168;c[h+4>>2]=b;c[h+8>>2]=a;c[h+12>>2]=d;d=c[a+76>>2]|0;dI[c[(c[d>>2]|0)+28>>2]&1023](d,f,g,h|0);i=e;return}function SM(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function SN(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a,b);return}function SO(a){a=a|0;ct[c[(c[a>>2]|0)+20>>2]&2047](a);return}function SP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;atO(a,b,c,d,e,0.0);return}function SQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;atO(a,b,c,d,e,f);return}function SR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+168|0;g=f|0;h=a+24|0;j=c[h>>2]|0;k=dE[c[(c[j>>2]|0)+8>>2]&127](j,b,d,0)|0;if((k|0)==0){i=f;return}c[g+4>>2]=0;c[g+136>>2]=b;c[g+140>>2]=d;j=g+8|0;l=b+4|0;aDD(g+144|0,-1|0,16);c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+24|0;j=b+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+40|0;l=b+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+56|0;j=b+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+72|0;l=d+4|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+88|0;j=d+20|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];j=g+104|0;l=d+36|0;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];l=g+120|0;j=d+52|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];c[g>>2]=21728;c[g+160>>2]=e;co[c[(c[k>>2]|0)+8>>2]&255](k,b,d,a+28|0,g|0);ct[c[c[k>>2]>>2]&2047](k);g=c[h>>2]|0;cv[c[(c[g>>2]|0)+60>>2]&2047](g,k);i=f;return}function SS(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;atG(a,b,c,d,e,f);return}function ST(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function SU(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;atI(a,b,c,d,e,f,g,h);return}function SV(a,b){a=a|0;b=b|0;atC(a,b);return}function SW(a){a=a|0;var b=0;b=c[a+76>>2]|0;return cA[c[(c[b>>2]|0)+36>>2]&4095](b)|0}function SX(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a,b);return}function SY(a,b){a=a|0;b=b|0;var d=0;d=a+144|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function SZ(a,b){a=a|0;b=b|0;var d=0;d=a+76|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function S_(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function S$(a,b){a=a|0;b=b|0;var d=0;d=a+128|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function S0(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=+j;var k=0,l=0,m=0;while(1){k=aDx(84)|0;if((k|0)!=0){l=5520;break}m=(C=c[10744]|0,c[10744]=C+0,C);if((m|0)==0){break}dC[m&63]()}if((l|0)==5520){l=k;anz(l,a,b,d,e,f,g,h,i,j);return l|0}l=cd(4)|0;c[l>>2]=19096;bF(l|0,34368,676);return 0}function S1(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(4)|0;if((b|0)!=0){d=5532;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==5532){c[b>>2]=a;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function S2(){var b=0,d=0,e=0;while(1){b=aDx(8)|0;if((b|0)!=0){d=5544;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==5544){c[b>>2]=19992;a[b+4|0]=0;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function S3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=aDx(88)|0;if((e|0)!=0){f=5556;break}g=(C=c[10744]|0,c[10744]=C+0,C);if((g|0)==0){f=5553;break}dC[g&63]()}if((f|0)==5553){g=cd(4)|0;c[g>>2]=19096;bF(g|0,34368,676);return 0}else if((f|0)==5556){f=e;aty(f,a,b,d);return f|0}return 0}function S4(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,f=0.0,h=0,i=0;e=+g[a+(b<<2)>>2];f=+g[a+16+(b<<2)>>2];if(e>f){c[a+176+(b<<2)>>2]=0;g[a+144+(b<<2)>>2]=0.0;h=0;return h|0}if(e>d){c[a+176+(b<<2)>>2]=2;g[a+144+(b<<2)>>2]=d-e;h=2;return h|0}i=a+176+(b<<2)|0;if(f>2]=1;g[a+144+(b<<2)>>2]=d-f;h=1;return h|0}else{c[i>>2]=0;g[a+144+(b<<2)>>2]=0.0;h=0;return h|0}return 0}function S5(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function S6(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function S7(a){a=a|0;return+(+g[a+56>>2])}function S8(a){a=a|0;return a+112|0}function S9(a){a=a|0;return a+128|0}function Ta(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function Tb(a){a=a|0;return a+16|0}function Tc(a){a=a|0;return+(+g[a+52>>2])}function Td(a){a=a|0;return a+60|0}function Te(a,b){a=a|0;b=b|0;return+g[a+16+(b<<2)>>2]>=+g[a+(b<<2)>>2]|0}function Tf(a){a=a|0;return a+32|0}function Tg(a){a=a|0;return+(+g[a+48>>2])}function Th(a,b,c,d,e,f,h,i,j,k){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0,J=0.0,K=0,L=0.0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0;l=+g[k>>2];m=l- +g[d+52>>2];n=+g[k+4>>2];o=n- +g[d+56>>2];p=+g[k+8>>2];q=p- +g[d+60>>2];r=l- +g[f+52>>2];l=n- +g[f+56>>2];n=p- +g[f+60>>2];k=d+504|0;s=d+508|0;t=d+512|0;u=d+520|0;p=+g[d+320>>2]+ +g[u>>2];v=d+524|0;w=+g[d+324>>2]+ +g[v>>2];x=d+528|0;y=+g[d+328>>2]+ +g[x>>2];z=f+504|0;A=f+508|0;B=f+512|0;C=f+520|0;D=+g[f+320>>2]+ +g[C>>2];E=f+524|0;F=+g[f+324>>2]+ +g[E>>2];G=f+528|0;H=+g[f+328>>2]+ +g[G>>2];I=j|0;J=+g[I>>2];K=j+4|0;L=+g[K>>2];M=j+8|0;N=+g[M>>2];O=N*(+g[d+312>>2]+ +g[t>>2]+(o*p-m*w)-(+g[f+312>>2]+ +g[B>>2]+(l*D-r*F)))+(J*(+g[d+304>>2]+ +g[k>>2]+(q*w-o*y)-(+g[f+304>>2]+ +g[z>>2]+(n*F-l*H)))+L*(+g[d+308>>2]+ +g[s>>2]+(m*y-q*p)-(+g[f+308>>2]+ +g[A>>2]+(r*H-n*D))));D=-0.0-(J*(+g[e>>2]- +g[h>>2])+L*(+g[e+4>>2]- +g[h+4>>2])+N*(+g[e+8>>2]- +g[h+8>>2]));N=+g[a+(i<<2)>>2];L=+g[a+16+(i<<2)>>2];do{if(ND){P=D-N;Q=-999999984306749400.0;R=0.0;break}else{S=0.0;return+S}}else{P=D;Q=-999999984306749400.0;R=999999984306749400.0}}while(0);h=a+32+(i<<2)|0;D=+g[h>>2];N=D+ +g[a+48>>2]*(P*+g[a+56>>2]/b-O*+g[a+52>>2])*c;if(N>R){T=0.0}else{T=N>2]=T;N=T-D;D=+g[I>>2];T=+g[K>>2];Q=+g[M>>2];R=o*Q-q*T;c=q*D-m*Q;q=m*T-o*D;o=l*Q-n*T;m=n*D-r*Q;n=r*T-l*D;l=+g[d+336>>2];if(l!=0.0){r=c*+g[d+292>>2]+R*+g[d+288>>2]+q*+g[d+296>>2];O=c*+g[d+276>>2]+R*+g[d+272>>2]+q*+g[d+280>>2];b=c*+g[d+260>>2]+R*+g[d+256>>2]+q*+g[d+264>>2];g[k>>2]=N*D*l+ +g[k>>2];g[s>>2]=N*T*l+ +g[s>>2];g[t>>2]=N*Q*l+ +g[t>>2];l=O*N*+g[d+540>>2];O=r*N*+g[d+544>>2];g[u>>2]=b*N*+g[d+536>>2]+ +g[u>>2];g[v>>2]=l+ +g[v>>2];g[x>>2]=O+ +g[x>>2]}O=+g[f+336>>2];l=-0.0-N;if(O==0.0){S=N;return+S}b=m*+g[f+292>>2]+o*+g[f+288>>2]+n*+g[f+296>>2];r=m*+g[f+276>>2]+o*+g[f+272>>2]+n*+g[f+280>>2];Q=m*+g[f+260>>2]+o*+g[f+256>>2]+n*+g[f+264>>2];n=O*+g[K>>2]*l;o=O*+g[M>>2]*l;g[z>>2]=+g[z>>2]+O*+g[I>>2]*l;g[A>>2]=n+ +g[A>>2];g[B>>2]=o+ +g[B>>2];o=r*+g[f+540>>2]*l;r=b*+g[f+544>>2]*l;g[C>>2]=Q*+g[f+536>>2]*l+ +g[C>>2];g[E>>2]=o+ +g[E>>2];g[G>>2]=r+ +g[G>>2];S=N;return+S}function Ti(a){a=a|0;return(c[a+4>>2]|0)==31|0}function Tj(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Tk(a){a=a|0;return+(+g[a+44>>2])}function Tl(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Tm(a){a=a|0;return a+12|0}function Tn(a){a=a|0;return(c[a+4>>2]|0)<20|0}function To(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Tp(a){a=a|0;return c[a+8>>2]|0}function Tq(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Tr(a,b){a=a|0;b=b|0;var d=0;d=a+160|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ts(a,b){a=a|0;b=b|0;var d=0;d=a+32|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Tt(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Tu(a){a=a|0;if((a|0)==0){return}aDB(a);return}function Tv(a,b){a=a|0;b=b|0;var d=0;d=a+60|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Tw(a,b){a=a|0;b=b|0;var d=0;d=a+112|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Tx(a,b){a=a|0;b=b|0;var d=0;d=a;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Ty(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function Tz(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function TA(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43568]|0)==0){if((b1(43568)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9222]=c[d>>2];c[9223]=c[d+4>>2];c[9224]=c[d+8>>2];c[9225]=c[d+12>>2];i=e;return 36888}function TB(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function TC(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function TD(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a)|0}function TE(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43392]|0)==0){if((b1(43392)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9214]=c[d>>2];c[9215]=c[d+4>>2];c[9216]=c[d+8>>2];c[9217]=c[d+12>>2];i=e;return 36856}function TF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function TG(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function TH(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function TI(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43128]|0)==0){if((b1(43128)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9210]=c[d>>2];c[9211]=c[d+4>>2];c[9212]=c[d+8>>2];c[9213]=c[d+12>>2];i=e;return 36840}function TJ(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function TK(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function TL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function TM(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function TN(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a))}function TO(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a,b,d);return}function TP(){var b=0,d=0,e=0,f=0;while(1){b=aDx(188)|0;if((b|0)!=0){break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){e=5652;break}dC[d&63]()}if((e|0)==5652){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}e=b;aDD(b|0,0,48);aDD(b+60|0,0,16);g[b+76>>2]=.20000000298023224;g[b+80>>2]=.20000000298023224;g[b+84>>2]=.20000000298023224;aDD(b+88|0,0,20);g[b+48>>2]=.699999988079071;g[b+52>>2]=1.0;g[b+56>>2]=.5;d=b+112|0;f=b+128|0;b=0;while(1){if((b|0)>=3){break}a[e+108+b|0]=0;g[d+(b<<2)>>2]=0.0;g[f+(b<<2)>>2]=0.0;b=b+1|0}return e|0}function TQ(b){b=b|0;var d=0,e=0,f=0,h=0;while(1){d=aDx(188)|0;if((d|0)!=0){break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){f=5667;break}dC[e&63]()}if((f|0)==5667){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}f=d;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=d+16|0;h=b+16|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=d+32|0;e=b+32|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];g[d+48>>2]=+g[b+48>>2];g[d+52>>2]=+g[b+52>>2];g[d+56>>2]=+g[b+56>>2];e=d+60|0;h=b+60|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=d+76|0;e=b+76|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];e=d+92|0;h=b+92|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=d+112|0;e=d+128|0;d=0;while(1){if((d|0)>=3){break}a[f+108+d|0]=a[b+108+d|0]&1;g[h+(d<<2)>>2]=+g[b+112+(d<<2)>>2];g[e+(d<<2)>>2]=+g[b+128+(d<<2)>>2];d=d+1|0}return f|0}function TR(a,b){a=a|0;b=b|0;return(c[a>>2]|0)==(c[b>>2]|0)|0}function TS(a){a=a|0;return c[a>>2]|0}function TT(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function TU(a){a=a|0;return(c[a+4>>2]|0)==32|0}function TV(a){a=a|0;return a+28|0}function TW(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function TX(a){a=a|0;return c[a+4>>2]|0}function TY(a){a=a|0;var b=0;b=c[a>>2]|0;a=b+~(b<<15)|0;b=(a^a>>10)*9|0;a=b^b>>6;b=a+~(a<<11)|0;return b^b>>16|0}function TZ(a){a=a|0;return+(+g[a+224>>2])}function T_(a){a=a|0;return+(+g[a+220>>2])}function T$(a,b){a=a|0;b=b|0;c[a+212>>2]=b;return}function T0(a){a=a|0;return+(+g[a+244>>2])}function T1(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function T2(a,b){a=a|0;b=b|0;c[a+196>>2]=b;return}function T3(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function T4(a){a=a|0;return a+132|0}function T5(a){a=a|0;return(c[a+204>>2]&7|0)==0|0}function T6(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function T7(a){a=a|0;return c[a+208>>2]|0}function T8(a){a=a|0;return c[a+260>>2]|0}function T9(a,b){a=a|0;b=b|0;c[a+236>>2]=b;return}function Ua(a){a=a|0;return a+148|0}function Ub(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function Uc(a){a=a|0;var b=0;if((c[a+204>>2]&3|0)!=0){return}b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function Ud(a,b){a=a|0;b=b|0;do{if(!b){if((c[a+204>>2]&3|0)==0){break}return}}while(0);b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function Ue(a,b){a=a|0;b=b|0;c[a+208>>2]=b;return}function Uf(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function Ug(a){a=a|0;return a+68|0}function Uh(a){a=a|0;return+(+g[a+240>>2])}function Ui(a,b){a=a|0;b=b|0;return c[(c[a+268>>2]|0)+(b<<2)>>2]|0}function Uj(a){a=a|0;return(c[a+204>>2]&1|0)!=0|0}function Uk(a){a=a|0;return c[a+192>>2]|0}function Ul(a){a=a|0;return c[a+216>>2]|0}function Um(a){a=a|0;return c[a+188>>2]|0}function Un(a){a=a|0;return+(+g[a+228>>2])}function Uo(a){a=a|0;return c[a+236>>2]|0}function Up(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function Uq(a){a=a|0;return a+4|0}function Ur(a){a=a|0;var b=0.0;b=+g[a+248>>2];return+(b*b)}function Us(a,b){a=a|0;b=b|0;c[a+192>>2]=b;return}function Ut(a){a=a|0;return+(+g[a+248>>2])}function Uu(a){a=a|0;return c[a+212>>2]|0}function Uv(a){a=a|0;var b=0;b=c[a+216>>2]|0;return((b|0)==2?0:(b|0)!=5)|0}function Uw(a){a=a|0;return c[a+232>>2]|0}function Ux(a){a=a|0;return(c[a+204>>2]&4|0)==0|0}function Uy(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function Uz(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43248]|0)==0){if((b1(43248)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9206]=c[d>>2];c[9207]=c[d+4>>2];c[9208]=c[d+8>>2];c[9209]=c[d+12>>2];i=e;return 36824}function UA(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 13:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function UB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function UC(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function UD(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function UE(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function UF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a,b,d,e);return}function UG(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function UH(a){a=a|0;if((a|0)==0){return}aDB(a);return}function UI(a,b,d){a=a|0;b=b|0;d=d|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,0);return}function UJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,e);return}function UK(a,b){a=a|0;b=b|0;var d=0;d=a+132|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function UL(a,b){a=a|0;b=b|0;var d=0;d=a+148|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function UM(){var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0;c[9806]=(c[9806]|0)+1;b=aDx(299)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}e=d;g[d+164>>2]=1.0;g[d+168>>2]=1.0;g[d+172>>2]=1.0;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749400.0;aDD(d+188|0,0,16);c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;c[d+236>>2]=0;g[d+240>>2]=1.0;g[d+244>>2]=0.0;g[d+248>>2]=0.0;c[d+252>>2]=0;g[d+4>>2]=1.0;aDD(d+8|0,0,16);g[d+24>>2]=1.0;aDD(d+28|0,0,16);g[d+44>>2]=1.0;aDD(d+48|0,0,20);a[d+272|0]=1;c[d+268>>2]=0;c[d+260>>2]=0;c[d+264>>2]=0;c[d+232>>2]=4;c[d>>2]=21080;c[9806]=(c[9806]|0)+1;b=aDx(95)|0;if((b|0)==0){f=0;h=d+276|0;i=h;c[i>>2]=f;return e|0}j=-(b+4|0)&15;k=b+(j+4)|0;c[b+j>>2]=b;if((k|0)==0){f=0;h=d+276|0;i=h;c[i>>2]=f;return e|0}b=k;ayI(b);f=b;h=d+276|0;i=h;c[i>>2]=f;return e|0}function UN(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+68|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+84|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+100|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+116|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function UO(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a|0,b);return}function UP(a,b){a=a|0;b=b|0;dA[c[(c[a>>2]|0)+28>>2]&511](a,b,0);return}function UQ(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+28>>2]&511](a,b,d);return}function UR(a,b){a=a|0;b=b|0;var d=0;if((c[a+252>>2]|0)==0){d=1;return d|0}d=dj[c[c[a>>2]>>2]&511](a|0,b)|0;return d|0}function US(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;f=i;i=i+128|0;h=f|0;j=f+64|0;g[h>>2]=1.0;aDD(h+4|0,0,16);g[h+20>>2]=1.0;aDD(h+24|0,0,16);g[h+40>>2]=1.0;c[h+44>>2]=0;k=h+48|0;l=b;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];g[j>>2]=1.0;aDD(j+4|0,0,16);g[j+20>>2]=1.0;aDD(j+24|0,0,16);g[j+40>>2]=1.0;c[j+44>>2]=0;l=j+48|0;k=d;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];k=a+260|0;if((c[k>>2]|0)<=0){i=f;return}l=a+268|0;a=e;d=0;do{b=c[(c[l>>2]|0)+(d<<2)>>2]|0;if(dj[c[(c[a>>2]|0)+8>>2]&511](e,c[b+188>>2]|0)|0){atG(h,j,b,c[b+192>>2]|0,b+4|0,e)}d=d+1|0;}while((d|0)<(c[k>>2]|0));i=f;return}function UT(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a|0)|0}function UU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;axT(a|0,b,c,d,e,0.0);return}function UV(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;axT(a|0,b,c,d,e,f);return}function UW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+164|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];do{if(+g[b>>2]!=1.0){f=1}else{if(+g[b+4>>2]!=1.0){f=1;break}f=+g[b+8>>2]!=1.0|0}}while(0);c[a+180>>2]=f;return}function UX(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+20|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+36|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+52|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function UY(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+20>>2]&511](a|0,b,d)|0}function UZ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function U_(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function U$(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(8)|0;if((b|0)!=0){d=5820;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==5820){c[b>>2]=a;return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function U0(a){a=a|0;var b=0;if((c[a+232>>2]|0)==4){b=a}else{b=0}return b|0}function U1(a,b){a=a|0;b=b|0;var d=0;d=a+216|0;if(((c[d>>2]|0)-4|0)>>>0<2){return}c[d>>2]=b;return}function U2(a){a=a|0;return c[a+200>>2]|0}function U3(a){a=a|0;return+(+g[a+184>>2])}function U4(a){a=a|0;return c[a+204>>2]|0}function U5(a){a=a|0;return c[a+276>>2]|0}function U6(a){a=a|0;return a+164|0}function U7(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function U8(a){a=a|0;return c[a+196>>2]|0}function U9(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function Va(a){a=a|0;return(c[a+204>>2]&3|0)!=0|0}function Vb(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function Vc(a){a=a|0;return(c[a+180>>2]|0)!=0|0}function Vd(a,b){a=a|0;b=b|0;c[a+188>>2]=b;return}function Ve(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function Vf(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Vg(a){a=a|0;return(c[a+4>>2]|0)==31|0}function Vh(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Vi(a){a=a|0;return a+48|0}function Vj(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Vk(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Vl(a){a=a|0;return c[a+8>>2]|0}function Vm(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Vn(a){a=a|0;return+(+g[a+64>>2])}function Vo(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Vp(a){a=a|0;return(c[a+4>>2]|0)==32|0}function Vq(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function Vr(a){a=a|0;return c[a+4>>2]|0}function Vs(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Vt(a){a=a|0;return(c[a+4>>2]|0)==31|0}function Vu(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Vv(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Vw(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Vx(a){a=a|0;return c[a+8>>2]|0}function Vy(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Vz(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function VA(a){a=a|0;return(c[a+4>>2]|0)==32|0}function VB(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function VC(a){a=a|0;return c[a+4>>2]|0}function VD(a){a=a|0;return c[a+28>>2]|0}function VE(a){a=a|0;return c[a+12>>2]|0}function VF(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function VG(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function VH(a){a=a|0;return a+40|0}function VI(a,b){a=a|0;b=b|0;return+(+g[a+1248+(b<<2)>>2])}function VJ(a){a=a|0;return a+104|0}function VK(a){a=a|0;return a+1056|0}function VL(a){a=a|0;return c[a+12>>2]|0}function VM(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function VN(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function VO(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function VP(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function VQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+60>>2]&1023](a,b,d,e);return}function VR(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function VS(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function VT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function VU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function VV(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function VW(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function VX(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function VY(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function VZ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function V_(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function V$(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function V0(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function V1(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+64>>2]&2047](a,b);return}function V2(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function V3(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+8>>2]&511](a|0,b,d)|0}function V4(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+16>>2]&511](a|0,b,d);return}function V5(a){a=a|0;return cA[c[(c[a>>2]|0)+56>>2]&4095](a)|0}function V6(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function V7(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function V8(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+40>>2]&511](a,b,d);return}function V9(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+32>>2]&511](a,b,d);return}function Wa(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function Wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e)|0}function Wc(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+44>>2]&2047](a,b);return}function Wd(a){a=a|0;return cA[c[(c[a>>2]|0)+20>>2]&4095](a)|0}function We(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+48>>2]&511](a,b,d);return}function Wf(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function Wg(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function Wh(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function Wi(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function Wj(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function Wk(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function Wl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function Wm(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a,b))}function Wn(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a))}function Wo(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function Wp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a,b,c,d,e,f,g);return}function Wq(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a,b,f);i=e;return}function Wr(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a))}function Ws(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a,b);return}function Wt(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function Wu(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function Wv(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function Ww(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;apb(a,b,c,d,e,f,g,h);return}function Wx(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;while(1){d=aDx(84)|0;if((d|0)!=0){e=5939;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==5939){e=d+4|0;c[e>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=22976;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];k=1.0/+Q(+(h*h+i*i+j*j));g[d+48>>2]=h*k;g[d+52>>2]=i*k;g[d+56>>2]=j*k;g[d+60>>2]=0.0;g[d+64>>2]=b;aDD(d+68|0,0,16);c[e>>2]=28;return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function Wy(a,b){a=a|0;b=+b;return}function Wz(a){a=a|0;return c[a+24>>2]|0}function WA(a){a=a|0;return+(+g[a+16>>2])}function WB(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=3){break}g[b+(c<<2)>>2]=+g[a+860+(c<<6)>>2];c=c+1|0}return}function WC(a){a=a|0;return+(+g[a+32>>2])}function WD(b){b=b|0;return(a[b+20|0]&1)!=0|0}function WE(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function WF(a){a=a|0;return c[a+4>>2]|0}function WG(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function WH(b,c){b=b|0;c=c|0;a[b+1293|0]=c&1;return}function WI(b){b=b|0;return(a[b+21|0]&1)!=0|0}function WJ(a){a=a|0;return c[a+4>>2]|0}function WK(a,b){a=a|0;b=b|0;return a+860+(b<<6)|0}function WL(b,d){b=b|0;d=d|0;var e=0;e=d|0;if((a[b+1300|0]&1)==0){c[e>>2]=6;c[d+4>>2]=0;return}else{c[e>>2]=0;c[d+4>>2]=0;return}}function WM(a){a=a|0;return+(+g[a+36>>2])}function WN(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function WO(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<3){c=+g[a+688+(b<<2)>>2]>=+g[a+672+(b<<2)>>2];return c|0}d=b-3|0;if(+g[a+860+(d<<6)>>2]>+g[a+860+(d<<6)+4>>2]){c=0;return c|0}c=1;return c|0}function WP(b){b=b|0;return(a[b+1293|0]&1)!=0|0}function WQ(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function WR(a){a=a|0;return a+1120|0}function WS(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function WT(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function WU(b){b=b|0;return(a[b+1300|0]&1)!=0|0}function WV(a){a=a|0;return+(+g[a+32>>2])}function WW(b,c){b=b|0;c=c|0;a[b+1300|0]=c&1;return}function WX(a){a=a|0;return a+672|0}function WY(a,b){a=a|0;b=b|0;return+(+g[a+1184+(b<<2)>>2])}function WZ(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=3){break}g[b+(c<<2)>>2]=+g[a+860+(c<<6)+4>>2];c=c+1|0}return}function W_(a){a=a|0;return c[a+4>>2]|0}function W$(a){a=a|0;return c[a+8>>2]|0}function W0(a){a=a|0;return c[a+12>>2]|0}function W1(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function W2(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function W3(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function W4(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function W5(a){a=a|0;ct[c[(c[a>>2]|0)+44>>2]&2047](a);return}function W6(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function W7(b,c){b=b|0;c=c|0;do{if((a[43848]|0)==0){if((b1(43848)|0)==0){break}}}while(0);aDG(36808,b+1200+(c<<4)|0,16);return 36808}function W8(a,b){a=a|0;b=b|0;var d=0;d=b;b=a+688|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return}function W9(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a,b,d)|0}function Xa(a,b){a=a|0;b=b|0;var d=0;d=a+672|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Xb(a,b){a=a|0;b=b|0;var d=0;d=b;b=a+672|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return}function Xc(a){a=a|0;aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;aoZ(a,b,c);return}function Xe(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ao7(a,b,c,d,e,f,g,h,i,j,k,l,0)|0}function Xf(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ao7(a,b,c,d,e,f,g,h,i,j,k,l,m)|0}function Xg(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;nS(a,b,c,d);return}function Xh(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function Xi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f);return}function Xj(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;while(1){if((c|0)>=3){break}d=+ck(+(+g[b+(c<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[a+860+(c<<6)>>2]=e;c=c+1|0}return}function Xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e);return}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+40|0;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+56|0;e=b+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+72|0;f=b+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+88|0;e=b+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+104|0;f=d;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+120|0;e=d+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+136|0;f=d+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+152|0;e=d+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];ct[c[(c[a>>2]|0)+8>>2]&2047](a);aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function Xm(a,b){a=a|0;b=b|0;var d=0;d=a+688|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;while(1){if((c|0)>=3){break}d=+ck(+(+g[b+(c<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[a+860+(c<<6)+4>>2]=e;c=c+1|0}return}function Xo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;f=i;i=i+112|0;h=f|0;j=f+48|0;k=e&1;while(1){l=aDx(1304)|0;if((l|0)!=0){break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){m=6041;break}dC[e&63]()}if((m|0)==6041){m=cd(4)|0;c[m>>2]=19096;bF(m|0,34368,676);return 0}m=l;e=j;aq2();c[l+4>>2]=6;c[l+8>>2]=-1;c[l+12>>2]=-1;g[l+16>>2]=3.4028234663852886e+38;a[l+20|0]=1;a[l+21|0]=0;n=l+24|0;c[n>>2]=41520;o=l+28|0;c[o>>2]=b;g[l+32>>2]=0.0;g[l+36>>2]=.30000001192092896;c[l>>2]=21400;p=l+104|0;q=d;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];q=l+120|0;r=d+16|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];r=l+136|0;q=d+32|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];q=l+152|0;r=d+48|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];r=l+40|0;aDD(l+672|0,0,48);aDD(l+732|0,0,16);g[l+748>>2]=.20000000298023224;g[l+752>>2]=.20000000298023224;g[l+756>>2]=.20000000298023224;aDD(l+760|0,0,20);g[l+720>>2]=.699999988079071;g[l+724>>2]=1.0;g[l+728>>2]=.5;a[l+780|0]=0;g[l+784>>2]=0.0;g[l+800>>2]=0.0;a[l+781|0]=0;g[l+788>>2]=0.0;g[l+804>>2]=0.0;a[l+782|0]=0;g[l+792>>2]=0.0;g[l+808>>2]=0.0;g[l+920>>2]=0.0;g[l+868>>2]=0.0;g[l+872>>2]=.10000000149011612;g[l+876>>2]=300.0;g[l+860>>2]=1.0;g[l+864>>2]=-1.0;g[l+888>>2]=0.0;g[l+892>>2]=.20000000298023224;g[l+896>>2]=0.0;g[l+900>>2]=0.0;g[l+880>>2]=1.0;g[l+884>>2]=.5;c[l+916>>2]=0;g[l+908>>2]=0.0;a[l+904|0]=0;g[l+984>>2]=0.0;g[l+932>>2]=0.0;g[l+936>>2]=.10000000149011612;g[l+940>>2]=300.0;g[l+924>>2]=1.0;g[l+928>>2]=-1.0;g[l+952>>2]=0.0;g[l+956>>2]=.20000000298023224;g[l+960>>2]=0.0;g[l+964>>2]=0.0;g[l+944>>2]=1.0;g[l+948>>2]=.5;c[l+980>>2]=0;g[l+972>>2]=0.0;a[l+968|0]=0;g[l+1048>>2]=0.0;g[l+996>>2]=0.0;g[l+1e3>>2]=.10000000149011612;g[l+1004>>2]=300.0;g[l+988>>2]=1.0;g[l+992>>2]=-1.0;g[l+1016>>2]=0.0;g[l+1020>>2]=.20000000298023224;g[l+1024>>2]=0.0;g[l+1028>>2]=0.0;g[l+1008>>2]=1.0;g[l+1012>>2]=.5;c[l+1044>>2]=0;g[l+1036>>2]=0.0;a[l+1032|0]=0;a[l+1292|0]=k;a[l+1293|0]=1;c[l+1296>>2]=0;a[l+1300|0]=0;k=b+4|0;q=h;anx(h,k|0,p);s=+g[l+152>>2];t=+g[l+156>>2];u=+g[l+160>>2];v=+g[k>>2]*s+ +g[b+8>>2]*t+ +g[b+12>>2]*u+ +g[b+52>>2];w=+g[b+20>>2]*s+ +g[b+24>>2]*t+ +g[b+28>>2]*u+ +g[b+56>>2];x=+g[b+36>>2]*s+ +g[b+40>>2]*t+ +g[b+44>>2]*u+ +g[b+60>>2];b=j+48|0;k=j|0;do{k=k+16|0;}while((k|0)!=(b|0));c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[e+12>>2]=c[q+12>>2];q=j+16|0;b=h+16|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];b=j+32|0;k=h+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];g[j+48>>2]=v;g[j+52>>2]=w;g[j+56>>2]=x;g[j+60>>2]=0.0;c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];e=l+56|0;c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[e+12>>2]=c[q+12>>2];q=l+72|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];b=l+88|0;l=j+48|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];aoZ(m,(c[n>>2]|0)+4|0,(c[o>>2]|0)+4|0);i=f;return m|0}function Xp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;while(1){g=aDx(1304)|0;if((g|0)!=0){h=6060;break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){break}dC[i&63]()}if((h|0)==6060){h=g;aoY(h,a,b,d,e,f);return h|0}h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}function Xq(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function Xr(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;b=c[a>>2]|0;e=c[d+4>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;return a|0}function Xs(a,b){a=a|0;b=b|0;g[a>>2]=+g[b>>2];g[a+4>>2]=+g[b+16>>2];g[a+8>>2]=+g[b+32>>2];g[a+12>>2]=0.0;g[a+16>>2]=+g[b+4>>2];g[a+20>>2]=+g[b+20>>2];g[a+24>>2]=+g[b+36>>2];g[a+28>>2]=0.0;g[a+32>>2]=+g[b+8>>2];g[a+36>>2]=+g[b+24>>2];g[a+40>>2]=+g[b+40>>2];g[a+44>>2]=0.0;g[a+48>>2]=+g[b+48>>2];g[a+52>>2]=+g[b+52>>2];g[a+56>>2]=+g[b+56>>2];g[a+60>>2]=0.0;return}function Xt(a){a=a|0;return a+48|0}function Xu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)<3){d=0}else{e=0;break}while(1){if((d|0)>=4){break}g[a+(c<<4)+(d<<2)>>2]=+h[b+(c<<5)+(d<<3)>>3];d=d+1|0}c=c+1|0}while(1){if((e|0)>=4){break}g[a+48+(e<<2)>>2]=+h[b+96+(e<<3)>>3];e=e+1|0}return}function Xv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)<3){d=0}else{e=0;break}while(1){if((d|0)>=4){break}g[a+(c<<4)+(d<<2)>>2]=+g[b+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}while(1){if((e|0)>=4){break}g[a+48+(e<<2)>>2]=+g[b+48+(e<<2)>>2];e=e+1|0}return}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;e=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=1.0/+Q(+(e*e+f*f+h*h));j=e*i;e=f*i;f=h*i;i=+g[d>>2];h=+g[d+4>>2];k=+g[d+8>>2];l=1.0/+Q(+(i*i+h*h+k*k));m=i*l;i=h*l;h=k*l;l=f*i-e*h;k=j*h-f*m;n=e*m-j*i;d=c[a+24>>2]|0;o=+g[d+4>>2];p=+g[d+20>>2];q=+g[d+36>>2];r=+g[d+8>>2];s=+g[d+24>>2];t=+g[d+40>>2];u=+g[d+12>>2];v=+g[d+28>>2];w=+g[d+44>>2];x=-0.0- +g[d+52>>2];y=-0.0- +g[d+56>>2];z=-0.0- +g[d+60>>2];g[a+40>>2]=o*l+k*p+n*q;g[a+44>>2]=m*o+i*p+h*q;g[a+48>>2]=j*o+e*p+f*q;g[a+52>>2]=0.0;g[a+56>>2]=l*r+k*s+n*t;g[a+60>>2]=m*r+i*s+h*t;g[a+64>>2]=j*r+e*s+f*t;g[a+68>>2]=0.0;g[a+72>>2]=l*u+k*v+n*w;g[a+76>>2]=m*u+i*v+h*w;g[a+80>>2]=j*u+e*v+f*w;g[a+84>>2]=0.0;g[a+88>>2]=o*0.0+p*0.0+q*0.0+(o*x+p*y+q*z);g[a+92>>2]=r*0.0+s*0.0+t*0.0+(r*x+s*y+t*z);g[a+96>>2]=u*0.0+v*0.0+w*0.0+(u*x+v*y+w*z);g[a+100>>2]=0.0;b=c[a+28>>2]|0;z=+g[b+4>>2];w=+g[b+20>>2];y=+g[b+36>>2];v=+g[b+8>>2];x=+g[b+24>>2];u=+g[b+40>>2];t=+g[b+12>>2];s=+g[b+28>>2];r=+g[b+44>>2];q=-0.0- +g[b+52>>2];p=-0.0- +g[b+56>>2];o=-0.0- +g[b+60>>2];g[a+104>>2]=l*z+k*w+n*y;g[a+108>>2]=m*z+i*w+h*y;g[a+112>>2]=j*z+e*w+f*y;g[a+116>>2]=0.0;g[a+120>>2]=l*v+k*x+n*u;g[a+124>>2]=m*v+i*x+h*u;g[a+128>>2]=j*v+e*x+f*u;g[a+132>>2]=0.0;g[a+136>>2]=l*t+k*s+n*r;g[a+140>>2]=m*t+i*s+h*r;g[a+144>>2]=j*t+e*s+f*r;g[a+148>>2]=0.0;g[a+152>>2]=z*0.0+w*0.0+y*0.0+(z*q+w*p+y*o);g[a+156>>2]=v*0.0+x*0.0+u*0.0+(v*q+x*p+u*o);g[a+160>>2]=t*0.0+s*0.0+r*0.0+(t*q+s*p+r*o);g[a+164>>2]=0.0;aoZ(a,d+4|0,b+4|0);return}function Xx(a,b){a=a|0;b=b|0;return ao$(a,b)|0}function Xy(a){a=a|0;b3(c[a>>2]|0,0)|0;return}function Xz(a){a=a|0;var b=0;if((a|0)==0){return}b=c[a>>2]|0;if((b|0)!=0){aDB(b)}aDB(a);return}function XA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+8|0;d=b|0;b3(d|0,0)|0;e=c[a>>2]|0;i=b;return(((c[d+4>>2]|0)-(c[e+4>>2]|0)|0)/1e3|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e3|0)|0}function XB(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+8|0;d=b|0;b3(d|0,0)|0;e=c[a>>2]|0;i=b;return(c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)|0}function XC(a,b){a=a|0;b=b|0;var d=0,e=0;d=a;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+16|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+32|0;a=b+32|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function XD(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d|0;do{if((a[43944]|0)==0){if((b1(43944)|0)==0){break}}}while(0);ec(b|0,e);b=e;c[9198]=c[b>>2];c[9199]=c[b+4>>2];c[9200]=c[b+8>>2];c[9201]=c[b+12>>2];i=d;return 36792}function XE(b){b=b|0;var d=0,e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0;d=i;i=i+112|0;e=d|0;f=d+48|0;do{if((a[44048]|0)==0){if((b1(44048)|0)==0){break}else{h=36728}do{h=h+16|0;}while((h|0)!=36776)}}while(0);h=e;d$(e,b|0,b+16|0,b+32|0,b+4|0,b+20|0,b+36|0,b+8|0,b+24|0,b+40|0);j=-0.0- +g[b+48>>2];k=-0.0- +g[b+52>>2];l=-0.0- +g[b+56>>2];m=+g[e>>2]*j+ +g[e+4>>2]*k+ +g[e+8>>2]*l;n=+g[e+16>>2]*j+ +g[e+20>>2]*k+ +g[e+24>>2]*l;o=+g[e+32>>2]*j+ +g[e+36>>2]*k+ +g[e+40>>2]*l;b=f+48|0;p=f|0;do{p=p+16|0;}while((p|0)!=(b|0));b=f;c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];h=f+16|0;p=e+16|0;c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[h+12>>2]=c[p+12>>2];p=f+32|0;h=e+32|0;c[p>>2]=c[h>>2];c[p+4>>2]=c[h+4>>2];c[p+8>>2]=c[h+8>>2];c[p+12>>2]=c[h+12>>2];g[f+48>>2]=m;g[f+52>>2]=n;g[f+56>>2]=o;g[f+60>>2]=0.0;c[9182]=c[b>>2];c[9183]=c[b+4>>2];c[9184]=c[b+8>>2];c[9185]=c[b+12>>2];b=f+16|0;c[9186]=c[b>>2];c[36748>>2]=c[b+4>>2];c[36752>>2]=c[b+8>>2];c[36756>>2]=c[b+12>>2];b=f+32|0;c[9190]=c[b>>2];c[36764>>2]=c[b+4>>2];c[36768>>2]=c[b+8>>2];c[36772>>2]=c[b+12>>2];b=f+48|0;c[9194]=c[b>>2];c[36780>>2]=c[b+4>>2];c[36784>>2]=c[b+8>>2];c[36788>>2]=c[b+12>>2];i=d;return 36728}function XF(){B1();return 42752}function XG(){var a=0,b=0,d=0,e=0,f=0;while(1){a=aDx(4)|0;if((a|0)!=0){break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){d=6114;break}dC[b&63]()}if((d|0)==6114){b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}b=a;while(1){e=aDx(8)|0;if((e|0)!=0){d=6128;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){d=6126;break}dC[f&63]()}if((d|0)==6126){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}else if((d|0)==6128){c[a>>2]=e;b3(e|0,0)|0;return b|0}return 0}function XH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;while(1){b=aDx(4)|0;if((b|0)!=0){break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){e=6140;break}dC[d&63]()}if((e|0)==6140){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}d=b;while(1){f=aDx(8)|0;if((f|0)!=0){e=6154;break}g=(C=c[10744]|0,c[10744]=C+0,C);if((g|0)==0){break}dC[g&63]()}if((e|0)==6154){c[b>>2]=f;b=c[a>>2]|0;a=f;f=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=f;return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function XI(a,b){a=a|0;b=b|0;g[b>>2]=+g[a>>2];g[b+4>>2]=+g[a+16>>2];g[b+8>>2]=+g[a+32>>2];g[b+12>>2]=0.0;g[b+16>>2]=+g[a+4>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+36>>2];g[b+28>>2]=0.0;g[b+32>>2]=+g[a+8>>2];g[b+36>>2]=+g[a+24>>2];g[b+40>>2]=+g[a+40>>2];g[b+44>>2]=0.0;g[b+48>>2]=+g[a+48>>2];g[b+52>>2]=+g[a+52>>2];g[b+56>>2]=+g[a+56>>2];g[b+60>>2]=1.0;return}function XJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)<3){d=0}else{e=0;break}while(1){if((d|0)>=4){break}g[b+(c<<4)+(d<<2)>>2]=+g[a+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}while(1){if((e|0)>=4){break}g[b+48+(e<<2)>>2]=+g[a+48+(e<<2)>>2];e=e+1|0}return}function XK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)<3){d=0}else{e=0;break}while(1){if((d|0)>=4){break}g[a+(c<<4)+(d<<2)>>2]=+g[b+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}while(1){if((e|0)>=4){break}g[a+48+(e<<2)>>2]=+g[b+48+(e<<2)>>2];e=e+1|0}return}function XL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)<3){d=0}else{e=0;break}while(1){if((d|0)>=4){break}g[b+(c<<4)+(d<<2)>>2]=+g[a+(c<<4)+(d<<2)>>2];d=d+1|0}c=c+1|0}while(1){if((e|0)>=4){break}g[b+48+(e<<2)>>2]=+g[a+48+(e<<2)>>2];e=e+1|0}return}function XM(a){a=a|0;return a|0}function XN(a){a=a|0;return+(+g[a+104>>2])}function XO(b){b=b|0;return(a[b+116|0]&1)!=0|0}function XP(a,b){a=a|0;b=+b;g[a>>2]=b;return}function XQ(b,c){b=b|0;c=c|0;a[b+116|0]=c&1;return}function XR(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function XS(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function XT(a){a=a|0;return+(+g[a+108>>2])}function XU(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function XV(a){a=a|0;return+(+g[a+92>>2])}function XW(a){a=a|0;return+(+g[a+96>>2])}function XX(a){a=a|0;return+(+g[a>>2])}function XY(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function XZ(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;e=i;i=i+112|0;f=e|0;h=e+48|0;do{if((a[43936]|0)==0){if((b1(43936)|0)==0){break}else{j=36664}do{j=j+16|0;}while((j|0)!=36712)}}while(0);j=f;k=+g[d+48>>2]- +g[b+48>>2];l=+g[d+52>>2]- +g[b+52>>2];m=+g[d+56>>2]- +g[b+56>>2];ea(f,b|0,d|0);n=+g[b>>2]*k+ +g[b+16>>2]*l+ +g[b+32>>2]*m;o=+g[b+4>>2]*k+ +g[b+20>>2]*l+ +g[b+36>>2]*m;p=+g[b+8>>2]*k+ +g[b+24>>2]*l+ +g[b+40>>2]*m;b=h+48|0;d=h|0;do{d=d+16|0;}while((d|0)!=(b|0));b=h;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];j=h+16|0;d=f+16|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];d=h+32|0;j=f+32|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];g[h+48>>2]=n;g[h+52>>2]=o;g[h+56>>2]=p;g[h+60>>2]=0.0;c[9166]=c[b>>2];c[9167]=c[b+4>>2];c[9168]=c[b+8>>2];c[9169]=c[b+12>>2];b=h+16|0;c[9170]=c[b>>2];c[36684>>2]=c[b+4>>2];c[36688>>2]=c[b+8>>2];c[36692>>2]=c[b+12>>2];b=h+32|0;c[9174]=c[b>>2];c[36700>>2]=c[b+4>>2];c[36704>>2]=c[b+8>>2];c[36708>>2]=c[b+12>>2];b=h+48|0;c[9178]=c[b>>2];c[36716>>2]=c[b+4>>2];c[36720>>2]=c[b+8>>2];c[36724>>2]=c[b+12>>2];i=e;return 36664}function X_(b,c){b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;do{if((a[44088]|0)==0){if((b1(44088)|0)==0){break}}}while(0);d=+g[c>>2];e=+g[c+4>>2];f=+g[c+8>>2];h=+g[b+16>>2]*d+ +g[b+20>>2]*e+ +g[b+24>>2]*f+ +g[b+52>>2];i=+g[b+32>>2]*d+ +g[b+36>>2]*e+ +g[b+40>>2]*f+ +g[b+56>>2];g[9162]=+g[b>>2]*d+ +g[b+4>>2]*e+ +g[b+8>>2]*f+ +g[b+48>>2];g[9163]=h;g[9164]=i;g[9165]=0.0;return 36648}function X$(a,b){a=a|0;b=b|0;em(a|0,b);return}function X0(a){a=a|0;X1(a);return}function X1(a){a=a|0;g[a>>2]=1.0;aDD(a+4|0,0,16);g[a+20>>2]=1.0;aDD(a+24|0,0,16);g[a+40>>2]=1.0;g[a+44>>2]=0.0;aDD(a+48|0,0,16);return}function X2(a,b){a=a|0;b=b|0;var d=0,e=0;d=a;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+16|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+32|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+48|0;d=b+48|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];return a|0}function X3(b,c){b=b|0;c=c|0;var d=0,e=0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0;d=i;i=i+48|0;e=d|0;do{if((a[44e3]|0)==0){if((b1(44e3)|0)==0){break}}}while(0);f=+g[c>>2]- +g[b+48>>2];h=+g[c+4>>2]- +g[b+52>>2];j=+g[c+8>>2]- +g[b+56>>2];d$(e,b|0,b+16|0,b+32|0,b+4|0,b+20|0,b+36|0,b+8|0,b+24|0,b+40|0);k=+g[e+16>>2]*f+ +g[e+20>>2]*h+ +g[e+24>>2]*j;l=+g[e+32>>2]*f+ +g[e+36>>2]*h+ +g[e+40>>2]*j;g[9158]=+g[e>>2]*f+ +g[e+4>>2]*h+ +g[e+8>>2]*j;g[9159]=k;g[9160]=l;g[9161]=0.0;i=d;return 36632}function X4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=i;i=i+48|0;f=e|0;h=f;anx(f,b|0,d|0);j=a;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];h=a+16|0;j=f+16|0;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=a+32|0;h=f+32|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=+g[d+48>>2];l=+g[d+52>>2];m=+g[d+56>>2];n=+g[b+16>>2]*k+ +g[b+20>>2]*l+ +g[b+24>>2]*m+ +g[b+52>>2];o=+g[b+32>>2]*k+ +g[b+36>>2]*l+ +g[b+40>>2]*m+ +g[b+56>>2];g[a+48>>2]=+g[b>>2]*k+ +g[b+4>>2]*l+ +g[b+8>>2]*m+ +g[b+48>>2];g[a+52>>2]=n;g[a+56>>2]=o;g[a+60>>2]=0.0;i=e;return}function X5(a){a=a|0;if((a|0)==0){return}aDB(a);return}function X6(a,b){a=a|0;b=b|0;var d=0;d=a+48|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function X7(){var a=0,b=0,d=0,e=0;while(1){a=aDx(64)|0;if((a|0)!=0){break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){d=6229;break}dC[b&63]()}if((d|0)==6229){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}d=a;b=a+48|0;e=a;do{e=e+16|0;}while((e|0)!=(b|0));return d|0}function X8(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;while(1){b=aDx(64)|0;if((b|0)!=0){break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){e=6243;break}dC[d&63]()}if((e|0)==6243){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}e=b;d=b+48|0;f=d;g=b;do{g=g+16|0;}while((g|0)!=(f|0));f=a;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=b+16|0;g=a+16|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=b+32|0;b=a+32|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];b=a+48|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];return e|0}function X9(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;while(1){d=aDx(64)|0;if((d|0)!=0){break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){f=6257;break}dC[e&63]()}if((f|0)==6257){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}f=d;e=d;g=d+48|0;h=g;i=d;do{i=i+16|0;}while((i|0)!=(h|0));em(e,a);a=b;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];return f|0}function Ya(b,d,e){b=+b;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;while(1){f=aDx(136)|0;if((f|0)!=0){break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){i=6271;break}dC[h&63]()}if((i|0)==6271){i=cd(4)|0;c[i>>2]=19096;bF(i|0,34368,676);return 0}i=f;g[f>>2]=b;c[f+4>>2]=d;d=f+8|0;h=f+56|0;j=d;do{j=j+16|0;}while((j|0)!=(h|0));c[f+72>>2]=e;aDD(f+76|0,0,24);g[f+100>>2]=.5;g[f+104>>2]=0.0;g[f+108>>2]=.800000011920929;g[f+112>>2]=1.0;a[f+116|0]=0;g[f+120>>2]=.004999999888241291;g[f+124>>2]=.009999999776482582;g[f+128>>2]=.009999999776482582;g[f+132>>2]=.009999999776482582;X1(d);return i|0}function Yb(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function Yc(a){a=a|0;return+(+g[a+132>>2])}function Yd(a){a=a|0;return+(+g[a+128>>2])}function Ye(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function Yf(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function Yg(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function Yh(a){a=a|0;return c[a+72>>2]|0}function Yi(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Yj(a){a=a|0;return+(+g[a+100>>2])}function Yk(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function Yl(a){a=a|0;return a+8|0}function Ym(a){a=a|0;return a+76|0}function Yn(a){a=a|0;return c[a+4>>2]|0}function Yo(a){a=a|0;return+(+g[a+120>>2])}function Yp(a){a=a|0;return+(+g[a+124>>2])}function Yq(a,b){a=a|0;b=+b;g[a+120>>2]=b;return}function Yr(a){a=a|0;return+(+g[a+112>>2])}function Ys(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function Yt(a){a=a|0;return c[a+20>>2]|0}function Yu(a){a=a|0;return c[a+4>>2]|0}function Yv(a){a=a|0;return c[a>>2]|0}function Yw(a){a=a|0;return+(+g[a+8>>2])}function Yx(a){a=a|0;return c[a+28>>2]|0}function Yy(a){a=a|0;return c[a+24>>2]|0}function Yz(a){a=a|0;return+(+g[a+128>>2])}function YA(a){a=a|0;return a|0}function YB(a){a=a|0;return a+64|0}function YC(a,b){a=a|0;b=b|0;c[a+132>>2]=b;return}function YD(a){a=a|0;return c[a+132>>2]|0}function YE(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function YF(a){a=a|0;return a+32|0}function YG(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+24|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+40|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+56|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function YH(a,b){a=a|0;b=b|0;var d=0;d=a+76|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function YI(a){a=a|0;if((a|0)==0){return}aDB(a);return}function YJ(a){a=a|0;aDg(a);return}function YK(a){a=a|0;if((a|0)==0){return}aDh(a);aDB(a);return}function YL(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0;b=i;i=i+8|0;d=b|0;e=a+16|0;f=(c[e>>2]|0)-1|0;c[e>>2]=f;if((f|0)!=0){h=f;j=(h|0)==0;i=b;return j|0}if((c[a+4>>2]|0)==0){h=0;j=(h|0)==0;i=b;return j|0}b3(d|0,0)|0;f=c[10742]|0;k=a+8|0;g[k>>2]=+(((c[d+4>>2]|0)-(c[f+4>>2]|0)+(((c[d>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[k>>2];h=c[e>>2]|0;j=(h|0)==0;i=b;return j|0}function YM(a){a=a|0;var b=0,d=0;b=a+24|0;d=c[b>>2]|0;if((d|0)!=0){aDh(d);aDB(d)}c[b>>2]=0;b=a+28|0;a=c[b>>2]|0;if((a|0)==0){c[b>>2]=0;return}aDh(a);aDB(a);c[b>>2]=0;return}function YN(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+8|0;d=b|0;e=a+4|0;c[e>>2]=(c[e>>2]|0)+1;e=a+16|0;f=c[e>>2]|0;c[e>>2]=f+1;if((f|0)!=0){i=b;return}b3(d|0,0)|0;f=c[10742]|0;c[a+12>>2]=(c[d+4>>2]|0)-(c[f+4>>2]|0)+(((c[d>>2]|0)-(c[f>>2]|0)|0)*1e6|0);i=b;return}function YO(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+64|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+80|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+96|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+112|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function YP(a,b){a=a|0;b=b|0;var d=0,e=0;d=a;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+16|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+32|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+48|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function YQ(a){a=a|0;if((a|0)==0){return}aDB(a);return}function YR(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function YS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(95)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}f=e;asr(f,a,b,1);return f|0}function YT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[9806]=(c[9806]|0)+1;e=aDx(95)|0;if((e|0)==0){f=0}else{g=-(e+4|0)&15;c[e+g>>2]=e;f=e+(g+4)|0}g=f;asr(g,a,b,d);return g|0}function YU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[9806]=(c[9806]|0)+1;f=aDx(95)|0;if((f|0)==0){g=0}else{h=-(f+4|0)&15;c[f+h>>2]=f;g=f+(h+4)|0}h=g;ass(h,a,b,d,e,1);return h|0}function YV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[9806]=(c[9806]|0)+1;g=aDx(95)|0;if((g|0)==0){h=0}else{i=-(g+4|0)&15;c[g+i>>2]=g;h=g+(i+4)|0}i=h;ass(i,a,b,d,e,f);return i|0}function YW(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+76>>2]&2047](a,b);return}function YX(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a,b,d)|0}function YY(b,d,e,f){b=+b;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;while(1){h=aDx(136)|0;if((h|0)!=0){break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){j=6393;break}dC[i&63]()}if((j|0)==6393){j=cd(4)|0;c[j>>2]=19096;bF(j|0,34368,676);return 0}j=h;g[h>>2]=b;c[h+4>>2]=d;d=h+8|0;i=h+56|0;k=d;do{k=k+16|0;}while((k|0)!=(i|0));c[h+72>>2]=e;e=h+76|0;i=f;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];g[h+92>>2]=0.0;g[h+96>>2]=0.0;g[h+100>>2]=.5;g[h+104>>2]=0.0;g[h+108>>2]=.800000011920929;g[h+112>>2]=1.0;a[h+116|0]=0;g[h+120>>2]=.004999999888241291;g[h+124>>2]=.009999999776482582;g[h+128>>2]=.009999999776482582;g[h+132>>2]=.009999999776482582;X1(d);return j|0}function YZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+24|0;e=d;while(1){f=c[e>>2]|0;if((f|0)==0){break}if((c[f>>2]|0)==(b|0)){g=f;h=6414;break}else{e=f+28|0}}if((h|0)==6414){return g|0}while(1){i=aDx(32)|0;if((i|0)!=0){h=6412;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){h=6409;break}dC[e&63]()}if((h|0)==6409){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}else if((h|0)==6412){h=i;c[i>>2]=b;aDD(i+4|0,0,16);c[i+20>>2]=a;c[i+24>>2]=0;a=i+28|0;c[a>>2]=0;aDg(h);c[a>>2]=c[d>>2];c[d>>2]=h;g=h;return g|0}return 0}function Y_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;while(1){d=aDx(32)|0;if((d|0)!=0){e=6427;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==6427){e=d;c[d>>2]=a;aDD(d+4|0,0,16);c[d+20>>2]=b;c[d+24>>2]=0;c[d+28>>2]=0;aDg(e);return e|0}e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}function Y$(){var a=0,b=0,d=0,e=0;while(1){a=aDx(136)|0;if((a|0)!=0){break}b=(C=c[10744]|0,c[10744]=C+0,C);if((b|0)==0){d=6436;break}dC[b&63]()}if((d|0)==6436){d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}d=a;b=a+48|0;e=a;do{e=e+16|0;}while((e|0)!=(b|0));b=a+112|0;e=a+64|0;do{e=e+16|0;}while((e|0)!=(b|0));g[a+128>>2]=999999984306749400.0;c[a+132>>2]=0;return d|0}function Y0(b){b=b|0;return(a[b+61|0]&1)!=0|0}function Y1(a){a=a|0;return c[a+48>>2]|0}function Y2(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Y3(a,b){a=a|0;b=b|0;c[a+56>>2]=b;return}function Y4(b){b=b|0;return(a[b+60|0]&1)!=0|0}function Y5(a){a=a|0;return c[a+56>>2]|0}function Y6(a){a=a|0;return(c[a+4>>2]|0)==31|0}function Y7(a){a=a|0;return(c[a+4>>2]|0)<7|0}function Y8(a){a=a|0;return c[a+52>>2]|0}function Y9(a){a=a|0;return a+16|0}function Za(a){a=a|0;return(c[a+4>>2]|0)<20|0}function Zb(a){a=a|0;return(c[a+4>>2]|0)==28|0}function Zc(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function Zd(a){a=a|0;return c[a+8>>2]|0}function Ze(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function Zf(a){a=a|0;return(c[a+4>>2]|0)==32|0}function Zg(a){a=a|0;return c[a+4>>2]|0}function Zh(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function Zi(a){a=a|0;return c[a+28>>2]|0}function Zj(a){a=a|0;return c[a+24>>2]|0}function Zk(a){a=a|0;return+(+g[a+1080>>2])}function Zl(a){a=a|0;return+(+g[a+1108>>2])}function Zm(a){a=a|0;return+(+g[a+1076>>2])}function Zn(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function Zo(b){b=b|0;return(a[b+20|0]&1)!=0|0}function Zp(b){b=b|0;return(a[b+1088|0]&1)!=0|0}function Zq(b,c){b=b|0;c=c|0;a[b+41|0]=c&1;return}function Zr(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function Zs(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43552]|0)==0){if((b1(43552)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9154]=c[d>>2];c[9155]=c[d+4>>2];c[9156]=c[d+8>>2];c[9157]=c[d+12>>2];i=e;return 36616}function Zt(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function Zu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+60>>2]&1023](a,b,d,e);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;ayw(c[a+52>>2]|0,c[a+48>>2]|0,b,d);aBy(a|0);return}function Zw(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0}function Zx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h|0;k=h+16|0;l=h+32|0;m=c[b+48>>2]|0;c[l>>2]=18760;c[l+4>>2]=m;c[l+8>>2]=d;d=c[b+52>>2]|0;b=d|0;m=l|0;aDD(j|0,0,16);aDD(k|0,0,16);if((a[d+60|0]&1)==0){azp(b,m,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],j,k);i=h;return}else{azq(b,m,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],j,k,c[d+56>>2]|0);i=h;return}}function Zy(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function Zz(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function ZA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function ZB(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function ZC(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;d=b+61|0;e=b+52|0;do{if((a[d]&1)!=0){f=c[e>>2]|0;ct[c[c[f>>2]>>2]&2047](f);f=c[e>>2]|0;if((f|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[f-172+168>>2]|0)}}while(0);c[9806]=(c[9806]|0)+1;f=aDx(191)|0;if((f|0)==0){h=0}else{i=-(f+4|0)&15;c[f+i>>2]=f;h=f+(i+4)|0}c[h+52>>2]=278;a[h+60|0]=0;a[h+80|0]=1;c[h+76>>2]=0;c[h+68>>2]=0;c[h+72>>2]=0;a[h+100|0]=1;c[h+96>>2]=0;c[h+88>>2]=0;c[h+92>>2]=0;a[h+120|0]=1;c[h+116>>2]=0;c[h+108>>2]=0;c[h+112>>2]=0;a[h+140|0]=1;c[h+136>>2]=0;c[h+128>>2]=0;c[h+132>>2]=0;c[h+144>>2]=0;a[h+164|0]=1;c[h+160>>2]=0;c[h+152>>2]=0;c[h+156>>2]=0;c[h+168>>2]=0;g[h+4>>2]=-3.4028234663852886e+38;g[h+8>>2]=-3.4028234663852886e+38;g[h+12>>2]=-3.4028234663852886e+38;g[h+16>>2]=0.0;g[h+20>>2]=3.4028234663852886e+38;g[h+24>>2]=3.4028234663852886e+38;g[h+28>>2]=3.4028234663852886e+38;g[h+32>>2]=0.0;c[h>>2]=25376;c[e>>2]=h;ayv(h,c[b+48>>2]|0,(a[b+60|0]&1)!=0,b+16|0,b+32|0);a[d]=1;return}function ZD(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function ZE(a){a=a|0;aBy(a|0);return}function ZF(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0;e=b|0;f=b+4|0;h=b+8|0;i=d|0;j=d+4|0;k=d+8|0;ayB(c[a+52>>2]|0,c[a+48>>2]|0,+g[e>>2],+g[f>>2],+g[h>>2],+g[i>>2],+g[j>>2],+g[k>>2]);l=a+16|0;m=+g[e>>2];if(m<+g[l>>2]){g[l>>2]=m}l=a+20|0;m=+g[f>>2];if(m<+g[l>>2]){g[l>>2]=m}l=a+24|0;m=+g[h>>2];if(m<+g[l>>2]){g[l>>2]=m}l=a+28|0;m=+g[b+12>>2];if(m<+g[l>>2]){g[l>>2]=m}l=a+32|0;m=+g[i>>2];if(+g[l>>2]>2]=m}l=a+36|0;m=+g[j>>2];if(+g[l>>2]>2]=m}l=a+40|0;m=+g[k>>2];if(+g[l>>2]>2]=m}l=a+44|0;m=+g[d+12>>2];if(+g[l>>2]>=m){return}g[l>>2]=m;return}function ZH(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0;k=i;i=i+16|0;l=k|0;m=c[b+48>>2]|0;c[l>>2]=18728;c[l+4>>2]=m;c[l+8>>2]=d;d=c[b+52>>2]|0;b=d|0;m=l|0;if((a[d+60|0]&1)==0){azp(b,m,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],h,j);i=k;return}else{azq(b,m,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],h,j,c[d+56>>2]|0);i=k;return}}function ZI(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43224]|0)==0){if((b1(43224)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+68>>2]&511](f,b|0,d);d=f;c[9758]=c[d>>2];c[9759]=c[d+4>>2];c[9760]=c[d+8>>2];c[9761]=c[d+12>>2];i=e;return 39032}function ZJ(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function ZK(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function ZL(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function ZM(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function ZN(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function ZO(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+72>>2]&2047](a,b);return}function ZP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0;e=i;i=i+16|0;f=e|0;g[f>>2]=1.0;g[f+4>>2]=1.0;g[f+8>>2]=1.0;g[f+12>>2]=0.0;c[b+52>>2]=d;a[b+61|0]=0;d=b|0;h=cA[c[(c[b>>2]|0)+28>>2]&4095](d)|0;j=+g[h>>2]+-1.0;k=+g[h+4>>2]+-1.0;l=+g[h+8>>2]+-1.0;if(j*j+k*k+l*l<=1.1920928955078125e-7){i=e;return}aBB(d,f);i=e;return}function ZQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0;c[b+52>>2]=d;a[b+61|0]=0;d=b|0;f=cA[c[(c[b>>2]|0)+28>>2]&4095](d)|0;h=+g[f>>2]- +g[e>>2];i=+g[f+4>>2]- +g[e+4>>2];j=+g[f+8>>2]- +g[e+8>>2];if(h*h+i*i+j*j<=1.1920928955078125e-7){return}aBB(d,e);return}function ZR(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+8>>2]&511](a,b,d)|0}function ZS(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a|0,b);return}function ZT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;return+(+db[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f))}function ZU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+8>>2]&255](a|0,b,d,e,f);return}function ZV(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a|0);return}function ZW(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function ZX(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function ZY(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function ZZ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function Z_(b){b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;do{if((a[43864]|0)==0){if((b1(43864)|0)==0){break}}}while(0);d=(+g[b+176>>2]+ +g[b+180>>2])*.5;e=+g[b+944>>2]*d+ +g[b+960>>2];f=d*+g[b+948>>2]+ +g[b+964>>2];h=d*+g[b+952>>2]+ +g[b+968>>2];i=c[b+24>>2]|0;d=+g[i+4>>2];j=+g[i+20>>2];k=+g[i+36>>2];l=+g[i+8>>2];m=+g[i+24>>2];n=+g[i+40>>2];o=+g[i+12>>2];p=+g[i+28>>2];q=+g[i+44>>2];r=-0.0- +g[i+52>>2];s=-0.0- +g[i+56>>2];t=-0.0- +g[i+60>>2];g[9754]=d*r+j*s+k*t+(d*e+j*f+k*h);g[9755]=l*r+m*s+n*t+(l*e+m*f+n*h);g[9756]=o*r+p*s+q*t+(o*e+p*f+q*h);g[9757]=0.0;return 39016}function Z$(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function Z0(b){b=b|0;return(a[b+288|0]&1)!=0|0}function Z1(b){b=b|0;return(a[b+41|0]&1)!=0|0}function Z2(a){a=a|0;return+(+g[a+1112>>2])}function Z3(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function Z4(b){b=b|0;return(a[b+21|0]&1)!=0|0}function Z5(a){a=a|0;return+(+g[a+1096>>2])}function Z6(a){a=a|0;return c[a+4>>2]|0}function Z7(a,b){a=a|0;b=+b;g[a+264>>2]=b;return}function Z8(b){b=b|0;return(a[b+289|0]&1)!=0|0}function Z9(b,c){b=b|0;c=c|0;a[b+1104|0]=c&1;return}function _a(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function _b(a){a=a|0;return+(+g[a+1072>>2])}function _c(a){a=a|0;return a+880|0}function _d(a){a=a|0;return a+816|0}function _e(a){a=a|0;return c[a+4>>2]|0}function _f(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function _g(a,b){a=a|0;b=+b;g[a+200>>2]=b;return}function _h(a){a=a|0;return+(+g[a+188>>2])}function _i(a){a=a|0;return+(+g[a+244>>2])}function _j(a){a=a|0;return+(+g[a+256>>2])}function _k(a,b){a=a|0;b=+b;g[a+176>>2]=b;return}function _l(a){a=a|0;return+(+g[a+196>>2])}function _m(a,b){a=a|0;b=b|0;c[b>>2]=6;c[b+4>>2]=0;return}function _n(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function _o(a){a=a|0;return c[a+12>>2]|0}function _p(a,b){a=a|0;b=+b;g[a+1092>>2]=b;return}function _q(a){a=a|0;return+(+g[a+180>>2])}function _r(a,b){a=a|0;b=+b;g[a+1096>>2]=b;return}function _s(a){a=a|0;return+(+g[a+184>>2])}function _t(a){a=a|0;return+(+g[a+16>>2])}function _u(a,b){a=a|0;b=+b;g[a+192>>2]=b;return}function _v(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function _w(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function _x(a){a=a|0;return a+44|0}function _y(a){a=a|0;return a+108|0}function _z(a){a=a|0;return+(+g[a+216>>2])}function _A(a){a=a|0;return+(+g[a+228>>2])}function _B(a){a=a|0;return+(+g[a+272>>2])}function _C(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function _D(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function _E(a){a=a|0;return+(+g[a+200>>2])}function _F(a){a=a|0;return+(+g[a+36>>2])}function _G(a){a=a|0;return c[a+12>>2]|0}function _H(a){a=a|0;return+(+g[a+224>>2])}function _I(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function _J(b,c){b=b|0;c=c|0;a[b+1088|0]=c&1;return}function _K(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function _L(a){a=a|0;return+(+g[a+1024>>2])}function _M(a){a=a|0;return+(+g[a+232>>2])}function _N(a){a=a|0;return+(+g[a+212>>2])}function _O(a){a=a|0;return+(+g[a+32>>2])}function _P(a){a=a|0;return+(+g[a+248>>2])}function _Q(a,b){a=a|0;b=+b;g[a+260>>2]=b;return}function _R(a,b){a=a|0;b=+b;g[a+196>>2]=b;return}function _S(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function _T(b){b=b|0;do{if((a[43856]|0)==0){if((b1(43856)|0)==0){break}}}while(0);aDG(39e3,b+156|0,16);return 39e3}function _U(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f);return}function _V(a){a=a|0;aqT(a);return}function _W(a,b){a=a|0;b=+b;var c=0.0,d=0.0;c=+ck(+b,6.2831854820251465);do{if(c<-3.1415927410125732){d=c+6.2831854820251465}else{if(c<=3.1415927410125732){d=c;break}d=c-6.2831854820251465}}while(0);g[a+188>>2]=d;return}function _X(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;aqV(a,b,c,d,e,f,g,h);return}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;aqR(a,b,c);return}function _Z(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a,b,d)|0}function __(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e);return}function _$(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function _0(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function _1(a){a=a|0;return c[a+12>>2]|0}function _2(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function _3(a,b){a=a|0;b=+b;g[a+180>>2]=b;return}function _4(a,b){a=a|0;b=+b;g[a+1108>>2]=b;return}function _5(a){a=a|0;return+(+g[a+208>>2])}function _6(a,b){a=a|0;b=+b;g[a+1112>>2]=b;return}function _7(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function _8(a){a=a|0;return c[a+4>>2]|0}function _9(b){b=b|0;return(a[b+1104|0]&1)!=0|0}function $a(a){a=a|0;return+(+g[a+280>>2])}function $b(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function $c(a){a=a|0;return+(+g[a+260>>2])}function $d(a){a=a|0;return+(+g[a+1092>>2])}function $e(b){b=b|0;var c=0,d=0,e=0.0,f=0.0,h=0.0;c=b+288|0;a[c]=0;d=b+1024|0;e=+g[d>>2];g[b+1072>>2]=e;f=+g[b+176>>2];h=+g[b+180>>2];if(f>h){g[d>>2]=0.0;return}if(e>h){g[d>>2]=e-h;a[c]=1;return}if(e>2]=e-f;a[c]=1;return}else{g[d>>2]=0.0;return}}function $f(a){a=a|0;return+(+g[a+176>>2])}function $g(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function $h(a){a=a|0;return c[a+8>>2]|0}function $i(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function $j(a){a=a|0;return+(+g[a+276>>2])}function $k(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function $l(a){a=a|0;return+(+g[a+264>>2])}function $m(a){a=a|0;return+(+g[a+32>>2])}function $n(a){a=a|0;return+(+g[a+240>>2])}function $o(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function $p(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function $q(a){a=a|0;return+(+g[a+192>>2])}function $r(b){b=b|0;return(a[b+172|0]&1)!=0|0}function $s(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function $t(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function $u(a){a=a|0;return+(+g[a+12>>2])}function $v(a,b){a=a|0;b=+b;g[a>>2]=b;return}function $w(a){a=a|0;return+(+g[a+16>>2])}function $x(a){a=a|0;return+(+g[a+8>>2])}function $y(a){a=a|0;return+(+g[a>>2])}function $z(a){a=a|0;return+(+g[a+4>>2])}function $A(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function $B(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function $C(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function $D(a){a=a|0;return+(+g[a+20>>2])}function $E(a){a=a|0;return c[a+28>>2]|0}function $F(a){a=a|0;return c[a+24>>2]|0}function $G(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function $H(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function $I(a,b){a=a|0;b=+b;var c=0.0,d=0.0;c=+ck(+b,6.2831854820251465);do{if(c<-3.1415927410125732){d=c+6.2831854820251465}else{if(c<=3.1415927410125732){d=c;break}d=c-6.2831854820251465}}while(0);g[a+184>>2]=d;return}function $J(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function $K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+44|0;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+60|0;e=b+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+76|0;f=b+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+92|0;e=b+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+108|0;f=d;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+124|0;e=d+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+140|0;f=d+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+156|0;e=d+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];aqR(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);ct[c[(c[a>>2]|0)+8>>2]&2047](a|0);return}function $L(a){a=a|0;if((a|0)==0){return}aDB(a);return}function $M(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function $N(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;f=i;i=i+112|0;h=f|0;j=f+48|0;k=e&1;while(1){l=aDx(1120)|0;if((l|0)!=0){break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){m=80;break}dC[e&63]()}if((m|0)==80){m=cd(4)|0;c[m>>2]=19096;bF(m|0,34368,676);return 0}m=l;e=j;aq2();c[l+4>>2]=7;c[l+8>>2]=-1;c[l+12>>2]=-1;g[l+16>>2]=3.4028234663852886e+38;a[l+20|0]=1;a[l+21|0]=0;n=l+24|0;c[n>>2]=41520;o=l+28|0;c[o>>2]=b;g[l+32>>2]=0.0;g[l+36>>2]=.30000001192092896;c[l>>2]=23056;a[l+40|0]=0;p=l+108|0;q=d;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];q=l+124|0;r=d+16|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];r=l+140|0;q=d+32|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];q=l+156|0;r=d+48|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];a[l+172|0]=k;k=l+44|0;r=b+4|0;q=h;anx(h,r|0,p);s=+g[l+156>>2];t=+g[l+160>>2];u=+g[l+164>>2];v=+g[r>>2]*s+ +g[b+8>>2]*t+ +g[b+12>>2]*u+ +g[b+52>>2];w=+g[b+20>>2]*s+ +g[b+24>>2]*t+ +g[b+28>>2]*u+ +g[b+56>>2];x=+g[b+36>>2]*s+ +g[b+40>>2]*t+ +g[b+44>>2]*u+ +g[b+60>>2];b=j+48|0;r=j|0;do{r=r+16|0;}while((r|0)!=(b|0));c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[e+12>>2]=c[q+12>>2];q=j+16|0;b=h+16|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];b=j+32|0;r=h+32|0;c[b>>2]=c[r>>2];c[b+4>>2]=c[r+4>>2];c[b+8>>2]=c[r+8>>2];c[b+12>>2]=c[r+12>>2];g[j+48>>2]=v;g[j+52>>2]=w;g[j+56>>2]=x;g[j+60>>2]=0.0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];e=l+60|0;c[e>>2]=c[q>>2];c[e+4>>2]=c[q+4>>2];c[e+8>>2]=c[q+8>>2];c[e+12>>2]=c[q+12>>2];q=l+76|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];b=l+92|0;q=j+48|0;c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];g[l+176>>2]=1.0;g[l+180>>2]=-1.0;g[l+184>>2]=0.0;g[l+188>>2]=0.0;g[l+192>>2]=1.0;g[l+196>>2]=.699999988079071;g[l+200>>2]=0.0;g[l+204>>2]=0.0;g[l+208>>2]=1.0;g[l+212>>2]=.699999988079071;g[l+216>>2]=0.0;g[l+220>>2]=0.0;g[l+256>>2]=1.0;g[l+260>>2]=.699999988079071;g[l+264>>2]=1.0;g[l+268>>2]=0.0;g[l+272>>2]=1.0;g[l+276>>2]=.699999988079071;g[l+280>>2]=1.0;g[l+284>>2]=0.0;g[l+224>>2]=1.0;g[l+228>>2]=.699999988079071;g[l+232>>2]=1.0;g[l+236>>2]=0.0;g[l+240>>2]=1.0;g[l+244>>2]=.699999988079071;g[l+248>>2]=1.0;g[l+252>>2]=0.0;a[l+1088|0]=0;g[l+1108>>2]=0.0;g[l+1112>>2]=0.0;g[l+1116>>2]=0.0;c[l+292>>2]=0;aDD(l+1092|0,0,13);a[l+41|0]=1;aqR(m,(c[n>>2]|0)+4|0,(c[o>>2]|0)+4|0);i=f;return m|0}function $O(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0;i=h&1;while(1){j=aDx(1120)|0;if((j|0)!=0){k=99;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){break}dC[h&63]()}if((k|0)==99){k=j;c[j+4>>2]=7;c[j+8>>2]=-1;c[j+12>>2]=-1;g[j+16>>2]=3.4028234663852886e+38;a[j+20|0]=1;a[j+21|0]=0;c[j+24>>2]=b;c[j+28>>2]=d;g[j+32>>2]=0.0;g[j+36>>2]=.30000001192092896;c[j>>2]=23056;a[j+40|0]=0;h=j+44|0;l=e;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[h+12>>2]=c[l+12>>2];l=j+60|0;h=e+16|0;c[l>>2]=c[h>>2];c[l+4>>2]=c[h+4>>2];c[l+8>>2]=c[h+8>>2];c[l+12>>2]=c[h+12>>2];h=j+76|0;l=e+32|0;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[h+12>>2]=c[l+12>>2];l=j+92|0;h=e+48|0;c[l>>2]=c[h>>2];c[l+4>>2]=c[h+4>>2];c[l+8>>2]=c[h+8>>2];c[l+12>>2]=c[h+12>>2];h=j+108|0;l=f;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[h+12>>2]=c[l+12>>2];l=j+124|0;h=f+16|0;c[l>>2]=c[h>>2];c[l+4>>2]=c[h+4>>2];c[l+8>>2]=c[h+8>>2];c[l+12>>2]=c[h+12>>2];h=j+140|0;l=f+32|0;c[h>>2]=c[l>>2];c[h+4>>2]=c[l+4>>2];c[h+8>>2]=c[l+8>>2];c[h+12>>2]=c[l+12>>2];l=j+156|0;h=f+48|0;c[l>>2]=c[h>>2];c[l+4>>2]=c[h+4>>2];c[l+8>>2]=c[h+8>>2];c[l+12>>2]=c[h+12>>2];a[j+172|0]=i;g[j+176>>2]=1.0;g[j+180>>2]=-1.0;g[j+184>>2]=0.0;g[j+188>>2]=0.0;g[j+192>>2]=1.0;g[j+196>>2]=.699999988079071;g[j+200>>2]=0.0;g[j+204>>2]=0.0;g[j+208>>2]=1.0;g[j+212>>2]=.699999988079071;g[j+216>>2]=0.0;g[j+220>>2]=0.0;g[j+256>>2]=1.0;g[j+260>>2]=.699999988079071;g[j+264>>2]=1.0;g[j+268>>2]=0.0;g[j+272>>2]=1.0;g[j+276>>2]=.699999988079071;g[j+280>>2]=1.0;g[j+284>>2]=0.0;g[j+224>>2]=1.0;g[j+228>>2]=.699999988079071;g[j+232>>2]=1.0;g[j+236>>2]=0.0;g[j+240>>2]=1.0;g[j+244>>2]=.699999988079071;g[j+248>>2]=1.0;g[j+252>>2]=0.0;a[j+1088|0]=0;g[j+1108>>2]=0.0;g[j+1112>>2]=0.0;g[j+1116>>2]=0.0;c[j+292>>2]=0;aDD(j+1092|0,0,13);a[j+41|0]=1;aqR(k,b+4|0,d+4|0);return k|0}k=cd(4)|0;c[k>>2]=19096;bF(k|0,34368,676);return 0}function $P(){var a=0,b=0,d=0;while(1){a=aDx(24)|0;if((a|0)!=0){b=111;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==111){g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function $Q(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function $R(a){a=a|0;return a+40|0}function $S(a){a=a|0;return c[a+12>>2]|0}function $T(a){a=a|0;return c[a+4>>2]|0}function $U(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function $V(b){b=b|0;return(a[b+20|0]&1)!=0|0}function $W(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function $X(a){a=a|0;return c[a+4>>2]|0}function $Y(a){a=a|0;return+(+g[a+36>>2])}function $Z(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function $_(b){b=b|0;return(a[b+21|0]&1)!=0|0}function $$(a){a=a|0;return c[a+4>>2]|0}function $0(a){a=a|0;return c[a+12>>2]|0}function $1(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function $2(a){a=a|0;return c[a+12>>2]|0}function $3(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function $4(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function $5(a){a=a|0;return+(+g[a+32>>2])}function $6(a){a=a|0;return+(+g[a+16>>2])}function $7(a){a=a|0;return c[a+8>>2]|0}function $8(a){a=a|0;return+(+g[a+32>>2])}function $9(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function aaa(a){a=a|0;return+(+g[a+136>>2])}function aab(a){a=a|0;return+(+g[a+140>>2])}function aac(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function aad(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function aae(a){a=a|0;return+(+g[a+84>>2])}function aaf(a){a=a|0;return c[a+92>>2]|0}function aag(a){a=a|0;return c[a+96>>2]|0}function aah(a){a=a|0;return a+64|0}function aai(a,b){a=a|0;b=+b;g[a+84>>2]=b;return}function aaj(a){a=a|0;return c[a+104>>2]|0}function aak(a){a=a|0;return c[a+100>>2]|0}function aal(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function aam(a,b){a=a|0;b=+b;g[a+140>>2]=b;return}function aan(a){a=a|0;return+(+g[a+112>>2])}function aao(a){a=a|0;return c[a+108>>2]|0}function aap(a){a=a|0;return+(+g[a+80>>2])}function aaq(a){a=a|0;return c[a+144>>2]|0}function aar(a){a=a|0;return a+32|0}function aas(a){a=a|0;return a+48|0}function aat(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function aau(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function aav(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function aaw(a){a=a|0;return+(+g[a+120>>2])}function aax(a){a=a|0;return+(+g[a+124>>2])}function aay(b,c){b=b|0;c=c|0;a[b+116|0]=c&1;return}function aaz(a){a=a|0;return c[a+144>>2]|0}function aaA(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function aaB(a){a=a|0;return+(+g[a+128>>2])}function aaC(a){a=a|0;return+(+g[a+132>>2])}function aaD(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function aaE(a){a=a|0;return a+148|0}function aaF(a,b){a=a|0;b=+b;g[a+88>>2]=b;return}function aaG(a){a=a|0;return a+48|0}function aaH(a){a=a|0;return a+164|0}function aaI(a){a=a|0;return a+32|0}function aaJ(a,b){a=a|0;b=+b;g[a+120>>2]=b;return}function aaK(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function aaL(b){b=b|0;return(a[b+116|0]&1)!=0|0}function aaM(a){a=a|0;return+(+g[a+88>>2])}function aaN(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function aaO(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function aaP(a){a=a|0;return a+16|0}function aaQ(a){a=a|0;return a|0}function aaR(a,b){a=a|0;b=+b;g[a+80>>2]=b;return}function aaS(a){a=a|0;return+(+g[a+80>>2])}function aaT(a){a=a|0;return+(+g[a+112>>2])}function aaU(a,b){a=a|0;b=b|0;c[a+144>>2]=b;return}function aaV(a){a=a|0;return a+4|0}function aaW(a){a=a|0;return c[a+28>>2]|0}function aaX(a){a=a|0;return c[a+12>>2]|0}function aaY(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function aaZ(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function aa_(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function aa$(a){a=a|0;return c[a+12>>2]|0}function aa0(a){a=a|0;return c[a+4>>2]|0}function aa1(a){a=a|0;return c[a+24>>2]|0}function aa2(b,c){b=b|0;c=c|0;a[b+336|0]=c&1;return}function aa3(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a|0,b,d)|0}function aa4(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a|0,b,d,-1);return}function aa5(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a|0,b,d,e);return}function aa6(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a|0,b,-1))}function aa7(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a|0,b,d))}function aa8(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function aa9(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function aba(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function abb(a,b){a=a|0;b=b|0;var c=0;c=a+40|0;a=b;aDC(c|0,a|0,1140)|0;return}function abc(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function abd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f);return}function abe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e);return}function abf(a,b){a=a|0;b=b|0;var d=0;d=a+148|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abg(a,b){a=a|0;b=b|0;var d=0;d=a+48|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abh(a,b){a=a|0;b=b|0;var d=0;d=a+32|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abi(a){a=a|0;if((a|0)==0){return}aDB(a);return}function abj(a,b){a=a|0;b=b|0;var d=0;d=a+64|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abk(a,b){a=a|0;b=b|0;var d=0;d=a+164|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abl(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abm(a,b){a=a|0;b=b|0;var d=0;d=a;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abn(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;di[c[(c[a>>2]|0)+16>>2]&63](a,b,d,e,f,g,h,i,j,0);return}function abo(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;di[c[(c[a>>2]|0)+16>>2]&63](a,b,d,e,f,g,h,i,j,k);return}function abp(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a,b);return}function abq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+40|0;f=e|0;c[f>>2]=18624;g[f+4>>2]=999999984306749400.0;g[f+8>>2]=999999984306749400.0;g[f+12>>2]=999999984306749400.0;g[f+16>>2]=0.0;g[f+20>>2]=-999999984306749400.0;g[f+24>>2]=-999999984306749400.0;g[f+28>>2]=-999999984306749400.0;g[f+32>>2]=0.0;g[b>>2]=-999999984306749400.0;g[b+4>>2]=-999999984306749400.0;g[b+8>>2]=-999999984306749400.0;g[b+12>>2]=0.0;g[d>>2]=999999984306749400.0;g[d+4>>2]=999999984306749400.0;g[d+8>>2]=999999984306749400.0;g[d+12>>2]=0.0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,f|0,b,d);a=b;b=f+4|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];b=d;d=f+20|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];i=e;return}function abr(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+56>>2]&511](a,b,d)|0}function abs(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a,b);return}function abt(a){a=a|0;return cA[c[(c[a>>2]|0)+52>>2]&4095](a)|0}function abu(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function abv(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a,b,d);return}function abw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function abx(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+48>>2]&511](a,b,d);return}function aby(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function abz(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;di[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i,j,0);return}function abA(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;di[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i,j,k);return}function abB(a){a=a|0;return cA[c[(c[a>>2]|0)+40>>2]&4095](a)|0}function abC(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function abD(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function abE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;apD(a,b,c,d);return}function abF(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function abG(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function abH(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a,b,d)|0}function abI(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function abJ(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function abK(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function abL(){var b=0,d=0,e=0;while(1){b=aDx(276)|0;if((b|0)!=0){d=254;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){break}dC[e&63]()}if((d|0)==254){c[b+108>>2]=0;g[b+112>>2]=0.0;a[b+116|0]=0;aDD(b+120|0,0,28);return b|0}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676);return 0}function abM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0;while(1){h=aDx(276)|0;if((h|0)!=0){i=266;break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){break}dC[j&63]()}if((i|0)==266){i=b;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];i=h+16|0;b=d;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];b=h+64|0;i=e;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];g[h+80>>2]=f;g[h+84>>2]=0.0;g[h+88>>2]=0.0;c[h+108>>2]=0;g[h+112>>2]=0.0;a[h+116|0]=0;g[h+208>>2]=0.0;g[h+240>>2]=0.0;g[h+272>>2]=0.0;aDD(h+120|0,0,28);return h|0}h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}function abN(a,b){a=a|0;b=+b;return}function abO(a){a=a|0;return c[a+4>>2]|0}function abP(a){a=a|0;return a+292|0}function abQ(a){a=a|0;return a+308|0}function abR(a){a=a|0;return a+340|0}function abS(b){b=b|0;return(a[b+20|0]&1)!=0|0}function abT(a){a=a|0;return c[a+4>>2]|0}function abU(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function abV(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function abW(b){b=b|0;return(a[b+21|0]&1)!=0|0}function abX(a){a=a|0;return c[a+12>>2]|0}function abY(b,d){b=b|0;d=d|0;var e=0;e=d|0;if((a[b+336|0]&1)==0){c[e>>2]=3;c[d+4>>2]=3;return}else{c[e>>2]=0;c[d+4>>2]=0;return}}function abZ(a){a=a|0;return+(+g[a+36>>2])}function ab_(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function ab$(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function ab0(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function ab1(a){a=a|0;return+(+g[a+32>>2])}function ab2(b){b=b|0;return(a[b+336|0]&1)!=0|0}function ab3(a){a=a|0;return+(+g[a+16>>2])}function ab4(a){a=a|0;return c[a+8>>2]|0}function ab5(a){a=a|0;return+(+g[a+32>>2])}function ab6(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function ab7(a){a=a|0;return(c[a+4>>2]|0)==31|0}function ab8(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function ab9(a){a=a|0;return c[a+52>>2]|0}function aca(a){a=a|0;return(c[a+4>>2]|0)<7|0}function acb(a){a=a|0;return a+12|0}function acc(a){a=a|0;return+(+g[a+44>>2])}function acd(a){a=a|0;return(c[a+4>>2]|0)<20|0}function ace(a){a=a|0;return(c[a+4>>2]|0)==28|0}function acf(a){a=a|0;return c[a+8>>2]|0}function acg(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function ach(a){a=a|0;return a+28|0}function aci(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function acj(a){a=a|0;return(c[a+4>>2]|0)==32|0}function ack(a){a=a|0;return a+28|0}function acl(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function acm(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function acn(a,b){a=a|0;b=b|0;var d=0;d=a+340|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];return}function aco(a,b){a=a|0;b=b|0;var d=0;d=a+292|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function acp(a,b){a=a|0;b=b|0;var d=0;d=a+308|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function acq(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function acr(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function acs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a|0,b,d,e,f);return}function act(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e);return}function acu(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function acv(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43648]|0)==0){if((b1(43648)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9746]=c[d>>2];c[9747]=c[d+4>>2];c[9748]=c[d+8>>2];c[9749]=c[d+12>>2];i=e;return 38984}function acw(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function acx(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function acy(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function acz(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+84>>2]&1023](a))}function acA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function acB(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function acC(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function acD(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43176]|0)==0){if((b1(43176)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9742]=c[d>>2];c[9743]=c[d+4>>2];c[9744]=c[d+8>>2];c[9745]=c[d+12>>2];i=e;return 38968}function acE(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function acF(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function acG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function acH(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43496]|0)==0){if((b1(43496)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9738]=c[d>>2];c[9739]=c[d+4>>2];c[9740]=c[d+8>>2];c[9741]=c[d+12>>2];i=e;return 38952}function acI(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function acJ(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function acK(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function acL(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43352]|0)==0){if((b1(43352)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9734]=c[d>>2];c[9735]=c[d+4>>2];c[9736]=c[d+8>>2];c[9737]=c[d+12>>2];i=e;return 38936}function acM(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 1:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function acN(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function acO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function acP(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function acQ(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function acR(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function acS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function acT(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0,i=0.0;c[9806]=(c[9806]|0)+1;b=aDx(75)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}e=d+4|0;c[e>>2]=35;c[d+8>>2]=0;b=d|0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[b>>2]=24848;f=d+52|0;c[f>>2]=1;h=+g[a+4>>2]+-.03999999910593033;i=+g[a+8>>2]+-.03999999910593033;g[d+28>>2]=+g[a>>2]+-.03999999910593033;g[d+32>>2]=h;g[d+36>>2]=i;g[d+40>>2]=0.0;c[e>>2]=13;c[b>>2]=24152;c[f>>2]=2;return d|0}function acU(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function acV(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function acW(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;while(1){e=aDx(352)|0;if((e|0)!=0){f=386;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){f=383;break}dC[h&63]()}if((f|0)==383){h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}else if((f|0)==386){aq1(e,3,b);c[e>>2]=21336;f=e+292|0;h=d;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];i=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];l=+g[b+56>>2]+(i*+g[b+20>>2]+j*+g[b+24>>2]+k*+g[b+28>>2]);m=+g[b+60>>2]+(i*+g[b+36>>2]+j*+g[b+40>>2]+k*+g[b+44>>2]);g[e+308>>2]=+g[b+52>>2]+(+g[b+4>>2]*i+ +g[b+8>>2]*j+ +g[b+12>>2]*k);g[e+312>>2]=l;g[e+316>>2]=m;g[e+320>>2]=0.0;c[e+324>>2]=0;a[e+336|0]=0;g[e+340>>2]=.30000001192092896;g[e+344>>2]=1.0;g[e+348>>2]=0.0;return e|0}return 0}function acX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;while(1){h=aDx(352)|0;if((h|0)!=0){i=400;break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){break}dC[j&63]()}if((i|0)==400){c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3.4028234663852886e+38;a[h+20|0]=1;a[h+21|0]=0;c[h+24>>2]=b;c[h+28>>2]=d;g[h+32>>2]=0.0;g[h+36>>2]=.30000001192092896;c[h>>2]=21336;d=h+292|0;b=e;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=h+308|0;d=f;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[h+324>>2]=0;a[h+336|0]=0;g[h+340>>2]=.30000001192092896;g[h+344>>2]=1.0;g[h+348>>2]=0.0;return h|0}h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}function acY(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function acZ(a){a=a|0;return c[a+4>>2]|0}function ac_(a){a=a|0;return c[a+16>>2]|0}function ac$(a){a=a|0;return c[a+12>>2]|0}function ac0(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function ac1(a,c){a=a|0;c=c|0;b[a>>1]=b[c>>1]|0;b[a+2>>1]=b[c+2>>1]|0;b[a+4>>1]=b[c+4>>1]|0;b[a+6>>1]=b[c+6>>1]|0;b[a+8>>1]=b[c+8>>1]|0;b[a+10>>1]=b[c+10>>1]|0;return}function ac2(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function ac3(a){a=a|0;return a+28|0}function ac4(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function ac5(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function ac6(a){a=a|0;return+(+g[a+4>>2])}function ac7(a){a=a|0;return c[a+76>>2]|0}function ac8(a,b){a=a|0;b=b|0;c[a+76>>2]=b;return}function ac9(a){a=a|0;return a+44|0}function ada(a){a=a|0;return a+60|0}function adb(a){a=a|0;return b[a+10>>1]|0}function adc(a){a=a|0;return+g[a+4>>2]<1.0|0}function add(a){a=a|0;return a+12|0}function ade(a){a=a|0;return b[a+8>>1]|0}function adf(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function adg(a){a=a|0;return+(+g[a+88>>2])}function adh(a){a=a|0;return c[a+28>>2]|0}function adi(a){a=a|0;return c[a+12>>2]|0}function adj(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function adk(b,c){b=b|0;c=c|0;a[b+20|0]=c&1;return}function adl(a){a=a|0;return a+40|0}function adm(a,b){a=a|0;b=b|0;return+(+g[a+1248+(b<<2)>>2])}function adn(a){a=a|0;return a+104|0}function ado(a){a=a|0;return a+1056|0}function adp(a){a=a|0;return c[a+12>>2]|0}function adq(a){a=a|0;return c[a+4>>2]|0}function adr(a){a=a|0;return c[a+24>>2]|0}function ads(a){a=a|0;return+(+g[a+16>>2])}function adt(a,b,c){a=a|0;b=b|0;c=+c;g[a+1356+(b<<2)>>2]=c;return}function adu(a,b){a=a|0;b=b|0;var c=0;c=a;a=0;while(1){if((a|0)>=3){break}g[b+(a<<2)>>2]=+g[c+860+(a<<6)>>2];a=a+1|0}return}function adv(a,b,c){a=a|0;b=b|0;c=+c;g[a+1308+(b<<2)>>2]=c;return}function adw(b){b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;do{if((a[43656]|0)==0){if((b1(43656)|0)==0){break}}}while(0);d=+g[b+28>>2];e=+g[b+32>>2];f=+g[b+36>>2];h=+g[b+40>>2];i=b|0;j=b;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=f+ +dh[c[(c[j>>2]|0)+44>>2]&1023](i);g[9730]=d+k;g[9731]=e+l;g[9732]=m;g[9733]=h;return 38920}function adx(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-32+28>>2]|0);return}function ady(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(51)|0;if((a|0)==0){b=0;return b|0}d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0;return b|0}function adz(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a,b);return}function adA(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+8>>2]&2047](a,b);return}function adB(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function adC(a,b){a=a|0;b=b|0;return dj[c[(c[a>>2]|0)+8>>2]&511](a|0,b)|0}function adD(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+12>>2]&127](a,b,d))}function adE(a,b){a=a|0;b=b|0;var d=0;d=a+60|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function adF(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function adG(a,b){a=a|0;b=b|0;var d=0;d=a+44|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function adH(a,b){a=a|0;b=b|0;var d=0;d=a+12|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function adI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0;e=i;i=i+96|0;f=e|0;h=e+16|0;j=e+32|0;k=e+48|0;l=e+64|0;m=e+80|0;n=f;o=h;p=b+48|0;q=d+48|0;ec(b|0,f);ec(d|0,h);d=a+88|0;b=a+32|0;if(+g[d>>2]>0.0){anu(b,p,a|0,f,j,k);f=a+48|0;r=a+16|0;anu(f,q,r,h,l,m);s=+g[k>>2];t=+g[k+4>>2];u=+g[k+8>>2];v=+Q(+(s*s+t*t+u*u));u=v*+g[a+80>>2];v=+g[m>>2];t=+g[m+4>>2];s=+g[m+8>>2];w=+Q(+(v*v+t*t+s*s));s=(+g[l>>2]- +g[j>>2])*+g[a+64>>2]+(+g[l+4>>2]- +g[j+4>>2])*+g[a+68>>2]+(+g[l+8>>2]- +g[j+8>>2])*+g[a+72>>2];g[d>>2]=+g[d>>2]-(u+w*+g[a+84>>2]+(s<0.0?0.0:s));x=b;y=f;z=r}else{x=b;y=a+48|0;z=a+16|0}b=x;x=p;c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];x=y;y=q;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];y=a;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];n=z;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];i=e;return}function adJ(a){a=a|0;if((a|0)==0){return}aDB(a);return}function adK(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h|0;k=h+16|0;l=j;m=k;g[a+88>>2]=d;if(d<=0.0){i=h;return}n=a+64|0;o=b;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];ec(e|0,j);ec(f|0,k);k=a+32|0;j=e+48|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=a+48|0;k=f+48|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=a;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];l=a+16|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];i=h;return}function adL(a){a=a|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function adM(a,b,d){a=a|0;b=b|0;d=+d;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,-1);return}function adN(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;cE[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function adO(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;apb(a,b,c,d,e,f,g,h);return}function adP(a,b){a=a|0;b=b|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,-1))}function adQ(a,b,d){a=a|0;b=b|0;d=d|0;return+(+c4[c[(c[a>>2]|0)+32>>2]&127](a,b,d))}function adR(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function adS(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function adT(a){a=a|0;ct[c[(c[a>>2]|0)+44>>2]&2047](a);return}function adU(a){a=a|0;aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);g[a+1308>>2]=+g[a+1248>>2];g[a+1312>>2]=+g[a+1252>>2];g[a+1316>>2]=+g[a+1256>>2];g[a+1320>>2]=+g[a+1184>>2];g[a+1324>>2]=+g[a+1188>>2];g[a+1328>>2]=+g[a+1192>>2];return}function adV(a,b){a=a|0;b=b|0;aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);if((b|0)<3){g[a+1308+(b<<2)>>2]=+g[a+1248+(b<<2)>>2];return}else{g[a+1308+(b<<2)>>2]=+g[a+1184+(b-3<<2)>>2];return}}function adW(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;while(1){e=aDx(80)|0;if((e|0)!=0){f=508;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){break}dC[h&63]()}if((f|0)==508){g[e+4>>2]=1.0;b[e+8>>1]=1;b[e+10>>1]=-1;c[e>>2]=19448;f=e+12|0;h=a;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];h=e+28|0;f=d;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[e+76>>2]=0;return e|0}e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}function adX(a,b){a=+a;b=+b;var d=0,e=0,f=0;while(1){d=aDx(92)|0;if((d|0)!=0){e=520;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==520){g[d+80>>2]=a;g[d+84>>2]=b;g[d+88>>2]=0.0;return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function adY(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0;while(1){i=aDx(1380)|0;if((i|0)!=0){j=532;break}k=(C=c[10744]|0,c[10744]=C+0,C);if((k|0)==0){break}dC[k&63]()}if((j|0)==532){aoY(i,b,d,e,f,h);c[i>>2]=20024;c[i+4>>2]=9;a[i+1301|0]=0;g[i+1308>>2]=0.0;g[i+1332>>2]=0.0;g[i+1356>>2]=1.0;a[i+1302|0]=0;g[i+1312>>2]=0.0;g[i+1336>>2]=0.0;g[i+1360>>2]=1.0;a[i+1303|0]=0;g[i+1316>>2]=0.0;g[i+1340>>2]=0.0;g[i+1364>>2]=1.0;a[i+1304|0]=0;g[i+1320>>2]=0.0;g[i+1344>>2]=0.0;g[i+1368>>2]=1.0;a[i+1305|0]=0;g[i+1324>>2]=0.0;g[i+1348>>2]=0.0;g[i+1372>>2]=1.0;a[i+1306|0]=0;g[i+1328>>2]=0.0;g[i+1352>>2]=0.0;g[i+1376>>2]=1.0;return i|0}i=cd(4)|0;c[i>>2]=19096;bF(i|0,34368,676);return 0}function adZ(a,b){a=a|0;b=+b;return}function ad_(a){a=a|0;return(a|0)==28|0}function ad$(a){a=a|0;return(a|0)==31|0}function ad0(a){a=a|0;return(a|0)<7|0}function ad1(a){a=a|0;return(a|0)<20|0}function ad2(a){a=a|0;return((a|0)>20&(a|0)<30?(a|0)!=25:0)|0}function ad3(a){a=a|0;return((a|0)==17?1:(a|0)==18)|0}function ad4(a){a=a|0;return(a|0)==32|0}function ad5(a){a=a|0;return((a|0)>20?(a|0)<30:0)|0}function ad6(a){a=a|0;return+(+g[a+32>>2])}function ad7(b){b=b|0;return(a[b+20|0]&1)!=0|0}function ad8(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function ad9(a){a=a|0;return c[a+4>>2]|0}function aea(b,c){b=b|0;c=c|0;a[b+21|0]=c&1;return}function aeb(b,c){b=b|0;c=c|0;a[b+1293|0]=c&1;return}function aec(b){b=b|0;return(a[b+21|0]&1)!=0|0}function aed(a){a=a|0;return c[a+4>>2]|0}function aee(a,b){a=a|0;b=b|0;return a+860+(b<<6)|0}function aef(b,d){b=b|0;d=d|0;var e=0;e=d|0;if((a[b+1300|0]&1)==0){c[e>>2]=6;c[d+4>>2]=0;return}else{c[e>>2]=0;c[d+4>>2]=0;return}}function aeg(a){a=a|0;return+(+g[a+36>>2])}function aeh(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function aei(a,b){a=a|0;b=b|0;var c=0,d=0;c=a;if((b|0)<3){d=+g[a+688+(b<<2)>>2]>=+g[a+672+(b<<2)>>2];return d|0}a=b-3|0;if(+g[c+860+(a<<6)>>2]>+g[c+860+(a<<6)+4>>2]){d=0;return d|0}d=1;return d|0}function aej(b){b=b|0;return(a[b+1293|0]&1)!=0|0}function aek(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function ael(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=d&1;a[b+1301+c|0]=e;if((c|0)<3){a[b+(c+780)|0]=e;return}else{a[b+860+(c-3<<6)+44|0]=e;return}}function aem(a){a=a|0;return a+1120|0}function aen(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function aeo(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function aep(b){b=b|0;return(a[b+1300|0]&1)!=0|0}function aeq(a){a=a|0;return+(+g[a+32>>2])}function aer(b,c){b=b|0;c=c|0;a[b+1300|0]=c&1;return}function aes(a){a=a|0;return a+672|0}function aet(a,b){a=a|0;b=b|0;return+(+g[a+1184+(b<<2)>>2])}function aeu(a,b){a=a|0;b=b|0;var c=0;c=a;a=0;while(1){if((a|0)>=3){break}g[b+(a<<2)>>2]=+g[c+860+(a<<6)+4>>2];a=a+1|0}return}function aev(a){a=a|0;return c[a+8>>2]|0}function aew(a,b,c){a=a|0;b=b|0;c=+c;g[a+1332+(b<<2)>>2]=c;return}function aex(a){a=a|0;return c[a+12>>2]|0}function aey(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function aez(a){a=a|0;return c[a>>2]|0}function aeA(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function aeB(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function aeC(a){a=a|0;return a+16|0}function aeD(a,b){a=a|0;b=b|0;c[a+12>>2]=b;return}function aeE(a){a=a|0;return b[a+6>>1]|0}function aeF(a){a=a|0;return c[a+12>>2]|0}function aeG(a){a=a|0;return a+32|0}function aeH(a,c){a=a|0;c=c|0;b[a+4>>1]=c;return}function aeI(a){a=a|0;return c[a+12>>2]|0}function aeJ(a,c){a=a|0;c=c|0;b[a+6>>1]=c;return}function aeK(a){a=a|0;return c[a+8>>2]|0}function aeL(a){a=a|0;return b[a+4>>1]|0}function aeM(a){a=a|0;return a+20|0}function aeN(a){a=a|0;return a+4|0}function aeO(b,c){b=b|0;c=c|0;do{if((a[43752]|0)==0){if((b1(43752)|0)==0){break}}}while(0);aDG(38904,b+1200+(c<<4)|0,16);return 38904}function aeP(a,b){a=a|0;b=b|0;var d=0;d=a+688|0;a=b;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function aeQ(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+40>>2]&511](a,b,d)|0}function aeR(a,b){a=a|0;b=b|0;var d=0;d=a+672|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function aeS(a,b){a=a|0;b=b|0;var d=0;d=a+672|0;a=b;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function aeT(a){a=a|0;aoZ(a,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function aeU(a,b,c){a=a|0;b=b|0;c=c|0;aoZ(a,b,c);return}function aeV(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function aeW(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ao7(a,b,c,d,e,f,g,h,i,j,k,l,0)|0}function aeX(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ao7(a,b,c,d,e,f,g,h,i,j,k,l,m)|0}function aeY(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;nS(a,b,c,d);return}function aeZ(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function ae_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;cy[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e,f);return}function ae$(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=a;a=0;while(1){if((a|0)>=3){break}d=+ck(+(+g[b+(a<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[c+860+(a<<6)>>2]=e;a=a+1|0}return}function ae0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function ae1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a;f=a+40|0;g=b;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+56|0;f=b+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+72|0;g=b+32|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+88|0;f=b+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+104|0;g=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+120|0;f=d+16|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+136|0;g=d+32|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+152|0;f=d+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];ct[c[(c[a>>2]|0)+8>>2]&2047](e);aoZ(e,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function ae2(a,b){a=a|0;b=b|0;var d=0;d=a+688|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ae3(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=a;a=0;while(1){if((a|0)>=3){break}d=+ck(+(+g[b+(a<<2)>>2]),6.2831854820251465);do{if(d<-3.1415927410125732){e=d+6.2831854820251465}else{if(d<=3.1415927410125732){e=d;break}e=d-6.2831854820251465}}while(0);g[c+860+(a<<6)+4>>2]=e;a=a+1|0}return}function ae4(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+48>>2]&511](a,b,d);return}function ae5(a,b){a=a|0;b=b|0;return ao$(a,b)|0}function ae6(){var a=0,b=0,d=0;c[9806]=(c[9806]|0)+1;a=aDx(67)|0;if((a|0)==0){b=0}else{d=-(a+4|0)&15;c[a+d>>2]=a;b=a+(d+4)|0}c[b>>2]=0;c[b+8>>2]=0;return b|0}function ae7(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;c[9806]=(c[9806]|0)+1;h=aDx(67)|0;if((h|0)==0){i=0}else{j=-(h+4|0)&15;c[h+j>>2]=h;i=h+(j+4)|0}c[i>>2]=e;b[i+4>>1]=f;b[i+6>>1]=g;g=i+16|0;f=a;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=i+32|0;g=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[i+8>>2]=0;return i|0}function ae8(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;c[9806]=(c[9806]|0)+1;i=aDx(67)|0;if((i|0)==0){j=0}else{k=-(i+4|0)&15;c[i+k>>2]=i;j=i+(k+4)|0}c[j>>2]=e;b[j+4>>1]=f;b[j+6>>1]=g;g=j+16|0;f=a;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=j+32|0;g=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];c[j+8>>2]=h;return j|0}function ae9(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function afa(a,b){a=a|0;b=b|0;var d=0;d=a+32|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function afb(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-48+44>>2]|0);return}function afc(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;di[c[(c[a>>2]|0)+16>>2]&63](a,b,d,e,f,g,h,i,j,0);return}function afd(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;di[c[(c[a>>2]|0)+16>>2]&63](a,b,d,e,f,g,h,i,j,k);return}function afe(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+36>>2]&2047](a,b);return}function aff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+40|0;f=e|0;c[f>>2]=18624;g[f+4>>2]=999999984306749400.0;g[f+8>>2]=999999984306749400.0;g[f+12>>2]=999999984306749400.0;g[f+16>>2]=0.0;g[f+20>>2]=-999999984306749400.0;g[f+24>>2]=-999999984306749400.0;g[f+28>>2]=-999999984306749400.0;g[f+32>>2]=0.0;g[b>>2]=-999999984306749400.0;g[b+4>>2]=-999999984306749400.0;g[b+8>>2]=-999999984306749400.0;g[b+12>>2]=0.0;g[d>>2]=999999984306749400.0;g[d+4>>2]=999999984306749400.0;g[d+8>>2]=999999984306749400.0;g[d+12>>2]=0.0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,f|0,b,d);a=b;b=f+4|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];b=d;d=f+20|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];i=e;return}function afg(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function afh(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a,b);return}function afi(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+56>>2]&511](a|0,b,d)|0}function afj(){var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(103)|0;d=-(b+4|0)&15;c[b+d>>2]=b;e=b+(d+4)|0;g[e+4>>2]=1.0;g[e+8>>2]=1.0;g[e+12>>2]=1.0;g[e+16>>2]=0.0;c[e>>2]=20368;a[e+36|0]=1;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[e+48>>2]=0;return e|0}function afk(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;l=k|0;c[9806]=(c[9806]|0)+1;m=aDx(103)|0;if((m|0)==0){n=0}else{o=-(m+4|0)&15;c[m+o>>2]=m;n=m+(o+4)|0}g[n+4>>2]=1.0;g[n+8>>2]=1.0;g[n+12>>2]=1.0;g[n+16>>2]=0.0;c[n>>2]=20368;a[n+36|0]=1;c[n+32>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[n+48>>2]=0;c[l+24>>2]=2;c[l+28>>2]=0;c[l>>2]=b;c[l+4>>2]=d;c[l+8>>2]=e;c[l+12>>2]=f;c[l+16>>2]=h;c[l+20>>2]=j;AY(n,l,2);i=k;return n|0}function afl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function afm(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function afn(a){a=a|0;return(c[a+4>>2]|0)<7|0}function afo(a){a=a|0;return a+12|0}function afp(a){a=a|0;return(c[a+4>>2]|0)==31|0}function afq(a){a=a|0;return+(+g[a+44>>2])}function afr(a){a=a|0;return(c[a+4>>2]|0)<20|0}function afs(a){a=a|0;return(c[a+4>>2]|0)==28|0}function aft(a){a=a|0;return c[a+8>>2]|0}function afu(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function afv(a){a=a|0;return a+28|0}function afw(a){a=a|0;return(c[a+4>>2]|0)==32|0}function afx(a){a=a|0;return a+28|0}function afy(a){a=a|0;return c[a+52>>2]|0}function afz(a){a=a|0;return c[a+4>>2]|0}function afA(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function afB(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function afC(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function afD(a){a=a|0;return(c[a+4>>2]|0)<7|0}function afE(a){a=a|0;return a+12|0}function afF(a){a=a|0;return cA[c[(c[a>>2]|0)+52>>2]&4095](a|0)|0}function afG(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a,b,d);return}function afH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function afI(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+48>>2]&511](a,b,d);return}function afJ(a,b){a=a|0;b=b|0;AY(a,b,2);return}function afK(a,b,c){a=a|0;b=b|0;c=c|0;AY(a,b,c);return}function afL(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0}function afM(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;di[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i,j,0);return}function afN(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;di[c[(c[a>>2]|0)+12>>2]&63](a,b,d,e,f,g,h,i,j,k);return}function afO(a){a=a|0;return cA[c[(c[a>>2]|0)+40>>2]&4095](a)|0}function afP(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function afQ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function afR(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function afS(a){a=a|0;return cA[c[(c[a>>2]|0)+104>>2]&4095](a)|0}function afT(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43800]|0)==0){if((b1(43800)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9722]=c[d>>2];c[9723]=c[d+4>>2];c[9724]=c[d+8>>2];c[9725]=c[d+12>>2];i=e;return 38888}function afU(a,b,d){a=a|0;b=b|0;d=+d;return c0[c[(c[a>>2]|0)+112>>2]&127](a,b,d)|0}function afV(a){a=a|0;return cA[c[(c[a>>2]|0)+88>>2]&4095](a)|0}function afW(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function afX(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a)|0}function afY(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43344]|0)==0){if((b1(43344)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9714]=c[d>>2];c[9715]=c[d+4>>2];c[9716]=c[d+8>>2];c[9717]=c[d+12>>2];i=e;return 38856}function afZ(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+100>>2]&511](a,b,d);return}function af_(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+116>>2]&511](a,b,d);return}function af$(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43640]|0)==0){if((b1(43640)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9710]=c[d>>2];c[9711]=c[d+4>>2];c[9712]=c[d+8>>2];c[9713]=c[d+12>>2];i=e;return 38840}function af0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function af1(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function af2(a){a=a|0;return cA[c[(c[a>>2]|0)+92>>2]&4095](a)|0}function af3(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function af4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+96>>2]&1023](a,b,d,e);return}function af5(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;c[9806]=(c[9806]|0)+1;b=aDx(75)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}c[d+8>>2]=0;e=d+12|0;g[e>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d>>2]=26200;c[d+4>>2]=0;b=d;f=d;h=+ar4(b);i=+dh[c[(c[f>>2]|0)+44>>2]&1023](b);j=+dh[c[(c[f>>2]|0)+44>>2]&1023](b);k=+g[a+4>>2]*+g[d+16>>2]-i;i=+g[a+8>>2]*+g[d+20>>2]-j;g[d+28>>2]=+g[a>>2]*+g[e>>2]-h;g[d+32>>2]=k;g[d+36>>2]=i;g[d+40>>2]=0.0;return d|0}function af6(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function af7(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function af8(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function af9(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function aga(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function agb(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function agc(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a,b,d);return}function agd(a){a=a|0;return cA[c[(c[a>>2]|0)+84>>2]&4095](a|0)|0}function age(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43512]|0)==0){if((b1(43512)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9706]=c[d>>2];c[9707]=c[d+4>>2];c[9708]=c[d+8>>2];c[9709]=c[d+12>>2];i=e;return 38824}function agf(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 13:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function agg(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function agh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function agi(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function agj(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function agk(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function agl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function agm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+108>>2]&1023](a,b,d,e);return}function agn(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function ago(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function agp(b){b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;do{if((a[43808]|0)==0){if((b1(43808)|0)==0){break}}}while(0);d=+g[b+28>>2];e=+g[b+32>>2];f=+g[b+36>>2];h=+g[b+40>>2];i=b|0;j=b;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=f+ +dh[c[(c[j>>2]|0)+44>>2]&1023](i);g[9702]=d+k;g[9703]=e+l;g[9704]=m;g[9705]=h;return 38808}function agq(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a,b,d);return}function agr(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+8>>2]&511](a,b,d);return}function ags(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;dw[c[(c[a>>2]|0)+16>>2]&127](a,b,d,e);return}function agt(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function agu(a){a=a|0;return cA[c[(c[a>>2]|0)+104>>2]&4095](a|0)|0}function agv(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43240]|0)==0){if((b1(43240)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9698]=c[d>>2];c[9699]=c[d+4>>2];c[9700]=c[d+8>>2];c[9701]=c[d+12>>2];i=e;return 38792}function agw(a,b,d){a=a|0;b=b|0;d=+d;return c0[c[(c[a>>2]|0)+112>>2]&127](a|0,b,d)|0}function agx(a){a=a|0;return cA[c[(c[a>>2]|0)+88>>2]&4095](a|0)|0}function agy(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function agz(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function agA(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+100>>2]&511](a|0,b,d);return}function agB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43120]|0)==0){if((b1(43120)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9694]=c[d>>2];c[9695]=c[d+4>>2];c[9696]=c[d+8>>2];c[9697]=c[d+12>>2];i=e;return 38776}function agC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function agD(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function agE(a){a=a|0;return cA[c[(c[a>>2]|0)+92>>2]&4095](a|0)|0}function agF(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function agG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+96>>2]&1023](a|0,b,d,e);return}function agH(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43064]|0)==0){if((b1(43064)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9690]=c[d>>2];c[9691]=c[d+4>>2];c[9692]=c[d+8>>2];c[9693]=c[d+12>>2];i=e;return 38760}function agI(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function agJ(a){a=a|0;return(c[a+4>>2]|0)<20|0}function agK(a){a=a|0;return(c[a+4>>2]|0)==28|0}function agL(a){a=a|0;return c[a+8>>2]|0}function agM(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function agN(a){a=a|0;return+(+g[a+44>>2])}function agO(a){a=a|0;return(c[a+4>>2]|0)==32|0}function agP(a){a=a|0;return a+28|0}function agQ(a){a=a|0;return(c[a+4>>2]|0)==31|0}function agR(a){a=a|0;return c[a+52>>2]|0}function agS(a){a=a|0;return c[a+4>>2]|0}function agT(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function agU(a){a=a|0;return(c[a+4>>2]|0)==31|0}function agV(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function agW(a){a=a|0;return c[a+52>>2]|0}function agX(a){a=a|0;return(c[a+4>>2]|0)<7|0}function agY(a){a=a|0;return+(+g[a+28+((((c[a+52>>2]|0)+2|0)%3|0)<<2)>>2])}function agZ(a){a=a|0;return+(+g[a+28+(c[a+52>>2]<<2)>>2])}function ag_(a){a=a|0;return a+12|0}function ag$(a){a=a|0;return+(+g[a+44>>2])}function ag0(a){a=a|0;return(c[a+4>>2]|0)<20|0}function ag1(a){a=a|0;return(c[a+4>>2]|0)==28|0}function ag2(a){a=a|0;return c[a+8>>2]|0}function ag3(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function ag4(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function ag5(a){a=a|0;return(c[a+4>>2]|0)==32|0}function ag6(a){a=a|0;return a+28|0}function ag7(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function ag8(a){a=a|0;return c[a+4>>2]|0}function ag9(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43080]|0)==0){if((b1(43080)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9686]=c[d>>2];c[9687]=c[d+4>>2];c[9688]=c[d+8>>2];c[9689]=c[d+12>>2];i=e;return 38744}function aha(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function ahb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function ahc(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function ahd(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function ahe(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function ahf(a){a=a|0;aze(a);return}function ahg(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function ahh(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function ahi(a){a=a|0;return cA[c[(c[a>>2]|0)+84>>2]&4095](a|0)|0}function ahj(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ahk(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function ahl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function ahm(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function ahn(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function aho(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function ahp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function ahq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+108>>2]&1023](a|0,b,d,e);return}function ahr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function ahs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;gx(a,b,c,d,e);return}function aht(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0;b=i;i=i+8|0;d=b|0;if((a|0)==0){i=b;return}e=c[9152]|0;f=e+16|0;h=(c[f>>2]|0)-1|0;c[f>>2]=h;do{if((h|0)==0){if((c[e+4>>2]|0)==0){j=e}else{b3(d|0,0)|0;k=c[10742]|0;l=e+8|0;g[l>>2]=+(((c[d+4>>2]|0)-(c[k+4>>2]|0)+(((c[d>>2]|0)-(c[k>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[l>>2];if((c[f>>2]|0)!=0){break}j=c[9152]|0}c[9152]=c[j+20>>2]}}while(0);aDB(a|0);i=b;return}function ahu(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function ahv(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43712]|0)==0){if((b1(43712)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9682]=c[d>>2];c[9683]=c[d+4>>2];c[9684]=c[d+8>>2];c[9685]=c[d+12>>2];i=e;return 38728}function ahw(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function ahx(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function ahy(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function ahz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function ahA(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function ahB(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function ahC(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43216]|0)==0){if((b1(43216)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9678]=c[d>>2];c[9679]=c[d+4>>2];c[9680]=c[d+8>>2];c[9681]=c[d+12>>2];i=e;return 38712}function ahD(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43408]|0)==0){if((b1(43408)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9670]=c[d>>2];c[9671]=c[d+4>>2];c[9672]=c[d+8>>2];c[9673]=c[d+12>>2];i=e;return 38680}function ahE(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function ahF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function ahG(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43544]|0)==0){if((b1(43544)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9666]=c[d>>2];c[9667]=c[d+4>>2];c[9668]=c[d+8>>2];c[9669]=c[d+12>>2];i=e;return 38664}function ahH(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function ahI(a,b){a=+a;b=+b;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(75)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+4>>2]=10;c[e>>2]=25144;c[e+52>>2]=0;g[e+28>>2]=b*.5;g[e+32>>2]=a;g[e+36>>2]=a;g[e+40>>2]=0.0;return e|0}function ahJ(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function ahK(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function ahL(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function ahM(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ahN(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function ahO(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function ahP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function ahQ(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function ahR(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function ahS(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function ahT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function ahU(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function ahV(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[44008]|0)==0){if((b1(44008)|0)==0){break}}}while(0);ah6(f,b,d);d=f;c[9662]=c[d>>2];c[9663]=c[d+4>>2];c[9664]=c[d+8>>2];c[9665]=c[d+12>>2];i=e;return 38648}function ahW(a){a=a|0;var b=0,d=0,e=0;while(1){b=aDx(1)|0;if((b|0)!=0){d=950;break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){d=947;break}dC[e&63]()}if((d|0)==947){e=cd(4)|0;c[e>>2]=19096;bF(e|0,34368,676);return 0}else if((d|0)==950){aDo(a);return b|0}return 0}function ahX(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+4|0;d=+g[b+4>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+8|0;d=+g[b+8>>2];if(d<+g[c>>2]){g[c>>2]=d}c=a+12|0;d=+g[b+12>>2];if(d>=+g[c>>2]){return}g[c>>2]=d;return}function ahY(a){a=a|0;return+(+g[a>>2])}function ahZ(a){a=a|0;return+(+g[a+4>>2])}function ah_(a){a=a|0;return+(+g[a+8>>2])}function ah$(a,b){a=a|0;b=b|0;var c=0;c=a|0;g[c>>2]=+g[c>>2]- +g[b>>2];c=a+4|0;g[c>>2]=+g[c>>2]- +g[b+4>>2];c=a+8|0;g[c>>2]=+g[c>>2]- +g[b+8>>2];c=a+12|0;g[c>>2]=+g[c>>2]- +g[b+12>>2];return a|0}function ah0(a){a=a|0;return+(+g[a+12>>2])}function ah1(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=a|0;d=+g[b>>2];if(+g[c>>2]>2]=d}c=a+4|0;d=+g[b+4>>2];if(+g[c>>2]>2]=d}c=a+8|0;d=+g[b+8>>2];if(+g[c>>2]>2]=d}c=a+12|0;d=+g[b+12>>2];if(+g[c>>2]>=d){return}g[c>>2]=d;return}function ah2(a,b){a=a|0;b=b|0;var c=0;c=a|0;g[c>>2]=+g[c>>2]+ +g[b>>2];c=a+4|0;g[c>>2]=+g[c>>2]+ +g[b+4>>2];c=a+8|0;g[c>>2]=+g[c>>2]+ +g[b+8>>2];c=a+12|0;g[c>>2]=+g[c>>2]+ +g[b+12>>2];return a|0}function ah3(a,b){a=a|0;b=+b;var c=0;c=a|0;g[c>>2]=+g[c>>2]*b;c=a+4|0;g[c>>2]=+g[c>>2]*b;c=a+8|0;g[c>>2]=+g[c>>2]*b;c=a+12|0;g[c>>2]=+g[c>>2]*b;return a|0}function ah4(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function ah5(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2]=d;g[a+12>>2]=e;return}function ah6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;e=+g[b>>2];f=+g[d>>2];h=e-f;i=+g[b+4>>2];j=+g[d+4>>2];k=i-j;l=+g[b+8>>2];m=+g[d+8>>2];n=l-m;o=+g[b+12>>2];p=+g[d+12>>2];q=o-p;r=e+f;e=i+j;i=l+m;l=o+p;if(h*h+k*k+n*n+q*q>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];c[b+8>>2]=c[s+8>>2];c[b+12>>2]=c[s+12>>2];return}else{g[a>>2]=-0.0-f;g[a+4>>2]=-0.0-j;g[a+8>>2]=-0.0-m;g[a+12>>2]=-0.0-p;return}}function ah7(b,c){b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;do{if((a[43960]|0)==0){if((b1(43960)|0)==0){break}}}while(0);d=+g[b>>2];e=+g[c>>2];f=d-e;h=+g[b+4>>2];i=+g[c+4>>2];j=h-i;k=+g[b+8>>2];l=+g[c+8>>2];m=k-l;n=+g[b+12>>2];o=+g[c+12>>2];p=n-o;q=d+e;d=h+i;h=k+l;k=n+o;if(f*f+j*j+m*m+p*p>q*q+d*d+h*h+k*k){r=e;s=i;t=l;u=o;g[9658]=r;g[9659]=s;g[9660]=t;g[9661]=u;return 38632}r=-0.0-e;s=-0.0-i;t=-0.0-l;u=-0.0-o;g[9658]=r;g[9659]=s;g[9660]=t;g[9661]=u;return 38632}function ah8(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;ah9(a,b,c,f);i=e;return}function ah9(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=b*.5;b=c*.5;c=+g[d>>2]*.5;f=+S(+e);h=+T(+e);e=+S(+b);i=+T(+b);b=+S(+c);j=+T(+c);c=b*i;k=j*e;l=b*e;e=j*i;g[a>>2]=c*f+k*h;g[a+4>>2]=l*h-e*f;g[a+8>>2]=k*f-c*h;g[a+12>>2]=l*f+e*h;return}function aia(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0;b=a|0;c=+g[b>>2];d=a+4|0;e=+g[d>>2];f=a+8|0;h=+g[f>>2];i=a+12|0;j=+g[i>>2];k=1.0/+Q(+(c*c+e*e+h*h+j*j));g[b>>2]=c*k;g[d>>2]=e*k;g[f>>2]=h*k;g[i>>2]=j*k;return a|0}function aib(b,c,d){b=b|0;c=c|0;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;do{if((a[44096]|0)==0){if((b1(44096)|0)==0){break}}}while(0);e=+aie(b,c);if(e==0.0){f=+g[b>>2];h=+g[b+4>>2];i=+g[b+8>>2];j=+g[b+12>>2];g[9654]=f;g[9655]=h;g[9656]=i;g[9657]=j;return 38616}k=1.0/+T(+e);l=+T(+((1.0-d)*e));m=+T(+(e*d));d=+g[b>>2];e=+g[c>>2];n=+g[b+4>>2];o=+g[c+4>>2];p=+g[b+8>>2];q=+g[c+8>>2];r=+g[b+12>>2];s=+g[c+12>>2];t=d*l;if(d*e+n*o+p*q+r*s<0.0){f=(t+m*(-0.0-e))*k;h=(n*l+m*(-0.0-o))*k;i=(p*l+m*(-0.0-q))*k;j=(r*l+m*(-0.0-s))*k;g[9654]=f;g[9655]=h;g[9656]=i;g[9657]=j;return 38616}else{f=(t+e*m)*k;h=(n*l+o*m)*k;i=(p*l+q*m)*k;j=(r*l+s*m)*k;g[9654]=f;g[9655]=h;g[9656]=i;g[9657]=j;return 38616}return 0}function aic(b){b=b|0;var c=0.0,d=0.0,e=0.0;do{if((a[44016]|0)==0){if((b1(44016)|0)==0){break}}}while(0);c=-0.0- +g[b+4>>2];d=-0.0- +g[b+8>>2];e=+g[b+12>>2];g[9650]=-0.0- +g[b>>2];g[9651]=c;g[9652]=d;g[9653]=e;return 38600}function aid(a,b){a=a|0;b=b|0;return+(+aie(a,b))}function aie(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;c=+g[a>>2];d=+g[a+4>>2];e=+g[a+8>>2];f=+g[a+12>>2];h=+g[b>>2];i=+g[b+4>>2];j=+g[b+8>>2];k=+g[b+12>>2];l=(c*h+d*i+e*j+f*k)/+Q(+((c*c+d*d+e*e+f*f)*(h*h+i*i+j*j+k*k)));if(l<-1.0){m=-1.0;n=+V(+m);return+n}if(l<=1.0){m=l;n=+V(+m);return+n}m=1.0;n=+V(+m);return+n}function aif(b){b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;do{if((a[44024]|0)==0){if((b1(44024)|0)==0){break}}}while(0);c=1.0- +R(+(+g[b+12>>2]),2.0);if(c<11920928955078125.0e-22){d=1.0;e=0.0;f=0.0}else{h=+Q(+c);d=+g[b>>2]/h;e=+g[b+4>>2]/h;f=+g[b+8>>2]/h}g[9646]=d;g[9647]=e;g[9648]=f;g[9649]=0.0;return 38584}function aig(){if((a[43032]|0)!=0){return 42736}if((b1(43032)|0)==0){return 42736}g[10684]=0.0;g[10685]=0.0;g[10686]=0.0;g[10687]=1.0;return 42736}function aih(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;d=+g[b>>2];e=+g[b+4>>2];f=+g[b+8>>2];h=+Q(+(d*d+e*e+f*f));i=c*.5;c=+T(+i)/h;h=+S(+i);g[a>>2]=d*c;g[a+4>>2]=e*c;g[a+8>>2]=f*c;g[a+12>>2]=h;return}function aii(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=b*.5;b=c*.5;c=d*.5;d=+S(+e);f=+T(+e);e=+S(+b);h=+T(+b);b=+S(+c);i=+T(+c);c=i*e;j=b*h;k=b*e;e=i*h;g[a>>2]=c*d-j*f;g[a+4>>2]=j*d+c*f;g[a+8>>2]=k*f-e*d;g[a+12>>2]=k*d+e*f;return}function aij(){var a=0,b=0,d=0;while(1){a=aDx(16)|0;if((a|0)!=0){b=1051;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==1051){return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function aik(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;while(1){d=aDx(16)|0;if((d|0)!=0){e=1063;break}f=(C=c[10744]|0,c[10744]=C+0,C);if((f|0)==0){break}dC[f&63]()}if((e|0)==1063){h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];k=+Q(+(h*h+i*i+j*j));l=b*.5;b=+T(+l)/k;k=+S(+l);g[d>>2]=h*b;g[d+4>>2]=i*b;g[d+8>>2]=j*b;g[d+12>>2]=k;return d|0}d=cd(4)|0;c[d>>2]=19096;bF(d|0,34368,676);return 0}function ail(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0,h=0,j=0,k=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;while(1){h=aDx(16)|0;if((h|0)!=0){j=1075;break}k=(C=c[10744]|0,c[10744]=C+0,C);if((k|0)==0){break}dC[k&63]()}if((j|0)==1075){j=h;ah9(j,a,b,f);i=e;return j|0}j=cd(4)|0;c[j>>2]=19096;bF(j|0,34368,676);return 0}function aim(a,b){a=a|0;b=+b;var c=0.0,d=0;c=1.0/b;d=a|0;g[d>>2]=+g[d>>2]*c;d=a+4|0;g[d>>2]=+g[d>>2]*c;d=a+8|0;g[d>>2]=+g[d>>2]*c;d=a+12|0;g[d>>2]=+g[d>>2]*c;return a|0}function ain(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function aio(a,b){a=a|0;b=+b;g[a>>2]=b;return}function aip(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function aiq(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function air(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];e=+g[a+12>>2];return+(b*b+c*c+d*d+e*e)}function ais(a){a=a|0;return+(+g[a+12>>2])}function ait(a){a=a|0;return+(+g[a+4>>2])}function aiu(a){a=a|0;return+(+g[a>>2])}function aiv(a){a=a|0;return+(+g[a+8>>2])}function aiw(a,b){a=a|0;b=b|0;return+(+g[a>>2]*+g[b>>2]+ +g[a+4>>2]*+g[b+4>>2]+ +g[a+8>>2]*+g[b+8>>2]+ +g[a+12>>2]*+g[b+12>>2])}function aix(a){a=a|0;return(c[a+4>>2]|0)==31|0}function aiy(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function aiz(a){a=a|0;return c[a+52>>2]|0}function aiA(a){a=a|0;return(c[a+4>>2]|0)<7|0}function aiB(a){a=a|0;return+(+g[a+28+((((c[a+52>>2]|0)+2|0)%3|0)<<2)>>2])}function aiC(a){a=a|0;return+(+g[a+28+(c[a+52>>2]<<2)>>2])}function aiD(a){a=a|0;return a+12|0}function aiE(a){a=a|0;return+(+g[a+44>>2])}function aiF(a){a=a|0;return(c[a+4>>2]|0)<20|0}function aiG(a){a=a|0;return(c[a+4>>2]|0)==28|0}function aiH(a){a=a|0;return c[a+8>>2]|0}function aiI(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function aiJ(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function aiK(a){a=a|0;return(c[a+4>>2]|0)==32|0}function aiL(a){a=a|0;return a+28|0}function aiM(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function aiN(a){a=a|0;return c[a+4>>2]|0}function aiO(a){a=a|0;return+(+g[a+224>>2])}function aiP(a){a=a|0;return+(+g[a+220>>2])}function aiQ(a,b){a=a|0;b=b|0;c[a+212>>2]=b;return}function aiR(a){a=a|0;return+(+g[a+244>>2])}function aiS(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function aiT(a,b){a=a|0;b=b|0;c[a+196>>2]=b;return}function aiU(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function aiV(a){a=a|0;return a+132|0}function aiW(a){a=a|0;return(c[a+204>>2]&7|0)==0|0}function aiX(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function aiY(a){a=a|0;return c[a+208>>2]|0}function aiZ(a){a=a|0;return c[a+260>>2]|0}function ai_(a,b){a=a|0;b=b|0;c[a+236>>2]=b;return}function ai$(b){b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0;do{if((a[43952]|0)==0){if((b1(43952)|0)==0){break}}}while(0);c=+g[b>>2];d=+g[b+4>>2];e=+g[b+8>>2];f=+g[b+12>>2];h=1.0/+Q(+(c*c+d*d+e*e+f*f));g[9642]=c*h;g[9643]=d*h;g[9644]=e*h;g[9645]=f*h;return 38568}function ai0(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ai1(a){a=a|0;var b=0.0,c=0.0;b=+g[a+12>>2];do{if(b<-1.0){c=-1.0}else{if(b<=1.0){c=b;break}c=1.0}}while(0);return+(+V(+c)*2.0)}function ai2(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;b=+g[a>>2];c=+g[a+4>>2];d=+g[a+8>>2];e=+g[a+12>>2];return+(+Q(+(b*b+c*c+d*d+e*e)))}function ai3(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function ai4(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43704]|0)==0){if((b1(43704)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b|0,d);d=f;c[9638]=c[d>>2];c[9639]=c[d+4>>2];c[9640]=c[d+8>>2];c[9641]=c[d+12>>2];i=e;return 38552}function ai5(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function ai6(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function ai7(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function ai8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function ai9(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function aja(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function ajb(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43208]|0)==0){if((b1(43208)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9634]=c[d>>2];c[9635]=c[d+4>>2];c[9636]=c[d+8>>2];c[9637]=c[d+12>>2];i=e;return 38536}function ajc(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43400]|0)==0){if((b1(43400)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b|0,d);d=f;c[9626]=c[d>>2];c[9627]=c[d+4>>2];c[9628]=c[d+8>>2];c[9629]=c[d+12>>2];i=e;return 38504}function ajd(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function aje(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function ajf(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43536]|0)==0){if((b1(43536)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9622]=c[d>>2];c[9623]=c[d+4>>2];c[9624]=c[d+8>>2];c[9625]=c[d+12>>2];i=e;return 38488}function ajg(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function ajh(a,b){a=+a;b=+b;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(75)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+4>>2]=10;c[e>>2]=25040;c[e+52>>2]=2;g[e+28>>2]=a;g[e+32>>2]=a;g[e+36>>2]=b*.5;g[e+40>>2]=0.0;return e|0}function aji(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0))}function ajj(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function ajk(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a|0,b);return}function ajl(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ajm(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 0:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 10:{d=+g[b+44>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function ajn(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function ajo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a|0,b,d,e);return}function ajp(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function ajq(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function ajr(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function ajs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function ajt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function aju(a,b,d){a=a|0;b=b|0;d=d|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,0);return}function ajv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+32>>2]&1023](a,b,d,e);return}function ajw(a,b){a=a|0;b=b|0;var d=0;d=a+132|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ajx(a,b){a=a|0;b=b|0;var d=0;d=a+148|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ajy(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+20>>2]&511](a|0,b,d)|0}function ajz(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+68|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+84|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+100|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+116|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function ajA(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+12>>2]&2047](a|0,b);return}function ajB(a,b){a=a|0;b=b|0;dA[c[(c[a>>2]|0)+28>>2]&511](a,b,0);return}function ajC(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+28>>2]&511](a,b,d);return}function ajD(a,b){a=a|0;b=b|0;var d=0;if((c[a+252>>2]|0)==0){d=1;return d|0}d=dj[c[c[a>>2]>>2]&511](a|0,b)|0;return d|0}function ajE(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0,i=0;while(1){f=aDx(16)|0;if((f|0)!=0){h=1209;break}i=(C=c[10744]|0,c[10744]=C+0,C);if((i|0)==0){break}dC[i&63]()}if((h|0)==1209){g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;return f|0}f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}function ajF(a){a=a|0;return a+148|0}function ajG(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function ajH(a){a=a|0;var b=0;if((c[a+204>>2]&3|0)!=0){return}b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function ajI(a,b){a=a|0;b=b|0;do{if(!b){if((c[a+204>>2]&3|0)==0){break}return}}while(0);b=a+216|0;if(((c[b>>2]|0)-4|0)>>>0>=2){c[b>>2]=1}g[a+220>>2]=0.0;return}function ajJ(a,b){a=a|0;b=b|0;c[a+208>>2]=b;return}function ajK(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function ajL(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function ajM(a){a=a|0;return a+68|0}function ajN(a,b){a=a|0;b=b|0;return c[(c[a+268>>2]|0)+(b<<2)>>2]|0}function ajO(a){a=a|0;return(c[a+204>>2]&1|0)!=0|0}function ajP(a){a=a|0;return c[a+192>>2]|0}function ajQ(a){a=a|0;return c[a+216>>2]|0}function ajR(a){a=a|0;return c[a+188>>2]|0}function ajS(a){a=a|0;return+(+g[a+228>>2])}function ajT(a){a=a|0;return c[a+236>>2]|0}function ajU(a){a=a|0;return a+4|0}function ajV(a){a=a|0;var b=0.0;b=+g[a+248>>2];return+(b*b)}function ajW(a,b){a=a|0;b=b|0;c[a+192>>2]=b;return}function ajX(a){a=a|0;return+(+g[a+248>>2])}function ajY(a){a=a|0;return c[a+212>>2]|0}function ajZ(a){a=a|0;var b=0;b=c[a+216>>2]|0;return((b|0)==2?0:(b|0)!=5)|0}function aj_(a){a=a|0;return c[a+232>>2]|0}function aj$(a){a=a|0;return(c[a+204>>2]&4|0)==0|0}function aj0(a){a=a|0;var b=0;if((c[a+232>>2]|0)==4){b=a}else{b=0}return b|0}function aj1(a,b){a=a|0;b=b|0;var d=0;d=a+216|0;if(((c[d>>2]|0)-4|0)>>>0<2){return}c[d>>2]=b;return}function aj2(a){a=a|0;return c[a+200>>2]|0}function aj3(a){a=a|0;return+(+g[a+184>>2])}function aj4(a){a=a|0;return c[a+204>>2]|0}function aj5(a){a=a|0;return+(+g[a+240>>2])}function aj6(a){a=a|0;return a+164|0}function aj7(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function aj8(a){a=a|0;return c[a+196>>2]|0}function aj9(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function aka(a){a=a|0;return(c[a+204>>2]&3|0)!=0|0}function akb(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function akc(a){a=a|0;return(c[a+180>>2]|0)!=0|0}function akd(a,b){a=a|0;b=b|0;c[a+188>>2]=b;return}function ake(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function akf(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function akg(a){a=a|0;return(c[a+4>>2]|0)==31|0}function akh(a){a=a|0;return(c[a+4>>2]|0)<7|0}function aki(a){a=a|0;return(c[a+4>>2]|0)<20|0}function akj(a){a=a|0;return(c[a+4>>2]|0)==28|0}function akk(a){a=a|0;return c[a+8>>2]|0}function akl(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function akm(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function akn(a){a=a|0;return(c[a+4>>2]|0)==32|0}function ako(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function akp(a){a=a|0;return c[a+4>>2]|0}function akq(a){a=a|0;return+(+g[a+104>>2])}function akr(a){a=a|0;return+(+g[a+100>>2])}function aks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0;f=i;i=i+128|0;h=f|0;j=f+64|0;g[h>>2]=1.0;aDD(h+4|0,0,16);g[h+20>>2]=1.0;aDD(h+24|0,0,16);g[h+40>>2]=1.0;c[h+44>>2]=0;k=h+48|0;l=b;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];g[j>>2]=1.0;aDD(j+4|0,0,16);g[j+20>>2]=1.0;aDD(j+24|0,0,16);g[j+40>>2]=1.0;c[j+44>>2]=0;l=j+48|0;k=d;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];k=a+260|0;if((c[k>>2]|0)<=0){i=f;return}l=a+268|0;a=e;d=0;do{b=c[(c[l>>2]|0)+(d<<2)>>2]|0;if(dj[c[(c[a>>2]|0)+8>>2]&511](e,c[b+188>>2]|0)|0){atG(h,j,b,c[b+192>>2]|0,b+4|0,e)}d=d+1|0;}while((d|0)<(c[k>>2]|0));i=f;return}function akt(a){a=a|0;return cA[c[(c[a>>2]|0)+16>>2]&4095](a|0)|0}function aku(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function akv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;axT(a,b,c,d,e,0.0);return}function akw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;axT(a,b,c,d,e,f);return}function akx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+164|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];do{if(+g[b>>2]!=1.0){f=1}else{if(+g[b+4>>2]!=1.0){f=1;break}f=+g[b+8>>2]!=1.0|0}}while(0);c[a+180>>2]=f;return}function aky(){var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(295)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}g[d+164>>2]=1.0;g[d+168>>2]=1.0;g[d+172>>2]=1.0;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749400.0;aDD(d+188|0,0,16);c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;g[d+220>>2]=0.0;g[d+224>>2]=.5;g[d+228>>2]=0.0;c[d+236>>2]=0;g[d+240>>2]=1.0;g[d+244>>2]=0.0;g[d+248>>2]=0.0;c[d+252>>2]=0;g[d+4>>2]=1.0;aDD(d+8|0,0,16);g[d+24>>2]=1.0;aDD(d+28|0,0,16);g[d+44>>2]=1.0;aDD(d+48|0,0,20);c[d>>2]=25632;a[d+272|0]=1;c[d+268>>2]=0;c[d+260>>2]=0;c[d+264>>2]=0;c[d+232>>2]=4;return d|0}function akz(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+20|0;d=b+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=a+36|0;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=a+52|0;a=b+48|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];return}function akA(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function akB(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a|0,b,d);return}function akC(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function akD(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function akE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+60>>2]&1023](a,b,d,e);return}function akF(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function akG(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function akH(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function akI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a|0,b,d,e);return}function akJ(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function akK(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a))}function akL(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function akM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function akN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function akO(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function akP(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function akQ(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function akR(a){a=a|0;return cA[c[(c[a>>2]|0)+8>>2]&4095](a)|0}function akS(a,b){a=a|0;b=+b;g[a+84>>2]=b;return}function akT(a){a=a|0;return+(+g[a+96>>2])}function akU(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function akV(a,b){a=a|0;b=+b;g[a+88>>2]=b;return}function akW(a){a=a|0;return+(+g[a+92>>2])}function akX(a){a=a|0;return+(+g[a+84>>2])}function akY(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function akZ(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function ak_(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function ak$(a){a=a|0;return+(+g[a+88>>2])}function ak0(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function ak1(a){a=a|0;return a+8|0}function ak2(a){a=a|0;return c[a>>2]|0}function ak3(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function ak4(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function ak5(a){a=a|0;return+(+g[a+40>>2])}function ak6(a){a=a|0;return c[a+4>>2]|0}function ak7(a){a=a|0;return a+24|0}function ak8(a){a=a|0;return c[a+60>>2]|0}function ak9(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0;f=(+g[d>>2]- +g[a+12>>2])*+g[a+44>>2];h=(+g[d+4>>2]- +g[a+16>>2])*+g[a+48>>2];i=(+g[d+8>>2]- +g[a+20>>2])*+g[a+52>>2];do{if(f>0.0){d=c[a+8>>2]|0;if(f<+(d>>>0>>>0)){j=~~f&c[a+4>>2]|e;break}else{j=d&c[a+4>>2]|e;break}}else{j=e}}while(0);c[b>>2]=j;do{if(h>0.0){j=c[a+8>>2]|0;if(h<+(j>>>0>>>0)){k=~~h&c[a+4>>2]|e;break}else{k=j&c[a+4>>2]|e;break}}else{k=e}}while(0);c[b+4>>2]=k;if(i<=0.0){l=e;m=b+8|0;c[m>>2]=l;return}k=c[a+8>>2]|0;if(i<+(k>>>0>>>0)){l=~~i&c[a+4>>2]|e;m=b+8|0;c[m>>2]=l;return}else{l=k&c[a+4>>2]|e;m=b+8|0;c[m>>2]=l;return}}function ala(a){a=a|0;return c[a+104>>2]|0}function alb(b,d){b=b|0;d=d|0;var e=0,f=0,h=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;e=i;i=i+16|0;f=e|0;h=e+8|0;g[b+84>>2]=+g[d+16>>2];g[b+88>>2]=+g[d+20>>2];g[b+92>>2]=+g[d+24>>2];g[b+96>>2]=+g[d+28>>2];g[b+104>>2]=+g[d+32>>2];j=b+4|0;b=d+40|0;k=c[b>>2]|0;c[f>>2]=0;ant(j,k,f);f=d|0;k=j+12|0;l=0;while(1){if((l|0)>=(c[b>>2]|0)){break}c[(c[k>>2]|0)+(l<<2)>>2]=c[(c[f>>2]|0)+(l<<2)>>2];l=l+1|0}l=d+36|0;f=c[l>>2]|0;c[h>>2]=0;ant(j+20|0,f,h);h=d+4|0;f=j+32|0;k=0;while(1){if((k|0)>=(c[l>>2]|0)){break}c[(c[f>>2]|0)+(k<<2)>>2]=c[(c[h>>2]|0)+(k<<2)>>2];k=k+1|0}k=d+44|0;h=c[k>>2]|0;f=j+44|0;l=c[f>>2]|0;L1395:do{if((h|0)<(l|0)){b=h;while(1){if((b|0)>=(l|0)){break}b=b+1|0}m=j+52|0}else{do{if((h|0)>(l|0)){b=j+48|0;if((c[b>>2]|0)>=(h|0)){break}do{if((h|0)==0){n=0}else{c[9806]=(c[9806]|0)+1;o=aDx((h<<4|4)+15|0)|0;if((o|0)==0){n=0;break}p=-(o+4|0)&15;c[o+p>>2]=o;n=o+(p+4)|0}}while(0);p=c[f>>2]|0;o=j+52|0;q=0;while(1){if((q|0)>=(p|0)){break}r=n+(q<<4)|0;if((r|0)!=0){s=r;r=(c[o>>2]|0)+(q<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2]}q=q+1|0}q=c[f>>2]|0;p=0;while(1){if((p|0)>=(q|0)){break}p=p+1|0}p=c[o>>2]|0;q=j+56|0;if((p|0)==0){t=q}else{if((a[q]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-16+12>>2]|0)}c[o>>2]=0;t=q}a[t]=1;c[o>>2]=n;c[b>>2]=h}}while(0);q=j+52|0;p=l;while(1){if((p|0)>=(h|0)){m=q;break L1395}r=c[q>>2]|0;s=r+(p<<4)|0;if((s|0)!=0){c[s>>2]=0;g[r+(p<<4)+4>>2]=6.2831854820251465;g[r+(p<<4)+8>>2]=6.2831854820251465;g[r+(p<<4)+12>>2]=6.2831854820251465}p=p+1|0}}}while(0);c[f>>2]=h;h=d+8|0;f=0;while(1){if((f|0)>=(c[k>>2]|0)){break}g[(c[m>>2]|0)+(f<<4)+4>>2]=+g[(c[h>>2]|0)+(f<<4)+4>>2];g[(c[m>>2]|0)+(f<<4)+8>>2]=+g[(c[h>>2]|0)+(f<<4)+8>>2];g[(c[m>>2]|0)+(f<<4)+12>>2]=+g[(c[h>>2]|0)+(f<<4)+12>>2];c[(c[m>>2]|0)+(f<<4)>>2]=c[(c[h>>2]|0)+(f<<4)>>2];f=f+1|0}f=d+48|0;h=c[f>>2]|0;m=j+64|0;k=c[m>>2]|0;L1437:do{if((h|0)<(k|0)){l=h;while(1){if((l|0)>=(k|0)){break}l=l+1|0}u=j+72|0}else{do{if((h|0)>(k|0)){l=j+68|0;if((c[l>>2]|0)>=(h|0)){break}do{if((h|0)==0){v=0}else{c[9806]=(c[9806]|0)+1;n=aDx((h<<2)+19|0)|0;if((n|0)==0){v=0;break}t=-(n+4|0)&15;c[n+t>>2]=n;v=n+(t+4)|0}}while(0);b=c[m>>2]|0;o=j+72|0;t=0;while(1){if((t|0)>=(b|0)){break}n=v+(t<<2)|0;if((n|0)!=0){c[n>>2]=c[(c[o>>2]|0)+(t<<2)>>2]}t=t+1|0}t=c[m>>2]|0;b=0;while(1){if((b|0)>=(t|0)){break}b=b+1|0}b=c[o>>2]|0;t=j+76|0;if((b|0)==0){w=t}else{if((a[t]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0)}c[o>>2]=0;w=t}a[w]=1;c[o>>2]=v;c[l>>2]=h}}while(0);t=j+72|0;b=k;while(1){if((b|0)>=(h|0)){u=t;break L1437}n=(c[t>>2]|0)+(b<<2)|0;if((n|0)!=0){c[n>>2]=0}b=b+1|0}}}while(0);c[m>>2]=h;h=d+12|0;d=0;while(1){if((d|0)>=(c[f>>2]|0)){break}c[(c[u>>2]|0)+(d<<2)>>2]=c[(c[h>>2]|0)+(d<<2)>>2];d=d+1|0}i=e;return}function alc(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+12>>2]&511](a,b,d)|0}function ald(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ale(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function alf(a,b){a=a|0;b=b|0;var d=0;d=a+24|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function alg(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return alh(a|0,b,c,d,e,f,g,h)|0}function alh(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=i;i=i+32|0;m=l|0;n=l+16|0;ak9(a,m|0,d,0);ak9(a,n|0,e,1);e=a+72|0;d=c[e>>2]|0;o=a+68|0;p=c[o>>2]|0;c[e>>2]=c[p+(d*76|0)+48>>2];e=a+60|0;c[e>>2]=(c[e>>2]|0)+1;c[p+(d*76|0)+12>>2]=d;c[p+(d*76|0)>>2]=f;b[p+(d*76|0)+4>>1]=g;b[p+(d*76|0)+6>>1]=h;c[p+(d*76|0)+8>>2]=k;k=c[e>>2]<<1;e=k|1;h=k-1|0;g=0;while(1){if(g>>>0>=3){break}f=(c[o>>2]|0)+60+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+2;f=a+76+(g<<2)|0;q=c[f>>2]|0;r=q+(h<<3)|0;s=q+(e<<3)|0;q=c[r+4>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=q;c[(c[f>>2]|0)+(h<<3)>>2]=c[m+(g<<2)>>2];c[(c[f>>2]|0)+(h<<3)+4>>2]=d;c[(c[f>>2]|0)+(k<<3)>>2]=c[n+(g<<2)>>2];c[(c[f>>2]|0)+(k<<3)+4>>2]=d;c[p+(d*76|0)+48+(g<<2)>>2]=h;c[p+(d*76|0)+60+(g<<2)>>2]=k;g=g+1|0}am6(a,0,c[p+(d*76|0)+48>>2]|0,0);anc(a,0,c[p+(d*76|0)+60>>2]|0,j,0);am6(a,1,c[p+(d*76|0)+52>>2]|0,0);anc(a,1,c[p+(d*76|0)+64>>2]|0,j,0);am6(a,2,c[p+(d*76|0)+56>>2]|0,1);anc(a,2,c[p+(d*76|0)+68>>2]|0,j,1);i=l;return d|0}function ali(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ak9(a|0,b,c,d);return}function alj(a,b,c){a=a|0;b=b|0;c=c|0;alk(a|0,b,c);return}function alk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+68|0;f=c[e>>2]|0;g=a+100|0;h=c[g>>2]|0;if(!(cA[c[(c[h>>2]|0)+56>>2]&4095](h)|0)){h=c[g>>2]|0;dA[c[(c[h>>2]|0)+16>>2]&511](h|0,f+(b*76|0)|0,d)}h=a+60|0;g=c[h>>2]<<1;i=0;while(1){if((i|0)>=3){break}j=(c[e>>2]|0)+60+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-2;i=i+1|0}i=a+8|0;j=g-1|0;g=0;while(1){if((g|0)>=3){break}k=c[a+76+(g<<2)>>2]|0;l=c[f+(b*76|0)+60+(g<<2)>>2]|0;c[k+(l<<3)>>2]=c[i>>2];ana(a,g,l,0);l=c[f+(b*76|0)+48+(g<<2)>>2]|0;c[k+(l<<3)>>2]=c[i>>2];anb(a,g,l,d,0);c[k+(j<<3)+4>>2]=0;c[k+(j<<3)>>2]=c[i>>2];g=g+1|0}g=a+72|0;c[(c[e>>2]|0)+(b*76|0)+48>>2]=c[g>>2];c[g>>2]=b;c[h>>2]=(c[h>>2]|0)-1;return}function all(a,b){a=a|0;b=b|0;cg(a|0,b|0);return}function alm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0;while(1){h=aDx(44)|0;if((h|0)!=0){i=1465;break}j=(C=c[10744]|0,c[10744]=C+0,C);if((j|0)==0){break}dC[j&63]()}if((i|0)==1465){c[h>>2]=a;c[h+4>>2]=b;b=h+8|0;a=d;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];a=h+24|0;b=e;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];g[h+40>>2]=f;return h|0}h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676);return 0}function aln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b;b=d;d=0;while(1){if((d|0)>=3){e=1;f=1474;break}if((c[a+60+(d<<2)>>2]|0)>>>0<(c[b+48+(d<<2)>>2]|0)>>>0){e=0;f=1472;break}if((c[b+60+(d<<2)>>2]|0)>>>0<(c[a+48+(d<<2)>>2]|0)>>>0){e=0;f=1473;break}d=d+1|0}if((f|0)==1472){return e|0}else if((f|0)==1473){return e|0}else if((f|0)==1474){return e|0}return 0}function alo(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function alp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;f=c[a+76>>2]|0;h=(c[f+(c[b+60>>2]<<3)>>2]|0)+1&65535;i=c[a+80>>2]|0;j=(c[i+(c[b+64>>2]<<3)>>2]|0)+1&65535;k=c[a+84>>2]|0;l=(c[k+(c[b+68>>2]<<3)>>2]|0)+1&65535;m=a+44|0;n=+((c[f+(c[b+48>>2]<<3)>>2]&65535)>>>0)/+g[m>>2];f=a+48|0;o=+((c[i+(c[b+52>>2]<<3)>>2]&65535)>>>0)/+g[f>>2];i=a+52|0;p=+((c[k+(c[b+56>>2]<<3)>>2]&65535)>>>0)/+g[i>>2];b=d|0;g[b>>2]=n;k=d+4|0;g[k>>2]=o;q=d+8|0;g[q>>2]=p;g[d+12>>2]=0.0;d=a+12|0;g[b>>2]=n+ +g[d>>2];b=a+16|0;g[k>>2]=o+ +g[b>>2];k=a+20|0;g[q>>2]=p+ +g[k>>2];p=+((h&65535)>>>0)/+g[m>>2];o=+((j&65535)>>>0)/+g[f>>2];n=+((l&65535)>>>0)/+g[i>>2];i=e|0;g[i>>2]=p;l=e+4|0;g[l>>2]=o;f=e+8|0;g[f>>2]=n;g[e+12>>2]=0.0;g[i>>2]=p+ +g[d>>2];g[l>>2]=o+ +g[b>>2];g[f>>2]=n+ +g[k>>2];return}function alq(a,b){a=a|0;b=b|0;return(c[a+68>>2]|0)+(b*76|0)|0}function alr(a){a=a|0;return(c[a+4>>2]|0)==31|0}function als(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function alt(a){a=a|0;return+(+g[a+44>>2])}function alu(a){a=a|0;return(c[a+4>>2]|0)<7|0}function alv(a){a=a|0;return+(+g[a+28>>2]*+g[a+12>>2])}function alw(a){a=a|0;return a+12|0}function alx(a,b){a=a|0;b=+b;g[a+28>>2]=b;g[a+44>>2]=b;return}function aly(a){a=a|0;return(c[a+4>>2]|0)<20|0}function alz(a){a=a|0;return(c[a+4>>2]|0)==28|0}function alA(a){a=a|0;return c[a+8>>2]|0}function alB(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20&(b|0)<30?(b|0)!=25:0)|0}function alC(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)==17?1:(b|0)==18)|0}function alD(a){a=a|0;return(c[a+4>>2]|0)==32|0}function alE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f|0;h=f+16|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(g|0,0,16);aDD(h|0,0,16);c_[j&127](a|0,b,d,e,g,h);i=f;return}function alF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g|0;j=c[(c[a>>2]|0)+24>>2]|0;aDD(h|0,0,16);c_[j&127](a|0,b,d,e,f,h);i=g;return}function alG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c_[c[(c[a>>2]|0)+24>>2]&127](a|0,b,d,e,f,g);return}function alH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+16>>2]&255](a|0,b,d,e,f);return}function alI(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+48>>2]&2047](a|0,b);return}function alJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+20>>2]&1023](a|0,b,d,e);return}function alK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;alL(a|0,b,c,d,e);return}function alL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+32|0;h=g|0;j=g+16|0;k=c[a+68>>2]|0;ak9(a,h|0,d,0);ak9(a,j|0,e,1);e=0;while(1){if((e|0)>=3){break}d=c[k+(b*76|0)+48+(e<<2)>>2]|0;l=c[k+(b*76|0)+60+(e<<2)>>2]|0;m=c[h+(e<<2)>>2]|0;n=a+76+(e<<2)|0;o=c[n>>2]|0;p=o+(d<<3)|0;q=m-(c[p>>2]|0)|0;r=c[j+(e<<2)>>2]|0;s=r-(c[o+(l<<3)>>2]|0)|0;c[p>>2]=m;c[(c[n>>2]|0)+(l<<3)>>2]=r;if((q|0)<0){am6(a,e,d,1)}if((s|0)>0){ana(a,e,l,1)}if((q|0)>0){anb(a,e,d,f,1)}if((s|0)<0){anc(a,e,l,f,1)}e=e+1|0}i=g;return}function alM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[9806]=(c[9806]|0)+1;d=aDx(143)|0;if((d|0)==0){e=0}else{f=-(d+4|0)&15;c[d+f>>2]=d;e=d+(f+4)|0}f=e;aq7(f,a,b,15e5,0,0);return f|0}function alN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[9806]=(c[9806]|0)+1;e=aDx(143)|0;if((e|0)==0){f=0}else{g=-(e+4|0)&15;c[e+g>>2]=e;f=e+(g+4)|0}g=f;aq7(g,a,b,d,0,0);return g|0}function alO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[9806]=(c[9806]|0)+1;f=aDx(143)|0;if((f|0)==0){g=0}else{h=-(f+4|0)&15;c[f+h>>2]=f;g=f+(h+4)|0}h=g;aq7(h,a,b,d,e,0);return h|0}function alP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[9806]=(c[9806]|0)+1;g=aDx(143)|0;if((g|0)==0){h=0}else{i=-(g+4|0)&15;c[g+i>>2]=g;h=g+(i+4)|0}i=h;aq7(i,a,b,d,e,f);return i|0}function alQ(a){a=a|0;ct[c[(c[a>>2]|0)+52>>2]&2047](a|0);return}function alR(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return c5[c[(c[a>>2]|0)+8>>2]&63](a|0,b,d,e,f,g,h,i,j)|0}function alS(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function alT(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+32>>2]&2047](a|0,b);return}function alU(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a|0)|0}function alV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+28>>2]&1023](a|0,b,d,e);return}function alW(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+44>>2]&511](a|0,b,d);return}function alX(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,d);return}function alY(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+16>>2]&2047](a,b);return}function alZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;return+(+db[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e,f))}function al_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;co[c[(c[a>>2]|0)+8>>2]&255](a,b,d,e,f);return}function al$(a,b,d){a=a|0;b=+b;d=d|0;cX[c[(c[a>>2]|0)+32>>2]&255](a,b,d);return}function al0(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43728]|0)==0){if((b1(43728)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+60>>2]&511](f,b,d);d=f;c[9618]=c[d>>2];c[9619]=c[d+4>>2];c[9620]=c[d+8>>2];c[9621]=c[d+12>>2];i=e;return 38472}function al1(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+52>>2]&511](a|0,b,d)|0}function al2(a){a=a|0;return cA[c[(c[a>>2]|0)+28>>2]&4095](a|0)|0}function al3(a){a=a|0;return cA[c[(c[a>>2]|0)+76>>2]&4095](a|0)|0}function al4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;avP(a|0,b,c,d);return}function al5(a){a=a|0;return cA[c[(c[a>>2]|0)+48>>2]&4095](a|0)|0}function al6(a){a=a|0;return cA[c[(c[a>>2]|0)+36>>2]&4095](a)|0}function al7(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43264]|0)==0){if((b1(43264)|0)==0){break}}}while(0);avB(f,b|0,d);d=f;c[9614]=c[d>>2];c[9615]=c[d+4>>2];c[9616]=c[d+8>>2];c[9617]=c[d+12>>2];i=e;return 38456}function al8(a,b){a=a|0;b=b|0;var d=0;d=a+28|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function al9(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a|0,b);return}function ama(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function amb(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43584]|0)==0){if((b1(43584)|0)==0){break}}}while(0);avC(f,b|0,d);d=f;c[9610]=c[d>>2];c[9611]=c[d+4>>2];c[9612]=c[d+8>>2];c[9613]=c[d+12>>2];i=e;return 38440}function amc(a,b){a=a|0;b=+b;return+(+cU[c[(c[a>>2]|0)+20>>2]&127](a|0,b))}function amd(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+44>>2]&1023](a))}function ame(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+80>>2]&511](a|0,b,d);return}function amf(a,b){a=a|0;b=+b;cq[c[(c[a>>2]|0)+40>>2]&1023](a,b);return}function amg(a){a=+a;var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(71)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;c[d>>2]=25528;c[d+4>>2]=8;g[d+28>>2]=a;g[d+44>>2]=a;return d|0}function amh(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;do{if((a[43424]|0)==0){if((b1(43424)|0)==0){break}}}while(0);dA[c[(c[b>>2]|0)+64>>2]&511](f,b,d);d=f;c[9606]=c[d>>2];c[9607]=c[d+4>>2];c[9608]=c[d+8>>2];c[9609]=c[d+12>>2];i=e;return 38424}function ami(a){a=a|0;var b=0,d=0.0;b=a|0;switch(c[a+4>>2]|0){case 10:{d=+g[b+44>>2];break};case 1:{d=+g[b+44>>2];break};case 13:{d=+g[b+44>>2];break};case 8:{d=+g[b+28>>2]*+g[b+12>>2];break};case 5:case 4:{d=+g[b+44>>2];break};case 0:{d=+g[b+44>>2];break};default:{d=+dh[c[(c[a>>2]|0)+44>>2]&1023](b)}}return+d}function amj(){return 0}function amk(a){a=a|0;return}function aml(a){a=a|0;return}function amm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function amn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function amo(a){a=a|0;return a+28|0}function amp(a){a=a|0;var b=0;b=c[a+4>>2]|0;return((b|0)>20?(b|0)<30:0)|0}function amq(a){a=a|0;return c[a+4>>2]|0}function amr(a,b){a=a|0;b=b|0;c[a+144>>2]=b;return}function ams(a){a=a|0;return a+104|0}function amt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=+g[c>>2]+-1.0;f=+g[c+4>>2]+-1.0;h=+g[c+8>>2]+-1.0;g[b+4>>2]=e;g[b+8>>2]=f;g[b+12>>2]=h;g[b+16>>2]=0.0;i=+g[d>>2]+1.0;j=+g[d+4>>2]+1.0;k=+g[d+8>>2]+1.0;g[b+20>>2]=i;g[b+24>>2]=j;g[b+28>>2]=k;g[b+32>>2]=0.0;g[b+36>>2]=65533.0/(i-e);g[b+40>>2]=65533.0/(j-f);g[b+44>>2]=65533.0/(k-h);g[b+48>>2]=0.0;a[b+60|0]=1;return}function amu(b,c,d,e){b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;f=+g[c>>2]-e;h=+g[c+4>>2]-e;i=+g[c+8>>2]-e;g[b+4>>2]=f;g[b+8>>2]=h;g[b+12>>2]=i;g[b+16>>2]=0.0;j=+g[d>>2]+e;k=+g[d+4>>2]+e;l=+g[d+8>>2]+e;g[b+20>>2]=j;g[b+24>>2]=k;g[b+28>>2]=l;g[b+32>>2]=0.0;g[b+36>>2]=65533.0/(j-f);g[b+40>>2]=65533.0/(k-h);g[b+44>>2]=65533.0/(l-i);g[b+48>>2]=0.0;a[b+60|0]=1;return}function amv(b){b=b|0;return(a[b+60|0]&1)!=0|0}function amw(b){b=b|0;return(c[b+168>>2]<<5)+172+(c[b+56>>2]<<((a[b+60|0]&1)==0?6:4))|0}function amx(a){a=a|0;return a+124|0}function amy(a){a=a|0;return a+148|0}function amz(a){a=a|0;return c[a>>2]|0}function amA(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function amB(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function amC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[b>>2]|0;b=c[d>>2]|0;if((e|0)==(b|0)){f=1;return f|0}else{g=e;h=b}while(1){i=a[g]|0;j=a[h]|0;if(i<<24>>24!=j<<24>>24){k=1618;break}if(i<<24>>24==0){l=0;break}g=g+1|0;h=h+1|0}do{if((k|0)==1618){h=(i&255)-(j&255)|0;if((h|0)<0){l=-1;break}else{m=h}l=(m|0)>0?1:m}}while(0);f=(l|0)==0;return f|0}function amD(a){a=a|0;return c[a+4>>2]|0}function amE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;b=d;d=c;while(1){e=a[d]|0;f=a[b]|0;if(e<<24>>24!=f<<24>>24){break}if(e<<24>>24==0){g=0;h=1633;break}b=b+1|0;d=d+1|0}if((h|0)==1633){return g|0}h=(e&255)-(f&255)|0;if((h|0)<0){g=-1;return g|0}else{g=h;return((g|0)>0?1:g)|0}return 0}function amF(a){a=a|0;return c[a+4>>2]|0}function amG(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function amH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+68>>2]&1023](a,b,d,e);return}function amI(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+8|0;f=e|0;g[f>>2]=d;dA[c[(c[a>>2]|0)+12>>2]&511](a|0,b,f);i=e;return}function amJ(a){a=a|0;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a|0))}function amK(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+56>>2]&2047](a|0,b);return}function amL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function amM(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;atv(a|0,b,c,d,e,f,g);return}function amN(a){a=a|0;azj(a);return}function amO(a,b,d){a=a|0;b=b|0;d=d|0;return(cS[c[(c[a>>2]|0)+16>>2]&511](a,b,d)|0)!=0|0}function amP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e)|0}function amQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qX(a,b,c,d);return}function amR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;azn(a,b,c,d);return}function amS(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0;h=i;i=i+32|0;j=h|0;k=h+16|0;aDD(j|0,0,16);aDD(k|0,0,16);if((a[b+60|0]&1)==0){azp(b,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],j,k);i=h;return}else{azq(b,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],j,k,c[b+56>>2]|0);i=h;return}}function amT(a,b,c){a=a|0;b=b|0;c=c|0;return azs(a,b,c)|0}function amU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rD(a,b,c,d);return}function amV(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+24>>2]&2047](a,b);return}function amW(a){a=a|0;return cA[c[(c[a>>2]|0)+12>>2]&4095](a)|0}function amX(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function amY(){var b=0,d=0,e=0;c[9806]=(c[9806]|0)+1;b=aDx(191)|0;if((b|0)==0){d=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;d=b+(e+4)|0}c[d>>2]=25328;c[d+52>>2]=278;a[d+60|0]=0;a[d+80|0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100|0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120|0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140|0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164|0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;g[d+4>>2]=-3.4028234663852886e+38;g[d+8>>2]=-3.4028234663852886e+38;g[d+12>>2]=-3.4028234663852886e+38;g[d+16>>2]=0.0;g[d+20>>2]=3.4028234663852886e+38;g[d+24>>2]=3.4028234663852886e+38;g[d+28>>2]=3.4028234663852886e+38;g[d+32>>2]=0.0;return d|0}function amZ(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);return}function am_(b,c){b=b|0;c=c|0;var d=0.0,f=0.0;do{if((a[43920]|0)==0){if((b1(43920)|0)==0){break}}}while(0);d=+((e[c+2>>1]|0)>>>0)/+g[b+40>>2]+ +g[b+8>>2];f=+((e[c+4>>1]|0)>>>0)/+g[b+44>>2]+ +g[b+12>>2];g[9602]=+((e[c>>1]|0)>>>0)/+g[b+36>>2]+ +g[b+4>>2];g[9603]=d;g[9604]=f;g[9605]=0.0;return 38408}function am$(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;if((a[b+60|0]&1)==0){azp(b,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],h,i);return}else{azq(b,d,e,+g[f>>2],+g[f+4>>2],+g[f+8>>2],h,i,c[b+56>>2]|0);return}}function am0(a){a=a|0;if((a|0)==0){return}aDB(a);return}function am1(a,b,d){a=a|0;b=b|0;d=d|0;return cS[c[(c[a>>2]|0)+8>>2]&511](a,b,d)|0}function am2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return dE[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e)|0}function am3(a){a=a|0;if((a|0)==0){return}ct[c[(c[a>>2]|0)+4>>2]&2047](a);return}function am4(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[a>>2]|0)+16>>2]&511](a,b,d);return}function am5(a){a=a|0;if((a|0)==0){return}aDB(a);return}function am6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;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;f=c[a+76+(b<<2)>>2]|0;g=c[f+(d<<3)+4>>2]|0;h=a+68|0;i=c[h>>2]|0;j=i+(g*76|0)+48+(b<<2)|0;k=1<>2]|0;if((c[g>>2]|0)>>>0>=d>>>0){break}f=c[i+4>>2]|0;s=c[h>>2]|0;if((d&1|0)==0){d=s+(f*76|0)+48+(b<<2)|0;c[d>>2]=(c[d>>2]|0)+1}else{do{if(e){if((c[m>>2]|0)>>>0<(c[s+(f*76|0)+48+(k<<2)>>2]|0)>>>0){break}if((c[s+(f*76|0)+60+(k<<2)>>2]|0)>>>0<(c[a>>2]|0)>>>0){break}if((c[q>>2]|0)>>>0<(c[s+(f*76|0)+48+(l<<2)>>2]|0)>>>0){break}if((c[s+(f*76|0)+60+(l<<2)>>2]|0)>>>0<(c[r>>2]|0)>>>0){break}d=c[n>>2]|0;t=d|0;u=c[(c[d>>2]|0)+8>>2]|0;d=s+(f*76|0)|0;cS[u&511](t,o,d)|0;t=c[p>>2]|0;if((t|0)==0){break}u=c[(c[t>>2]|0)+8>>2]|0;cS[u&511](t,o,d)|0}}while(0);d=s+(f*76|0)+60+(b<<2)|0;c[d>>2]=(c[d>>2]|0)+1}c[j>>2]=(c[j>>2]|0)-1;d=g;t=c[d>>2]|0;u=c[d+4>>2]|0;v=i;w=c[v+4>>2]|0;c[d>>2]=c[v>>2];c[d+4>>2]=w;c[v>>2]=t;c[v+4>>2]=u;g=g-8|0;i=i-8|0}return}function am7(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;while(1){d=aDx(8)|0;if((d|0)!=0){break}e=(C=c[10744]|0,c[10744]=C+0,C);if((e|0)==0){f=1720;break}dC[e&63]()}if((f|0)==1720){f=cd(4)|0;c[f>>2]=19096;bF(f|0,34368,676);return 0}f=d;c[d>>2]=b;e=0;g=-2128831035;while(1){h=a[b+e|0]|0;if(h<<24>>24==0){break}e=e+1|0;g=aa(g^h<<24>>24,16777619)|0}c[d+4>>2]=g;return f|0}function am8(){var a=0,b=0,d=0;while(1){a=aDx(4)|0;if((a|0)!=0){b=1738;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==1738){c[a>>2]=22888;return a|0}a=cd(4)|0;c[a>>2]=19096;bF(a|0,34368,676);return 0}function am9(a){a=a|0;return}function ana(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;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;f=c[a+76+(b<<2)>>2]|0;g=c[f+(d<<3)+4>>2]|0;h=a+68|0;i=c[h>>2]|0;j=1<>2]|0;if((d|0)==0){r=1755;break}f=c[i>>2]|0;if((c[g>>2]|0)>>>0>>0){r=1756;break}s=c[h>>2]|0;if((f&1|0)==0){do{if(e){if((c[l>>2]|0)>>>0<(c[s+(d*76|0)+48+(j<<2)>>2]|0)>>>0){break}if((c[s+(d*76|0)+60+(j<<2)>>2]|0)>>>0<(c[a>>2]|0)>>>0){break}if((c[o>>2]|0)>>>0<(c[s+(d*76|0)+48+(k<<2)>>2]|0)>>>0){break}if((c[s+(d*76|0)+60+(k<<2)>>2]|0)>>>0<(c[p>>2]|0)>>>0){break}f=c[m>>2]|0;t=f|0;u=c[(c[f>>2]|0)+8>>2]|0;f=s+((c[g+4>>2]|0)*76|0)|0;v=s+(d*76|0)|0;cS[u&511](t,f,v)|0;t=c[n>>2]|0;if((t|0)==0){break}u=c[(c[t>>2]|0)+8>>2]|0;cS[u&511](t,f,v)|0}}while(0);v=s+(d*76|0)+48+(b<<2)|0;c[v>>2]=(c[v>>2]|0)-1}else{v=s+(d*76|0)+60+(b<<2)|0;c[v>>2]=(c[v>>2]|0)-1}c[q>>2]=(c[q>>2]|0)+1;v=g;f=c[v>>2]|0;t=c[v+4>>2]|0;u=i;w=c[u+4>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=w;c[u>>2]=f;c[u+4>>2]=t;g=g+8|0;i=i+8|0}if((r|0)==1755){return}else if((r|0)==1756){return}}function anb(a,b,d,e,f){a=a|0;b=b|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;g=c[a+76+(b<<2)>>2]|0;h=a+68|0;i=(c[h>>2]|0)+((c[g+(d<<3)+4>>2]|0)*76|0)+48+(b<<2)|0;j=1<>2]|0;if((d|0)==0){o=1773;break}g=c[n>>2]|0;if((c[a>>2]|0)>>>0>>0){o=1772;break}p=c[h>>2]|0;if((g&1|0)==0){g=p+(d*76|0)+48+(b<<2)|0;c[g>>2]=(c[g>>2]|0)-1}else{g=c[a+4>>2]|0;do{if(f){if((c[p+(g*76|0)+60+(j<<2)>>2]|0)>>>0<(c[p+(d*76|0)+48+(j<<2)>>2]|0)>>>0){break}if((c[p+(d*76|0)+60+(j<<2)>>2]|0)>>>0<(c[p+(g*76|0)+48+(j<<2)>>2]|0)>>>0){break}if((c[p+(g*76|0)+60+(k<<2)>>2]|0)>>>0<(c[p+(d*76|0)+48+(k<<2)>>2]|0)>>>0){break}if((c[p+(d*76|0)+60+(k<<2)>>2]|0)>>>0<(c[p+(g*76|0)+48+(k<<2)>>2]|0)>>>0){break}q=c[l>>2]|0;r=q|0;s=c[(c[q>>2]|0)+12>>2]|0;q=p+(g*76|0)|0;t=p+(d*76|0)|0;dE[s&127](r,q,t,e)|0;r=c[m>>2]|0;if((r|0)==0){break}s=c[(c[r>>2]|0)+12>>2]|0;dE[s&127](r,q,t,e)|0}}while(0);g=p+(d*76|0)+60+(b<<2)|0;c[g>>2]=(c[g>>2]|0)-1}c[i>>2]=(c[i>>2]|0)+1;g=a;t=c[g>>2]|0;q=c[g+4>>2]|0;r=n;s=c[r+4>>2]|0;c[g>>2]=c[r>>2];c[g+4>>2]=s;c[r>>2]=t;c[r+4>>2]=q;a=a+8|0;n=n+8|0}if((o|0)==1772){return}else if((o|0)==1773){return}}function anc(a,b,d,e,f){a=a|0;b=b|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;g=c[a+76+(b<<2)>>2]|0;h=a+68|0;i=1<>2]|0)+((c[g+(d<<3)+4>>2]|0)*76|0)+60+(b<<2)|0;m=g+(d<<3)|0;n=g+(d-1<<3)|0;while(1){d=c[n>>2]|0;if((c[m>>2]|0)>>>0>=d>>>0){break}g=c[n+4>>2]|0;o=c[h>>2]|0;if((d&1|0)==0){d=c[m+4>>2]|0;do{if(f){if((c[o+(d*76|0)+60+(i<<2)>>2]|0)>>>0<(c[o+(g*76|0)+48+(i<<2)>>2]|0)>>>0){break}if((c[o+(g*76|0)+60+(i<<2)>>2]|0)>>>0<(c[o+(d*76|0)+48+(i<<2)>>2]|0)>>>0){break}if((c[o+(d*76|0)+60+(j<<2)>>2]|0)>>>0<(c[o+(g*76|0)+48+(j<<2)>>2]|0)>>>0){break}if((c[o+(g*76|0)+60+(j<<2)>>2]|0)>>>0<(c[o+(d*76|0)+48+(j<<2)>>2]|0)>>>0){break}p=c[k>>2]|0;q=p|0;r=c[(c[p>>2]|0)+12>>2]|0;p=o+(d*76|0)|0;s=o+(g*76|0)|0;dE[r&127](q,p,s,e)|0;q=c[l>>2]|0;if((q|0)==0){break}r=c[(c[q>>2]|0)+12>>2]|0;dE[r&127](q,p,s,e)|0}}while(0);d=o+(g*76|0)+48+(b<<2)|0;c[d>>2]=(c[d>>2]|0)+1}else{d=o+(g*76|0)+60+(b<<2)|0;c[d>>2]=(c[d>>2]|0)+1}c[a>>2]=(c[a>>2]|0)-1;d=m;s=c[d>>2]|0;p=c[d+4>>2]|0;q=n;r=c[q+4>>2]|0;c[d>>2]=c[q>>2];c[d+4>>2]=r;c[q>>2]=s;c[q+4>>2]=p;m=m-8|0;n=n-8|0}return}function and(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var 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,x=0;h=c[a+68+(d<<2)>>2]|0;i=f&65535;f=a+60|0;j=c[f>>2]|0;k=e[h+(i<<2)+2>>1]|0;l=j+(k<<6)+48+(d<<1)|0;m=1<>1]|0;if((e[k>>1]|0)>=(i&65535)){break}h=c[f>>2]|0;u=e[j+2>>1]|0;if((i&1)==0){i=h+(u<<6)+48+(d<<1)|0;b[i>>1]=(b[i>>1]|0)+1&65535}else{do{if(g){if((e[o>>1]|0)<(e[h+(u<<6)+48+(m<<1)>>1]|0)){break}if((e[h+(u<<6)+54+(m<<1)>>1]|0)<(e[a>>1]|0)){break}if((e[s>>1]|0)<(e[h+(u<<6)+48+(n<<1)>>1]|0)){break}if((e[h+(u<<6)+54+(n<<1)>>1]|0)<(e[t>>1]|0)){break}i=c[p>>2]|0;v=i|0;x=c[(c[i>>2]|0)+8>>2]|0;i=h+(u<<6)|0;cS[x&511](v,q,i)|0;v=c[r>>2]|0;if((v|0)==0){break}x=c[(c[v>>2]|0)+8>>2]|0;cS[x&511](v,q,i)|0}}while(0);i=h+(u<<6)+54+(d<<1)|0;b[i>>1]=(b[i>>1]|0)+1&65535}b[l>>1]=(b[l>>1]|0)-1&65535;i=k;v=e[i>>1]|e[i+2>>1]<<16;x=j;w=e[x>>1]|e[x+2>>1]<<16;b[i>>1]=w&65535;b[i+2>>1]=w>>16;w=v;b[x>>1]=w&65535;b[x+2>>1]=w>>16;k=k-4|0;j=j-4|0}return}function ane(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var 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,x=0,y=0;h=c[a+68+(d<<2)>>2]|0;i=f&65535;f=a+60|0;j=c[f>>2]|0;k=e[h+(i<<2)+2>>1]|0;l=1<>1]|0;if(i<<16>>16==0){t=1817;break}h=b[j>>1]|0;if((e[k>>1]|0)<(h&65535)){t=1818;break}u=c[f>>2]|0;v=i&65535;if((h&1)==0){do{if(g){if((e[n>>1]|0)<(e[u+(v<<6)+48+(l<<1)>>1]|0)){break}if((e[u+(v<<6)+54+(l<<1)>>1]|0)<(e[a>>1]|0)){break}if((e[q>>1]|0)<(e[u+(v<<6)+48+(m<<1)>>1]|0)){break}if((e[u+(v<<6)+54+(m<<1)>>1]|0)<(e[r>>1]|0)){break}h=c[o>>2]|0;i=h|0;x=c[(c[h>>2]|0)+8>>2]|0;h=u+((e[k+2>>1]|0)<<6)|0;y=u+(v<<6)|0;cS[x&511](i,h,y)|0;i=c[p>>2]|0;if((i|0)==0){break}x=c[(c[i>>2]|0)+8>>2]|0;cS[x&511](i,h,y)|0}}while(0);y=u+(v<<6)+48+(d<<1)|0;b[y>>1]=(b[y>>1]|0)-1&65535}else{y=u+(v<<6)+54+(d<<1)|0;b[y>>1]=(b[y>>1]|0)-1&65535}b[s>>1]=(b[s>>1]|0)+1&65535;y=k;h=e[y>>1]|e[y+2>>1]<<16;i=j;w=e[i>>1]|e[i+2>>1]<<16;b[y>>1]=w&65535;b[y+2>>1]=w>>16;w=h;b[i>>1]=w&65535;b[i+2>>1]=w>>16;k=k+4|0;j=j+4|0}if((t|0)==1817){return}else if((t|0)==1818){return}}function anf(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var 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;i=c[a+68+(d<<2)>>2]|0;j=f&65535;f=a+60|0;k=(c[f>>2]|0)+((e[i+(j<<2)+2>>1]|0)<<6)+48+(d<<1)|0;l=1<>1]|0;if(j<<16>>16==0){q=1834;break}i=b[p>>1]|0;if((e[a>>1]|0)<(i&65535)){q=1835;break}r=c[f>>2]|0;s=j&65535;if((i&1)==0){i=r+(s<<6)+48+(d<<1)|0;b[i>>1]=(b[i>>1]|0)-1&65535}else{i=e[a+2>>1]|0;do{if(h){if((e[r+(i<<6)+54+(l<<1)>>1]|0)<(e[r+(s<<6)+48+(l<<1)>>1]|0)){break}if((e[r+(s<<6)+54+(l<<1)>>1]|0)<(e[r+(i<<6)+48+(l<<1)>>1]|0)){break}if((e[r+(i<<6)+54+(m<<1)>>1]|0)<(e[r+(s<<6)+48+(m<<1)>>1]|0)){break}if((e[r+(s<<6)+54+(m<<1)>>1]|0)<(e[r+(i<<6)+48+(m<<1)>>1]|0)){break}j=c[n>>2]|0;t=j|0;u=c[(c[j>>2]|0)+12>>2]|0;j=r+(i<<6)|0;v=r+(s<<6)|0;dE[u&127](t,j,v,g)|0;t=c[o>>2]|0;if((t|0)==0){break}u=c[(c[t>>2]|0)+12>>2]|0;dE[u&127](t,j,v,g)|0}}while(0);i=r+(s<<6)+54+(d<<1)|0;b[i>>1]=(b[i>>1]|0)-1&65535}b[k>>1]=(b[k>>1]|0)+1&65535;i=a;v=e[i>>1]|e[i+2>>1]<<16;j=p;w=e[j>>1]|e[j+2>>1]<<16;b[i>>1]=w&65535;b[i+2>>1]=w>>16;w=v;b[j>>1]=w&65535;b[j+2>>1]=w>>16;a=a+4|0;p=p+4|0}if((q|0)==1834){return}else if((q|0)==1835){return}}function ang(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var 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;i=c[a+68+(d<<2)>>2]|0;j=f&65535;f=a+60|0;k=1<>2]|0)+((e[i+(j<<2)+2>>1]|0)<<6)+54+(d<<1)|0;o=i+(j<<2)|0;p=i+(j-1<<2)|0;while(1){j=b[p>>1]|0;if((e[o>>1]|0)>=(j&65535)){break}i=c[f>>2]|0;q=e[p+2>>1]|0;if((j&1)==0){j=e[o+2>>1]|0;do{if(h){if((e[i+(j<<6)+54+(k<<1)>>1]|0)<(e[i+(q<<6)+48+(k<<1)>>1]|0)){break}if((e[i+(q<<6)+54+(k<<1)>>1]|0)<(e[i+(j<<6)+48+(k<<1)>>1]|0)){break}if((e[i+(j<<6)+54+(l<<1)>>1]|0)<(e[i+(q<<6)+48+(l<<1)>>1]|0)){break}if((e[i+(q<<6)+54+(l<<1)>>1]|0)<(e[i+(j<<6)+48+(l<<1)>>1]|0)){break}r=c[m>>2]|0;s=r|0;t=c[(c[r>>2]|0)+12>>2]|0;r=i+(j<<6)|0;u=i+(q<<6)|0;dE[t&127](s,r,u,g)|0;s=c[n>>2]|0;if((s|0)==0){break}t=c[(c[s>>2]|0)+12>>2]|0;dE[t&127](s,r,u,g)|0}}while(0);j=i+(q<<6)+48+(d<<1)|0;b[j>>1]=(b[j>>1]|0)+1&65535}else{j=i+(q<<6)+54+(d<<1)|0;b[j>>1]=(b[j>>1]|0)+1&65535}b[a>>1]=(b[a>>1]|0)-1&65535;j=o;u=e[j>>1]|e[j+2>>1]<<16;r=p;w=e[r>>1]|e[r+2>>1]<<16;b[j>>1]=w&65535;b[j+2>>1]=w>>16;w=u;b[r>>1]=w&65535;b[r+2>>1]=w>>16;o=o-4|0;p=p-4|0}return}function anh(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ani(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=c[b>>2]|0;e=c[d>>2]|0;if((c[a+232>>2]|0)==4){f=a}else{f=0}if((c[e+232>>2]|0)==4){g=e}else{g=0}if((f|0)!=0){dA[c[(c[f>>2]|0)+28>>2]&511](f,d,b)}if((g|0)==0){return 0}dA[c[(c[g>>2]|0)+28>>2]&511](g,b,d);return 0}function anj(a,b,c){a=a|0;b=b|0;c=c|0;return}function ank(a){a=a|0;return}function anl(a){a=a|0;return}function anm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ann(a){a=a|0;return}function ano(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+0.0}function anp(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function anq(a,c){a=a|0;c=c|0;var d=0;if((b[c+4>>1]&b[a+10>>1])<<16>>16==0){d=0;return d|0}d=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;return d|0}function anr(a,c){a=a|0;c=c|0;var d=0;if((b[c+4>>1]&b[a+6>>1])<<16>>16==0){d=0;return d|0}d=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;return d|0}function ans(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a=c[b>>2]|0;f=c[d>>2]|0;if((c[a+232>>2]|0)==4){g=a}else{g=0}if((c[f+232>>2]|0)==4){h=f}else{h=0}if((g|0)!=0){dI[c[(c[g>>2]|0)+32>>2]&1023](g,d,e,b)}if((h|0)==0){return 0}dI[c[(c[h>>2]|0)+32>>2]&1023](h,b,e,d);return 0}function ant(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=b+4|0;g=c[f>>2]|0;if((g|0)>(d|0)){h=d;while(1){if((h|0)>=(g|0)){break}h=h+1|0}c[f>>2]=d;return}do{if((g|0)<(d|0)){h=b+8|0;if((c[h>>2]|0)>=(d|0)){break}do{if((d|0)==0){i=0}else{c[9806]=(c[9806]|0)+1;j=aDx((d<<2)+19|0)|0;if((j|0)==0){i=0;break}k=-(j+4|0)&15;c[j+k>>2]=j;i=j+(k+4)|0}}while(0);k=c[f>>2]|0;j=b+12|0;l=0;while(1){if((l|0)>=(k|0)){break}m=i+(l<<2)|0;if((m|0)!=0){c[m>>2]=c[(c[j>>2]|0)+(l<<2)>>2]}l=l+1|0}l=c[f>>2]|0;k=0;while(1){if((k|0)>=(l|0)){break}k=k+1|0}k=c[j>>2]|0;l=b+16|0;if((k|0)==0){n=l}else{if((a[l]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[k-4>>2]|0)}c[j>>2]=0;n=l}a[n]=1;c[j>>2]=i;c[h>>2]=d}}while(0);i=b+12|0;b=g;while(1){if((b|0)>=(d|0)){break}g=(c[i>>2]|0)+(b<<2)|0;if((g|0)!=0){c[g>>2]=c[e>>2]}b=b+1|0}c[f>>2]=d;return}function anu(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 h=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;h=i;i=i+16|0;j=h|0;k=+g[b+4>>2]- +g[a+4>>2];l=+g[b+8>>2]- +g[a+8>>2];g[e>>2]=+g[b>>2]- +g[a>>2];g[e+4>>2]=k;g[e+8>>2]=l;g[e+12>>2]=0.0;e=c+12|0;a=c+8|0;do{if(+g[e>>2]==+g[d+12>>2]){if(+g[a>>2]!=+g[d+8>>2]){m=a;n=1926;break}b=c+4|0;if(+g[b>>2]!=+g[d+4>>2]){m=a;n=1926;break}o=c|0;if(+g[o>>2]!=+g[d>>2]){p=o;q=b;r=a;break}aDD(f|0,0,16);i=h;return}else{m=a;n=1926}}while(0);if((n|0)==1926){p=c|0;q=c+4|0;r=m}ah6(j,c,d);l=-0.0- +g[p>>2];k=-0.0- +g[q>>2];s=-0.0- +g[r>>2];t=+g[e>>2];u=+g[j+12>>2];v=+g[j>>2];w=+g[j+4>>2];x=+g[j+8>>2];y=u*l+v*t+w*s-x*k;z=u*k+w*t+x*l-v*s;A=u*s+x*t+v*k-w*l;B=u*t-v*l-w*k-x*s;do{if(B<-1.0){C=-1.0}else{if(B<=1.0){C=B;break}C=1.0}}while(0);B=+V(+C)*2.0;C=y*y+z*z+A*A;if(C<1.4210854715202004e-14){D=0.0;E=0.0;F=1.0}else{s=1.0/+Q(+C);D=A*s;E=z*s;F=y*s}g[f>>2]=F*B;g[f+4>>2]=E*B;g[f+8>>2]=D*B;g[f+12>>2]=0.0;i=h;return}function anv(a){a=a|0;if((a|0)==0){return}aDB(a);return}function anw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;e=b+40|0;g[a+4>>2]=+g[e>>2];f=c[b>>2]|0;c[a+76>>2]=f;if(d){d=a+44|0;h=b+8|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];i=a+60|0;j=b+24|0;k=i;l=j;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];m=+g[e>>2];return+m}else{n=+g[b+8>>2];o=+g[b+12>>2];p=+g[b+16>>2];q=+g[f+20>>2]*n+ +g[f+24>>2]*o+ +g[f+28>>2]*p;r=+g[f+36>>2]*n+ +g[f+40>>2]*o+ +g[f+44>>2]*p;g[a+44>>2]=+g[f+4>>2]*n+ +g[f+8>>2]*o+ +g[f+12>>2]*p;g[a+48>>2]=q;g[a+52>>2]=r;g[a+56>>2]=0.0;i=a+60|0;j=b+24|0;k=i;l=j;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];m=+g[e>>2];return+m}return 0.0}function anx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;d=i;i=i+72|0;e=d|0;f=d+8|0;h=d+16|0;j=d+24|0;k=d+32|0;l=d+40|0;m=d+48|0;n=d+56|0;o=d+64|0;p=+g[c>>2];q=+g[b>>2];r=+g[c+16>>2];s=+g[b+4>>2];t=+g[c+32>>2];u=+g[b+8>>2];g[e>>2]=p*q+r*s+t*u;v=+g[c+4>>2];w=+g[c+20>>2];x=+g[c+36>>2];g[f>>2]=v*q+w*s+x*u;y=+g[c+8>>2];z=+g[c+24>>2];A=+g[c+40>>2];g[h>>2]=y*q+z*s+A*u;u=+g[b+16>>2];s=+g[b+20>>2];q=+g[b+24>>2];g[j>>2]=p*u+r*s+t*q;g[k>>2]=v*u+w*s+x*q;g[l>>2]=y*u+z*s+A*q;q=+g[b+32>>2];s=+g[b+36>>2];u=+g[b+40>>2];g[m>>2]=p*q+r*s+t*u;g[n>>2]=v*q+w*s+x*u;g[o>>2]=y*q+z*s+A*u;d$(a,e,f,h,j,k,l,m,n,o);i=d;return}function any(a){a=a|0;if((a|0)==0){return}aDB(a);return}function anz(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=a;n=h;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];o=+g[e+4>>2];p=+g[a+8>>2];q=+g[e+8>>2];r=+g[a+4>>2];s=o*p-q*r;t=+g[a>>2];u=+g[e>>2];v=q*t-u*p;q=u*r-o*t;o=+g[b>>2]*s+ +g[b+4>>2]*v+ +g[b+8>>2]*q;u=+g[b+16>>2]*s+ +g[b+20>>2]*v+ +g[b+24>>2]*q;w=+g[b+32>>2]*s+ +g[b+36>>2]*v+ +g[b+40>>2]*q;g[a+16>>2]=o;g[a+20>>2]=u;g[a+24>>2]=w;g[a+28>>2]=0.0;q=-0.0-t;t=-0.0-r;r=-0.0-p;p=+g[f+4>>2];v=+g[f+8>>2];s=p*r-v*t;x=+g[f>>2];y=v*q-x*r;r=x*t-p*q;q=+g[d>>2]*s+ +g[d+4>>2]*y+ +g[d+8>>2]*r;p=+g[d+16>>2]*s+ +g[d+20>>2]*y+ +g[d+24>>2]*r;t=+g[d+32>>2]*s+ +g[d+36>>2]*y+ +g[d+40>>2]*r;g[a+32>>2]=q;g[a+36>>2]=p;g[a+40>>2]=t;g[a+44>>2]=0.0;r=+g[i>>2]*o;y=+g[i+4>>2]*u;s=+g[i+8>>2]*w;g[a+48>>2]=r;g[a+52>>2]=y;g[a+56>>2]=s;g[a+60>>2]=0.0;x=+g[k>>2]*q;v=+g[k+4>>2]*p;z=+g[k+8>>2]*t;g[a+64>>2]=x;g[a+68>>2]=v;g[a+72>>2]=z;g[a+76>>2]=0.0;g[a+80>>2]=r*o+y*u+s*w+j+l+(x*q+v*p+z*t);return}function anA(a){a=a|0;if((a|0)==0){return}aDB(a);return}function anB(a){a=a|0;return}function anC(a){a=a|0;return}function anD(a,c){a=a|0;c=c|0;var d=0;if((b[c+4>>1]&b[a+14>>1])<<16>>16==0){d=0;return d|0}d=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;return d|0}function anE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[b>>2]=19512;d=b+116|0;e=c[d>>2]|0;f=0;while(1){if((f|0)>=(e|0)){break}f=f+1|0}f=b+124|0;e=c[f>>2]|0;g=b+128|0;if((e|0)==0){h=g}else{if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-4>>2]|0)}c[f>>2]=0;h=g}a[h]=1;c[f>>2]=0;c[d>>2]=0;c[b+120>>2]=0;d=b+96|0;f=c[d>>2]|0;h=0;while(1){if((h|0)>=(f|0)){break}h=h+1|0}h=b+104|0;f=c[h>>2]|0;g=b+108|0;if((f|0)==0){i=g}else{if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[h>>2]=0;i=g}a[i]=1;c[h>>2]=0;c[d>>2]=0;c[b+100>>2]=0;d=b+76|0;h=c[d>>2]|0;i=0;while(1){if((i|0)>=(h|0)){break}i=i+1|0}i=b+84|0;h=c[i>>2]|0;g=b+88|0;if((h|0)==0){j=g}else{if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[h-16+12>>2]|0)}c[i>>2]=0;j=g}a[j]=1;c[i>>2]=0;c[d>>2]=0;c[b+80>>2]=0;d=b+24|0;i=c[d>>2]|0;j=0;while(1){if((j|0)>=(i|0)){break}j=j+1|0}j=b+32|0;i=c[j>>2]|0;g=b+36|0;if((i|0)==0){k=g;a[k]=1;c[j>>2]=0;c[d>>2]=0;l=b+28|0;c[l>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[i-4>>2]|0)}c[j>>2]=0;k=g;a[k]=1;c[j>>2]=0;c[d>>2]=0;l=b+28|0;c[l>>2]=0;return}function anF(a){a=a|0;anE(a);if((a|0)==0){return}aDB(a);return}function anG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=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,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;f=i;i=i+32|0;h=f|0;j=f+16|0;k=d|0;l=b+8|0;c[l>>2]=c[k>>2];m=b+24|0;n=c[m>>2]|0;o=b+28|0;do{if((n|0)==(c[o>>2]|0)){p=(n|0)==0?1:n<<1;if((n|0)>=(p|0)){q=n;break}do{if((p|0)==0){r=0}else{c[9806]=(c[9806]|0)+1;s=aDx((p<<2)+19|0)|0;if((s|0)==0){r=0;break}t=-(s+4|0)&15;c[s+t>>2]=s;r=s+(t+4)|0}}while(0);t=c[m>>2]|0;s=b+32|0;u=0;while(1){if((u|0)>=(t|0)){break}v=r+(u<<2)|0;if((v|0)!=0){c[v>>2]=c[(c[s>>2]|0)+(u<<2)>>2]}u=u+1|0}u=c[m>>2]|0;t=0;while(1){if((t|0)>=(u|0)){break}t=t+1|0}t=c[s>>2]|0;v=b+36|0;if((t|0)==0){w=u;x=v}else{if((a[v]&1)==0){y=u}else{c[9804]=(c[9804]|0)+1;aDB(c[t-4>>2]|0);y=c[m>>2]|0}c[s>>2]=0;w=y;x=v}a[x]=1;c[s>>2]=r;c[o>>2]=p;q=w}else{q=n}}while(0);n=(c[b+32>>2]|0)+(q<<2)|0;if((n|0)==0){z=q}else{c[n>>2]=c[k>>2];z=c[m>>2]|0}c[m>>2]=z+1;if(e){e=h;z=d+8|0;c[e>>2]=c[z>>2];c[e+4>>2]=c[z+4>>2];c[e+8>>2]=c[z+8>>2];c[e+12>>2]=c[z+12>>2]}else{z=c[l>>2]|0;A=+g[d+8>>2];B=+g[d+12>>2];C=+g[d+16>>2];D=+g[z+20>>2]*A+ +g[z+24>>2]*B+ +g[z+28>>2]*C;E=+g[z+36>>2]*A+ +g[z+40>>2]*B+ +g[z+44>>2]*C;g[h>>2]=+g[z+4>>2]*A+ +g[z+8>>2]*B+ +g[z+12>>2]*C;g[h+4>>2]=D;g[h+8>>2]=E;g[h+12>>2]=0.0}anH(b+72|0,h);h=d+24|0;E=+g[h>>2];D=1.0-E;g[j>>2]=D*+g[b+40>>2]+ +g[b+56>>2]*E;g[j+4>>2]=D*+g[b+44>>2]+E*+g[b+60>>2];g[j+8>>2]=D*+g[b+48>>2]+E*+g[b+64>>2];anH(b+92|0,j);j=b+116|0;d=c[j>>2]|0;z=b+120|0;do{if((d|0)==(c[z>>2]|0)){l=(d|0)==0?1:d<<1;if((d|0)>=(l|0)){F=d;break}do{if((l|0)==0){G=0}else{c[9806]=(c[9806]|0)+1;e=aDx((l<<2)+19|0)|0;if((e|0)==0){G=0;break}m=-(e+4|0)&15;c[e+m>>2]=e;G=e+(m+4)|0}}while(0);p=c[j>>2]|0;s=b+124|0;u=0;while(1){if((u|0)>=(p|0)){break}m=G+(u<<2)|0;if((m|0)!=0){g[m>>2]=+g[(c[s>>2]|0)+(u<<2)>>2]}u=u+1|0}u=c[j>>2]|0;p=0;while(1){if((p|0)>=(u|0)){break}p=p+1|0}p=c[s>>2]|0;m=b+128|0;if((p|0)==0){H=u;I=m}else{if((a[m]&1)==0){J=u}else{c[9804]=(c[9804]|0)+1;aDB(c[p-4>>2]|0);J=c[j>>2]|0}c[s>>2]=0;H=J;I=m}a[I]=1;c[s>>2]=G;c[z>>2]=l;F=H}else{F=d}}while(0);d=(c[b+124>>2]|0)+(F<<2)|0;if((d|0)==0){K=F;L=K+1|0;c[j>>2]=L;M=b+4|0;N=+g[M>>2];i=f;return+N}g[d>>2]=+g[h>>2];K=c[j>>2]|0;L=K+1|0;c[j>>2]=L;M=b+4|0;N=+g[M>>2];i=f;return+N}function anH(b,d){b=b|0;d=d|0;var 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;e=b+4|0;f=c[e>>2]|0;g=b+8|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}do{if((h|0)==0){j=0}else{c[9806]=(c[9806]|0)+1;k=aDx((h<<4|4)+15|0)|0;if((k|0)==0){j=0;break}l=-(k+4|0)&15;c[k+l>>2]=k;j=k+(l+4)|0}}while(0);l=c[e>>2]|0;k=b+12|0;m=0;while(1){if((m|0)>=(l|0)){break}n=j+(m<<4)|0;if((n|0)!=0){o=n;n=(c[k>>2]|0)+(m<<4)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2]}m=m+1|0}m=c[e>>2]|0;l=0;while(1){if((l|0)>=(m|0)){break}l=l+1|0}l=c[k>>2]|0;n=b+16|0;if((l|0)==0){p=m;q=n}else{if((a[n]&1)==0){r=m}else{c[9804]=(c[9804]|0)+1;aDB(c[l-16+12>>2]|0);r=c[e>>2]|0}c[k>>2]=0;p=r;q=n}a[q]=1;c[k>>2]=j;c[g>>2]=h;i=p}else{i=f}}while(0);f=(c[b+12>>2]|0)+(i<<4)|0;if((f|0)==0){s=i;t=s+1|0;c[e>>2]=t;return}i=f;f=d;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];s=c[e>>2]|0;t=s+1|0;c[e>>2]=t;return}function anI(a){a=a|0;if((a|0)==0){return}aDB(a);return}function anJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=b+24|0;g[a+4>>2]=+g[e>>2];f=c[b>>2]|0;c[a+8>>2]=f;if(d){d=a+52|0;h=b+8|0;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2]}else{i=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+16>>2];l=+g[f+20>>2]*i+ +g[f+24>>2]*j+ +g[f+28>>2]*k;m=+g[f+36>>2]*i+ +g[f+40>>2]*j+ +g[f+44>>2]*k;g[a+52>>2]=+g[f+4>>2]*i+ +g[f+8>>2]*j+ +g[f+12>>2]*k;g[a+56>>2]=l;g[a+60>>2]=m;g[a+64>>2]=0.0}m=+g[e>>2];l=1.0-m;g[a+68>>2]=l*+g[a+20>>2]+ +g[a+36>>2]*m;g[a+72>>2]=l*+g[a+24>>2]+m*+g[a+40>>2];g[a+76>>2]=l*+g[a+28>>2]+m*+g[a+44>>2];return+(+g[e>>2])}function anK(a){a=a|0;if((a|0)==0){return}aDB(a);return}function anL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0;d=i;i=i+224|0;e=d|0;f=d+48|0;h=d+96|0;j=d+160|0;k=f;d$(f,a+68|0,a+84|0,a+100|0,a+72|0,a+88|0,a+104|0,a+76|0,a+92|0,a+108|0);l=-0.0- +g[a+116>>2];m=-0.0- +g[a+120>>2];n=-0.0- +g[a+124>>2];o=+g[f>>2]*l+ +g[f+4>>2]*m+ +g[f+8>>2]*n;p=+g[f+16>>2]*l+ +g[f+20>>2]*m+ +g[f+24>>2]*n;q=+g[f+32>>2]*l+ +g[f+36>>2]*m+ +g[f+40>>2]*n;r=j+48|0;s=j|0;do{s=s+16|0;}while((s|0)!=(r|0));r=j;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=j+16|0;r=f+16|0;c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[k+12>>2]=c[r+12>>2];r=j+32|0;k=f+32|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=j+48|0;g[k>>2]=o;r=j+52|0;g[r>>2]=p;f=j+56|0;g[f>>2]=q;g[j+60>>2]=0.0;s=e;anx(e,j|0,a+4|0);q=+g[a+52>>2];p=+g[a+56>>2];o=+g[a+60>>2];n=+g[j>>2]*q+ +g[j+4>>2]*p+ +g[j+8>>2]*o+ +g[k>>2];m=+g[j+16>>2]*q+ +g[j+20>>2]*p+ +g[j+24>>2]*o+ +g[r>>2];l=+g[j+32>>2]*q+ +g[j+36>>2]*p+ +g[j+40>>2]*o+ +g[f>>2];f=h+48|0;j=h|0;do{j=j+16|0;}while((j|0)!=(f|0));f=h;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];s=h+16|0;j=e+16|0;c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];j=h+32|0;s=e+32|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];g[h+48>>2]=n;g[h+52>>2]=m;g[h+56>>2]=l;g[h+60>>2]=0.0;s=b;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];f=b+16|0;s=h+16|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];c[f+8>>2]=c[s+8>>2];c[f+12>>2]=c[s+12>>2];s=b+32|0;f=h+32|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];f=b+48|0;b=h+48|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];i=d;return}function anM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;d=i;i=i+112|0;e=d|0;f=d+48|0;h=a+4|0;j=e;anx(e,b|0,a+68|0);k=+g[a+116>>2];l=+g[a+120>>2];m=+g[a+124>>2];n=+g[b>>2]*k+ +g[b+4>>2]*l+ +g[b+8>>2]*m+ +g[b+48>>2];o=+g[b+16>>2]*k+ +g[b+20>>2]*l+ +g[b+24>>2]*m+ +g[b+52>>2];p=+g[b+32>>2]*k+ +g[b+36>>2]*l+ +g[b+40>>2]*m+ +g[b+56>>2];b=f+48|0;q=f|0;do{q=q+16|0;}while((q|0)!=(b|0));b=f;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];j=f+16|0;q=e+16|0;c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];q=f+32|0;j=e+32|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];g[f+48>>2]=n;g[f+52>>2]=o;g[f+56>>2]=p;g[f+60>>2]=0.0;j=h;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];b=a+20|0;j=f+16|0;c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];j=a+36|0;b=f+32|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];b=a+52|0;a=f+48|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];i=d;return}function anN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0,i=0.0,j=0,k=0;d=a+8|0;e=+g[d>>2];if(+P(+e)>.7071067690849304){f=a+4|0;h=+g[f>>2];i=h*h+e*e;e=1.0/+Q(+i);g[b>>2]=0.0;j=b+4|0;g[j>>2]=e*(-0.0- +g[d>>2]);k=b+8|0;g[k>>2]=+g[f>>2]*e;g[c>>2]=i*e;f=a|0;g[c+4>>2]=+g[k>>2]*(-0.0- +g[f>>2]);g[c+8>>2]=+g[f>>2]*+g[j>>2];return}else{j=a|0;e=+g[j>>2];i=+g[a+4>>2];h=e*e+i*i;e=1.0/+Q(+h);a=b|0;g[a>>2]=e*(-0.0-i);i=+g[j>>2]*e;g[b+4>>2]=i;g[b+8>>2]=0.0;g[c>>2]=i*(-0.0- +g[d>>2]);g[c+4>>2]=+g[d>>2]*+g[a>>2];g[c+8>>2]=h*e;return}}function anO(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0;e=d|0;if((a[b+519|0]&1)!=0){c[e>>2]=0;c[d+4>>2]=0;return}c[e>>2]=3;f=d+4|0;c[f>>2]=3;d=c[b+24>>2]|0;h=c[b+28>>2]|0;anP(b,d+4|0,h+4|0,d+256|0,h+256|0);do{if((a[b+518|0]&1)!=0){h=c[e>>2]|0;c[e>>2]=h+1;d=c[f>>2]|0;c[f>>2]=d-1;i=+g[b+448>>2];if(+g[b+436>>2]>=i){break}if(+g[b+440>>2]>=i){break}c[e>>2]=h+2;c[f>>2]=d-2}}while(0);if((a[b+517|0]&1)==0){return}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)-1;return}function anP(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0.0,N=0.0,O=0,R=0,U=0,W=0,X=0.0,Z=0.0,_=0.0,$=0,aa=0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0,aH=0.0,aI=0.0,aJ=0.0,aK=0.0,aL=0.0,aM=0.0,aN=0.0,aO=0.0,aP=0.0,aQ=0.0,aR=0.0,aS=0.0,aT=0.0,aU=0.0,aV=0.0,aW=0.0,aX=0.0,aY=0.0,aZ=0.0,a_=0.0;j=i;i=i+368|0;k=j|0;l=j+48|0;m=j+96|0;n=j+160|0;o=j+224|0;q=j+288|0;r=j+304|0;s=j+320|0;t=j+336|0;u=j+352|0;v=b+496|0;g[v>>2]=0.0;g[b+492>>2]=0.0;w=b+517|0;a[w]=0;x=b+518|0;a[x]=0;do{if((a[b+544|0]&1)!=0){if((a[b+519|0]&1)!=0){break}y=+g[b+548>>2];z=+g[b+552>>2];A=+g[b+556>>2];B=+g[b+560>>2];C=2.0/(y*y+z*z+A*A+B*B);D=y*C;E=z*C;F=A*C;C=B*D;G=B*E;H=B*F;B=y*D;D=y*E;I=y*F;y=z*E;E=z*F;z=A*F;F=1.0-(y+z);A=D-H;J=I+G;K=D+H;H=1.0-(B+z);z=E-C;D=I-G;G=E+C;C=1.0-(B+y);L=l;anx(l,d|0,b+292|0);y=+g[b+340>>2];B=+g[b+344>>2];E=+g[b+348>>2];I=+g[d>>2]*y+ +g[d+4>>2]*B+ +g[d+8>>2]*E+ +g[d+48>>2];M=+g[d+16>>2]*y+ +g[d+20>>2]*B+ +g[d+24>>2]*E+ +g[d+52>>2];N=+g[d+32>>2]*y+ +g[d+36>>2]*B+ +g[d+40>>2]*E+ +g[d+56>>2];O=m+48|0;R=m|0;do{R=R+16|0;}while((R|0)!=(O|0));O=m;c[O>>2]=c[L>>2];c[O+4>>2]=c[L+4>>2];c[O+8>>2]=c[L+8>>2];c[O+12>>2]=c[L+12>>2];O=m+16|0;R=l+16|0;c[O>>2]=c[R>>2];c[O+4>>2]=c[R+4>>2];c[O+8>>2]=c[R+8>>2];c[O+12>>2]=c[R+12>>2];R=m+32|0;O=l+32|0;c[R>>2]=c[O>>2];c[R+4>>2]=c[O+4>>2];c[R+8>>2]=c[O+8>>2];c[R+12>>2]=c[O+12>>2];O=m+48|0;g[O>>2]=I;R=m+52|0;g[R>>2]=M;U=m+56|0;g[U>>2]=N;g[m+60>>2]=0.0;W=k;anx(k,e|0,b+356|0);E=+g[b+404>>2];B=+g[b+408>>2];y=+g[b+412>>2];X=+g[e>>2]*E+ +g[e+4>>2]*B+ +g[e+8>>2]*y+ +g[e+48>>2];Z=+g[e+16>>2]*E+ +g[e+20>>2]*B+ +g[e+24>>2]*y+ +g[e+52>>2];_=+g[e+32>>2]*E+ +g[e+36>>2]*B+ +g[e+40>>2]*y+ +g[e+56>>2];$=n+48|0;aa=n|0;do{aa=aa+16|0;}while((aa|0)!=($|0));$=n;c[$>>2]=c[W>>2];c[$+4>>2]=c[W+4>>2];c[$+8>>2]=c[W+8>>2];c[$+12>>2]=c[W+12>>2];$=n+16|0;aa=k+16|0;c[$>>2]=c[aa>>2];c[$+4>>2]=c[aa+4>>2];c[$+8>>2]=c[aa+8>>2];c[$+12>>2]=c[aa+12>>2];aa=n+32|0;$=k+32|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];g[n+48>>2]=X;g[n+52>>2]=Z;g[n+56>>2]=_;g[n+60>>2]=0.0;N=+g[n>>2];M=+g[n+4>>2];I=+g[n+8>>2];y=N*F+K*M+D*I;B=N*A+M*H+G*I;E=N*J+z*M+C*I;ab=+g[n+16>>2];ac=+g[n+20>>2];ad=+g[n+24>>2];ae=F*ab+K*ac+D*ad;af=A*ab+H*ac+G*ad;ag=J*ab+z*ac+C*ad;ah=+g[n+32>>2];ai=+g[n+36>>2];aj=+g[n+40>>2];ak=F*ah+K*ai+D*aj;al=A*ah+H*ai+G*aj;am=J*ah+z*ai+C*aj;an=+g[m>>2];ao=+g[m+16>>2];ap=+g[m+32>>2];aq=+g[m+4>>2];ar=+g[m+20>>2];as=+g[m+36>>2];at=+g[m+8>>2];au=+g[m+24>>2];av=+g[m+40>>2];aw=-0.0- +g[O>>2];ax=-0.0- +g[R>>2];ay=-0.0- +g[U>>2];az=an*aw+ao*ax+ap*ay;aA=aq*aw+ar*ax+as*ay;aB=at*aw+au*ax+av*ay;g[o>>2]=y*an+B*aq+E*at;g[o+4>>2]=y*ao+B*ar+E*au;g[o+8>>2]=y*ap+B*as+E*av;g[o+12>>2]=0.0;g[o+16>>2]=ae*an+af*aq+ag*at;g[o+20>>2]=ae*ao+af*ar+ag*au;g[o+24>>2]=ae*ap+af*as+ag*av;g[o+28>>2]=0.0;g[o+32>>2]=ak*an+al*aq+am*at;g[o+36>>2]=ak*ao+al*ar+am*au;g[o+40>>2]=ak*ap+al*as+am*av;g[o+44>>2]=0.0;g[o+48>>2]=N*0.0+M*0.0+I*0.0+X+(E*aB+(y*az+B*aA));g[o+52>>2]=ab*0.0+ac*0.0+ad*0.0+Z+(ag*aB+(ae*az+af*aA));g[o+56>>2]=ah*0.0+ai*0.0+aj*0.0+_+(am*aB+(ak*az+al*aA));g[o+60>>2]=0.0;ec(o|0,q);aA=+g[q>>2];al=+g[q+4>>2];az=+g[q+8>>2];g[b+464>>2]=0.0;ak=1.0/+Q(+(aA*aA+al*al+az*az));g[b+452>>2]=aA*ak;g[b+456>>2]=al*ak;g[b+460>>2]=az*ak;ak=+g[q+12>>2];az=ak<-1.0?-1.0:ak;ak=+V(+(az>1.0?1.0:az))*2.0;g[v>>2]=ak;if(+P(+ak)<1.1920928955078125e-7){i=j;return}a[x]=1;i=j;return}}while(0);ec(d|0,r);q=b+292|0;ec(q,s);ak=+g[r+12>>2];az=+g[s>>2];al=+g[r>>2];aA=+g[s+12>>2];aB=+g[r+4>>2];am=+g[s+8>>2];aj=+g[r+8>>2];ai=+g[s+4>>2];ah=ak*az+al*aA+aB*am-aj*ai;af=az*aj+(aA*aB+ak*ai)-al*am;ae=ak*am+aA*aj+al*ai-az*aB;ag=ak*aA-az*al-aB*ai-am*aj;ec(e|0,t);s=b+356|0;ec(s,u);aj=+g[t+12>>2];am=+g[u>>2];ai=+g[t>>2];aB=+g[u+12>>2];al=+g[t+4>>2];az=+g[u+8>>2];aA=+g[t+8>>2];ak=+g[u+4>>2];ad=aj*am+ai*aB+al*az-aA*ak;ac=am*aA+(aB*al+aj*ak)-ai*az;ab=aj*az+aB*aA+ai*ak-am*al;B=aj*aB-am*ai-al*ak-az*aA;aA=-0.0-ad;az=-0.0-ac;ak=-0.0-ab;al=ah*B+ag*aA+ae*az-af*ak;ai=ah*ak+(af*B+ag*az)-ae*aA;am=af*aA+(ae*B+ag*ak)-ah*az;aB=ag*B-ah*aA-af*az-ae*ak;aj=ai*0.0;y=am*0.0;E=aB+aj-y;I=aB*0.0;M=al*0.0;N=am+I-M;av=I+M-ai;M=-0.0-al;I=M-aj-y;y=-0.0-ai;aj=-0.0-am;as=N*aj+(aB*E+I*M)-av*y;ap=av*M+(aB*N+I*y)-E*aj;au=E*y+(aB*av+I*aj)-N*M;M=1.0/+Q(+(au*au+(as*as+ap*ap)));N=M*as;as=M*ap;ap=M*au;au=as*0.0;M=ap*0.0;aj=M+(au+N);do{if(aj<-.9999998807907104){if(+P(0.0)>.7071067690849304){aC=0.0;aD=p;aE=p;aF=0.0;break}aC=-0.0;aD=1.0;aE=0.0;aF=0.0}else{I=N*0.0;av=+Q(+((aj+1.0)*2.0));y=1.0/av;aC=(M-au)*y;aD=(I-ap)*y;aE=(as-I)*y;aF=av*.5}}while(0);as=1.0/+Q(+(aF*aF+(aE*aE+(aD*aD+aC*aC))));ap=aC*as;aC=aD*as;aD=aE*as;aE=aF*as;as=-0.0-ap;aF=-0.0-aC;au=-0.0-aD;M=am*aF+(al*aE+aB*as)-ai*au;aj=al*au+(ai*aE+aB*aF)-am*as;N=ai*as+(am*aE+aB*au)-al*aF;av=aB*aE-al*as-ai*aF-am*au;au=1.0/+Q(+(av*av+(N*N+(M*M+aj*aj))));am=au*M;M=au*aj;aj=au*N;N=au*av;av=+g[b+436>>2];au=+g[b+448>>2];u=av>2];if(aF1.0?1.0:ai))*2.0;do{if(as>1.1920928955078125e-7){ai=1.0/+Q(+(aD*aD+(ap*ap+aC*aC)));al=ap*ai;aB=aC*ai;y=aD*ai;if(+P(+aB)<=1.1920928955078125e-7){aH=al;aI=aB;aJ=y;aK=av;break}ai=y*y/(aB*aB);aH=al;aI=aB;aJ=y;aK=+Q(+((ai+1.0)/(1.0/(aF*aF)+ai/(av*av))))}else{aH=0.0;aI=0.0;aJ=0.0;aK=0.0}}while(0);_=+g[b+420>>2];Z=aK*_;if(as<=Z){break}a[x]=1;X=as-Z;if(as>2]=aL;g[v>>2]=X;if(+P(+aI)>1.1920928955078125e-7){X=+P(+(aI*(-0.0-aJ)/aI*(aF/av)));if(aJ<-0.0){aM=X}else{aM=-0.0-X}X=aM;Z=1.0/+Q(+(aI*aI+aH*aH+X*X));aN=aH*Z;aO=aI*Z;aP=Z*(-0.0-X)}else{aN=aH;aO=aI;aP=aJ}X=-0.0-aN;Z=-0.0-aO;_=-0.0-aP;C=ac*_+B*X-ab*Z;z=B*Z+ab*X-ad*_;J=B*_+ad*Z-ac*X;X=ad*aN-ac*Z-ab*_;_=z*ak+(X*aA+B*C)-J*az;Z=J*aA+(X*az+B*z)-C*ak;G=C*az+(B*J+X*ak)-z*aA;g[b+452>>2]=_;g[b+456>>2]=Z;g[b+460>>2]=G;g[b+464>>2]=0.0;aDD(b+528|0,0,16);g[b+484>>2]=1.0/(_*(+g[f>>2]*_+ +g[f+16>>2]*Z+ +g[f+32>>2]*G)+Z*(_*+g[f+4>>2]+Z*+g[f+20>>2]+G*+g[f+36>>2])+G*(_*+g[f+8>>2]+Z*+g[f+24>>2]+G*+g[f+40>>2])+(_*(_*+g[h>>2]+Z*+g[h+16>>2]+G*+g[h+32>>2])+Z*(_*+g[h+4>>2]+Z*+g[h+20>>2]+G*+g[h+36>>2])+G*(_*+g[h+8>>2]+Z*+g[h+24>>2]+G*+g[h+40>>2])))}}while(0);L2289:do{if((aG|0)==2138){aN=+g[q>>2];aP=+g[b+308>>2];aO=+g[b+324>>2];aJ=+g[d>>2];aI=+g[d+4>>2];aH=+g[d+8>>2];aM=aN*aJ+aP*aI+aO*aH;aL=+g[d+16>>2];aK=+g[d+20>>2];aD=+g[d+24>>2];aC=aN*aL+aP*aK+aO*aD;ap=+g[d+32>>2];aE=+g[d+36>>2];G=+g[d+40>>2];Z=aN*ap+aP*aE+aO*G;aO=+g[b+296>>2];aP=+g[b+312>>2];aN=+g[b+328>>2];_=aJ*aO+aI*aP+aH*aN;z=aL*aO+aK*aP+aD*aN;X=ap*aO+aE*aP+G*aN;aN=+g[b+300>>2];aP=+g[b+316>>2];aO=+g[b+332>>2];J=aJ*aN+aI*aP+aH*aO;aH=aL*aN+aK*aP+aD*aO;aD=ap*aN+aE*aP+G*aO;aO=+g[s>>2];G=+g[b+372>>2];aP=+g[b+388>>2];aE=aO*+g[e>>2]+G*+g[e+4>>2]+aP*+g[e+8>>2];aN=aO*+g[e+16>>2]+G*+g[e+20>>2]+aP*+g[e+24>>2];ap=aO*+g[e+32>>2]+G*+g[e+36>>2]+aP*+g[e+40>>2];aP=aM*aE+aC*aN+Z*ap;G=_*aE+z*aN+X*ap;aO=J*aE+aH*aN+aD*ap;do{if(av>2];U=+P(+G)<1.1920928955078125e-7;if(aK>2]=-0.0-(Z*aN-aC*ap);g[b+456>>2]=-0.0-(aM*ap-Z*aE);g[b+460>>2]=-0.0-(aC*aE-aM*aN);g[b+464>>2]=0.0;break L2289}if(U){aQ=aP;aR=G;aS=aO;break}a[x]=1;if(aKaK){aI=+S(+aK);aQ=aI;aR=0.0;aS=+T(+aK);break}if(aL>=-0.0-aK){aQ=aP;aR=0.0;aS=aO;break}aL=+S(+aK);aQ=aL;aR=0.0;aS=-0.0- +T(+aK)}else{if(+P(+aO)<1.1920928955078125e-7){aQ=aP;aR=G;aS=aO;break}a[x]=1;if(u){aQ=aP;aR=G;aS=aO;break}aK=+Y(+G,+aP);if(aK>av){aL=+S(+av);aQ=aL;aR=+T(+av);aS=0.0;break}if(aK>=-0.0-av){aQ=aP;aR=G;aS=0.0;break}aK=+S(+av);aQ=aK;aR=-0.0- +T(+av);aS=0.0}}while(0);G=J*aS+(_*aR+aM*aQ);aP=aH*aS+(z*aR+aC*aQ);aO=aD*aS+(X*aR+Z*aQ);aF=1.0/+Q(+(aO*aO+(G*G+aP*aP)));as=aF*G;G=aF*aP;aP=aF*aO;aO=aN*aP-ap*G;aF=ap*as-aE*aP;aP=aE*G-aN*as;g[b+464>>2]=0.0;as=+Q(+(aO*aO+aF*aF+aP*aP));g[v>>2]=as;G=1.0/as;g[b+452>>2]=G*(-0.0-aO);g[b+456>>2]=G*(-0.0-aF);g[b+460>>2]=G*(-0.0-aP)}}while(0);aQ=+g[b+444>>2];v=b+504|0;if(aQ<0.0){g[v>>2]=0.0;i=j;return}aR=N<-1.0?-1.0:N;aS=+V(+(aR>1.0?1.0:aR))*2.0;if(aS>3.1415927410125732){aR=N>1.0?-1.0:-0.0-N;aT=-0.0-am;aU=-0.0-M;aV=-0.0-aj;aW=+V(+(aR>1.0?1.0:aR))*2.0}else{aT=am;aU=M;aV=aj;aW=aS}g[v>>2]=aW;if(aW>1.1920928955078125e-7){aS=1.0/+Q(+(aV*aV+(aU*aU+aT*aT)));aX=aT*aS;aY=aU*aS;aZ=aV*aS}else{aX=aT;aY=aU;aZ=aV}aV=+g[b+420>>2];aU=aQ*aV;if(aW>aU+1.0e-4){a[w]=1;aT=aW-aU;if(aW>2]=a_;g[b+500>>2]=aT;aT=-0.0-aX;a_=-0.0-aY;aU=-0.0-aZ;aQ=ac*aU+B*aT-ab*a_;aV=B*a_+ab*aT-ad*aU;aW=B*aU+ad*a_-ac*aT;aT=ad*aX-ac*a_-ab*aU;aU=aV*ak+(aT*aA+B*aQ)-aW*az;ab=aW*aA+(aT*az+B*aV)-aQ*ak;a_=aQ*az+(B*aW+aT*ak)-aV*aA;g[b+468>>2]=aU;g[b+472>>2]=ab;g[b+476>>2]=a_;g[b+480>>2]=0.0;g[b+488>>2]=1.0/(aU*(+g[f>>2]*aU+ +g[f+16>>2]*ab+ +g[f+32>>2]*a_)+ab*(aU*+g[f+4>>2]+ab*+g[f+20>>2]+a_*+g[f+36>>2])+a_*(aU*+g[f+8>>2]+ab*+g[f+24>>2]+a_*+g[f+40>>2])+(aU*(aU*+g[h>>2]+ab*+g[h+16>>2]+a_*+g[h+32>>2])+ab*(aU*+g[h+4>>2]+ab*+g[h+20>>2]+a_*+g[h+36>>2])+a_*(aU*+g[h+8>>2]+ab*+g[h+24>>2]+a_*+g[h+40>>2])))}if((a[x]&1)==0){i=j;return}a_=-0.0-aX;ab=-0.0-aY;aY=-0.0-aZ;aZ=af*aY+ag*a_-ae*ab;aU=ag*ab+ae*a_-ah*aY;aA=ag*aY+ah*ab-af*a_;a_=-0.0-ah;aV=ah*aX-af*ab-ae*aY;aY=-0.0-af;af=-0.0-ae;g[b+528>>2]=aU*af+(aV*a_+ag*aZ)-aA*aY;g[b+532>>2]=aA*a_+(aV*aY+ag*aU)-aZ*af;g[b+536>>2]=aZ*aY+(ag*aA+aV*af)-aU*a_;g[b+540>>2]=0.0;i=j;return}function anQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+24>>2]|0;e=c[a+28>>2]|0;anR(a,b,d+4|0,e+4|0,d+256|0,e+256|0);return} +function anR(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.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.0,V=0,W=0,X=0,Y=0.0;k=i;i=i+112|0;l=k|0;m=k+48|0;anP(b,e,f,h,j);j=d+8|0;g[c[j>>2]>>2]=1.0;h=d+24|0;g[(c[j>>2]|0)+((c[h>>2]|0)+1<<2)>>2]=1.0;g[(c[j>>2]|0)+((c[h>>2]<<1)+2<<2)>>2]=1.0;j=e|0;n=+g[b+340>>2];o=e+4|0;p=+g[b+344>>2];q=e+8|0;r=+g[b+348>>2];s=+g[j>>2]*n+ +g[o>>2]*p+ +g[q>>2]*r;t=e+16|0;u=e+20|0;v=e+24|0;w=n*+g[t>>2]+p*+g[u>>2]+r*+g[v>>2];x=e+32|0;y=e+36|0;z=e+40|0;A=n*+g[x>>2]+p*+g[y>>2]+r*+g[z>>2];B=d+12|0;C=c[B>>2]|0;D=c[h>>2]|0;E=D<<1;g[C>>2]=0.0;g[C+4>>2]=A;g[C+8>>2]=-0.0-w;g[C+12>>2]=0.0;g[C+(D<<2)>>2]=-0.0-A;g[C+(D+1<<2)>>2]=0.0;g[C+(D+2<<2)>>2]=s;g[C+(D+3<<2)>>2]=0.0;g[C+(E<<2)>>2]=w;g[C+((E|1)<<2)>>2]=-0.0-s;g[C+(E+2<<2)>>2]=0.0;g[C+(E+3<<2)>>2]=0.0;r=+g[b+404>>2];p=+g[b+408>>2];n=+g[b+412>>2];F=+g[f>>2]*r+ +g[f+4>>2]*p+ +g[f+8>>2]*n;G=r*+g[f+16>>2]+p*+g[f+20>>2]+n*+g[f+24>>2];H=r*+g[f+32>>2]+p*+g[f+36>>2]+n*+g[f+40>>2];E=d+20|0;C=c[E>>2]|0;D=c[h>>2]|0;I=D<<1;g[C>>2]=0.0;g[C+4>>2]=-0.0-H;g[C+8>>2]=G;g[C+12>>2]=0.0;g[C+(D<<2)>>2]=H;g[C+(D+1<<2)>>2]=0.0;g[C+(D+2<<2)>>2]=-0.0-F;g[C+(D+3<<2)>>2]=0.0;g[C+(I<<2)>>2]=-0.0-G;g[C+((I|1)<<2)>>2]=F;g[C+(I+2<<2)>>2]=0.0;g[C+(I+3<<2)>>2]=0.0;I=b+584|0;C=d|0;n=+g[((c[I>>2]&2|0)==0?d+4|0:b+592|0)>>2]*+g[C>>2];D=d+28|0;J=d+36|0;K=d+40|0;L=b+588|0;M=d+32|0;d=e+48|0;g[c[D>>2]>>2]=n*(F+ +g[f+48>>2]-s- +g[d>>2]);g[c[J>>2]>>2]=-3.4028234663852886e+38;g[c[K>>2]>>2]=3.4028234663852886e+38;if((c[I>>2]&1|0)!=0){g[c[M>>2]>>2]=+g[L>>2]}N=e+52|0;g[(c[D>>2]|0)+(c[h>>2]<<2)>>2]=n*(G+ +g[f+52>>2]-w- +g[N>>2]);g[(c[J>>2]|0)+(c[h>>2]<<2)>>2]=-3.4028234663852886e+38;g[(c[K>>2]|0)+(c[h>>2]<<2)>>2]=3.4028234663852886e+38;if((c[I>>2]&1|0)!=0){g[(c[M>>2]|0)+(c[h>>2]<<2)>>2]=+g[L>>2]}O=e+56|0;g[(c[D>>2]|0)+(c[h>>2]<<1<<2)>>2]=n*(H+ +g[f+56>>2]-A- +g[O>>2]);g[(c[J>>2]|0)+(c[h>>2]<<1<<2)>>2]=-3.4028234663852886e+38;g[(c[K>>2]|0)+(c[h>>2]<<1<<2)>>2]=3.4028234663852886e+38;if((c[I>>2]&1|0)!=0){g[(c[M>>2]|0)+(c[h>>2]<<1<<2)>>2]=+g[L>>2]}L=(c[h>>2]|0)*3|0;L2345:do{if((a[b+518|0]&1)==0){P=L}else{f=c[B>>2]|0;Q=c[E>>2]|0;A=+g[b+448>>2];do{if(+g[b+436>>2]>2]>=A){break}R=l;anx(l,e|0,b+292|0);H=+g[b+340>>2];n=+g[b+344>>2];w=+g[b+348>>2];G=+g[j>>2]*H+ +g[o>>2]*n+ +g[q>>2]*w+ +g[d>>2];s=+g[t>>2]*H+ +g[u>>2]*n+ +g[v>>2]*w+ +g[N>>2];F=+g[x>>2]*H+ +g[y>>2]*n+ +g[z>>2]*w+ +g[O>>2];S=m+48|0;T=m|0;do{T=T+16|0;}while((T|0)!=(S|0));S=m;c[S>>2]=c[R>>2];c[S+4>>2]=c[R+4>>2];c[S+8>>2]=c[R+8>>2];c[S+12>>2]=c[R+12>>2];S=m+16|0;T=l+16|0;c[S>>2]=c[T>>2];c[S+4>>2]=c[T+4>>2];c[S+8>>2]=c[T+8>>2];c[S+12>>2]=c[T+12>>2];T=m+32|0;S=l+32|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[T+12>>2]=c[S+12>>2];g[m+48>>2]=G;g[m+52>>2]=s;g[m+56>>2]=F;g[m+60>>2]=0.0;w=+g[m+4>>2];n=+g[m+20>>2];H=+g[m+36>>2];p=+g[m+8>>2];r=+g[m+24>>2];U=+g[m+40>>2];S=(c[h>>2]|0)+L|0;g[f+(L<<2)>>2]=w;T=L+1|0;g[f+(T<<2)>>2]=n;V=L+2|0;g[f+(V<<2)>>2]=H;g[f+(S<<2)>>2]=p;W=S+1|0;g[f+(W<<2)>>2]=r;X=S+2|0;g[f+(X<<2)>>2]=U;g[Q+(L<<2)>>2]=-0.0-w;g[Q+(T<<2)>>2]=-0.0-n;g[Q+(V<<2)>>2]=-0.0-H;g[Q+(S<<2)>>2]=-0.0-p;g[Q+(W<<2)>>2]=-0.0-r;g[Q+(X<<2)>>2]=-0.0-U;Y=+g[C>>2]*+g[b+428>>2];X=b+452|0;W=b+456|0;V=b+460|0;g[(c[D>>2]|0)+(L<<2)>>2]=Y*(w*+g[X>>2]+n*+g[W>>2]+H*+g[V>>2]);g[(c[D>>2]|0)+(S<<2)>>2]=Y*(p*+g[X>>2]+r*+g[W>>2]+U*+g[V>>2]);g[(c[J>>2]|0)+(L<<2)>>2]=-3.4028234663852886e+38;g[(c[K>>2]|0)+(L<<2)>>2]=3.4028234663852886e+38;g[(c[J>>2]|0)+(S<<2)>>2]=-3.4028234663852886e+38;g[(c[K>>2]|0)+(S<<2)>>2]=3.4028234663852886e+38;P=(c[h>>2]|0)+S|0;break L2345}}while(0);A=+g[b+428>>2];U=A*+g[b+452>>2]*A;r=A*A*+g[b+456>>2];p=A*A*+g[b+460>>2];g[f+(L<<2)>>2]=U;S=L+1|0;g[f+(S<<2)>>2]=r;V=L+2|0;g[f+(V<<2)>>2]=p;g[Q+(L<<2)>>2]=-0.0-U;g[Q+(S<<2)>>2]=-0.0-r;g[Q+(V<<2)>>2]=-0.0-p;g[(c[D>>2]|0)+(L<<2)>>2]=+g[C>>2]*+g[b+424>>2]*+g[b+496>>2];if((c[I>>2]&4|0)!=0){g[(c[M>>2]|0)+(L<<2)>>2]=+g[b+596>>2]}g[(c[J>>2]|0)+(L<<2)>>2]=0.0;g[(c[K>>2]|0)+(L<<2)>>2]=3.4028234663852886e+38;P=(c[h>>2]|0)+L|0}}while(0);if((a[b+517|0]&1)==0){i=k;return}p=+g[b+428>>2];r=p*+g[b+468>>2]*p;U=p*p*+g[b+472>>2];A=p*p*+g[b+476>>2];L=c[B>>2]|0;B=c[E>>2]|0;g[L+(P<<2)>>2]=r;E=P+1|0;g[L+(E<<2)>>2]=U;h=P+2|0;g[L+(h<<2)>>2]=A;g[B+(P<<2)>>2]=-0.0-r;g[B+(E<<2)>>2]=-0.0-U;g[B+(h<<2)>>2]=-0.0-A;h=b+500|0;g[(c[D>>2]|0)+(P<<2)>>2]=+g[C>>2]*+g[b+424>>2]*+g[h>>2];if((c[I>>2]&4|0)!=0){g[(c[M>>2]|0)+(P<<2)>>2]=+g[b+596>>2]}if(+g[b+444>>2]<=0.0){g[(c[J>>2]|0)+(P<<2)>>2]=-3.4028234663852886e+38;g[(c[K>>2]|0)+(P<<2)>>2]=3.4028234663852886e+38;i=k;return}b=(c[J>>2]|0)+(P<<2)|0;if(+g[h>>2]>0.0){g[b>>2]=0.0;g[(c[K>>2]|0)+(P<<2)>>2]=3.4028234663852886e+38;i=k;return}else{g[b>>2]=-3.4028234663852886e+38;g[(c[K>>2]|0)+(P<<2)>>2]=0.0;i=k;return}}function anS(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0;d=i;i=i+176|0;e=d|0;f=d+48|0;h=d+96|0;j=d+144|0;k=d+160|0;if((a[b+519|0]&1)==0){i=d;return}g[b+32>>2]=0.0;g[b+512>>2]=0.0;g[b+508>>2]=0.0;aDD(b+568|0,0,16);l=b+24|0;if((a[b+516|0]&1)==0){m=c[l>>2]|0;n=+g[b+340>>2];o=+g[b+344>>2];p=+g[b+348>>2];q=+g[m+56>>2]+(n*+g[m+20>>2]+o*+g[m+24>>2]+p*+g[m+28>>2]);r=b+28|0;s=c[r>>2]|0;t=+g[b+404>>2];u=+g[b+408>>2];v=+g[b+412>>2];w=+g[s+56>>2]+(t*+g[s+20>>2]+u*+g[s+24>>2]+v*+g[s+28>>2]);x=+g[s+60>>2]+(t*+g[s+36>>2]+u*+g[s+40>>2]+v*+g[s+44>>2]);y=w-q;z=+g[m+52>>2]+(+g[m+4>>2]*n+ +g[m+8>>2]*o+ +g[m+12>>2]*p);A=+g[m+60>>2]+(n*+g[m+36>>2]+o*+g[m+40>>2]+p*+g[m+44>>2]);p=+g[s+52>>2]+(+g[s+4>>2]*t+ +g[s+8>>2]*u+ +g[s+12>>2]*v);v=p-z;u=x-A;t=v*v+y*y+u*u;if(t>1.1920928955078125e-7){o=1.0/+Q(+t);t=v*o;v=y*o;y=u*o;g[e>>2]=t;g[e+4>>2]=v;g[e+8>>2]=y;g[e+12>>2]=0.0;B=y;C=v;D=t}else{g[e>>2]=1.0;g[e+4>>2]=0.0;g[e+8>>2]=0.0;g[e+12>>2]=0.0;B=0.0;C=0.0;D=1.0}s=e+16|0;m=e+32|0;if(+P(+B)>.7071067690849304){t=B*B+C*C;v=1.0/+Q(+t);g[s>>2]=0.0;y=v*(-0.0-B);g[e+20>>2]=y;o=v*C;g[e+24>>2]=o;g[m>>2]=t*v;g[e+36>>2]=o*(-0.0-D);g[e+40>>2]=D*y}else{y=D*D+C*C;o=1.0/+Q(+y);v=o*(-0.0-C);g[s>>2]=v;C=o*D;g[e+20>>2]=C;g[e+24>>2]=0.0;g[m>>2]=C*(-0.0-B);g[e+36>>2]=B*v;g[e+40>>2]=y*o}m=f|0;s=f+4|0;E=f+8|0;F=f+12|0;G=f+16|0;H=f+20|0;I=f+24|0;J=f+28|0;K=f+32|0;L=f+36|0;M=f+40|0;N=f+44|0;O=h|0;R=h+4|0;S=h+8|0;T=h+12|0;U=h+16|0;V=h+20|0;W=h+24|0;X=h+28|0;Y=h+32|0;Z=h+36|0;_=h+40|0;$=h+44|0;aa=j|0;ab=j+4|0;ac=j+8|0;ad=j+12|0;ae=k|0;af=k+4|0;ag=k+8|0;ah=k+12|0;ai=0;while(1){aj=b+40+(ai*84|0)|0;if((aj|0)!=0){ak=c[l>>2]|0;g[m>>2]=+g[ak+4>>2];g[s>>2]=+g[ak+20>>2];g[E>>2]=+g[ak+36>>2];g[F>>2]=0.0;g[G>>2]=+g[ak+8>>2];g[H>>2]=+g[ak+24>>2];g[I>>2]=+g[ak+40>>2];g[J>>2]=0.0;g[K>>2]=+g[ak+12>>2];g[L>>2]=+g[ak+28>>2];g[M>>2]=+g[ak+44>>2];g[N>>2]=0.0;al=c[r>>2]|0;g[O>>2]=+g[al+4>>2];g[R>>2]=+g[al+20>>2];g[S>>2]=+g[al+36>>2];g[T>>2]=0.0;g[U>>2]=+g[al+8>>2];g[V>>2]=+g[al+24>>2];g[W>>2]=+g[al+40>>2];g[X>>2]=0.0;g[Y>>2]=+g[al+12>>2];g[Z>>2]=+g[al+28>>2];g[_>>2]=+g[al+44>>2];g[$>>2]=0.0;o=q- +g[ak+56>>2];y=A- +g[ak+60>>2];g[aa>>2]=z- +g[ak+52>>2];g[ab>>2]=o;g[ac>>2]=y;g[ad>>2]=0.0;y=w- +g[al+56>>2];o=x- +g[al+60>>2];g[ae>>2]=p- +g[al+52>>2];g[af>>2]=y;g[ag>>2]=o;g[ah>>2]=0.0;anz(aj,f,h,j,k,e+(ai<<4)|0,ak+388|0,+g[ak+336>>2],al+388|0,+g[al+336>>2])}al=ai+1|0;if((al|0)<3){ai=al}else{am=r;break}}}else{am=b+28|0}r=c[l>>2]|0;l=c[am>>2]|0;anP(b,r+4|0,l+4|0,r+256|0,l+256|0);i=d;return}function anT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=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.0,z=0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0,_=0,$=0.0,aa=0,ab=0.0,ac=0,ad=0.0,ae=0,af=0,ag=0,ah=0,ai=0.0,aj=0,ak=0.0,al=0,am=0.0,an=0.0,ao=0.0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0.0,aD=0,aE=0.0,aF=0.0,aG=0.0,aH=0.0,aI=0.0,aJ=0.0,aK=0.0,aL=0.0,aM=0.0,aN=0.0,aO=0.0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0.0,a2=0.0,a3=0.0,a4=0.0,a5=0.0,a6=0.0,a7=0.0,a8=0.0,a9=0.0,ba=0.0,bb=0.0,bc=0.0,bd=0.0,be=0.0,bf=0.0,bg=0,bh=0.0,bi=0.0,bj=0.0,bk=0.0,bl=0.0;h=i;i=i+464|0;j=h|0;k=h+16|0;l=h+24|0;m=h+40|0;n=h+48|0;o=h+112|0;p=h+176|0;q=h+192|0;r=h+208|0;s=h+272|0;t=h+336|0;u=h+400|0;if((a[b+519|0]&1)==0){i=h;return}v=b+24|0;w=c[v>>2]|0;x=b+340|0;y=+g[x>>2];z=b+344|0;A=+g[z>>2];B=b+348|0;C=+g[B>>2];D=+g[w+52>>2];E=D+(+g[w+4>>2]*y+ +g[w+8>>2]*A+ +g[w+12>>2]*C);F=+g[w+56>>2];G=F+(y*+g[w+20>>2]+A*+g[w+24>>2]+C*+g[w+28>>2]);H=+g[w+60>>2];I=H+(y*+g[w+36>>2]+A*+g[w+40>>2]+C*+g[w+44>>2]);J=b+28|0;K=c[J>>2]|0;L=b+404|0;C=+g[L>>2];M=b+408|0;A=+g[M>>2];N=b+412|0;y=+g[N>>2];O=+g[K+52>>2];P=O+(+g[K+4>>2]*C+ +g[K+8>>2]*A+ +g[K+12>>2]*y);R=+g[K+56>>2];S=R+(C*+g[K+20>>2]+A*+g[K+24>>2]+y*+g[K+28>>2]);T=+g[K+60>>2];U=T+(C*+g[K+36>>2]+A*+g[K+40>>2]+y*+g[K+44>>2]);L2399:do{if((a[b+516|0]&1)==0){y=E-D;A=G-F;C=I-H;V=P-O;W=S-R;X=U-T;K=d+504|0;Y=d+508|0;Z=d+512|0;_=d+520|0;$=+g[d+320>>2]+ +g[_>>2];aa=d+524|0;ab=+g[d+324>>2]+ +g[aa>>2];ac=d+528|0;ad=+g[d+328>>2]+ +g[ac>>2];ae=e+504|0;af=e+508|0;ag=e+512|0;ah=e+520|0;ai=+g[e+320>>2]+ +g[ah>>2];aj=e+524|0;ak=+g[e+324>>2]+ +g[aj>>2];al=e+528|0;am=+g[e+328>>2]+ +g[al>>2];an=+g[d+304>>2]+ +g[K>>2]+(C*ab-A*ad)-(+g[e+304>>2]+ +g[ae>>2]+(X*ak-W*am));ao=+g[d+308>>2]+ +g[Y>>2]+(y*ad-C*$)-(+g[e+308>>2]+ +g[af>>2]+(V*am-X*ai));am=+g[d+312>>2]+ +g[Z>>2]+(A*$-y*ab)-(+g[e+312>>2]+ +g[ag>>2]+(W*ai-V*ak));ak=E-P;ai=G-S;ab=I-U;ap=b+32|0;aq=d+336|0;ar=d+536|0;as=d+540|0;at=d+544|0;au=e+336|0;av=e+536|0;aw=e+540|0;ax=e+544|0;ay=0;az=w;while(1){$=1.0/+g[b+40+(ay*84|0)+80>>2];aA=b+40+(ay*84|0)|0;ad=+g[aA>>2];aB=b+40+(ay*84|0)+4|0;aC=+g[aB>>2];aD=b+40+(ay*84|0)+8|0;aE=+g[aD>>2];aF=$*((ak*ad+ai*aC+ab*aE)*-.30000001192092896/f)-$*(an*ad+ao*aC+am*aE);g[ap>>2]=+g[ap>>2]+aF;aE=+g[aD>>2];aC=+g[aB>>2];ad=A*aE-C*aC;$=+g[aA>>2];aG=C*$-y*aE;aH=y*aC-A*$;aI=W*aE-X*aC;aJ=X*$-V*aE;aK=V*aC-W*$;aL=+g[az+336>>2];if(+g[aq>>2]!=0.0){aM=aG*+g[az+292>>2]+ad*+g[az+288>>2]+aH*+g[az+296>>2];aN=aG*+g[az+276>>2]+ad*+g[az+272>>2]+aH*+g[az+280>>2];aO=aG*+g[az+260>>2]+ad*+g[az+256>>2]+aH*+g[az+264>>2];g[K>>2]=aF*$*aL+ +g[K>>2];g[Y>>2]=aF*aC*aL+ +g[Y>>2];g[Z>>2]=aF*aE*aL+ +g[Z>>2];aL=aN*aF*+g[as>>2];aN=aM*aF*+g[at>>2];g[_>>2]=aO*aF*+g[ar>>2]+ +g[_>>2];g[aa>>2]=aL+ +g[aa>>2];g[ac>>2]=aN+ +g[ac>>2]}aP=c[J>>2]|0;aN=+g[aP+336>>2];aL=-0.0-aF;if(+g[au>>2]!=0.0){aF=aJ*+g[aP+292>>2]+aI*+g[aP+288>>2]+aK*+g[aP+296>>2];aO=aJ*+g[aP+276>>2]+aI*+g[aP+272>>2]+aK*+g[aP+280>>2];aM=aJ*+g[aP+260>>2]+aI*+g[aP+256>>2]+aK*+g[aP+264>>2];aK=aN*+g[aB>>2]*aL;aI=aN*+g[aD>>2]*aL;g[ae>>2]=+g[ae>>2]+aN*+g[aA>>2]*aL;g[af>>2]=aK+ +g[af>>2];g[ag>>2]=aI+ +g[ag>>2];aI=aO*+g[aw>>2]*aL;aO=aF*+g[ax>>2]*aL;g[ah>>2]=aM*+g[av>>2]*aL+ +g[ah>>2];g[aj>>2]=aI+ +g[aj>>2];g[al>>2]=aO+ +g[al>>2]}aA=ay+1|0;if((aA|0)>=3){break L2399}ay=aA;az=c[v>>2]|0}}}while(0);do{if((a[b+544|0]&1)==0){U=+g[b+432>>2];w=d+320|0;if(U<=1.1920928955078125e-7){aQ=w;aR=d+520|0;aS=d+324|0;aT=d+524|0;aU=d+328|0;aV=d+528|0;aW=e+320|0;aX=e+520|0;aY=e+324|0;aZ=e+524|0;a_=e+328|0;a$=e+528|0;break}az=d+520|0;I=+g[az>>2];ay=d+324|0;al=d+524|0;S=+g[al>>2];aj=d+328|0;ah=d+528|0;G=+g[ah>>2];av=e+320|0;ax=e+520|0;aw=e+324|0;ag=e+524|0;af=e+328|0;ae=e+528|0;P=+g[av>>2]+ +g[ax>>2]-(+g[w>>2]+I);E=+g[aw>>2]+ +g[ag>>2]-(+g[ay>>2]+S);T=+g[af>>2]+ +g[ae>>2]-(+g[aj>>2]+G);R=P*P+E*E+T*T;if(R<=1.1920928955078125e-7){aQ=w;aR=az;aS=ay;aT=al;aU=aj;aV=ah;aW=av;aX=ax;aY=aw;aZ=ag;a_=af;a$=ae;break}O=1.0/+Q(+R);R=P*O;H=E*O;F=T*O;au=c[v>>2]|0;O=+g[au+256>>2];D=+g[au+272>>2];W=+g[au+288>>2];V=+g[au+260>>2];X=+g[au+276>>2];A=+g[au+292>>2];y=+g[au+264>>2];C=+g[au+280>>2];am=+g[au+296>>2];au=c[J>>2]|0;ao=U*(1.0/(R*(R*O+H*D+F*W)+H*(R*V+H*X+F*A)+F*(R*y+H*C+F*am)+(R*(R*+g[au+256>>2]+H*+g[au+272>>2]+F*+g[au+288>>2])+H*(R*+g[au+260>>2]+H*+g[au+276>>2]+F*+g[au+292>>2])+F*(R*+g[au+264>>2]+H*+g[au+280>>2]+F*+g[au+296>>2]))));F=P*ao;P=E*ao;E=T*ao;ao=+Q(+(E*E+(F*F+P*P)));T=1.0/ao;H=T*F;F=T*P;P=T*E;if(+g[d+336>>2]!=0.0){E=ao*0.0;ac=d+504|0;g[ac>>2]=E+ +g[ac>>2];ac=d+508|0;g[ac>>2]=E+ +g[ac>>2];ac=d+512|0;g[ac>>2]=E+ +g[ac>>2];E=(F*X+H*D+P*C)*ao*+g[d+540>>2];C=(F*A+H*W+P*am)*ao*+g[d+544>>2];g[az>>2]=(F*V+H*O+P*y)*ao*+g[d+536>>2]+I;g[al>>2]=E+S;g[ah>>2]=C+G;a0=c[J>>2]|0}else{a0=au}G=-0.0-ao;if(+g[e+336>>2]==0.0){aQ=w;aR=az;aS=ay;aT=al;aU=aj;aV=ah;aW=av;aX=ax;aY=aw;aZ=ag;a_=af;a$=ae;break}C=F*+g[a0+292>>2]+H*+g[a0+288>>2]+P*+g[a0+296>>2];S=F*+g[a0+276>>2]+H*+g[a0+272>>2]+P*+g[a0+280>>2];E=F*+g[a0+260>>2]+H*+g[a0+256>>2]+P*+g[a0+264>>2];P=ao*-0.0;au=e+504|0;g[au>>2]=P+ +g[au>>2];au=e+508|0;g[au>>2]=P+ +g[au>>2];au=e+512|0;g[au>>2]=P+ +g[au>>2];P=S*+g[e+540>>2]*G;S=C*+g[e+544>>2]*G;g[ax>>2]=E*+g[e+536>>2]*G+ +g[ax>>2];g[ag>>2]=P+ +g[ag>>2];g[ae>>2]=S+ +g[ae>>2];aQ=w;aR=az;aS=ay;aT=al;aU=aj;aV=ah;aW=av;aX=ax;aY=aw;aZ=ag;a_=af;a$=ae}else{ae=c[v>>2]|0;af=n;ag=ae+4|0;c[af>>2]=c[ag>>2];c[af+4>>2]=c[ag+4>>2];c[af+8>>2]=c[ag+8>>2];c[af+12>>2]=c[ag+12>>2];ag=n+16|0;af=ae+20|0;c[ag>>2]=c[af>>2];c[ag+4>>2]=c[af+4>>2];c[ag+8>>2]=c[af+8>>2];c[ag+12>>2]=c[af+12>>2];af=n+32|0;ag=ae+36|0;c[af>>2]=c[ag>>2];c[af+4>>2]=c[ag+4>>2];c[af+8>>2]=c[ag+8>>2];c[af+12>>2]=c[ag+12>>2];ag=n+48|0;af=ae+52|0;c[ag>>2]=c[af>>2];c[ag+4>>2]=c[af+4>>2];c[ag+8>>2]=c[af+8>>2];c[ag+12>>2]=c[af+12>>2];af=c[J>>2]|0;ag=o;ae=af+4|0;c[ag>>2]=c[ae>>2];c[ag+4>>2]=c[ae+4>>2];c[ag+8>>2]=c[ae+8>>2];c[ag+12>>2]=c[ae+12>>2];ae=o+16|0;ag=af+20|0;c[ae>>2]=c[ag>>2];c[ae+4>>2]=c[ag+4>>2];c[ae+8>>2]=c[ag+8>>2];c[ae+12>>2]=c[ag+12>>2];ag=o+32|0;ae=af+36|0;c[ag>>2]=c[ae>>2];c[ag+4>>2]=c[ae+4>>2];c[ag+8>>2]=c[ae+8>>2];c[ag+12>>2]=c[ae+12>>2];ae=o+48|0;ag=af+52|0;c[ae>>2]=c[ag>>2];c[ae+4>>2]=c[ag+4>>2];c[ae+8>>2]=c[ag+8>>2];c[ae+12>>2]=c[ag+12>>2];ag=d+320|0;ae=d+520|0;af=d+324|0;aw=d+524|0;S=+g[af>>2]+ +g[aw>>2];ax=d+328|0;av=d+528|0;P=+g[ax>>2]+ +g[av>>2];ah=p|0;g[ah>>2]=+g[ag>>2]+ +g[ae>>2];aj=p+4|0;g[aj>>2]=S;al=p+8|0;g[al>>2]=P;g[p+12>>2]=0.0;ay=e+320|0;az=e+520|0;w=e+324|0;au=e+524|0;P=+g[w>>2]+ +g[au>>2];ac=e+328|0;aa=e+528|0;S=+g[ac>>2]+ +g[aa>>2];_=q|0;g[_>>2]=+g[ay>>2]+ +g[az>>2];ar=q+4|0;g[ar>>2]=P;at=q+8|0;g[at>>2]=S;g[q+12>>2]=0.0;as=r|0;g[as>>2]=1.0;Z=r+4|0;Y=r+20|0;aDD(Z|0,0,16);g[Y>>2]=1.0;K=r+24|0;aq=r+40|0;aDD(K|0,0,16);g[aq>>2]=1.0;aDD(r+44|0,0,20);anY(n,0.0,0.0,0.0,p,f,r);ap=s|0;g[ap>>2]=1.0;aA=s+4|0;aD=s+20|0;aDD(aA|0,0,16);g[aD>>2]=1.0;aB=s+24|0;aP=s+40|0;aDD(aB|0,0,16);g[aP>>2]=1.0;aDD(s+44|0,0,20);anY(o,0.0,0.0,0.0,q,f,s);S=+g[b+548>>2];P=+g[b+552>>2];G=+g[b+556>>2];E=+g[b+560>>2];C=2.0/(S*S+P*P+G*G+E*E);ao=S*C;H=P*C;F=G*C;C=E*ao;I=E*H;y=E*F;E=S*ao;ao=S*H;O=S*F;S=P*H;H=P*F;P=G*F;F=1.0-(S+P);G=ao-y;V=O+I;am=ao+y;y=1.0-(E+P);P=H-C;ao=O-I;I=H+C;C=1.0-(E+S);S=+g[b+356>>2];E=+g[b+360>>2];H=+g[b+364>>2];O=ao*H+(E*am+S*F);W=H*I+(S*G+E*y);A=S*V+E*P+H*C;D=+g[b+372>>2];X=+g[b+376>>2];T=+g[b+380>>2];R=F*D+am*X+ao*T;U=G*D+y*X+I*T;an=V*D+P*X+C*T;ab=+g[b+388>>2];ai=+g[b+392>>2];ak=+g[b+396>>2];aO=F*ab+am*ai+ao*ak;ao=G*ab+y*ai+I*ak;I=V*ab+P*ai+C*ak;C=+g[b+292>>2];P=+g[b+308>>2];V=+g[b+324>>2];y=+g[b+296>>2];G=+g[b+312>>2];am=+g[b+328>>2];F=+g[b+300>>2];aI=+g[b+316>>2];aL=+g[b+332>>2];aM=-0.0- +g[x>>2];aF=-0.0- +g[z>>2];aK=-0.0- +g[B>>2];aN=C*aM+P*aF+V*aK;aJ=y*aM+G*aF+am*aK;aE=F*aM+aI*aF+aL*aK;aK=O*C+W*y+A*F;aF=O*P+W*G+A*aI;aM=O*V+W*am+A*aL;aC=R*C+U*y+an*F;$=R*P+U*G+an*aI;aH=R*V+U*am+an*aL;ad=aO*C+ao*y+I*F;F=aO*P+ao*G+I*aI;aI=aO*V+ao*am+I*aL;aL=S*0.0+E*0.0+H*0.0+ +g[L>>2]+(A*aE+(O*aN+W*aJ));W=D*0.0+X*0.0+T*0.0+ +g[M>>2]+(an*aE+(R*aN+U*aJ));U=ab*0.0+ai*0.0+ak*0.0+ +g[N>>2]+(I*aE+(aO*aN+ao*aJ));aJ=+g[ap>>2];ao=+g[aA>>2];aN=+g[s+8>>2];aO=+g[s+16>>2];aE=+g[aD>>2];I=+g[aB>>2];ak=+g[s+32>>2];ai=+g[s+36>>2];ab=+g[aP>>2];R=+g[s+48>>2]+(aN*U+(aJ*aL+ao*W));an=I*U+(aO*aL+aE*W)+ +g[s+52>>2];T=aL*ak+W*ai+U*ab+ +g[s+56>>2];g[t>>2]=aK*aJ+aC*ao+ad*aN;g[t+4>>2]=aF*aJ+$*ao+F*aN;g[t+8>>2]=aM*aJ+aH*ao+aI*aN;g[t+12>>2]=0.0;g[t+16>>2]=aK*aO+aC*aE+ad*I;g[t+20>>2]=aF*aO+$*aE+F*I;g[t+24>>2]=aM*aO+aH*aE+aI*I;g[t+28>>2]=0.0;g[t+32>>2]=aK*ak+aC*ai+ad*ab;g[t+36>>2]=aF*ak+$*ai+F*ab;g[t+40>>2]=aM*ak+aH*ai+aI*ab;g[t+44>>2]=0.0;g[t+48>>2]=R;g[t+52>>2]=an;g[t+56>>2]=T;g[t+60>>2]=0.0;T=-0.0-aL;aL=-0.0-W;W=-0.0-U;U=ad*W+(aK*T+aC*aL);an=F*W+(aF*T+$*aL);R=aI*W+(aM*T+aH*aL);aL=+g[as>>2];T=+g[Z>>2];W=+g[r+8>>2];ab=+g[r+16>>2];ai=+g[Y>>2];ak=+g[K>>2];I=+g[r+32>>2];aE=+g[r+36>>2];aO=+g[aq>>2];aN=U*aL+an*T+R*W+ +g[r+48>>2];ao=U*ab+an*ai+R*ak+ +g[r+52>>2];aJ=U*I+an*aE+R*aO+ +g[r+56>>2];g[u>>2]=aK*aL+aF*T+aM*W;g[u+4>>2]=aC*aL+$*T+aH*W;g[u+8>>2]=ad*aL+F*T+aI*W;g[u+12>>2]=0.0;g[u+16>>2]=aK*ab+aF*ai+aM*ak;g[u+20>>2]=aC*ab+$*ai+aH*ak;g[u+24>>2]=ad*ab+F*ai+aI*ak;g[u+28>>2]=0.0;g[u+32>>2]=aK*I+aF*aE+aM*aO;g[u+36>>2]=aC*I+$*aE+aH*aO;g[u+40>>2]=ad*I+F*aE+aI*aO;g[u+44>>2]=0.0;g[u+48>>2]=aN;g[u+52>>2]=ao;g[u+56>>2]=aJ;g[u+60>>2]=0.0;aJ=1.0/f;an6(n,t,j,k);ao=+g[k>>2];aN=aJ*+g[j>>2]*ao;aO=aJ*ao*+g[j+4>>2];aI=aJ*ao*+g[j+8>>2];an6(o,u,l,m);ao=+g[m>>2];aE=aN- +g[ah>>2];aN=aO- +g[aj>>2];aO=aI- +g[al>>2];aI=aJ*+g[l>>2]*ao- +g[_>>2];F=aJ*ao*+g[l+4>>2]- +g[ar>>2];I=aJ*ao*+g[l+8>>2]- +g[at>>2];ao=aE*aE+aN*aN+aO*aO;if(ao>1.1920928955078125e-7){aJ=1.0/+Q(+ao);ao=aE*aJ;ad=aN*aJ;aH=aO*aJ;at=c[v>>2]|0;a1=ao*(ao*+g[at+256>>2]+ad*+g[at+272>>2]+aH*+g[at+288>>2])+ad*(ao*+g[at+260>>2]+ad*+g[at+276>>2]+aH*+g[at+292>>2])+aH*(ao*+g[at+264>>2]+ad*+g[at+280>>2]+aH*+g[at+296>>2]);a2=ao;a3=ad;a4=aH}else{a1=0.0;a2=0.0;a3=0.0;a4=0.0}aH=aI*aI+F*F+I*I;if(aH>1.1920928955078125e-7){ad=1.0/+Q(+aH);aH=aI*ad;ao=F*ad;aJ=I*ad;at=c[J>>2]|0;a5=aH*(aH*+g[at+256>>2]+ao*+g[at+272>>2]+aJ*+g[at+288>>2])+ao*(aH*+g[at+260>>2]+ao*+g[at+276>>2]+aJ*+g[at+292>>2])+aJ*(aH*+g[at+264>>2]+ao*+g[at+280>>2]+aJ*+g[at+296>>2]);a6=aH;a7=ao;a8=aJ}else{a5=0.0;a6=0.0;a7=0.0;a8=0.0}aJ=a2*a1+a6*a5;ao=a3*a1+a7*a5;aH=a4*a1+a8*a5;ad=aH*aH+(aJ*aJ+ao*ao);if(ad<=1.1920928955078125e-7){aQ=ag;aR=ae;aS=af;aT=aw;aU=ax;aV=av;aW=ay;aX=az;aY=w;aZ=au;a_=ac;a$=aa;break}$=1.0/+Q(+ad);ad=aJ*$;aJ=ao*$;ao=aH*$;at=c[v>>2]|0;ar=at+256|0;_=at+272|0;al=at+288|0;aj=at+260|0;ah=at+276|0;aq=at+292|0;K=at+264|0;Y=at+280|0;Z=at+296|0;$=ad*(ad*+g[ar>>2]+aJ*+g[_>>2]+ao*+g[al>>2])+aJ*(ad*+g[aj>>2]+aJ*+g[ah>>2]+ao*+g[aq>>2])+ao*(ad*+g[K>>2]+aJ*+g[Y>>2]+ao*+g[Z>>2]);at=c[J>>2]|0;aH=ad*(ad*+g[at+256>>2]+aJ*+g[at+272>>2]+ao*+g[at+288>>2])+aJ*(ad*+g[at+260>>2]+aJ*+g[at+276>>2]+ao*+g[at+292>>2])+ao*(ad*+g[at+264>>2]+aJ*+g[at+280>>2]+ao*+g[at+296>>2]);ao=$+aH;aJ=1.0/(ao*ao);ao=aJ*(aE*$-aI*aH);aI=aJ*(aN*$-F*aH);F=aJ*(aO*$-I*aH);aH=+g[b+564>>2];if(aH<0.0){a9=ao;ba=aI;bb=F}else{if((a[b+545|0]&1)==0){bc=aH}else{bc=aH/$}as=b+568|0;$=+g[as>>2];aH=ao+$;aP=b+572|0;I=+g[aP>>2];aO=aI+I;aB=b+576|0;aJ=+g[aB>>2];aN=F+aJ;aE=+Q(+(aH*aH+aO*aO+aN*aN));if(aE>bc){ad=1.0/aE;bd=bc*aH*ad-$;be=bc*aO*ad-I;bf=bc*aN*ad-aJ}else{bd=ao;be=aI;bf=F}g[as>>2]=bd+$;g[aP>>2]=be+I;g[aB>>2]=bf+aJ;a9=bd;ba=be;bb=bf}aJ=+Q(+(bb*bb+(ba*ba+a9*a9)));I=1.0/aJ;$=a9*I;F=ba*I;aI=bb*I;if(+g[d+336>>2]!=0.0){I=F*+g[aq>>2]+$*+g[al>>2]+aI*+g[Z>>2];ao=F*+g[ah>>2]+$*+g[_>>2]+aI*+g[Y>>2];ad=F*+g[aj>>2]+$*+g[ar>>2]+aI*+g[K>>2];aN=aJ*0.0;K=d+504|0;g[K>>2]=aN+ +g[K>>2];K=d+508|0;g[K>>2]=aN+ +g[K>>2];K=d+512|0;g[K>>2]=aN+ +g[K>>2];aN=ao*aJ*+g[d+540>>2];ao=I*aJ*+g[d+544>>2];g[ae>>2]=ad*aJ*+g[d+536>>2]+ +g[ae>>2];g[aw>>2]=aN+ +g[aw>>2];g[av>>2]=ao+ +g[av>>2];bg=c[J>>2]|0}else{bg=at}ao=-0.0-aJ;if(+g[e+336>>2]==0.0){aQ=ag;aR=ae;aS=af;aT=aw;aU=ax;aV=av;aW=ay;aX=az;aY=w;aZ=au;a_=ac;a$=aa;break}aN=F*+g[bg+292>>2]+$*+g[bg+288>>2]+aI*+g[bg+296>>2];ad=F*+g[bg+276>>2]+$*+g[bg+272>>2]+aI*+g[bg+280>>2];I=F*+g[bg+260>>2]+$*+g[bg+256>>2]+aI*+g[bg+264>>2];aI=aJ*-0.0;at=e+504|0;g[at>>2]=aI+ +g[at>>2];at=e+508|0;g[at>>2]=aI+ +g[at>>2];at=e+512|0;g[at>>2]=aI+ +g[at>>2];aI=ad*+g[e+540>>2]*ao;ad=aN*+g[e+544>>2]*ao;g[az>>2]=I*+g[e+536>>2]*ao+ +g[az>>2];g[au>>2]=aI+ +g[au>>2];g[aa>>2]=ad+ +g[aa>>2];aQ=ag;aR=ae;aS=af;aT=aw;aU=ax;aV=av;aW=ay;aX=az;aY=w;aZ=au;a_=ac;a$=aa}}while(0);bb=+g[aQ>>2]+ +g[aR>>2];ba=+g[aS>>2]+ +g[aT>>2];a9=+g[aU>>2]+ +g[aV>>2];bf=+g[aW>>2]+ +g[aX>>2];be=+g[aY>>2]+ +g[aZ>>2];bd=+g[a_>>2]+ +g[a$>>2];do{if((a[b+518|0]&1)!=0){bc=+g[b+520>>2];a5=bc*+g[b+496>>2]*+g[b+424>>2]/f;a8=+g[b+452>>2];a1=+g[b+456>>2];a4=+g[b+460>>2];a7=(bf-bb)*a8+(be-ba)*a1+(bd-a9)*a4;if(a7>0.0){bh=a5+bc*a7*+g[b+428>>2]}else{bh=a5}a_=b+508|0;a5=+g[a_>>2];a7=a5+bh*+g[b+484>>2];bc=a7>0.0?a7:0.0;g[a_>>2]=bc;a7=bc-a5;a5=a8*a7;a8=a1*a7;a1=a4*a7;a7=+g[b+528>>2];a4=+g[b+532>>2];bc=+g[b+536>>2];a3=a7*a5+a8*a4+a1*bc;a6=a5-a7*a3;a7=a8-a4*a3;a4=a1-bc*a3;a3=+Q(+(a4*a4+(a6*a6+a7*a7)));bc=1.0/a3;a1=bc*a6;a6=bc*a7;a7=bc*a4;a_=c[v>>2]|0;if(+g[d+336>>2]!=0.0){a4=a6*+g[a_+292>>2]+a1*+g[a_+288>>2]+a7*+g[a_+296>>2];bc=a6*+g[a_+276>>2]+a1*+g[a_+272>>2]+a7*+g[a_+280>>2];a8=a6*+g[a_+260>>2]+a1*+g[a_+256>>2]+a7*+g[a_+264>>2];a5=a3*0.0;a_=d+504|0;g[a_>>2]=a5+ +g[a_>>2];a_=d+508|0;g[a_>>2]=a5+ +g[a_>>2];a_=d+512|0;g[a_>>2]=a5+ +g[a_>>2];a5=bc*a3*+g[d+540>>2];bc=a4*a3*+g[d+544>>2];g[aR>>2]=a8*a3*+g[d+536>>2]+ +g[aR>>2];g[aT>>2]=a5+ +g[aT>>2];g[aV>>2]=bc+ +g[aV>>2]}a_=c[J>>2]|0;bc=-0.0-a3;if(+g[e+336>>2]==0.0){break}a5=a6*+g[a_+292>>2]+a1*+g[a_+288>>2]+a7*+g[a_+296>>2];a8=a6*+g[a_+276>>2]+a1*+g[a_+272>>2]+a7*+g[a_+280>>2];a4=a6*+g[a_+260>>2]+a1*+g[a_+256>>2]+a7*+g[a_+264>>2];a7=a3*-0.0;a_=e+504|0;g[a_>>2]=a7+ +g[a_>>2];a_=e+508|0;g[a_>>2]=a7+ +g[a_>>2];a_=e+512|0;g[a_>>2]=a7+ +g[a_>>2];a7=a8*+g[e+540>>2]*bc;a8=a5*+g[e+544>>2]*bc;g[aX>>2]=a4*+g[e+536>>2]*bc+ +g[aX>>2];g[aZ>>2]=a7+ +g[aZ>>2];g[a$>>2]=a8+ +g[a$>>2]}}while(0);if((a[b+517|0]&1)==0){i=h;return}bh=+g[b+524>>2];a8=bh*+g[b+500>>2]*+g[b+424>>2]/f;a_=b+468|0;f=+g[a_>>2];aY=b+472|0;a7=+g[aY>>2];aW=b+476|0;bc=+g[aW>>2];a4=(bf-bb)*f+(be-ba)*a7+(bd-a9)*bc;if(a4>0.0){bi=a8+bh*a4*+g[b+428>>2]}else{bi=a8}aU=b+512|0;a8=+g[aU>>2];a4=a8+bi*+g[b+488>>2];bi=a4>0.0?a4:0.0;g[aU>>2]=bi;a4=bi-a8;aU=c[v>>2]|0;if(+g[d+336>>2]!=0.0){a8=a7*+g[aU+292>>2]+f*+g[aU+288>>2]+bc*+g[aU+296>>2];bi=a7*+g[aU+276>>2]+f*+g[aU+272>>2]+bc*+g[aU+280>>2];bh=a7*+g[aU+260>>2]+f*+g[aU+256>>2]+bc*+g[aU+264>>2];a9=a4*0.0;aU=d+504|0;g[aU>>2]=a9+ +g[aU>>2];aU=d+508|0;g[aU>>2]=a9+ +g[aU>>2];aU=d+512|0;g[aU>>2]=a9+ +g[aU>>2];a9=bi*a4*+g[d+540>>2];bi=a8*a4*+g[d+544>>2];g[aR>>2]=bh*a4*+g[d+536>>2]+ +g[aR>>2];g[aT>>2]=a9+ +g[aT>>2];g[aV>>2]=bi+ +g[aV>>2];bj=+g[a_>>2];bk=+g[aY>>2];bl=+g[aW>>2]}else{bj=f;bk=a7;bl=bc}aW=c[J>>2]|0;bc=-0.0-a4;if(+g[e+336>>2]==0.0){i=h;return}a7=bk*+g[aW+292>>2]+bj*+g[aW+288>>2]+bl*+g[aW+296>>2];f=bk*+g[aW+276>>2]+bj*+g[aW+272>>2]+bl*+g[aW+280>>2];bi=bk*+g[aW+260>>2]+bj*+g[aW+256>>2]+bl*+g[aW+264>>2];bl=a4*-0.0;aW=e+504|0;g[aW>>2]=bl+ +g[aW>>2];aW=e+508|0;g[aW>>2]=bl+ +g[aW>>2];aW=e+512|0;g[aW>>2]=bl+ +g[aW>>2];bl=f*+g[e+540>>2]*bc;f=a7*+g[e+544>>2]*bc;g[aX>>2]=bi*+g[e+536>>2]*bc+ +g[aX>>2];g[aZ>>2]=bl+ +g[aZ>>2];g[a$>>2]=f+ +g[a$>>2];i=h;return}function anU(a){a=a|0;return}function anV(a){a=a|0;return 204}function anW(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;if((b|0)==1|(b|0)==2){if(e>>>0<3){g[a+592>>2]=d;f=a+584|0;c[f>>2]=c[f>>2]|2;return}else{g[a+424>>2]=d;return}}else if((b|0)==3|(b|0)==4){if(e>>>0<3){g[a+588>>2]=d;e=a+584|0;c[e>>2]=c[e>>2]|1;return}else{g[a+596>>2]=d;e=a+584|0;c[e>>2]=c[e>>2]|4;return}}else{return}}function anX(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;do{if((b|0)==1|(b|0)==2){if(c>>>0<3){d=+g[a+592>>2];break}if((c-3|0)>>>0>=3){d=0.0;break}d=+g[a+424>>2]}else if((b|0)==3|(b|0)==4){if(c>>>0<3){d=+g[a+588>>2];break}if((c-3|0)>>>0>=3){d=0.0;break}d=+g[a+596>>2]}else{d=0.0}}while(0);return+d}function anY(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=e|0;f=+f;h=h|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;j=i;i=i+16|0;k=j|0;l=c*f+ +g[a+52>>2];c=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=l;g[h+56>>2]=c;g[h+60>>2]=0.0;c=+g[e>>2];l=+g[e+4>>2];b=+g[e+8>>2];d=+Q(+(c*c+l*l+b*b));if(d*f>.7853981852531433){m=.7853981852531433/f}else{m=d}if(m<.0010000000474974513){n=f*.5-m*f*f*f*.02083333395421505*m}else{n=+T(+(m*.5*f))/m}d=n*c;c=n*l;l=n*b;b=+S(+(m*f*.5));ec(a|0,k);f=+g[k>>2];m=+g[k+12>>2];n=+g[k+8>>2];o=+g[k+4>>2];p=b*f+d*m+c*n-l*o;q=l*f+(c*m+b*o)-d*n;r=l*m+b*n+d*o-c*f;s=b*m-d*f-c*o-l*n;n=1.0/+Q(+(s*s+(r*r+(p*p+q*q))));l=p*n;p=n*q;q=n*r;r=n*s;s=2.0/(r*r+(q*q+(l*l+p*p)));n=l*s;o=s*p;c=s*q;s=r*n;f=r*o;d=r*c;r=l*n;n=l*o;m=l*c;l=p*o;o=p*c;p=q*c;g[h>>2]=1.0-(p+l);g[h+4>>2]=n-d;g[h+8>>2]=m+f;g[h+12>>2]=0.0;g[h+16>>2]=d+n;g[h+20>>2]=1.0-(r+p);g[h+24>>2]=o-s;g[h+28>>2]=0.0;g[h+32>>2]=m-f;g[h+36>>2]=s+o;g[h+40>>2]=1.0-(r+l);g[h+44>>2]=0.0;i=j;return}function anZ(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=+S(+c);f=+T(+c);c=+g[b+436>>2];if(+P(+e)>1.1920928955078125e-7){h=f*f;i=e*e;j=h/i;k=+g[b+440>>2];l=+Q(+((j+1.0)/(1.0/(k*k)+j/(c*c))));m=i;n=h}else{l=c;m=e*e;n=f*f}c=+Q(+(m+0.0+n));n=l*.5;l=+T(+n)/c;c=l*0.0;m=e*l;e=l*(-0.0-f);f=+S(+n);n=m*0.0;l=e*0.0;h=f*d+n-l;i=f*0.0;j=c*0.0;k=e*d+i-j;o=i+j-m*d;j=-0.0-c;c=d*j-n-l;l=-0.0-m;m=-0.0-e;g[a>>2]=k*m+(f*h+c*j)-o*l;g[a+4>>2]=o*j+(f*k+c*l)-h*m;g[a+8>>2]=h*l+(f*o+c*m)-k*j;g[a+12>>2]=0.0;return}function an_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,R=0.0,U=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0;d=a+548|0;e=d;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+560|0;h=+g[f>>2];e=a+552|0;i=+g[e>>2];j=i*0.0;b=a+556|0;k=+g[b>>2];l=k*0.0;m=h+j-l;n=h*0.0;o=+g[d>>2];q=o*0.0;r=k+n-q;s=n+q-i;q=-0.0-o;n=q-j-l;l=-0.0-i;j=-0.0-k;t=r*j+(h*m+n*q)-s*l;u=s*q+(h*r+n*l)-m*j;v=m*l+(h*s+n*j)-r*q;q=u*0.0;r=v*0.0;j=r+(q+t);do{if(j<-.9999998807907104){if(+P(0.0)>.7071067690849304){w=0.0;x=p;y=p;z=0.0;break}w=-0.0;x=1.0;y=0.0;z=0.0}else{n=t*0.0;s=+Q(+((j+1.0)*2.0));l=1.0/s;w=(r-q)*l;x=(n-v)*l;y=(u-n)*l;z=s*.5}}while(0);u=1.0/+Q(+(z*z+(y*y+(x*x+w*w))));v=w*u;w=x*u;x=y*u;y=z*u;u=-0.0-v;z=-0.0-w;q=-0.0-x;r=y*o+h*u+k*z-i*q;j=o*q+(h*z+y*i)-k*u;t=h*q+y*k+i*u-o*z;s=y*h-o*u-i*z-k*q;q=1.0/+Q(+(s*s+(t*t+(r*r+j*j))));k=r*q;r=q*j;j=q*t;t=q*s;s=+g[a+436>>2];do{if(s<.05000000074505806){A=v;B=w;C=x;D=y}else{q=+g[a+440>>2];if(q<.05000000074505806){A=v;B=w;C=x;D=y;break}z=y<-1.0?-1.0:y;i=+V(+(z>1.0?1.0:z))*2.0;do{if(i>1.1920928955078125e-7){z=1.0/+Q(+(x*x+(v*v+w*w)));u=v*z;o=w*z;h=x*z;if(+P(+o)<=1.1920928955078125e-7){E=u;F=o;G=h;H=s;break}z=h*h/(o*o);E=u;F=o;G=h;H=+Q(+((z+1.0)/(1.0/(q*q)+z/(s*s))))}else{E=0.0;F=0.0;G=0.0;H=0.0}}while(0);if(+P(+i)<=1.1920928955078125e-7){A=v;B=w;C=x;D=y;break}do{if(i>H){I=H}else{q=-0.0-H;if(i>=q){I=i;break}I=q}}while(0);i=+Q(+(G*G+(F*F+E*E)));q=I*.5;z=+T(+q)/i;A=E*z;B=F*z;C=G*z;D=+S(+q)}}while(0);G=+g[a+444>>2];do{if(G<.05000000074505806){J=k;K=r;L=j;M=t}else{F=t<-1.0?-1.0:t;E=+V(+(F>1.0?1.0:F))*2.0;if(E>3.1415927410125732){F=t>1.0?-1.0:-0.0-t;N=-0.0-k;O=-0.0-r;R=-0.0-j;U=+V(+(F>1.0?1.0:F))*2.0}else{N=k;O=r;R=j;U=E}if(U>1.1920928955078125e-7){E=1.0/+Q(+(R*R+(O*O+N*N)));W=N*E;X=O*E;Y=R*E}else{W=N;X=O;Y=R}if(+P(+U)<=1.1920928955078125e-7){J=k;K=r;L=j;M=t;break}do{if(U>G){Z=G}else{E=-0.0-G;if(U>=E){Z=U;break}Z=E}}while(0);E=+Q(+(Y*Y+(X*X+W*W)));F=Z*.5;I=+T(+F)/E;J=W*I;K=X*I;L=Y*I;M=+S(+F)}}while(0);g[a+548>>2]=B*L+(A*M+D*J)-C*K;g[e>>2]=C*J+(B*M+D*K)-A*L;g[b>>2]=C*M+D*L+A*K-B*J;g[f>>2]=D*M-A*J-B*K-C*L;return}function an$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+292|0;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+308|0;e=b+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+324|0;f=b+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+340|0;e=b+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+356|0;f=d;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+372|0;e=d+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=a+388|0;f=d+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+404|0;e=d+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];ct[c[(c[a>>2]|0)+8>>2]&2047](a);return}function an0(a){a=a|0;if((a|0)==0){return}aDB(a);return}function an1(a){a=a|0;return 3}function an2(a,b){a=a|0;b=b|0;return}function an3(a,b){a=a|0;b=b|0;c[a+80>>2]=b;return}function an4(a){a=a|0;return c[a+80>>2]|0}function an5(a,b,c){a=a|0;b=b|0;c=c|0;aq3(a|0,b,c)|0;g[b+44>>2]=+g[a+292>>2];g[b+48>>2]=+g[a+296>>2];g[b+52>>2]=+g[a+300>>2];g[b+56>>2]=+g[a+304>>2];g[b+60>>2]=+g[a+308>>2];g[b+64>>2]=+g[a+312>>2];g[b+68>>2]=+g[a+316>>2];g[b+72>>2]=+g[a+320>>2];g[b+76>>2]=+g[a+324>>2];g[b+80>>2]=+g[a+328>>2];g[b+84>>2]=+g[a+332>>2];g[b+88>>2]=+g[a+336>>2];g[b+92>>2]=+g[a+340>>2];g[b+96>>2]=+g[a+344>>2];g[b+100>>2]=+g[a+348>>2];g[b+104>>2]=+g[a+352>>2];g[b+108>>2]=+g[a+356>>2];g[b+112>>2]=+g[a+360>>2];g[b+116>>2]=+g[a+364>>2];g[b+120>>2]=+g[a+368>>2];g[b+124>>2]=+g[a+372>>2];g[b+128>>2]=+g[a+376>>2];g[b+132>>2]=+g[a+380>>2];g[b+136>>2]=+g[a+384>>2];g[b+140>>2]=+g[a+388>>2];g[b+144>>2]=+g[a+392>>2];g[b+148>>2]=+g[a+396>>2];g[b+152>>2]=+g[a+400>>2];g[b+156>>2]=+g[a+404>>2];g[b+160>>2]=+g[a+408>>2];g[b+164>>2]=+g[a+412>>2];g[b+168>>2]=+g[a+416>>2];g[b+172>>2]=+g[a+436>>2];g[b+176>>2]=+g[a+440>>2];g[b+180>>2]=+g[a+444>>2];g[b+184>>2]=+g[a+420>>2];g[b+188>>2]=+g[a+424>>2];g[b+192>>2]=+g[a+428>>2];g[b+196>>2]=+g[a+432>>2];return 18136}function an6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;e=i;i=i+64|0;f=e|0;h=e+48|0;j=+g[a+20>>2];k=+g[a+40>>2];l=+g[a+24>>2];m=+g[a+36>>2];n=j*k-l*m;o=+g[a+32>>2];p=+g[a+16>>2];q=l*o-k*p;r=m*p-j*o;s=+g[a>>2];t=+g[a+4>>2];u=+g[a+8>>2];v=1.0/(n*s+t*q+r*u);w=n*v;n=v*(m*u-k*t);x=v*(l*t-j*u);y=q*v;q=v*(k*s-o*u);k=v*(p*u-l*s);l=r*v;r=v*(o*t-m*s);m=v*(j*s-p*t);t=+g[b>>2];p=+g[b+4>>2];s=+g[b+8>>2];j=+g[b+16>>2];v=+g[b+20>>2];o=+g[b+24>>2];u=+g[b+32>>2];z=+g[b+36>>2];A=+g[b+40>>2];g[f>>2]=w*t+y*p+l*s;g[f+4>>2]=t*n+p*q+r*s;g[f+8>>2]=t*x+p*k+m*s;g[f+12>>2]=0.0;g[f+16>>2]=w*j+y*v+l*o;g[f+20>>2]=n*j+q*v+r*o;g[f+24>>2]=x*j+k*v+m*o;g[f+28>>2]=0.0;g[f+32>>2]=w*u+y*z+l*A;g[f+36>>2]=n*u+q*z+r*A;g[f+40>>2]=x*u+k*z+m*A;g[f+44>>2]=0.0;ec(f,h);f=h|0;A=+g[f>>2];b=h+4|0;m=+g[b>>2];a=h+8|0;z=+g[a>>2];B=h+12|0;k=+g[B>>2];u=1.0/+Q(+(A*A+m*m+z*z+k*k));x=A*u;g[f>>2]=x;A=m*u;g[b>>2]=A;m=z*u;g[a>>2]=m;z=k*u;g[B>>2]=z;u=z<-1.0?-1.0:z;g[d>>2]=+V(+(u>1.0?1.0:u))*2.0;d=c|0;g[d>>2]=x;B=c+4|0;g[B>>2]=A;a=c+8|0;g[a>>2]=m;b=c+12|0;g[b>>2]=0.0;u=x*x+A*A+m*m;if(u<1.4210854715202004e-14){g[d>>2]=1.0;g[B>>2]=0.0;g[a>>2]=0.0;g[b>>2]=0.0;i=e;return}else{z=1.0/+Q(+u);g[d>>2]=x*z;g[B>>2]=z*A;g[a>>2]=z*m;i=e;return}}function an7(a){a=a|0;aof(a|0);if((a|0)==0){return}aDB(a);return}function an8(a){a=a|0;aof(a|0);return}function an9(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=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,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0;d=i;i=i+32|0;e=d|0;f=d+16|0;h=a+8|0;j=c[h>>2]|0;if((j|0)>0){k=a+16|0;l=f|0;m=f+4|0;n=f+8|0;o=e|0;p=e+4|0;q=e+8|0;r=e+12|0;s=f+12|0;t=a+76|0;u=a+24|0;v=0;w=j;while(1){j=c[(c[k>>2]|0)+(v<<2)>>2]|0;if((c[j+232>>2]&2|0)==0|(j|0)==0){x=w}else{y=c[j+192>>2]|0;dI[c[(c[y>>2]|0)+8>>2]&1023](y,j+4|0,e,f);z=+g[l>>2];A=+g[m>>2];B=+g[n>>2];C=+g[o>>2];D=+g[p>>2];E=+g[q>>2];F=+g[j+304>>2]*b;G=+g[j+308>>2]*b;H=+g[j+312>>2]*b;if(F>0.0){I=C;J=z+F}else{I=C+F;J=z}if(G>0.0){K=D;L=A+G}else{K=D+G;L=A}if(H>0.0){M=E;N=B+H}else{M=E+H;N=B}g[o>>2]=I;g[p>>2]=K;g[q>>2]=M;g[r>>2]=0.0;g[s>>2]=0.0;g[l>>2]=J+0.0;g[m>>2]=L+0.0;g[n>>2]=N+0.0;y=c[t>>2]|0;co[c[(c[y>>2]|0)+16>>2]&255](y,c[j+188>>2]|0,e,f,c[u>>2]|0);x=c[h>>2]|0}j=v+1|0;if((j|0)<(x|0)){v=j;w=x}else{O=t;P=u;break}}}else{O=a+76|0;P=a+24|0}u=c[O>>2]|0;cv[c[(c[u>>2]|0)+32>>2]&2047](u,c[P>>2]|0);P=a+28|0;g[P>>2]=b;g[a+40>>2]=1.0;c[a+32>>2]=0;u=a+36|0;c[u>>2]=2;O=a+24|0;t=c[O>>2]|0;if((t|0)==0){c[u>>2]=1;i=d;return}x=c[(c[t>>2]|0)+32>>2]|0;w=c[a+76>>2]|0;a=cA[c[(c[w>>2]|0)+36>>2]&4095](w)|0;dI[x&1023](t,a,P,c[O>>2]|0);c[u>>2]=1;i=d;return}function aoa(a,b){a=a|0;b=+b;var d=0,e=0,f=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;d=i;i=i+16|0;e=d|0;f=a|0;aDi();j=a|0;k=c[a+92>>2]|0;if((k|0)!=0){cq[k&1023](j,b)}k=a|0;l=a;ct[c[(c[l>>2]|0)+8>>2]&2047](k);m=a;cq[c[(c[m>>2]|0)+136>>2]&1023](f,b);g[a+28>>2]=b;c[a+32>>2]=0;c[a+48>>2]=cA[c[(c[a>>2]|0)+16>>2]&4095](k)|0;ct[c[(c[l>>2]|0)+40>>2]&2047](k);ct[c[(c[a>>2]|0)+148>>2]&2047](f);g[a+112>>2]=b;cv[c[(c[a>>2]|0)+152>>2]&2047](f,a+100|0);cq[c[(c[a>>2]|0)+176>>2]&1023](a,b);n=+g[a+40>>2];if(n<0.0){o=n;bK(17384,(l=i,i=i+8|0,h[l>>3]=o,l)|0)|0;i=l}cq[c[(c[m>>2]|0)+140>>2]&1023](f,n*b);aDo(16856);m=a+248|0;if((c[m>>2]|0)>0){l=a+256|0;p=0;do{q=c[(c[l>>2]|0)+(p<<2)>>2]|0;dF[c[(c[q>>2]|0)+8>>2]&255](q,k,b);p=p+1|0;}while((p|0)<(c[m>>2]|0))}m=c[9152]|0;p=m+16|0;k=(c[p>>2]|0)-1|0;c[p>>2]=k;do{if((k|0)==0){if((c[m+4>>2]|0)==0){r=m}else{b3(e|0,0)|0;l=c[10742]|0;q=m+8|0;g[q>>2]=+(((c[e+4>>2]|0)-(c[l+4>>2]|0)+(((c[e>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[q>>2];if((c[p>>2]|0)!=0){break}r=c[9152]|0}c[9152]=c[r+20>>2]}}while(0);aom(f,b);f=c[a+88>>2]|0;if((f|0)==0){i=d;return}cq[f&1023](j,b);i=d;return}function aob(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0;aty(b|0,d,e,h);c[b+88>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;g[b+100>>2]=.6000000238418579;g[b+104>>2]=1.0;g[b+108>>2]=.30000001192092896;g[b+116>>2]=0.0;g[b+124>>2]=20.0;c[b+120>>2]=10;g[b+132>>2]=.20000000298023224;g[b+136>>2]=.10000000149011612;g[b+140>>2]=0.0;g[b+128>>2]=1.0;c[b+144>>2]=0;g[b+148>>2]=-.019999999552965164;g[b+152>>2]=0.0;g[b+156>>2]=.8500000238418579;c[b+160>>2]=260;c[b+164>>2]=2;c[b+168>>2]=128;c[b>>2]=21464;h=b+172|0;c[h>>2]=f;a[b+196|0]=1;c[b+192>>2]=0;c[b+184>>2]=0;c[b+188>>2]=0;a[b+216|0]=1;c[b+212>>2]=0;c[b+204>>2]=0;c[b+208>>2]=0;g[b+220>>2]=0.0;g[b+224>>2]=-10.0;g[b+228>>2]=0.0;g[b+232>>2]=0.0;g[b+236>>2]=0.0;a[b+242|0]=0;a[b+260|0]=1;c[b+256>>2]=0;c[b+248>>2]=0;c[b+252>>2]=0;c[b+264>>2]=0;if((f|0)==0){c[9806]=(c[9806]|0)+1;f=aDx(147)|0;do{if((f|0)==0){i=0}else{e=-(f+4|0)&15;d=f+(e+4)|0;c[f+e>>2]=f;if((d|0)==0){i=0;break}c[d>>2]=19632;a[f+(e+24)|0]=1;c[f+(e+20)>>2]=0;c[f+(e+12)>>2]=0;c[f+(e|16)>>2]=0;a[f+(e+44)|0]=1;c[f+(e+40)>>2]=0;c[f+(e|32)>>2]=0;c[f+(e+36)>>2]=0;a[f+(e|64)|0]=1;c[f+(e+60)>>2]=0;c[f+(e+52)>>2]=0;c[f+(e+56)>>2]=0;a[f+(e+84)|0]=1;c[f+(e|80)>>2]=0;c[f+(e+72)>>2]=0;c[f+(e+76)>>2]=0;a[f+(e+104)|0]=1;c[f+(e+100)>>2]=0;c[f+(e+92)>>2]=0;c[f+(e|96)>>2]=0;a[f+(e+124)|0]=1;c[f+(e+120)>>2]=0;c[f+(e|112)>>2]=0;c[f+(e+116)>>2]=0;c[f+(e|128)>>2]=0;i=d}}while(0);c[h>>2]=i;a[b+241|0]=1}else{a[b+241|0]=0}c[9806]=(c[9806]|0)+1;i=aDx(87)|0;if((i|0)==0){j=0;k=b+176|0;c[k>>2]=j;l=b+240|0;a[l]=1;return}h=-(i+4|0)&15;f=i+(h+4)|0;c[i+h>>2]=i;if((f|0)==0){j=0;k=b+176|0;c[k>>2]=j;l=b+240|0;a[l]=1;return}c[f>>2]=20520;a[i+(h+24)|0]=1;c[i+(h+20)>>2]=0;c[i+(h+12)>>2]=0;c[i+(h|16)>>2]=0;a[i+(h+44)|0]=1;c[i+(h+40)>>2]=0;c[i+(h|32)>>2]=0;c[i+(h+36)>>2]=0;a[i+(h|64)|0]=1;c[i+(h+60)>>2]=0;c[i+(h+52)>>2]=0;c[i+(h+56)>>2]=0;a[i+(h+68)|0]=1;j=f;k=b+176|0;c[k>>2]=j;l=b+240|0;a[l]=1;return}function aoc(a){a=a|0;aof(a);if((a|0)==0){return}aDB(a);return}function aod(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,h=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<=0){return}f=a+16|0;a=0;g=e;while(1){e=c[(c[f>>2]|0)+(a<<2)>>2]|0;do{if((c[e+232>>2]&2|0)==0){h=g}else{if((e|0)==0){h=g;break}if((c[e+216>>2]|0)==2){h=g;break}if((c[e+204>>2]&2|0)==0){h=g;break}ap0(e,b);h=c[d>>2]|0}}while(0);e=a+1|0;if((e|0)<(h|0)){a=e;g=h}else{break}}return}function aoe(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d|0;aDo(16856);f=a+248|0;if((c[f>>2]|0)>0){h=a+256|0;j=a|0;a=0;do{k=c[(c[h>>2]|0)+(a<<2)>>2]|0;dF[c[(c[k>>2]|0)+8>>2]&255](k,j,b);a=a+1|0;}while((a|0)<(c[f>>2]|0))}f=c[9152]|0;a=f+16|0;j=(c[a>>2]|0)-1|0;c[a>>2]=j;if((j|0)!=0){i=d;return}do{if((c[f+4>>2]|0)==0){l=f}else{b3(e|0,0)|0;j=c[10742]|0;h=f+8|0;g[h>>2]=+(((c[e+4>>2]|0)-(c[j+4>>2]|0)+(((c[e>>2]|0)-(c[j>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[h>>2];if((c[a>>2]|0)==0){l=c[9152]|0;break}else{i=d;return}}}while(0);c[9152]=c[l+20>>2];i=d;return}function aof(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=21464;do{if((a[b+240|0]&1)!=0){d=b+176|0;e=c[d>>2]|0;ct[c[c[e>>2]>>2]&2047](e);e=c[d>>2]|0;if((e|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[e-68+64>>2]|0)}}while(0);do{if((a[b+241|0]&1)!=0){e=b+172|0;d=c[e>>2]|0;ct[c[c[d>>2]>>2]&2047](d);d=c[e>>2]|0;if((d|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}}while(0);d=b+248|0;e=b+256|0;f=c[e>>2]|0;g=b+260|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+252>>2]=0;d=b+204|0;e=b+212|0;g=c[e>>2]|0;f=b+216|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+208>>2]=0;d=b+184|0;e=b+192|0;f=c[e>>2]|0;g=b+196|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+188|0;c[h>>2]=0;i=b|0;atA(i);return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+188|0;c[h>>2]=0;i=b|0;atA(i);return}function aog(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+16|0;d=b|0;aDo(17208);e=a|0;atR(e);f=a;L2701:do{if((cA[c[(c[f>>2]|0)+16>>2]&4095](e)|0)!=0){h=cA[c[(c[f>>2]|0)+16>>2]&4095](e)|0;if(((cA[c[(c[h>>2]|0)+48>>2]&4095](h)|0)&6144|0)==0){break}h=a;j=cA[c[(c[a>>2]|0)+100>>2]&4095](a)|0;while(1){k=j-1|0;if((j|0)<=0){break L2701}aoh(a,dj[c[(c[h>>2]|0)+104>>2]&511](a,k)|0);j=k}}}while(0);do{if((cA[c[(c[f>>2]|0)+16>>2]&4095](e)|0)!=0){j=cA[c[(c[f>>2]|0)+16>>2]&4095](e)|0;if(((cA[c[(c[j>>2]|0)+48>>2]&4095](j)|0)&3|0)==0){break}if((cA[c[(c[f>>2]|0)+16>>2]&4095](e)|0)==0){break}j=cA[c[(c[f>>2]|0)+16>>2]&4095](e)|0;if((cA[c[(c[j>>2]|0)+48>>2]&4095](j)|0)==0){break}j=a+248|0;if((c[j>>2]|0)<=0){break}h=a+256|0;k=a+80|0;l=0;do{m=c[(c[h>>2]|0)+(l<<2)>>2]|0;cv[c[(c[m>>2]|0)+12>>2]&2047](m,c[k>>2]|0);l=l+1|0;}while((l|0)<(c[j>>2]|0))}}while(0);a=c[9152]|0;e=a+16|0;f=(c[e>>2]|0)-1|0;c[e>>2]=f;if((f|0)!=0){i=b;return}do{if((c[a+4>>2]|0)==0){n=a}else{b3(d|0,0)|0;f=c[10742]|0;j=a+8|0;g[j>>2]=+(((c[d+4>>2]|0)-(c[f+4>>2]|0)+(((c[d>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[j>>2];if((c[e>>2]|0)==0){n=c[9152]|0;break}else{i=b;return}}}while(0);c[9152]=c[n+20>>2];i=b;return}function aoh(b,d){b=b|0;d=d|0;var e=0,f=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0,ak=0,al=0,am=0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0;e=i;i=i+1392|0;f=e|0;h=e+48|0;j=e+96|0;k=e+144|0;l=e+192|0;m=e+240|0;n=e+288|0;o=e+336|0;p=e+384|0;q=e+448|0;r=e+512|0;s=e+576|0;t=e+592|0;u=e+608|0;v=e+624|0;w=e+688|0;x=e+752|0;y=e+768|0;z=e+784|0;A=e+800|0;B=e+816|0;C=e+880|0;D=e+944|0;E=e+960|0;F=e+976|0;G=e+992|0;H=e+1008|0;I=e+1072|0;J=e+1088|0;K=e+1104|0;L=e+1120|0;M=e+1136|0;N=e+1152|0;O=e+1168|0;P=e+1184|0;Q=e+1200|0;R=e+1216|0;U=e+1232|0;V=e+1296|0;W=e+1312|0;X=e+1328|0;Y=e+1344|0;Z=e+1360|0;_=e+1376|0;$=b|0;aa=b;b=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;ab=(cA[c[(c[b>>2]|0)+48>>2]&4095](b)|0)>>>11;b=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;ac=(cA[c[(c[b>>2]|0)+48>>2]&4095](b)|0)>>>12;ad=+g[d+36>>2];if(ad<=0.0){i=e;return}switch(c[d+4>>2]|0){case 3:{g[p>>2]=1.0;aDD(p+4|0,0,16);g[p+20>>2]=1.0;aDD(p+24|0,0,16);g[p+40>>2]=1.0;aDD(p+44|0,0,20);ae=+g[d+292>>2];af=+g[d+296>>2];ag=+g[d+300>>2];b=c[d+24>>2]|0;ah=+g[b+56>>2]+(ae*+g[b+20>>2]+af*+g[b+24>>2]+ag*+g[b+28>>2]);ai=+g[b+60>>2]+(ae*+g[b+36>>2]+af*+g[b+40>>2]+ag*+g[b+44>>2]);aj=p+48|0;g[aj>>2]=+g[b+52>>2]+(ae*+g[b+4>>2]+af*+g[b+8>>2]+ag*+g[b+12>>2]);b=p+52|0;g[b>>2]=ah;ak=p+56|0;g[ak>>2]=ai;al=p+60|0;g[al>>2]=0.0;am=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[am>>2]|0)+56>>2]&255](am,p,ad);ai=+g[d+308>>2];ah=+g[d+312>>2];ag=+g[d+316>>2];am=c[d+28>>2]|0;af=+g[am+56>>2]+(ai*+g[am+20>>2]+ah*+g[am+24>>2]+ag*+g[am+28>>2]);ae=+g[am+60>>2]+(ai*+g[am+36>>2]+ah*+g[am+40>>2]+ag*+g[am+44>>2]);g[aj>>2]=+g[am+52>>2]+(ai*+g[am+4>>2]+ah*+g[am+8>>2]+ag*+g[am+12>>2]);g[b>>2]=af;g[ak>>2]=ae;g[al>>2]=0.0;if((ab&1|0)==0){i=e;return}al=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[al>>2]|0)+56>>2]&255](al,p,ad);i=e;return};case 4:{p=c[d+24>>2]|0;al=p+4|0;ak=d+544|0;b=o;anx(o,al|0,ak);ae=+g[ak+48>>2];af=+g[ak+52>>2];ag=+g[ak+56>>2];ah=+g[al>>2]*ae+ +g[p+8>>2]*af+ +g[p+12>>2]*ag+ +g[p+52>>2];ai=+g[p+20>>2]*ae+ +g[p+24>>2]*af+ +g[p+28>>2]*ag+ +g[p+56>>2];an=+g[p+36>>2]*ae+ +g[p+40>>2]*af+ +g[p+44>>2]*ag+ +g[p+60>>2];p=q+48|0;al=q|0;do{al=al+16|0;}while((al|0)!=(p|0));p=q;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];b=q+16|0;al=o+16|0;c[b>>2]=c[al>>2];c[b+4>>2]=c[al+4>>2];c[b+8>>2]=c[al+8>>2];c[b+12>>2]=c[al+12>>2];al=q+32|0;ak=o+32|0;c[al>>2]=c[ak>>2];c[al+4>>2]=c[ak+4>>2];c[al+8>>2]=c[ak+8>>2];c[al+12>>2]=c[ak+12>>2];g[q+48>>2]=ah;g[q+52>>2]=ai;g[q+56>>2]=an;g[q+60>>2]=0.0;if((ab&1|0)==0){ak=c[d+28>>2]|0;o=ak+4|0;am=d+608|0;aj=m;anx(m,o|0,am);an=+g[am+48>>2];ai=+g[am+52>>2];ah=+g[am+56>>2];ag=+g[o>>2]*an+ +g[ak+8>>2]*ai+ +g[ak+12>>2]*ah+ +g[ak+52>>2];af=+g[ak+20>>2]*an+ +g[ak+24>>2]*ai+ +g[ak+28>>2]*ah+ +g[ak+56>>2];ae=+g[ak+36>>2]*an+ +g[ak+40>>2]*ai+ +g[ak+44>>2]*ah+ +g[ak+60>>2];ak=r+48|0;o=r|0;do{o=o+16|0;}while((o|0)!=(ak|0));ak=r;c[ak>>2]=c[aj>>2];c[ak+4>>2]=c[aj+4>>2];c[ak+8>>2]=c[aj+8>>2];c[ak+12>>2]=c[aj+12>>2];aj=r+16|0;o=m+16|0;c[aj>>2]=c[o>>2];c[aj+4>>2]=c[o+4>>2];c[aj+8>>2]=c[o+8>>2];c[aj+12>>2]=c[o+12>>2];o=r+32|0;am=m+32|0;c[o>>2]=c[am>>2];c[o+4>>2]=c[am+4>>2];c[o+8>>2]=c[am+8>>2];c[o+12>>2]=c[am+12>>2];g[r+48>>2]=ag;g[r+52>>2]=af;g[r+56>>2]=ae;g[r+60>>2]=0.0;c[p>>2]=c[ak>>2];c[p+4>>2]=c[ak+4>>2];c[p+8>>2]=c[ak+8>>2];c[p+12>>2]=c[ak+12>>2];c[b>>2]=c[aj>>2];c[b+4>>2]=c[aj+4>>2];c[b+8>>2]=c[aj+8>>2];c[b+12>>2]=c[aj+12>>2];c[al>>2]=c[o>>2];c[al+4>>2]=c[o+4>>2];c[al+8>>2]=c[o+8>>2];c[al+12>>2]=c[o+12>>2];o=q+48|0;aj=r+48|0;c[o>>2]=c[aj>>2];c[o+4>>2]=c[aj+4>>2];c[o+8>>2]=c[aj+8>>2];c[o+12>>2]=c[aj+12>>2]}else{aj=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[aj>>2]|0)+56>>2]&255](aj,q,ad);aj=c[d+28>>2]|0;o=aj+4|0;ak=d+608|0;am=n;anx(n,o|0,ak);ae=+g[ak+48>>2];af=+g[ak+52>>2];ag=+g[ak+56>>2];ah=+g[o>>2]*ae+ +g[aj+8>>2]*af+ +g[aj+12>>2]*ag+ +g[aj+52>>2];ai=+g[aj+20>>2]*ae+ +g[aj+24>>2]*af+ +g[aj+28>>2]*ag+ +g[aj+56>>2];an=+g[aj+36>>2]*ae+ +g[aj+40>>2]*af+ +g[aj+44>>2]*ag+ +g[aj+60>>2];aj=r+48|0;o=r|0;do{o=o+16|0;}while((o|0)!=(aj|0));aj=r;c[aj>>2]=c[am>>2];c[aj+4>>2]=c[am+4>>2];c[aj+8>>2]=c[am+8>>2];c[aj+12>>2]=c[am+12>>2];am=r+16|0;o=n+16|0;c[am>>2]=c[o>>2];c[am+4>>2]=c[o+4>>2];c[am+8>>2]=c[o+8>>2];c[am+12>>2]=c[o+12>>2];o=r+32|0;ak=n+32|0;c[o>>2]=c[ak>>2];c[o+4>>2]=c[ak+4>>2];c[o+8>>2]=c[ak+8>>2];c[o+12>>2]=c[ak+12>>2];g[r+48>>2]=ah;g[r+52>>2]=ai;g[r+56>>2]=an;g[r+60>>2]=0.0;c[p>>2]=c[aj>>2];c[p+4>>2]=c[aj+4>>2];c[p+8>>2]=c[aj+8>>2];c[p+12>>2]=c[aj+12>>2];c[b>>2]=c[am>>2];c[b+4>>2]=c[am+4>>2];c[b+8>>2]=c[am+8>>2];c[b+12>>2]=c[am+12>>2];c[al>>2]=c[o>>2];c[al+4>>2]=c[o+4>>2];c[al+8>>2]=c[o+8>>2];c[al+12>>2]=c[o+12>>2];o=q+48|0;al=r+48|0;c[o>>2]=c[al>>2];c[o+4>>2]=c[al+4>>2];c[o+8>>2]=c[al+8>>2];c[o+12>>2]=c[al+12>>2];al=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[al>>2]|0)+56>>2]&255](al,q,ad)}al=d+680|0;o=d+684|0;an=+ck(+(+g[al>>2]- +g[o>>2]),6.2831854820251465);do{if(an<-3.1415927410125732){ao=an+6.2831854820251465}else{if(an<=3.1415927410125732){ao=an;break}ao=an-6.2831854820251465}}while(0);an=+ck(+(+g[al>>2]+ +g[o>>2]),6.2831854820251465);do{if(an<-3.1415927410125732){ap=an+6.2831854820251465}else{if(an<=3.1415927410125732){ap=an;break}ap=an-6.2831854820251465}}while(0);if(ao==ap){i=e;return}o=ao>ap;if((ac&1|0)==0){i=e;return}g[s>>2]=+g[q+8>>2];g[s+4>>2]=+g[q+24>>2];g[s+8>>2]=+g[q+40>>2];g[s+12>>2]=0.0;g[t>>2]=+g[q>>2];g[t+4>>2]=+g[q+16>>2];g[t+8>>2]=+g[q+32>>2];g[t+12>>2]=0.0;al=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;r=c[(c[al>>2]|0)+60>>2]|0;aDD(u|0,0,16);dt[r&63](al,q+48|0,s,t,ad,ad,o?0.0:ao,o?6.2831854820251465:ap,u,o^1,10.0);i=e;return};case 7:{o=d+816|0;u=U;t=o;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];t=U+16|0;s=o+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];s=U+32|0;q=o+32|0;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];q=U+48|0;al=o+48|0;c[q>>2]=c[al>>2];c[q+4>>2]=c[al+4>>2];c[q+8>>2]=c[al+8>>2];c[q+12>>2]=c[al+12>>2];if((ab&1|0)==0){al=d+880|0;c[u>>2]=c[al>>2];c[u+4>>2]=c[al+4>>2];c[u+8>>2]=c[al+8>>2];c[u+12>>2]=c[al+12>>2];al=d+896|0;c[t>>2]=c[al>>2];c[t+4>>2]=c[al+4>>2];c[t+8>>2]=c[al+8>>2];c[t+12>>2]=c[al+12>>2];al=d+912|0;c[s>>2]=c[al>>2];c[s+4>>2]=c[al+4>>2];c[s+8>>2]=c[al+8>>2];c[s+12>>2]=c[al+12>>2];al=d+928|0;c[q>>2]=c[al>>2];c[q+4>>2]=c[al+4>>2];c[q+8>>2]=c[al+8>>2];c[q+12>>2]=c[al+12>>2]}else{al=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[al>>2]|0)+56>>2]&255](al,U,ad);al=d+880|0;c[u>>2]=c[al>>2];c[u+4>>2]=c[al+4>>2];c[u+8>>2]=c[al+8>>2];c[u+12>>2]=c[al+12>>2];al=d+896|0;c[t>>2]=c[al>>2];c[t+4>>2]=c[al+4>>2];c[t+8>>2]=c[al+8>>2];c[t+12>>2]=c[al+12>>2];al=d+912|0;c[s>>2]=c[al>>2];c[s+4>>2]=c[al+4>>2];c[s+8>>2]=c[al+8>>2];c[s+12>>2]=c[al+12>>2];al=d+928|0;c[q>>2]=c[al>>2];c[q+4>>2]=c[al+4>>2];c[q+8>>2]=c[al+8>>2];c[q+12>>2]=c[al+12>>2];al=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[al>>2]|0)+56>>2]&255](al,U,ad)}if((ac&1|0)==0){i=e;return}U=(a[d+172|0]&1)!=0?o:d+880|0;ap=+g[U>>2];ao=+g[U+4>>2];an=+g[U+16>>2];ai=+g[U+20>>2];ah=+g[U+32>>2];ag=+g[U+36>>2];af=+g[U+48>>2];ae=+g[U+52>>2];aq=+g[U+56>>2];ar=+g[d+176>>2];as=ao*0.0;at=+g[U+8>>2]*0.0;au=ai*0.0;av=+g[U+24>>2]*0.0;aw=ag*0.0;ax=+g[U+40>>2]*0.0;g[V>>2]=af+(at+(as+ap*ar));g[V+4>>2]=ae+(av+(au+an*ar));g[V+8>>2]=aq+(ax+(aw+ah*ar));g[V+12>>2]=0.0;ar=+g[d+180>>2];g[W>>2]=af+(at+(as+ap*ar));g[W+4>>2]=ae+(av+(au+an*ar));g[W+8>>2]=aq+(ax+(aw+ah*ar));g[W+12>>2]=0.0;U=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;o=c[(c[U>>2]|0)+8>>2]|0;aDD(X|0,0,16);dI[o&1023](U,V,W,X);g[Y>>2]=ap;g[Y+4>>2]=an;g[Y+8>>2]=ah;g[Y+12>>2]=0.0;g[Z>>2]=ao;g[Z+4>>2]=ai;g[Z+8>>2]=ag;g[Z+12>>2]=0.0;ag=+g[d+184>>2];ai=+g[d+188>>2];X=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;W=c[(c[X>>2]|0)+60>>2]|0;aDD(_|0,0,16);dt[W&63](X,d+928|0,Y,Z,ad,ad,ag,ai,_,1,10.0);i=e;return};case 9:case 6:{_=d+1056|0;Z=H;Y=_;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];X=H+16|0;W=_+16|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];V=H+32|0;U=_+32|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];o=H+48|0;al=_+48|0;c[o>>2]=c[al>>2];c[o+4>>2]=c[al+4>>2];c[o+8>>2]=c[al+8>>2];c[o+12>>2]=c[al+12>>2];if((ab&1|0)==0){_=d+1120|0;c[Z>>2]=c[_>>2];c[Z+4>>2]=c[_+4>>2];c[Z+8>>2]=c[_+8>>2];c[Z+12>>2]=c[_+12>>2];_=d+1136|0;c[X>>2]=c[_>>2];c[X+4>>2]=c[_+4>>2];c[X+8>>2]=c[_+8>>2];c[X+12>>2]=c[_+12>>2];_=d+1152|0;c[V>>2]=c[_>>2];c[V+4>>2]=c[_+4>>2];c[V+8>>2]=c[_+8>>2];c[V+12>>2]=c[_+12>>2];_=d+1168|0;c[o>>2]=c[_>>2];c[o+4>>2]=c[_+4>>2];c[o+8>>2]=c[_+8>>2];c[o+12>>2]=c[_+12>>2]}else{_=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[_>>2]|0)+56>>2]&255](_,H,ad);_=d+1120|0;c[Z>>2]=c[_>>2];c[Z+4>>2]=c[_+4>>2];c[Z+8>>2]=c[_+8>>2];c[Z+12>>2]=c[_+12>>2];_=d+1136|0;c[X>>2]=c[_>>2];c[X+4>>2]=c[_+4>>2];c[X+8>>2]=c[_+8>>2];c[X+12>>2]=c[_+12>>2];_=d+1152|0;c[V>>2]=c[_>>2];c[V+4>>2]=c[_+4>>2];c[V+8>>2]=c[_+8>>2];c[V+12>>2]=c[_+12>>2];_=d+1168|0;c[o>>2]=c[_>>2];c[o+4>>2]=c[_+4>>2];c[o+8>>2]=c[_+8>>2];c[o+12>>2]=c[_+12>>2];_=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[_>>2]|0)+56>>2]&255](_,H,ad)}if((ac&1|0)==0){i=e;return}c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];c[o>>2]=c[al>>2];c[o+4>>2]=c[al+4>>2];c[o+8>>2]=c[al+8>>2];c[o+12>>2]=c[al+12>>2];_=d+1168|0;q=_;g[I>>2]=+g[H+8>>2];g[I+4>>2]=+g[H+24>>2];g[I+8>>2]=+g[H+40>>2];g[I+12>>2]=0.0;s=H|0;t=H+16|0;u=H+32|0;r=J|0;g[r>>2]=+g[s>>2];am=J+4|0;g[am>>2]=+g[t>>2];b=J+8|0;g[b>>2]=+g[u>>2];aj=J+12|0;g[aj>>2]=0.0;p=d+924|0;ai=+g[p>>2];ag=+g[p+4>>2];p=d+988|0;ao=+g[p>>2];ah=+g[p+4>>2];p=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;ak=c[(c[p>>2]|0)+64>>2]|0;aDD(K|0,0,16);cs[ak&63](p,q,I,J,ad*.8999999761581421,ai,ag,ao,ah,K,10.0);ah=+g[H+4>>2];ao=+g[H+20>>2];ag=+g[H+36>>2];g[r>>2]=ah;g[am>>2]=ao;g[b>>2]=ag;g[aj>>2]=0.0;ai=+g[d+1188>>2];an=+g[d+1192>>2];ap=+S(+ai);ar=+T(+ai);ai=+S(+an);aw=+T(+an);g[L>>2]=ap*ai*ah+ap*aw*ao-ar*ag;g[L+4>>2]=ah*(-0.0-aw)+ai*ao;g[L+8>>2]=ar*ai*ah+ar*aw*ao+ap*ag;aj=d+1120|0;c[Z>>2]=c[aj>>2];c[Z+4>>2]=c[aj+4>>2];c[Z+8>>2]=c[aj+8>>2];c[Z+12>>2]=c[aj+12>>2];aj=d+1136|0;c[X>>2]=c[aj>>2];c[X+4>>2]=c[aj+4>>2];c[X+8>>2]=c[aj+8>>2];c[X+12>>2]=c[aj+12>>2];aj=d+1152|0;c[V>>2]=c[aj>>2];c[V+4>>2]=c[aj+4>>2];c[V+8>>2]=c[aj+8>>2];c[V+12>>2]=c[aj+12>>2];aj=_;c[o>>2]=c[aj>>2];c[o+4>>2]=c[aj+4>>2];c[o+8>>2]=c[aj+8>>2];c[o+12>>2]=c[aj+12>>2];ag=-0.0- +g[t>>2];ap=-0.0- +g[u>>2];g[M>>2]=-0.0- +g[s>>2];g[M+4>>2]=ag;g[M+8>>2]=ap;g[M+12>>2]=0.0;s=d+860|0;ap=+g[s>>2];ag=+g[s+4>>2];do{if(ap>ag){s=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;u=c[(c[s>>2]|0)+60>>2]|0;aDD(N|0,0,16);dt[u&63](s,q,M,L,ad,ad,-3.1415927410125732,3.1415927410125732,N,0,10.0)}else{if(ap>=ag){break}s=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;u=c[(c[s>>2]|0)+60>>2]|0;aDD(O|0,0,16);dt[u&63](s,q,M,L,ad,ad,ap,ag,O,1,10.0)}}while(0);c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[V+8>>2]=c[U+8>>2];c[V+12>>2]=c[U+12>>2];c[o>>2]=c[al>>2];c[o+4>>2]=c[al+4>>2];c[o+8>>2]=c[al+8>>2];c[o+12>>2]=c[al+12>>2];al=d+672|0;o=P;U=al;c[o>>2]=c[U>>2];c[o+4>>2]=c[U+4>>2];c[o+8>>2]=c[U+8>>2];c[o+12>>2]=c[U+12>>2];U=Q;o=al+16|0;c[U>>2]=c[o>>2];c[U+4>>2]=c[o+4>>2];c[U+8>>2]=c[o+8>>2];c[U+12>>2]=c[o+12>>2];o=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;U=c[(c[o>>2]|0)+72>>2]|0;aDD(R|0,0,16);co[U&255](o,P,Q,H,R);i=e;return};case 5:{R=d;H=d+24|0;Q=c[H>>2]|0;P=Q+4|0;o=d+292|0;U=l;al=o;anx(l,P|0,al);V=o+48|0;ag=+g[V>>2];W=o+52|0;ap=+g[W>>2];X=o+56|0;ao=+g[X>>2];aw=+g[P>>2]*ag+ +g[Q+8>>2]*ap+ +g[Q+12>>2]*ao+ +g[Q+52>>2];ar=+g[Q+20>>2]*ag+ +g[Q+24>>2]*ap+ +g[Q+28>>2]*ao+ +g[Q+56>>2];ah=+g[Q+36>>2]*ag+ +g[Q+40>>2]*ap+ +g[Q+44>>2]*ao+ +g[Q+60>>2];Q=v+48|0;P=v|0;do{P=P+16|0;}while((P|0)!=(Q|0));Q=v;c[Q>>2]=c[U>>2];c[Q+4>>2]=c[U+4>>2];c[Q+8>>2]=c[U+8>>2];c[Q+12>>2]=c[U+12>>2];U=v+16|0;P=l+16|0;c[U>>2]=c[P>>2];c[U+4>>2]=c[P+4>>2];c[U+8>>2]=c[P+8>>2];c[U+12>>2]=c[P+12>>2];P=v+32|0;o=l+32|0;c[P>>2]=c[o>>2];c[P+4>>2]=c[o+4>>2];c[P+8>>2]=c[o+8>>2];c[P+12>>2]=c[o+12>>2];o=v+48|0;g[o>>2]=aw;l=v+52|0;g[l>>2]=ar;Y=v+56|0;g[Y>>2]=ah;g[v+60>>2]=0.0;if((ab&1|0)==0){ab=c[d+28>>2]|0;Z=ab+4|0;O=d+356|0;L=j;anx(j,Z|0,O);ah=+g[O+48>>2];ar=+g[O+52>>2];aw=+g[O+56>>2];ao=+g[Z>>2]*ah+ +g[ab+8>>2]*ar+ +g[ab+12>>2]*aw+ +g[ab+52>>2];ap=+g[ab+20>>2]*ah+ +g[ab+24>>2]*ar+ +g[ab+28>>2]*aw+ +g[ab+56>>2];ag=+g[ab+36>>2]*ah+ +g[ab+40>>2]*ar+ +g[ab+44>>2]*aw+ +g[ab+60>>2];ab=w+48|0;Z=w|0;do{Z=Z+16|0;}while((Z|0)!=(ab|0));ab=w;c[ab>>2]=c[L>>2];c[ab+4>>2]=c[L+4>>2];c[ab+8>>2]=c[L+8>>2];c[ab+12>>2]=c[L+12>>2];L=w+16|0;Z=j+16|0;c[L>>2]=c[Z>>2];c[L+4>>2]=c[Z+4>>2];c[L+8>>2]=c[Z+8>>2];c[L+12>>2]=c[Z+12>>2];Z=w+32|0;O=j+32|0;c[Z>>2]=c[O>>2];c[Z+4>>2]=c[O+4>>2];c[Z+8>>2]=c[O+8>>2];c[Z+12>>2]=c[O+12>>2];g[w+48>>2]=ao;g[w+52>>2]=ap;g[w+56>>2]=ag;g[w+60>>2]=0.0;c[Q>>2]=c[ab>>2];c[Q+4>>2]=c[ab+4>>2];c[Q+8>>2]=c[ab+8>>2];c[Q+12>>2]=c[ab+12>>2];c[U>>2]=c[L>>2];c[U+4>>2]=c[L+4>>2];c[U+8>>2]=c[L+8>>2];c[U+12>>2]=c[L+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];Z=v+48|0;L=w+48|0;c[Z>>2]=c[L>>2];c[Z+4>>2]=c[L+4>>2];c[Z+8>>2]=c[L+8>>2];c[Z+12>>2]=c[L+12>>2]}else{L=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[L>>2]|0)+56>>2]&255](L,v,ad);L=c[d+28>>2]|0;Z=L+4|0;ab=d+356|0;O=k;anx(k,Z|0,ab);ag=+g[ab+48>>2];ap=+g[ab+52>>2];ao=+g[ab+56>>2];aw=+g[Z>>2]*ag+ +g[L+8>>2]*ap+ +g[L+12>>2]*ao+ +g[L+52>>2];ar=+g[L+20>>2]*ag+ +g[L+24>>2]*ap+ +g[L+28>>2]*ao+ +g[L+56>>2];ah=+g[L+36>>2]*ag+ +g[L+40>>2]*ap+ +g[L+44>>2]*ao+ +g[L+60>>2];L=w+48|0;Z=w|0;do{Z=Z+16|0;}while((Z|0)!=(L|0));L=w;c[L>>2]=c[O>>2];c[L+4>>2]=c[O+4>>2];c[L+8>>2]=c[O+8>>2];c[L+12>>2]=c[O+12>>2];O=w+16|0;Z=k+16|0;c[O>>2]=c[Z>>2];c[O+4>>2]=c[Z+4>>2];c[O+8>>2]=c[Z+8>>2];c[O+12>>2]=c[Z+12>>2];Z=w+32|0;ab=k+32|0;c[Z>>2]=c[ab>>2];c[Z+4>>2]=c[ab+4>>2];c[Z+8>>2]=c[ab+8>>2];c[Z+12>>2]=c[ab+12>>2];g[w+48>>2]=aw;g[w+52>>2]=ar;g[w+56>>2]=ah;g[w+60>>2]=0.0;c[Q>>2]=c[L>>2];c[Q+4>>2]=c[L+4>>2];c[Q+8>>2]=c[L+8>>2];c[Q+12>>2]=c[L+12>>2];c[U>>2]=c[O>>2];c[U+4>>2]=c[O+4>>2];c[U+8>>2]=c[O+8>>2];c[U+12>>2]=c[O+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];Z=v+48|0;O=w+48|0;c[Z>>2]=c[O>>2];c[Z+4>>2]=c[O+4>>2];c[Z+8>>2]=c[O+8>>2];c[Z+12>>2]=c[O+12>>2];O=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;dF[c[(c[O>>2]|0)+56>>2]&255](O,v,ad)}if((ac&1|0)==0){i=e;return}anZ(x,R,6.0868353843688965,ad);ac=v|0;O=x|0;ah=+g[O>>2];Z=v+4|0;w=x+4|0;ar=+g[w>>2];L=v+8|0;ab=x+8|0;aw=+g[ab>>2];k=v+16|0;j=v+20|0;M=v+24|0;ao=+g[l>>2]+(ah*+g[k>>2]+ar*+g[j>>2]+aw*+g[M>>2]);q=v+32|0;N=v+36|0;s=v+40|0;ap=+g[Y>>2]+(ah*+g[q>>2]+ar*+g[N>>2]+aw*+g[s>>2]);u=x;g[O>>2]=+g[o>>2]+(+g[ac>>2]*ah+ +g[Z>>2]*ar+ +g[L>>2]*aw);g[w>>2]=ao;g[ab>>2]=ap;g[x+12>>2]=0.0;ab=y|0;w=y+4|0;O=y+8|0;t=y;aj=y+12|0;_=v+48|0;v=z;b=A;am=0;do{anZ(y,R,+(am|0)*6.283185005187988*.03125,ad);ap=+g[ab>>2];ao=+g[w>>2];aw=+g[O>>2];ar=+g[l>>2]+(ap*+g[k>>2]+ao*+g[j>>2]+aw*+g[M>>2]);ah=+g[Y>>2]+(ap*+g[q>>2]+ao*+g[N>>2]+aw*+g[s>>2]);g[ab>>2]=+g[o>>2]+(+g[ac>>2]*ap+ +g[Z>>2]*ao+ +g[L>>2]*aw);g[w>>2]=ar;g[O>>2]=ah;g[aj>>2]=0.0;r=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;K=c[(c[r>>2]|0)+8>>2]|0;aDD(v|0,0,16);dI[K&1023](r,x,y,z);if((am&3|0)==0){r=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;K=c[(c[r>>2]|0)+8>>2]|0;aDD(b|0,0,16);dI[K&1023](r,_,y,A)}c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];am=am+1|0;}while((am|0)<32);ah=+g[d+444>>2];ar=+g[d+504>>2];am=c[d+28>>2]|0;if(+g[am+336>>2]>0.0){t=am+4|0;u=d+356|0;d=h;anx(h,t|0,u);aw=+g[u+48>>2];ao=+g[u+52>>2];ap=+g[u+56>>2];ag=+g[t>>2]*aw+ +g[am+8>>2]*ao+ +g[am+12>>2]*ap+ +g[am+52>>2];ai=+g[am+20>>2]*aw+ +g[am+24>>2]*ao+ +g[am+28>>2]*ap+ +g[am+56>>2];an=+g[am+36>>2]*aw+ +g[am+40>>2]*ao+ +g[am+44>>2]*ap+ +g[am+60>>2];am=B+48|0;t=B|0;do{t=t+16|0;}while((t|0)!=(am|0));am=B;c[am>>2]=c[d>>2];c[am+4>>2]=c[d+4>>2];c[am+8>>2]=c[d+8>>2];c[am+12>>2]=c[d+12>>2];d=B+16|0;t=h+16|0;c[d>>2]=c[t>>2];c[d+4>>2]=c[t+4>>2];c[d+8>>2]=c[t+8>>2];c[d+12>>2]=c[t+12>>2];t=B+32|0;u=h+32|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];g[B+48>>2]=ag;g[B+52>>2]=ai;g[B+56>>2]=an;g[B+60>>2]=0.0;c[Q>>2]=c[am>>2];c[Q+4>>2]=c[am+4>>2];c[Q+8>>2]=c[am+8>>2];c[Q+12>>2]=c[am+12>>2];c[U>>2]=c[d>>2];c[U+4>>2]=c[d+4>>2];c[U+8>>2]=c[d+8>>2];c[U+12>>2]=c[d+12>>2];c[P>>2]=c[t>>2];c[P+4>>2]=c[t+4>>2];c[P+8>>2]=c[t+8>>2];c[P+12>>2]=c[t+12>>2];t=_;d=B+48|0;c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2]}else{d=c[H>>2]|0;H=d+4|0;t=f;anx(f,H|0,al);an=+g[V>>2];ai=+g[W>>2];ag=+g[X>>2];ap=+g[H>>2]*an+ +g[d+8>>2]*ai+ +g[d+12>>2]*ag+ +g[d+52>>2];ao=+g[d+20>>2]*an+ +g[d+24>>2]*ai+ +g[d+28>>2]*ag+ +g[d+56>>2];aw=+g[d+36>>2]*an+ +g[d+40>>2]*ai+ +g[d+44>>2]*ag+ +g[d+60>>2];d=C+48|0;H=C|0;do{H=H+16|0;}while((H|0)!=(d|0));d=C;c[d>>2]=c[t>>2];c[d+4>>2]=c[t+4>>2];c[d+8>>2]=c[t+8>>2];c[d+12>>2]=c[t+12>>2];t=C+16|0;H=f+16|0;c[t>>2]=c[H>>2];c[t+4>>2]=c[H+4>>2];c[t+8>>2]=c[H+8>>2];c[t+12>>2]=c[H+12>>2];H=C+32|0;X=f+32|0;c[H>>2]=c[X>>2];c[H+4>>2]=c[X+4>>2];c[H+8>>2]=c[X+8>>2];c[H+12>>2]=c[X+12>>2];g[C+48>>2]=ap;g[C+52>>2]=ao;g[C+56>>2]=aw;g[C+60>>2]=0.0;c[Q>>2]=c[d>>2];c[Q+4>>2]=c[d+4>>2];c[Q+8>>2]=c[d+8>>2];c[Q+12>>2]=c[d+12>>2];c[U>>2]=c[t>>2];c[U+4>>2]=c[t+4>>2];c[U+8>>2]=c[t+8>>2];c[U+12>>2]=c[t+12>>2];c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];H=_;P=C+48|0;c[H>>2]=c[P>>2];c[H+4>>2]=c[P+4>>2];c[H+8>>2]=c[P+8>>2];c[H+12>>2]=c[P+12>>2]}P=D;H=_;c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];g[E>>2]=+g[ac>>2];g[E+4>>2]=+g[k>>2];g[E+8>>2]=+g[q>>2];g[E+12>>2]=0.0;g[F>>2]=+g[Z>>2];g[F+4>>2]=+g[j>>2];g[F+8>>2]=+g[N>>2];g[F+12>>2]=0.0;N=cA[c[(c[aa>>2]|0)+16>>2]&4095]($)|0;$=c[(c[N>>2]|0)+60>>2]|0;aDD(G|0,0,16);dt[$&63](N,D,E,F,ad,ad,-0.0-ar-ah,ah-ar,G,1,10.0);i=e;return};default:{i=e;return}}}function aoi(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0;b=a+204|0;d=c[b>>2]|0;if((d|0)<=0){return}e=a+212|0;a=0;f=d;while(1){d=c[(c[e>>2]|0)+(a<<2)>>2]|0;h=c[d+216>>2]|0;do{if((h|0)==5|(h|0)==2){i=f}else{if((c[d+204>>2]&3|0)!=0){i=f;break}j=+g[d+360>>2]*+g[d+344>>2];k=+g[d+364>>2]*+g[d+348>>2];l=d+404|0;g[l>>2]=+g[d+356>>2]*+g[d+340>>2]+ +g[l>>2];l=d+408|0;g[l>>2]=j+ +g[l>>2];l=d+412|0;g[l>>2]=k+ +g[l>>2];i=c[b>>2]|0}}while(0);d=a+1|0;if((d|0)<(i|0)){a=d;f=i}else{break}}return}function aoj(a){a=a|0;var b=0,d=0;b=a+204|0;if((c[b>>2]|0)<=0){return}d=a+212|0;a=0;do{aDD((c[(c[d>>2]|0)+(a<<2)>>2]|0)+404|0,0,32);a=a+1|0;}while((a|0)<(c[b>>2]|0));return}function aok(b){b=b|0;var d=0,e=0,f=0,h=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;d=i;i=i+144|0;e=d|0;f=d+16|0;h=d+80|0;aDo(17984);do{if((a[b+242|0]&1)==0){j=b+204|0;k=c[j>>2]|0;if((k|0)<=0){break}l=b+212|0;m=b+236|0;n=0;o=k;while(1){k=c[(c[l>>2]|0)+(n<<2)>>2]|0;p=c[k+216>>2]|0;do{if((p|0)==5|(p|0)==2){q=o}else{r=k+472|0;if((c[r>>2]|0)==0){q=o;break}if((c[k+204>>2]&3|0)!=0){q=o;break}anY(k+68|0,+g[k+132>>2],+g[k+136>>2],+g[k+140>>2],k+148|0,+g[m>>2]*+g[k+240>>2],h);s=c[r>>2]|0;cv[c[(c[s>>2]|0)+12>>2]&2047](s,h);q=c[j>>2]|0}}while(0);k=n+1|0;if((k|0)<(q|0)){n=k;o=q}else{break}}}else{o=b+8|0;n=c[o>>2]|0;if((n|0)<=0){break}j=b+16|0;m=b+236|0;l=0;k=n;while(1){n=c[(c[j>>2]|0)+(l<<2)>>2]|0;do{if((c[n+232>>2]&2|0)==0|(n|0)==0){t=k}else{p=n+472|0;if((c[p>>2]|0)==0){t=k;break}if((c[n+204>>2]&3|0)!=0){t=k;break}anY(n+68|0,+g[n+132>>2],+g[n+136>>2],+g[n+140>>2],n+148|0,+g[m>>2]*+g[n+240>>2],f);s=c[p>>2]|0;cv[c[(c[s>>2]|0)+12>>2]&2047](s,f);t=c[o>>2]|0}}while(0);n=l+1|0;if((n|0)<(t|0)){l=n;k=t}else{break}}}}while(0);t=c[9152]|0;f=t+16|0;b=(c[f>>2]|0)-1|0;c[f>>2]=b;if((b|0)!=0){i=d;return}do{if((c[t+4>>2]|0)==0){u=t}else{b3(e|0,0)|0;b=c[10742]|0;q=t+8|0;g[q>>2]=+(((c[e+4>>2]|0)-(c[b+4>>2]|0)+(((c[e>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[t+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[q>>2];if((c[f>>2]|0)==0){u=c[9152]|0;break}else{i=d;return}}}while(0);c[9152]=c[u+20>>2];i=d;return}function aol(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0;h=i;i=i+16|0;j=h|0;aDi();aDo(17464);k=b+236|0;do{if((e|0)==0){g[k>>2]=d;l=+P(+d)>=1.1920928955078125e-7|0;m=l;n=d;o=l}else{p=+g[k>>2]+d;g[k>>2]=p;if(p>2]=p- +(l|0)*f;m=e;n=f;o=l}}while(0);e=b|0;k=b;if((cA[c[(c[k>>2]|0)+16>>2]&4095](e)|0)!=0){l=cA[c[(c[k>>2]|0)+16>>2]&4095](e)|0;a[39240]=(cA[c[(c[l>>2]|0)+48>>2]&4095](l)|0)>>>4&1}do{if((o|0)==0){ct[c[(c[b>>2]|0)+76>>2]&2047](b)}else{l=(o|0)>(m|0)?m:o;e=b;cq[c[(c[e>>2]|0)+160>>2]&1023](b,n*+(l|0));k=b;ct[c[(c[k>>2]|0)+164>>2]&2047](b);if((l|0)>0){q=0}else{break}do{cq[c[(c[e>>2]|0)+156>>2]&1023](b,n);ct[c[(c[k>>2]|0)+76>>2]&2047](b);q=q+1|0;}while((q|0)<(l|0))}}while(0);ct[c[(c[b>>2]|0)+116>>2]&2047](b);c[10736]=(c[10736]|0)+1;b=c[9152]|0;q=b+16|0;m=(c[q>>2]|0)-1|0;c[q>>2]=m;if((m|0)!=0){i=h;return o|0}do{if((c[b+4>>2]|0)==0){r=b}else{b3(j|0,0)|0;m=c[10742]|0;l=b+8|0;g[l>>2]=+(((c[j+4>>2]|0)-(c[m+4>>2]|0)+(((c[j>>2]|0)-(c[m>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[l>>2];if((c[q>>2]|0)==0){r=c[9152]|0;break}else{i=h;return o|0}}}while(0);c[9152]=c[r+20>>2];i=h;return o|0}function aom(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0;e=i;i=i+8|0;f=e|0;aDo(16648);h=b+204|0;if((c[h>>2]|0)>0){j=b+212|0;b=(a[39240]&1)==0;k=0;do{l=c[(c[j>>2]|0)+(k<<2)>>2]|0;L2926:do{if((l|0)!=0){m=l+216|0;n=c[m>>2]|0;L2928:do{if((n|0)==2|(n|0)==4){o=n;p=2712}else{q=+g[l+304>>2];r=+g[l+308>>2];s=+g[l+312>>2];t=+g[l+464>>2];do{if(q*q+r*r+s*s>2];v=+g[l+324>>2];w=+g[l+328>>2];x=+g[l+468>>2];if(u*u+v*v+w*w>=x*x){break}y=l+220|0;g[y>>2]=+g[y>>2]+d;o=n;p=2712;break L2928}}while(0);g[l+220>>2]=0.0;if((n-4|0)>>>0<2){o=n;p=2712;break}c[m>>2]=0;z=0}}while(0);if((p|0)==2712){p=0;if((o|0)==4){break}else{z=o}}do{if(b){if((z-2|0)>>>0>=2){if(+g[l+220>>2]<=2.0){break}}if((c[l+204>>2]&3|0)!=0){if((z-4|0)>>>0<2){break L2926}c[m>>2]=2;break L2926}if((z|0)==1){c[m>>2]=3;break L2926}else{A=z}if((A|0)!=2){break L2926}aDD(l+304|0,0,32);break L2926}}while(0);if((z-4|0)>>>0<2){break}c[m>>2]=1}}while(0);k=k+1|0;}while((k|0)<(c[h>>2]|0))}h=c[9152]|0;k=h+16|0;z=(c[k>>2]|0)-1|0;c[k>>2]=z;if((z|0)!=0){i=e;return}do{if((c[h+4>>2]|0)==0){B=h}else{b3(f|0,0)|0;z=c[10742]|0;A=h+8|0;g[A>>2]=+(((c[f+4>>2]|0)-(c[z+4>>2]|0)+(((c[f>>2]|0)-(c[z>>2]|0)|0)*1e6|0)-(c[h+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[A>>2];if((c[k>>2]|0)==0){B=c[9152]|0;break}else{i=e;return}}}while(0);c[9152]=c[B+20>>2];i=e;return}function aon(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;d=a+220|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=a+204|0;f=c[d>>2]|0;if((f|0)<=0){return}h=a+212|0;a=b|0;i=b+4|0;j=b+8|0;b=0;k=f;while(1){f=c[(c[h>>2]|0)+(b<<2)>>2]|0;l=c[f+216>>2]|0;do{if((l|0)==5|(l|0)==2){m=k}else{if((c[f+496>>2]&1|0)!=0){m=k;break}n=+g[f+336>>2];if(n!=0.0){o=1.0/n;n=o*+g[i>>2];p=o*+g[j>>2];g[f+356>>2]=o*+g[a>>2];g[f+360>>2]=n;g[f+364>>2]=p;g[f+368>>2]=0.0}q=f+372|0;c[q>>2]=c[e>>2];c[q+4>>2]=c[e+4>>2];c[q+8>>2]=c[e+8>>2];c[q+12>>2]=c[e+12>>2];m=c[d>>2]|0}}while(0);f=b+1|0;if((f|0)<(m|0)){b=f;k=m}else{break}}return}function aoo(a,b){a=a|0;b=b|0;var d=0;d=a;a=b+220|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function aop(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;atB(a|0,b,c,d);return}function aoq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!((c[b+232>>2]&2|0)==0|(b|0)==0)){cv[c[(c[a>>2]|0)+88>>2]&2047](a,b);return}d=b+188|0;e=c[d>>2]|0;if((e|0)!=0){f=a+76|0;g=c[f>>2]|0;h=cA[c[(c[g>>2]|0)+36>>2]&4095](g)|0;g=a+24|0;dA[c[(c[h>>2]|0)+40>>2]&511](h,e,c[g>>2]|0);h=c[f>>2]|0;dA[c[(c[h>>2]|0)+12>>2]&511](h,e,c[g>>2]|0);c[d>>2]=0}d=a+8|0;g=c[d>>2]|0;e=a+16|0;a=0;while(1){if((a|0)>=(g|0)){i=2759;break}j=c[e>>2]|0;k=j+(a<<2)|0;if((c[k>>2]|0)==(b|0)){break}else{a=a+1|0}}if((i|0)==2759){return}i=g-1|0;c[k>>2]=c[j+(i<<2)>>2];c[(c[e>>2]|0)+(i<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)-1;return}function aor(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+204|0;e=c[d>>2]|0;f=a+212|0;g=0;while(1){if((g|0)>=(e|0)){break}h=c[f>>2]|0;i=h+(g<<2)|0;if((c[i>>2]|0)==(b|0)){j=2763;break}else{g=g+1|0}}if((j|0)==2763){g=e-1|0;c[i>>2]=c[h+(g<<2)>>2];c[(c[f>>2]|0)+(g<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)-1}d=b|0;g=b+188|0;b=c[g>>2]|0;if((b|0)!=0){f=a+76|0;h=c[f>>2]|0;i=cA[c[(c[h>>2]|0)+36>>2]&4095](h)|0;h=a+24|0;dA[c[(c[i>>2]|0)+40>>2]&511](i,b,c[h>>2]|0);i=c[f>>2]|0;dA[c[(c[i>>2]|0)+12>>2]&511](i,b,c[h>>2]|0);c[g>>2]=0}g=a+8|0;h=c[g>>2]|0;b=a+16|0;a=0;while(1){if((a|0)>=(h|0)){j=2772;break}k=c[b>>2]|0;l=k+(a<<2)|0;if((c[l>>2]|0)==(d|0)){break}else{a=a+1|0}}if((j|0)==2772){return}j=h-1|0;c[l>>2]=c[k+(j<<2)>>2];c[(c[b>>2]|0)+(j<<2)>>2]=d;c[g>>2]=(c[g>>2]|0)-1;return}function aos(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e|0;h=e+8|0;aDo(17080);j=b|0;k=c[b+92>>2]|0;if((k|0)!=0){cq[k&1023](j,d)}k=b;cq[c[(c[k>>2]|0)+136>>2]&1023](b,d);l=b|0;g[b+28>>2]=d;c[b+32>>2]=0;c[b+48>>2]=cA[c[(c[b>>2]|0)+16>>2]&4095](l)|0;ct[c[(c[b>>2]|0)+40>>2]&2047](l);if((a[b+44|0]&1)!=0){cq[c[(c[k>>2]|0)+144>>2]&1023](b,d)}ct[c[(c[b>>2]|0)+148>>2]&2047](b);g[b+112>>2]=d;cv[c[(c[b>>2]|0)+152>>2]&2047](b,b+100|0);cq[c[(c[k>>2]|0)+140>>2]&1023](b,d);aDo(16856);k=b+248|0;if((c[k>>2]|0)>0){m=b+256|0;n=0;do{o=c[(c[m>>2]|0)+(n<<2)>>2]|0;dF[c[(c[o>>2]|0)+8>>2]&255](o,l,d);n=n+1|0;}while((n|0)<(c[k>>2]|0))}k=c[9152]|0;n=k+16|0;l=(c[n>>2]|0)-1|0;c[n>>2]=l;do{if((l|0)==0){if((c[k+4>>2]|0)==0){p=k}else{b3(h|0,0)|0;m=c[10742]|0;o=k+8|0;g[o>>2]=+(((c[h+4>>2]|0)-(c[m+4>>2]|0)+(((c[h>>2]|0)-(c[m>>2]|0)|0)*1e6|0)-(c[k+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[o>>2];if((c[n>>2]|0)!=0){break}p=c[9152]|0}c[9152]=c[p+20>>2]}}while(0);aom(b,d);p=c[b+88>>2]|0;if((p|0)!=0){cq[p&1023](j,d)}j=c[9152]|0;p=j+16|0;b=(c[p>>2]|0)-1|0;c[p>>2]=b;if((b|0)!=0){i=e;return}do{if((c[j+4>>2]|0)==0){q=j}else{b3(f|0,0)|0;b=c[10742]|0;n=j+8|0;g[n>>2]=+(((c[f+4>>2]|0)-(c[b+4>>2]|0)+(((c[f>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[j+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[n>>2];if((c[p>>2]|0)==0){q=c[9152]|0;break}else{i=e;return}}}while(0);c[9152]=c[q+20>>2];i=e;return}function aot(a,b){a=a|0;b=b|0;var 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;d=a+184|0;e=c[d>>2]|0;f=a+192|0;a=0;while(1){if((a|0)>=(e|0)){break}g=c[f>>2]|0;h=g+(a<<2)|0;if((c[h>>2]|0)==(b|0)){i=2825;break}else{a=a+1|0}}if((i|0)==2825){a=e-1|0;c[h>>2]=c[g+(a<<2)>>2];c[(c[f>>2]|0)+(a<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)-1}d=c[b+24>>2]|0;a=d+480|0;f=c[a>>2]|0;g=d+488|0;h=0;while(1){if((h|0)>=(f|0)){j=f;break}k=c[g>>2]|0;l=k+(h<<2)|0;if((c[l>>2]|0)==(b|0)){i=2829;break}else{h=h+1|0}}if((i|0)==2829){h=f-1|0;c[l>>2]=c[k+(h<<2)>>2];c[(c[g>>2]|0)+(h<<2)>>2]=b;h=(c[a>>2]|0)-1|0;c[a>>2]=h;j=h}c[d+252>>2]=(j|0)>0;j=c[b+28>>2]|0;d=j+480|0;h=c[d>>2]|0;a=j+488|0;g=0;while(1){if((g|0)>=(h|0)){m=h;i=2835;break}n=c[a>>2]|0;o=n+(g<<2)|0;if((c[o>>2]|0)==(b|0)){break}else{g=g+1|0}}if((i|0)==2835){p=(m|0)>0;q=p&1;r=j+252|0;c[r>>2]=q;return}i=h-1|0;c[o>>2]=c[n+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=b;b=(c[d>>2]|0)-1|0;c[d>>2]=b;m=b;p=(m|0)>0;q=p&1;r=j+252|0;c[r>>2]=q;return}function aou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+248|0;e=c[d>>2]|0;f=a+256|0;a=0;while(1){if((a|0)>=(e|0)){g=2843;break}h=c[f>>2]|0;i=h+(a<<2)|0;if((c[i>>2]|0)==(b|0)){break}else{a=a+1|0}}if((g|0)==2843){return}g=e-1|0;c[i>>2]=c[h+(g<<2)>>2];c[(c[f>>2]|0)+(g<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)-1;return}function aov(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.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;e=d|0;f=d+204|0;h=c[f>>2]|0;do{if((h&3|0)==0){if((c[d+496>>2]&1|0)!=0){break}i=b+220|0;j=+g[d+336>>2];if(j!=0.0){k=1.0/j;j=k*+g[b+224>>2];l=k*+g[b+228>>2];g[d+356>>2]=k*+g[i>>2];g[d+360>>2]=j;g[d+364>>2]=l;g[d+368>>2]=0.0}m=d+372|0;n=i;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2]}}while(0);if((c[d+192>>2]|0)==0){return}do{if((h&1|0)==0){n=b+204|0;m=c[n>>2]|0;i=b+208|0;do{if((m|0)==(c[i>>2]|0)){o=(m|0)==0?1:m<<1;if((m|0)>=(o|0)){p=m;break}if((o|0)==0){q=0;r=m}else{c[9806]=(c[9806]|0)+1;s=aDx((o<<2)+19|0)|0;if((s|0)==0){t=0}else{u=-(s+4|0)&15;c[s+u>>2]=s;t=s+(u+4)|0}q=t;r=c[n>>2]|0}u=b+212|0;if((r|0)>0){s=0;do{v=q+(s<<2)|0;if((v|0)!=0){c[v>>2]=c[(c[u>>2]|0)+(s<<2)>>2]}s=s+1|0;}while((s|0)<(r|0))}s=c[u>>2]|0;v=b+216|0;if((s|0)!=0){if((a[v]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[s-4>>2]|0)}c[u>>2]=0}a[v]=1;c[u>>2]=q;c[i>>2]=o;p=c[n>>2]|0}else{p=m}}while(0);m=(c[b+212>>2]|0)+(p<<2)|0;if((m|0)==0){w=p}else{c[m>>2]=d;w=c[n>>2]|0}c[n>>2]=w+1;x=c[f>>2]|0}else{m=d+216|0;if(((c[m>>2]|0)-4|0)>>>0<2){x=h;break}c[m>>2]=2;x=h}}while(0);if((x&1|0)==0){y=(x&2|0)==0}else{y=0}dI[c[(c[b>>2]|0)+32>>2]&1023](b,e,y?1:2,y?-1:-3);return}function aow(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=d|0;i=c[d+204>>2]|0;do{if((i&3|0)==0){if((c[d+496>>2]&1|0)!=0){break}j=b+220|0;k=+g[d+336>>2];if(k!=0.0){l=1.0/k;k=l*+g[b+224>>2];m=l*+g[b+228>>2];g[d+356>>2]=l*+g[j>>2];g[d+360>>2]=k;g[d+364>>2]=m;g[d+368>>2]=0.0}n=d+372|0;o=j;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2]}}while(0);if((c[d+192>>2]|0)==0){return}do{if((i&1|0)==0){o=b+204|0;n=c[o>>2]|0;j=b+208|0;do{if((n|0)==(c[j>>2]|0)){p=(n|0)==0?1:n<<1;if((n|0)>=(p|0)){q=n;break}if((p|0)==0){r=0;s=n}else{c[9806]=(c[9806]|0)+1;t=aDx((p<<2)+19|0)|0;if((t|0)==0){u=0}else{v=-(t+4|0)&15;c[t+v>>2]=t;u=t+(v+4)|0}r=u;s=c[o>>2]|0}v=b+212|0;if((s|0)>0){t=0;do{w=r+(t<<2)|0;if((w|0)!=0){c[w>>2]=c[(c[v>>2]|0)+(t<<2)>>2]}t=t+1|0;}while((t|0)<(s|0))}t=c[v>>2]|0;w=b+216|0;if((t|0)!=0){if((a[w]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[t-4>>2]|0)}c[v>>2]=0}a[w]=1;c[v>>2]=r;c[j>>2]=p;q=c[o>>2]|0}else{q=n}}while(0);n=(c[b+212>>2]|0)+(q<<2)|0;if((n|0)==0){x=q}else{c[n>>2]=d;x=c[o>>2]|0}c[o>>2]=x+1}else{n=d+216|0;if(((c[n>>2]|0)-4|0)>>>0<2){break}c[n>>2]=2}}while(0);dI[c[(c[b>>2]|0)+32>>2]&1023](b,h,e,f);return}function aox(b,d,e){b=b|0;d=d|0;e=e|0;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;f=b+184|0;g=c[f>>2]|0;h=b+188|0;do{if((g|0)==(c[h>>2]|0)){i=(g|0)==0?1:g<<1;if((g|0)>=(i|0)){j=g;break}if((i|0)==0){k=0;l=g}else{c[9806]=(c[9806]|0)+1;m=aDx((i<<2)+19|0)|0;if((m|0)==0){n=0}else{o=-(m+4|0)&15;c[m+o>>2]=m;n=m+(o+4)|0}k=n;l=c[f>>2]|0}o=b+192|0;if((l|0)>0){m=0;do{p=k+(m<<2)|0;if((p|0)!=0){c[p>>2]=c[(c[o>>2]|0)+(m<<2)>>2]}m=m+1|0;}while((m|0)<(l|0))}m=c[o>>2]|0;p=b+196|0;if((m|0)!=0){if((a[p]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-4>>2]|0)}c[o>>2]=0}a[p]=1;c[o>>2]=k;c[h>>2]=i;j=c[f>>2]|0}else{j=g}}while(0);g=(c[b+192>>2]|0)+(j<<2)|0;if((g|0)==0){q=j}else{c[g>>2]=d;q=c[f>>2]|0}c[f>>2]=q+1;if(!e){return}ap6(c[d+24>>2]|0,d);ap6(c[d+28>>2]|0,d);return}function aoy(b,d){b=b|0;d=d|0;var 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;e=b+248|0;f=c[e>>2]|0;g=b+252|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[e>>2]|0}n=b+256|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=b+260|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[e>>2]|0}else{i=f}}while(0);f=(c[b+256>>2]|0)+(i<<2)|0;if((f|0)==0){p=i;q=p+1|0;c[e>>2]=q;return}c[f>>2]=d;p=c[e>>2]|0;q=p+1|0;c[e>>2]=q;return}function aoz(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function aoA(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+64>>2]&2047](a,b);return}function aoB(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+60>>2]&2047](a,b);return}function aoC(a,b){a=a|0;b=b|0;cv[c[(c[a>>2]|0)+64>>2]&2047](a,b);return}function aoD(b,d){b=b|0;d=d|0;var e=0,f=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0;e=i;i=i+176|0;f=e+8|0;h=e+16|0;j=e+32|0;k=e+48|0;l=e+56|0;m=e+80|0;aDo(16528);n=l+16|0;a[n]=1;o=l+12|0;c[o>>2]=0;p=l+4|0;c[p>>2]=0;q=l+8|0;c[q>>2]=0;r=c[b+184>>2]|0;L3236:do{if((r|0)>0){c[9806]=(c[9806]|0)+1;s=aDx((r<<2)+19|0)|0;if((s|0)==0){t=0}else{u=-(s+4|0)&15;c[s+u>>2]=s;t=s+(u+4)|0}u=c[p>>2]|0;if((u|0)>0){s=0;do{v=t+(s<<2)|0;if((v|0)!=0){c[v>>2]=c[(c[o>>2]|0)+(s<<2)>>2]}s=s+1|0;}while((s|0)<(u|0))}u=c[o>>2]|0;if((u|0)!=0){if((a[n]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[u-4>>2]|0)}c[o>>2]=0}a[n]=1;c[o>>2]=t;c[q>>2]=r;u=0;s=t;while(1){v=s+(u<<2)|0;if((v|0)!=0){c[v>>2]=0}v=u+1|0;if((v|0)>=(r|0)){break L3236}u=v;s=c[o>>2]|0}}}while(0);c[p>>2]=r;r=b;t=b+192|0;s=0;while(1){if((s|0)>=(cA[c[(c[r>>2]|0)+100>>2]&4095](b)|0)){break}c[(c[o>>2]|0)+(s<<2)>>2]=c[(c[t>>2]|0)+(s<<2)>>2];s=s+1|0}s=c[p>>2]|0;if((s|0)>1){aoR(l,0,s-1|0)}s=(cA[c[(c[r>>2]|0)+100>>2]&4095](b)|0)==0;r=s?0:c[o>>2]|0;s=b+172|0;l=c[s>>2]|0;t=c[p>>2]|0;u=b+80|0;v=c[u>>2]|0;w=b+72|0;x=c[w>>2]|0;y=b+24|0;z=c[y>>2]|0;c[m>>2]=18656;c[m+4>>2]=d;c[m+8>>2]=l;c[m+12>>2]=r;c[m+16>>2]=t;c[m+20>>2]=v;c[m+24>>2]=x;c[m+28>>2]=z;a[m+48|0]=1;c[m+44>>2]=0;c[m+36>>2]=0;c[m+40>>2]=0;a[m+68|0]=1;c[m+64>>2]=0;c[m+56>>2]=0;c[m+60>>2]=0;a[m+88|0]=1;c[m+84>>2]=0;c[m+76>>2]=0;c[m+80>>2]=0;x=c[(c[l>>2]|0)+8>>2]|0;v=b+8|0;t=c[v>>2]|0;r=cA[c[(c[z>>2]|0)+36>>2]&4095](z)|0;dA[x&511](l,t,r);r=c[b+176>>2]|0;t=c[y>>2]|0;y=m|0;aDo(16320);l=r+28|0;x=c[l>>2]|0;if((x|0)<0){z=r+32|0;A=r+36|0;if((c[z>>2]|0)<0){B=c[A>>2]|0;C=r+40|0;if((B|0)!=0){if((a[C]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[B-4>>2]|0)}c[A>>2]=0}a[C]=1;c[A>>2]=0;c[z>>2]=0;D=x}else{D=x}do{x=(c[A>>2]|0)+(D<<2)|0;if((x|0)!=0){c[x>>2]=0}D=D+1|0;}while((D|0)<0)}c[l>>2]=0;D=r+4|0;A=r+8|0;x=c[A>>2]|0;do{if((x|0)>0){z=r+16|0;C=0;do{B=c[z>>2]|0;E=B+(C<<3)|0;F=c[E>>2]|0;if((F|0)==(C|0)){G=C;H=B}else{I=B;B=E;E=F;while(1){F=I+(E<<3)|0;c[B>>2]=c[F>>2];J=c[F>>2]|0;F=c[z>>2]|0;K=F+(J<<3)|0;L=c[K>>2]|0;if((J|0)==(L|0)){G=J;H=F;break}else{I=F;B=K;E=L}}}c[H+(C<<3)>>2]=G;C=C+1|0;}while((C|0)<(x|0));C=c[A>>2]|0;z=k|0;if((C|0)>1){aBX(D,0,C-1|0);M=z;N=c[A>>2]|0}else{M=z;N=C}if((N|0)<=0){break}C=r+16|0;z=b+16|0;E=0;while(1){B=c[C>>2]|0;I=c[B+(E<<3)>>2]|0;L=E;do{L=L+1|0;O=(L|0)<(N|0);if(!O){break}}while((c[B+(L<<3)>>2]|0)==(I|0));L3309:do{if((E|0)<(L|0)){K=c[z>>2]|0;F=E;J=1;while(1){P=c[K+(c[B+(F<<3)+4>>2]<<2)>>2]|0;if((c[P+208>>2]|0)==(I|0)){Q=c[P+216>>2]|0;R=J&(Q|0)!=1&(Q|0)!=4}else{R=J}Q=F+1|0;if((Q|0)<(L|0)){F=Q;J=R}else{break}}if(R){J=E;F=B;Q=K;while(1){P=c[Q+(c[F+(J<<3)+4>>2]<<2)>>2]|0;do{if((c[P+208>>2]|0)==(I|0)){S=P+216|0;if(((c[S>>2]|0)-4|0)>>>0<2){break}c[S>>2]=2}}while(0);P=J+1|0;if((P|0)>=(L|0)){break L3309}J=P;F=c[C>>2]|0;Q=c[z>>2]|0}}else{Q=E;F=B;J=K;while(1){P=c[J+(c[F+(Q<<3)+4>>2]<<2)>>2]|0;do{if((c[P+208>>2]|0)==(I|0)){S=P+216|0;if((c[S>>2]|0)!=2){break}c[S>>2]=3;g[P+220>>2]=0.0}}while(0);P=Q+1|0;if((P|0)>=(L|0)){break L3309}Q=P;F=c[C>>2]|0;J=c[z>>2]|0}}}}while(0);if(O){E=L}else{break}}}else{}}while(0);O=t;R=cA[c[(c[O>>2]|0)+36>>2]&4095](t)|0;if((R|0)>0){N=t;M=r+64|0;D=t;k=r+32|0;x=r+36|0;G=r+40|0;H=0;do{E=dj[c[(c[N>>2]|0)+40>>2]&511](t,H)|0;z=c[E+1108>>2]|0;C=z;I=c[E+1112>>2]|0;B=I;if((z|0)==0){T=3037}else{if((c[z+216>>2]|0)==2){T=3037}else{T=3039}}do{if((T|0)==3037){T=0;if((I|0)==0){break}if((c[I+216>>2]|0)!=2){T=3039}}}while(0);do{if((T|0)==3039){T=0;J=z+204|0;do{if((c[J>>2]&2|0)!=0){if((c[z+216>>2]|0)==2){break}if((c[I+204>>2]&3|0)!=0){break}F=I+216|0;if(((c[F>>2]|0)-4|0)>>>0>=2){c[F>>2]=1}g[I+220>>2]=0.0}}while(0);do{if((c[I+204>>2]&2|0)!=0){if((c[I+216>>2]|0)==2){break}if((c[J>>2]&3|0)!=0){break}L=z+216|0;if(((c[L>>2]|0)-4|0)>>>0>=2){c[L>>2]=1}g[z+220>>2]=0.0}}while(0);if((a[M]&1)==0){break}if(!(cS[c[(c[D>>2]|0)+28>>2]&511](t,C,B)|0)){break}J=c[l>>2]|0;do{if((J|0)==(c[k>>2]|0)){L=(J|0)==0?1:J<<1;if((J|0)>=(L|0)){U=J;break}if((L|0)==0){V=0;W=J}else{c[9806]=(c[9806]|0)+1;F=aDx((L<<2)+19|0)|0;if((F|0)==0){X=0}else{Q=-(F+4|0)&15;c[F+Q>>2]=F;X=F+(Q+4)|0}V=X;W=c[l>>2]|0}if((W|0)>0){Q=0;do{F=V+(Q<<2)|0;if((F|0)!=0){c[F>>2]=c[(c[x>>2]|0)+(Q<<2)>>2]}Q=Q+1|0;}while((Q|0)<(W|0))}Q=c[x>>2]|0;if((Q|0)!=0){if((a[G]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[Q-4>>2]|0)}c[x>>2]=0}a[G]=1;c[x>>2]=V;c[k>>2]=L;U=c[l>>2]|0}else{U=J}}while(0);J=(c[x>>2]|0)+(U<<2)|0;if((J|0)==0){Y=U}else{c[J>>2]=E;Y=c[l>>2]|0}c[l>>2]=Y+1}}while(0);H=H+1|0;}while((H|0)<(R|0))}R=c[9152]|0;H=R+16|0;Y=(c[H>>2]|0)-1|0;c[H>>2]=Y;do{if((Y|0)==0){if((c[R+4>>2]|0)==0){Z=R}else{b3(j|0,0)|0;U=c[10742]|0;x=R+8|0;g[x>>2]=+(((c[j+4>>2]|0)-(c[U+4>>2]|0)+(((c[j>>2]|0)-(c[U>>2]|0)|0)*1e6|0)-(c[R+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[x>>2];if((c[H>>2]|0)!=0){break}Z=c[9152]|0}c[9152]=c[Z+20>>2]}}while(0);Z=c[A>>2]|0;aDo(17616);do{if((a[r+64|0]&1)==0){A=cA[c[(c[t>>2]|0)+44>>2]&4095](t)|0;H=cA[c[(c[O>>2]|0)+36>>2]&4095](t)|0;c_[c[(c[m>>2]|0)+8>>2]&127](y,c[b+16>>2]|0,c[v>>2]|0,A,H,-1)}else{H=c[l>>2]|0;if((H|0)>1){aAo(r+24|0,0,H-1|0)}if((Z|0)<=0){break}A=r+16|0;R=r+36|0;j=r+48|0;Y=r+52|0;x=r+56|0;U=r+60|0;k=m;V=b+16|0;G=1;W=0;X=0;while(1){D=c[A>>2]|0;M=c[D+(X<<3)>>2]|0;L3414:do{if((X|0)<(Z|0)){T=1;N=X;E=D;B=M;while(1){if((B|0)!=(M|0)){_=T;$=N;break L3414}C=c[(c[V>>2]|0)+(c[E+(N<<3)+4>>2]<<2)>>2]|0;z=c[j>>2]|0;do{if((z|0)==(c[Y>>2]|0)){I=(z|0)==0?1:z<<1;if((z|0)>=(I|0)){aa=z;break}if((I|0)==0){ab=0;ac=z}else{c[9806]=(c[9806]|0)+1;J=aDx((I<<2)+19|0)|0;if((J|0)==0){ad=0}else{Q=-(J+4|0)&15;c[J+Q>>2]=J;ad=J+(Q+4)|0}ab=ad;ac=c[j>>2]|0}if((ac|0)>0){Q=0;do{J=ab+(Q<<2)|0;if((J|0)!=0){c[J>>2]=c[(c[x>>2]|0)+(Q<<2)>>2]}Q=Q+1|0;}while((Q|0)<(ac|0))}Q=c[x>>2]|0;if((Q|0)!=0){if((a[U]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[Q-4>>2]|0)}c[x>>2]=0}a[U]=1;c[x>>2]=ab;c[Y>>2]=I;aa=c[j>>2]|0}else{aa=z}}while(0);z=(c[x>>2]|0)+(aa<<2)|0;if((z|0)==0){ae=aa}else{c[z>>2]=C;ae=c[j>>2]|0}c[j>>2]=ae+1;z=c[C+216>>2]|0;Q=T&((z|0)==2|(z|0)==5);z=N+1|0;if((z|0)>=(Z|0)){_=Q;$=z;break L3414}J=c[A>>2]|0;T=Q;N=z;E=J;B=c[J+(z<<3)>>2]|0}}else{_=1;$=X}}while(0);do{if((W|0)<(H|0)){D=c[R>>2]|0;B=D+(W<<2)|0;E=c[B>>2]|0;N=c[(c[E+1108>>2]|0)+208>>2]|0;if((N|0)>-1){af=N}else{af=c[(c[E+1112>>2]|0)+208>>2]|0}if((af|0)==(M|0)){ag=W}else{ah=0;ai=0;aj=G;break}do{ag=ag+1|0;if((ag|0)>=(H|0)){break}E=c[D+(ag<<2)>>2]|0;N=c[(c[E+1108>>2]|0)+208>>2]|0;if((N|0)>-1){ak=N}else{ak=c[(c[E+1112>>2]|0)+208>>2]|0}}while((M|0)==(ak|0));ah=B;ai=ag-W|0;aj=ag}else{ah=0;ai=0;aj=G}}while(0);if(!_){c_[c[(c[k>>2]|0)+8>>2]&127](y,c[x>>2]|0,c[j>>2]|0,ah,ai,M)}D=(ai|0)==0?W:aj;E=c[j>>2]|0;if((E|0)<0){if((c[Y>>2]|0)<0){N=c[x>>2]|0;if((N|0)!=0){if((a[U]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[N-4>>2]|0)}c[x>>2]=0}a[U]=1;c[x>>2]=0;c[Y>>2]=0;al=E}else{al=E}do{E=(c[x>>2]|0)+(al<<2)|0;if((E|0)!=0){c[E>>2]=0}al=al+1|0;}while((al|0)<0)}c[j>>2]=0;if(($|0)<(Z|0)){G=aj;W=D;X=$}else{break}}}}while(0);$=c[9152]|0;aj=$+16|0;Z=(c[aj>>2]|0)-1|0;c[aj>>2]=Z;do{if((Z|0)==0){if((c[$+4>>2]|0)==0){am=$}else{b3(h|0,0)|0;al=c[10742]|0;ai=$+8|0;g[ai>>2]=+(((c[h+4>>2]|0)-(c[al+4>>2]|0)+(((c[h>>2]|0)-(c[al>>2]|0)|0)*1e6|0)-(c[$+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[ai>>2];if((c[aj>>2]|0)!=0){break}am=c[9152]|0}c[9152]=c[am+20>>2]}}while(0);aoE(m);am=c[s>>2]|0;dI[c[(c[am>>2]|0)+16>>2]&1023](am,d,c[u>>2]|0,c[w>>2]|0);aoV(m);m=c[o>>2]|0;if((m|0)!=0){if((a[n]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-4>>2]|0)}c[o>>2]=0}a[n]=1;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;q=c[9152]|0;p=q+16|0;o=(c[p>>2]|0)-1|0;c[p>>2]=o;if((o|0)!=0){i=e;return}do{if((c[q+4>>2]|0)==0){an=q}else{b3(f|0,0)|0;o=c[10742]|0;n=q+8|0;g[n>>2]=+(((c[f+4>>2]|0)-(c[o+4>>2]|0)+(((c[f>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[q+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[n>>2];if((c[p>>2]|0)==0){an=c[9152]|0;break}else{i=e;return}}}while(0);c[9152]=c[an+20>>2];i=e;return}function aoE(b){b=b|0;var 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,v=0;d=b+56|0;e=c[d>>2]|0;f=b+76|0;g=c[f>>2]|0;if((g+e|0)>0){h=c[b+8>>2]|0;i=c[(c[h>>2]|0)+12>>2]|0;j=c[b+44>>2]|0;k=b+36|0;l=c[k>>2]|0;m=c[b+64>>2]|0;n=c[b+84>>2]|0;o=c[b+4>>2]|0;p=c[b+20>>2]|0;q=c[b+24>>2]|0;r=c[b+28>>2]|0;+cN[i&63](h,j,l,m,e,n,g,o,p,q,r);s=k}else{s=b+36|0}k=c[s>>2]|0;if((k|0)<0){r=b+40|0;q=b+44|0;if((c[r>>2]|0)<0){p=c[q>>2]|0;o=b+48|0;if((p|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-4>>2]|0)}c[q>>2]=0}a[o]=1;c[q>>2]=0;c[r>>2]=0;t=k}else{t=k}do{k=(c[q>>2]|0)+(t<<2)|0;if((k|0)!=0){c[k>>2]=0}t=t+1|0;}while((t|0)<0)}c[s>>2]=0;s=c[d>>2]|0;if((s|0)<0){t=b+60|0;q=b+64|0;if((c[t>>2]|0)<0){k=c[q>>2]|0;r=b+68|0;if((k|0)!=0){if((a[r]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[k-4>>2]|0)}c[q>>2]=0}a[r]=1;c[q>>2]=0;c[t>>2]=0;u=s}else{u=s}do{s=(c[q>>2]|0)+(u<<2)|0;if((s|0)!=0){c[s>>2]=0}u=u+1|0;}while((u|0)<0)}c[d>>2]=0;d=c[f>>2]|0;if((d|0)>=0){c[f>>2]=0;return}u=b+80|0;q=b+84|0;if((c[u>>2]|0)<0){s=c[q>>2]|0;t=b+88|0;if((s|0)!=0){if((a[t]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[s-4>>2]|0)}c[q>>2]=0}a[t]=1;c[q>>2]=0;c[u>>2]=0;v=d}else{v=d}do{d=(c[q>>2]|0)+(v<<2)|0;if((d|0)!=0){c[d>>2]=0}v=v+1|0;}while((v|0)<0);c[f>>2]=0;return}function aoF(a){a=a|0;var b=0,d=0,e=0,f=0,h=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,z=0;b=i;i=i+16|0;d=b|0;aDo(16384);e=a+176|0;f=c[e>>2]|0;h=a|0;dA[c[(c[f>>2]|0)+8>>2]&511](f,h,c[a+24>>2]|0);f=c[a+184>>2]|0;if((f|0)>0){j=a+192|0;a=0;do{k=c[(c[j>>2]|0)+(a<<2)>>2]|0;l=c[k+24>>2]|0;m=c[k+28>>2]|0;do{if((l|0)!=0){if((c[l+204>>2]&3|0)!=0|(m|0)==0){break}if((c[m+204>>2]&3|0)!=0){break}k=c[l+216>>2]|0;if((k|0)==5|(k|0)==2){k=c[m+216>>2]|0;if((k|0)==5|(k|0)==2){break}}k=c[l+208>>2]|0;n=c[m+208>>2]|0;o=(c[e>>2]|0)+16|0;p=c[o>>2]|0;q=p+(k<<3)|0;r=c[q>>2]|0;if((r|0)==(k|0)){s=k;t=p}else{k=p;p=q;q=r;while(1){r=k+(q<<3)|0;c[p>>2]=c[r>>2];u=c[r>>2]|0;r=c[o>>2]|0;v=r+(u<<3)|0;w=c[v>>2]|0;if((u|0)==(w|0)){s=u;t=r;break}else{k=r;p=v;q=w}}}q=t+(n<<3)|0;p=c[q>>2]|0;if((p|0)==(n|0)){x=n;y=t}else{k=t;w=q;q=p;while(1){p=k+(q<<3)|0;c[w>>2]=c[p>>2];v=c[p>>2]|0;p=c[o>>2]|0;r=p+(v<<3)|0;u=c[r>>2]|0;if((v|0)==(u|0)){x=v;y=p;break}else{k=p;w=r;q=u}}}if((s|0)==(x|0)){break}c[y+(s<<3)>>2]=x;q=c[o>>2]|0;w=q+(x<<3)+4|0;c[w>>2]=(c[w>>2]|0)+(c[q+(s<<3)+4>>2]|0)}}while(0);a=a+1|0;}while((a|0)<(f|0))}f=c[e>>2]|0;cv[c[(c[f>>2]|0)+12>>2]&2047](f,h);h=c[9152]|0;f=h+16|0;e=(c[f>>2]|0)-1|0;c[f>>2]=e;if((e|0)!=0){i=b;return}do{if((c[h+4>>2]|0)==0){z=h}else{b3(d|0,0)|0;e=c[10742]|0;a=h+8|0;g[a>>2]=+(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[h+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[a>>2];if((c[f>>2]|0)==0){z=c[9152]|0;break}else{i=b;return}}}while(0);c[9152]=c[z+20>>2];i=b;return}function aoG(a){a=a|0;return}function aoH(d,e){d=d|0;e=+e;var f=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0.0,aK=0,aL=0.0,aM=0,aN=0.0,aO=0.0,aP=0.0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0.0,aW=0.0,aX=0.0,aY=0.0,aZ=0.0,a_=0.0,a$=0.0,a0=0.0,a1=0.0,a2=0.0,a3=0.0,a4=0.0,a5=0.0,a6=0.0,a7=0.0,a8=0.0,a9=0.0,ba=0.0,bb=0.0,bc=0.0,bd=0.0,be=0,bf=0,bg=0,bh=0,bi=0;f=i;i=i+376|0;h=f+8|0;j=f+16|0;k=f+24|0;l=f+40|0;m=f+56|0;n=f+72|0;o=f+96|0;p=f+160|0;q=f+256|0;r=f+312|0;aDo(16224);s=d+204|0;if((c[s>>2]|0)>0){t=d+212|0;u=o+48|0;v=u|0;w=o+52|0;x=o+56|0;y=d|0;z=d+44|0;A=d+76|0;B=d+24|0;C=p|0;D=p+4|0;E=p+8|0;F=p+10|0;G=p+12|0;H=p+28|0;I=u;u=p+76|0;J=p+80|0;K=p+84|0;L=p+88|0;M=p+92|0;N=q|0;O=q+4|0;P=q+28|0;Q=q+44|0;R=d+56|0;S=p|0;T=r;U=r+16|0;V=r+32|0;W=r+48|0;X=q|0;Y=q+8|0;Z=q+12|0;_=q+16|0;$=q+20|0;aa=q+24|0;q=p+60|0;ab=p+64|0;ac=p+68|0;ad=k|0;ae=k+4|0;af=k+8|0;ag=k+12|0;ah=l|0;ai=l+4|0;aj=l+8|0;ak=l+12|0;al=p+44|0;am=p+48|0;an=p+52|0;p=d+132|0;ao=d+112|0;d=m|0;ap=m+4|0;aq=m+8|0;ar=m+12|0;as=n|0;at=n+4|0;au=n+8|0;av=n+12|0;aw=h|0;ax=h+4|0;ay=0;do{az=c[(c[t>>2]|0)+(ay<<2)>>2]|0;aA=az|0;aB=az+240|0;g[aB>>2]=1.0;aC=c[az+216>>2]|0;L3601:do{if(!((aC|0)==5|(aC|0)==2)){if((c[az+204>>2]&3|0)!=0){break}aD=az+4|0;aE=az+320|0;aF=az+304|0;aG=az+308|0;aH=az+312|0;anY(aD,+g[aF>>2],+g[aG>>2],+g[aH>>2],aE,e,o);aI=az+52|0;aJ=+g[v>>2]- +g[aI>>2];aK=az+56|0;aL=+g[w>>2]- +g[aK>>2];aM=az+60|0;aN=+g[x>>2]- +g[aM>>2];do{if((a[z]&1)!=0){aO=+g[az+248>>2];aP=aO*aO;if(!(aP!=0.0&aP>2]|0)+4>>2]|0)<20){c[9802]=(c[9802]|0)+1;aQ=c[A>>2]|0;aR=cA[c[(c[aQ>>2]|0)+36>>2]&4095](aQ)|0;aQ=c[B>>2]|0;g[D>>2]=1.0;b[E>>1]=1;b[F>>1]=-1;c[C>>2]=19448;aS=aI;c[G>>2]=c[aS>>2];c[G+4>>2]=c[aS+4>>2];c[G+8>>2]=c[aS+8>>2];c[G+12>>2]=c[aS+12>>2];c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];c[u>>2]=0;c[C>>2]=19728;c[J>>2]=aA;g[K>>2]=0.0;c[L>>2]=aR;c[M>>2]=aQ;aP=+g[az+244>>2];c[Y>>2]=0;g[Z>>2]=1.0;g[_>>2]=1.0;g[$>>2]=1.0;g[aa>>2]=0.0;c[N>>2]=25528;c[O>>2]=8;g[P>>2]=aP;g[Q>>2]=aP;g[K>>2]=+g[R>>2];aQ=az+188|0;b[E>>1]=b[(c[aQ>>2]|0)+4>>1]|0;b[F>>1]=b[(c[aQ>>2]|0)+6>>1]|0;c[W>>2]=c[I>>2];c[W+4>>2]=c[I+4>>2];c[W+8>>2]=c[I+8>>2];c[W+12>>2]=c[I+12>>2];aQ=aD;c[T>>2]=c[aQ>>2];c[T+4>>2]=c[aQ+4>>2];c[T+8>>2]=c[aQ+8>>2];c[T+12>>2]=c[aQ+12>>2];aQ=az+20|0;c[U>>2]=c[aQ>>2];c[U+4>>2]=c[aQ+4>>2];c[U+8>>2]=c[aQ+8>>2];c[U+12>>2]=c[aQ+12>>2];aQ=az+36|0;c[V>>2]=c[aQ>>2];c[V+4>>2]=c[aQ+4>>2];c[V+8>>2]=c[aQ+8>>2];c[V+12>>2]=c[aQ+12>>2];atO(y,X,aD,r,S,0.0);aP=+g[D>>2];if(aP>=1.0){aT=0;break}g[aB>>2]=aP;anY(aD,+g[aF>>2],+g[aG>>2],+g[aH>>2],aE,aP*e,o);g[aB>>2]=0.0;ap4(az,o);aQ=c[u>>2]|0;if((c[aQ+232>>2]&2|0)==0){aU=0}else{aU=aQ}aP=+g[q>>2];aO=aP- +g[az+52>>2];aV=+g[ab>>2];aW=aV- +g[aK>>2];aX=+g[ac>>2];aY=aX- +g[aM>>2];g[ad>>2]=aO;g[ae>>2]=aW;g[af>>2]=aY;g[ag>>2]=0.0;aZ=aP- +g[aQ+52>>2];a_=aV- +g[aQ+56>>2];a$=aX- +g[aQ+60>>2];g[ah>>2]=aZ;g[ai>>2]=a_;g[aj>>2]=a$;g[ak>>2]=0.0;a0=+g[az+324>>2];a1=+g[az+328>>2];a2=+g[az+320>>2];aR=(aU|0)!=0;if(aR){a3=+g[aU+324>>2];a4=+g[aU+328>>2];a5=+g[aU+320>>2];a6=a3*a$-a4*a_+ +g[aU+304>>2];a7=+g[aU+308>>2]+(a4*aZ-a$*a5);a8=a_*a5-a3*aZ+ +g[aU+312>>2]}else{a6=0.0;a7=0.0;a8=0.0}aZ=+g[al>>2];a3=+g[am>>2];a5=+g[an>>2];a_=aZ*(a0*aY-a1*aW+ +g[aF>>2]-a6)+(+g[aG>>2]+(a1*aO-aY*a2)-a7)*a3+(aW*a2-a0*aO+ +g[aH>>2]-a8)*a5;a0=a5*aW-a3*aY;a2=aZ*aY-a5*aO;a1=a3*aO-aZ*aW;a$=a1*+g[az+288>>2]+(+g[az+256>>2]*a0+ +g[az+272>>2]*a2);a4=a0*+g[az+260>>2]+a2*+g[az+276>>2]+a1*+g[az+292>>2];a9=a0*+g[az+264>>2]+a2*+g[az+280>>2]+a1*+g[az+296>>2];if(aR){a1=aP- +g[aU+52>>2];aP=aV- +g[aU+56>>2];aV=aX- +g[aU+60>>2];aX=a5*aP-a3*aV;a2=aZ*aV-a5*a1;a0=a3*a1-aZ*aP;ba=a0*+g[aU+288>>2]+(+g[aU+256>>2]*aX+ +g[aU+272>>2]*a2);bb=aX*+g[aU+260>>2]+a2*+g[aU+276>>2]+a0*+g[aU+292>>2];bc=aX*+g[aU+264>>2]+a2*+g[aU+280>>2]+a0*+g[aU+296>>2];bd=+g[aU+336>>2]+(a5*(aP*ba-a1*bb)+(aZ*(aV*bb-aP*bc)+a3*(a1*bc-aV*ba)));be=1}else{bd=0.0;be=0}ba=1.0/(+g[az+336>>2]+(a5*(aW*a$-aO*a4)+(aZ*(aY*a4-aW*a9)+a3*(aO*a9-aY*a$)))+bd);a$=+g[p>>2]*-0.0/+g[ao>>2]*ba+a_*(-0.0-(+g[az+228>>2]*+g[aQ+228>>2]*(-0.0-a_)+1.0))*ba;ba=a$<0.0?0.0:a$;g[d>>2]=aZ*ba;g[ap>>2]=a3*ba;g[aq>>2]=a5*ba;g[ar>>2]=0.0;pe(az,m,k);if(!be){aT=4;break}a5=ba*(-0.0- +g[am>>2]);a3=ba*(-0.0- +g[an>>2]);g[as>>2]=ba*(-0.0- +g[al>>2]);g[at>>2]=a5;g[au>>2]=a3;g[av>>2]=0.0;pe(aU,n,l);aT=4}else{aT=0}}while(0);aQ=c[9152]|0;aR=aQ+16|0;aS=(c[aR>>2]|0)-1|0;c[aR>>2]=aS;do{if((aS|0)==0){if((c[aQ+4>>2]|0)==0){bf=aQ}else{b3(h|0,0)|0;bg=c[10742]|0;bh=aQ+8|0;g[bh>>2]=+(((c[ax>>2]|0)-(c[bg+4>>2]|0)+(((c[aw>>2]|0)-(c[bg>>2]|0)|0)*1e6|0)-(c[aQ+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[bh>>2];if((c[aR>>2]|0)!=0){break}bf=c[9152]|0}c[9152]=c[bf+20>>2]}}while(0);if((aT|0)==4){break L3601}}}while(0);ap4(az,o)}}while(0);ay=ay+1|0;}while((ay|0)<(c[s>>2]|0))}s=c[9152]|0;ay=s+16|0;o=(c[ay>>2]|0)-1|0;c[ay>>2]=o;if((o|0)!=0){i=f;return}do{if((c[s+4>>2]|0)==0){bi=s}else{b3(j|0,0)|0;o=c[10742]|0;aT=s+8|0;g[aT>>2]=+(((c[j+4>>2]|0)-(c[o+4>>2]|0)+(((c[j>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[s+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[aT>>2];if((c[ay>>2]|0)==0){bi=c[9152]|0;break}else{i=f;return}}}while(0);c[9152]=c[bi+20>>2];i=f;return}function aoI(a){a=a|0;return 2}function aoJ(a){a=a|0;return c[a+172>>2]|0}function aoK(a){a=a|0;return c[a+184>>2]|0}function aoL(a,b){a=a|0;b=b|0;return c[(c[a+192>>2]|0)+(b<<2)>>2]|0}function aoM(a,b){a=a|0;b=b|0;return c[(c[a+192>>2]|0)+(b<<2)>>2]|0}function aoN(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+8|0;e=d|0;aDo(18048);f=a+204|0;h=c[f>>2]|0;if((h|0)>0){j=a+212|0;a=0;k=h;while(1){h=c[(c[j>>2]|0)+(a<<2)>>2]|0;if((c[h+204>>2]&3|0)==0){ap5(h,b);ap3(h,b);anY(h+4|0,+g[h+304>>2],+g[h+308>>2],+g[h+312>>2],h+320|0,b,h+68|0);l=c[f>>2]|0}else{l=k}h=a+1|0;if((h|0)<(l|0)){a=h;k=l}else{break}}}l=c[9152]|0;k=l+16|0;a=(c[k>>2]|0)-1|0;c[k>>2]=a;if((a|0)!=0){i=d;return}do{if((c[l+4>>2]|0)==0){m=l}else{b3(e|0,0)|0;a=c[10742]|0;f=l+8|0;g[f>>2]=+(((c[e+4>>2]|0)-(c[a+4>>2]|0)+(((c[e>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[f>>2];if((c[k>>2]|0)==0){m=c[9152]|0;break}else{i=d;return}}}while(0);c[9152]=c[m+20>>2];i=d;return}function aoO(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+241|0;f=b+172|0;do{if((a[e]&1)!=0){b=c[f>>2]|0;if((b|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0)}}while(0);a[e]=0;c[f>>2]=d;return}function aoP(a,b){a=a|0;b=b|0;var 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;d=b;ct[c[(c[d>>2]|0)+32>>2]&2047](b);e=a+8|0;f=c[e>>2]|0;if((f|0)>0){g=a+16|0;h=b;i=b;j=0;k=f;while(1){f=c[(c[g>>2]|0)+(j<<2)>>2]|0;if((c[f+232>>2]&2|0)==0){l=k}else{m=cA[c[(c[f>>2]|0)+16>>2]&4095](f)|0;n=cS[c[(c[h>>2]|0)+16>>2]&511](b,m,1)|0;m=cS[c[(c[f>>2]|0)+20>>2]&511](f,c[n+8>>2]|0,b)|0;co[c[(c[i>>2]|0)+20>>2]&255](b,n,m,1497645650,f);l=c[e>>2]|0}f=j+1|0;if((f|0)<(l|0)){j=f;k=l}else{break}}}l=a+184|0;if((c[l>>2]|0)<=0){o=a|0;atW(o,b);p=c[d>>2]|0;q=p+36|0;r=c[q>>2]|0;ct[r&2047](b);return}k=a+192|0;j=b;e=b;i=0;do{h=c[(c[k>>2]|0)+(i<<2)>>2]|0;g=cA[c[(c[h>>2]|0)+36>>2]&4095](h)|0;f=cS[c[(c[j>>2]|0)+16>>2]&511](b,g,1)|0;g=cS[c[(c[h>>2]|0)+40>>2]&511](h,c[f+8>>2]|0,b)|0;co[c[(c[e>>2]|0)+20>>2]&255](b,f,g,1397641027,h);i=i+1|0;}while((i|0)<(c[l>>2]|0));o=a|0;atW(o,b);p=c[d>>2]|0;q=p+36|0;r=c[q>>2]|0;ct[r&2047](b);return}function aoQ(d,e){d=d|0;e=+e;var f=0,h=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,z=0,A=0,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,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0.0,aO=0,aP=0.0,aQ=0,aR=0.0,aS=0.0,aT=0.0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0.0,a0=0,a1=0;f=i;i=i+528|0;h=f|0;j=f+16|0;k=f+32|0;l=f+96|0;m=f+192|0;n=f+248|0;o=f+312|0;p=f+336|0;q=f+496|0;r=f+512|0;aDo(18112);s=d+204|0;if((c[s>>2]|0)>0){t=d+212|0;u=k+48|0;v=u|0;w=k+52|0;x=k+56|0;y=d|0;z=d+76|0;A=d+24|0;d=l|0;B=l+4|0;C=l+8|0;D=l+10|0;E=l+12|0;F=l+28|0;G=u;u=l+76|0;H=l+80|0;I=l+84|0;J=l+88|0;K=l+92|0;L=m|0;M=m+4|0;N=m+28|0;O=m+44|0;P=l|0;R=n;S=n+16|0;T=n+32|0;U=n+48|0;V=U;W=m|0;X=o+16|0;Y=o+12|0;Z=o+4|0;_=o+8|0;$=p+4|0;aa=U|0;U=n+52|0;ab=n+56|0;ac=q;ad=l+60|0;ae=q|0;af=q+4|0;ag=q+8|0;ah=l+44|0;ai=ah|0;aj=l+48|0;ak=l+52|0;l=r|0;al=r+4|0;am=r+8|0;an=r+12|0;ao=m+8|0;ap=m+12|0;aq=m+16|0;ar=m+20|0;as=m+24|0;m=p|0;at=p+136|0;au=p+140|0;av=p+8|0;aw=p+144|0;ax=p+24|0;ay=p+40|0;az=p+56|0;aA=p+72|0;aB=p+88|0;aC=p+104|0;aD=p+120|0;aE=h|0;aF=h+4|0;aG=0;do{aH=c[(c[t>>2]|0)+(aG<<2)>>2]|0;aI=aH|0;g[aH+240>>2]=1.0;aJ=c[aH+216>>2]|0;do{if(!((aJ|0)==5|(aJ|0)==2)){if((c[aH+204>>2]&3|0)!=0){break}aK=aH+4|0;anY(aK,+g[aH+304>>2],+g[aH+308>>2],+g[aH+312>>2],aH+320|0,e,k);aL=aH+52|0;aM=aL|0;aN=+g[v>>2]- +g[aM>>2];aO=aH+56|0;aP=+g[w>>2]- +g[aO>>2];aQ=aH+60|0;aR=+g[x>>2]- +g[aQ>>2];aS=+g[aH+248>>2];aT=aS*aS;if(!(aT!=0.0&aT>2]|0)+4>>2]|0)<20){c[9802]=(c[9802]|0)+1;aU=c[z>>2]|0;aV=cA[c[(c[aU>>2]|0)+36>>2]&4095](aU)|0;aU=c[A>>2]|0;g[B>>2]=1.0;b[C>>1]=1;b[D>>1]=-1;c[d>>2]=19448;aW=aL;c[E>>2]=c[aW>>2];c[E+4>>2]=c[aW+4>>2];c[E+8>>2]=c[aW+8>>2];c[E+12>>2]=c[aW+12>>2];c[F>>2]=c[G>>2];c[F+4>>2]=c[G+4>>2];c[F+8>>2]=c[G+8>>2];c[F+12>>2]=c[G+12>>2];c[u>>2]=0;c[d>>2]=19728;c[H>>2]=aI;g[I>>2]=0.0;c[J>>2]=aV;c[K>>2]=aU;aR=+g[aH+244>>2];c[ao>>2]=0;g[ap>>2]=1.0;g[aq>>2]=1.0;g[ar>>2]=1.0;g[as>>2]=0.0;c[L>>2]=25528;c[M>>2]=8;g[N>>2]=aR;g[O>>2]=aR;aU=aH+188|0;b[C>>1]=b[(c[aU>>2]|0)+4>>1]|0;b[D>>1]=b[(c[aU>>2]|0)+6>>1]|0;c[V>>2]=c[G>>2];c[V+4>>2]=c[G+4>>2];c[V+8>>2]=c[G+8>>2];c[V+12>>2]=c[G+12>>2];aV=aK;c[R>>2]=c[aV>>2];c[R+4>>2]=c[aV+4>>2];c[R+8>>2]=c[aV+8>>2];c[R+12>>2]=c[aV+12>>2];aX=aH+20|0;c[S>>2]=c[aX>>2];c[S+4>>2]=c[aX+4>>2];c[S+8>>2]=c[aX+8>>2];c[S+12>>2]=c[aX+12>>2];aY=aH+36|0;c[T>>2]=c[aY>>2];c[T+4>>2]=c[aY+4>>2];c[T+8>>2]=c[aY+8>>2];c[T+12>>2]=c[aY+12>>2];atO(y,W,aK,n,P,0.0);if(+g[B>>2]>=1.0){break}aZ=c[J>>2]|0;a_=cS[c[(c[aZ>>2]|0)+52>>2]&511](aZ,c[aU>>2]|0,c[(c[u>>2]|0)+188>>2]|0)|0;if((a_|0)==0){break}aU=a_+8|0;if((c[aU>>2]|0)==0){break}a[X]=1;c[Y>>2]=0;c[Z>>2]=0;c[_>>2]=0;a_=c[aU>>2]|0;cv[c[(c[a_>>2]|0)+16>>2]&2047](a_,o);do{if((c[Z>>2]|0)!=0){a_=c[u>>2]|0;c[m>>2]=24e3;c[at>>2]=aI;c[au>>2]=a_;aDD(aw|0,-1|0,16);c[av>>2]=c[aV>>2];c[av+4>>2]=c[aV+4>>2];c[av+8>>2]=c[aV+8>>2];c[av+12>>2]=c[aV+12>>2];c[ax>>2]=c[aX>>2];c[ax+4>>2]=c[aX+4>>2];c[ax+8>>2]=c[aX+8>>2];c[ax+12>>2]=c[aX+12>>2];c[ay>>2]=c[aY>>2];c[ay+4>>2]=c[aY+4>>2];c[ay+8>>2]=c[aY+8>>2];c[ay+12>>2]=c[aY+12>>2];c[az>>2]=c[aW>>2];c[az+4>>2]=c[aW+4>>2];c[az+8>>2]=c[aW+8>>2];c[az+12>>2]=c[aW+12>>2];aU=a_+4|0;c[aA>>2]=c[aU>>2];c[aA+4>>2]=c[aU+4>>2];c[aA+8>>2]=c[aU+8>>2];c[aA+12>>2]=c[aU+12>>2];aU=a_+20|0;c[aB>>2]=c[aU>>2];c[aB+4>>2]=c[aU+4>>2];c[aB+8>>2]=c[aU+8>>2];c[aB+12>>2]=c[aU+12>>2];aU=a_+36|0;c[aC>>2]=c[aU>>2];c[aC+4>>2]=c[aU+4>>2];c[aC+8>>2]=c[aU+8>>2];c[aC+12>>2]=c[aU+12>>2];aU=a_+52|0;c[aD>>2]=c[aU>>2];c[aD+4>>2]=c[aU+4>>2];c[aD+8>>2]=c[aU+8>>2];c[aD+12>>2]=c[aU+12>>2];aU=c[c[Y>>2]>>2]|0;c[$>>2]=aU;aR=+g[B>>2];aP=(+g[aa>>2]- +g[aM>>2])*aR;aN=(+g[U>>2]- +g[aO>>2])*aR;aT=aR*(+g[ab>>2]- +g[aQ>>2]);aR=aT*aT+(aP*aP+aN*aN);c[ac>>2]=c[ad>>2];c[ac+4>>2]=c[ad+4>>2];c[ac+8>>2]=c[ad+8>>2];c[ac+12>>2]=c[ad+12>>2];if(aR>1.1920928955078125e-7){aS=+Q(+aR);g[ae>>2]=+g[ae>>2]-aP;g[af>>2]=+g[af>>2]-aN;g[ag>>2]=+g[ag>>2]-aT;a$=aS}else{a$=0.0}if((c[aU+1108>>2]|0)==(aH|0)){aya(p,ah,q,a$);break}else{aS=-0.0- +g[aj>>2];aT=-0.0- +g[ak>>2];g[l>>2]=-0.0- +g[ai>>2];g[al>>2]=aS;g[am>>2]=aT;g[an>>2]=0.0;aya(p,r,q,a$);break}}}while(0);aW=c[Y>>2]|0;if((aW|0)!=0){if((a[X]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aW-4>>2]|0)}c[Y>>2]=0}a[X]=1;c[Y>>2]=0;c[Z>>2]=0;c[_>>2]=0}}while(0);aQ=c[9152]|0;aO=aQ+16|0;aM=(c[aO>>2]|0)-1|0;c[aO>>2]=aM;if((aM|0)!=0){break}if((c[aQ+4>>2]|0)==0){a0=aQ}else{b3(h|0,0)|0;aM=c[10742]|0;aK=aQ+8|0;g[aK>>2]=+(((c[aF>>2]|0)-(c[aM+4>>2]|0)+(((c[aE>>2]|0)-(c[aM>>2]|0)|0)*1e6|0)-(c[aQ+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[aK>>2];if((c[aO>>2]|0)!=0){break}a0=c[9152]|0}c[9152]=c[a0+20>>2]}}while(0);aG=aG+1|0;}while((aG|0)<(c[s>>2]|0))}s=c[9152]|0;aG=s+16|0;a0=(c[aG>>2]|0)-1|0;c[aG>>2]=a0;if((a0|0)!=0){i=f;return}do{if((c[s+4>>2]|0)==0){a1=s}else{b3(j|0,0)|0;a0=c[10742]|0;aE=s+8|0;g[aE>>2]=+(((c[j+4>>2]|0)-(c[a0+4>>2]|0)+(((c[j>>2]|0)-(c[a0>>2]|0)|0)*1e6|0)-(c[s+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[aE>>2];if((c[aG>>2]|0)==0){a1=c[9152]|0;break}else{i=f;return}}}while(0);c[9152]=c[a1+20>>2];i=f;return}function aoR(a,b,d){a=a|0;b=b|0;d=d|0;var 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,v=0,w=0,x=0,y=0,z=0;e=a+12|0;f=c[e>>2]|0;g=c[f+(((d+b|0)/2|0)<<2)>>2]|0;h=g+24|0;i=g+28|0;g=b;j=d;k=f;while(1){f=c[(c[h>>2]|0)+208>>2]|0;l=(f|0)>-1;if(l){m=g;while(1){n=c[k+(m<<2)>>2]|0;o=c[(c[n+24>>2]|0)+208>>2]|0;if((o|0)>-1){p=o}else{p=c[(c[n+28>>2]|0)+208>>2]|0}if((p|0)<(f|0)){m=m+1|0}else{q=m;r=n;break}}}else{m=c[(c[i>>2]|0)+208>>2]|0;n=g;while(1){o=c[k+(n<<2)>>2]|0;s=c[(c[o+24>>2]|0)+208>>2]|0;if((s|0)>-1){t=s}else{t=c[(c[o+28>>2]|0)+208>>2]|0}if((t|0)<(m|0)){n=n+1|0}else{q=n;r=o;break}}}if(l){n=j;while(1){m=c[k+(n<<2)>>2]|0;o=c[(c[m+24>>2]|0)+208>>2]|0;if((o|0)>-1){u=o}else{u=c[(c[m+28>>2]|0)+208>>2]|0}if((f|0)<(u|0)){n=n-1|0}else{v=n;w=m;break}}}else{n=c[(c[i>>2]|0)+208>>2]|0;f=j;while(1){l=c[k+(f<<2)>>2]|0;m=c[(c[l+24>>2]|0)+208>>2]|0;if((m|0)>-1){x=m}else{x=c[(c[l+28>>2]|0)+208>>2]|0}if((n|0)<(x|0)){f=f-1|0}else{v=f;w=l;break}}}if((q|0)>(v|0)){y=q;z=v}else{c[k+(q<<2)>>2]=w;c[(c[e>>2]|0)+(v<<2)>>2]=r;y=q+1|0;z=v-1|0}if((y|0)>(z|0)){break}g=y;j=z;k=c[e>>2]|0}if((z|0)>(b|0)){aoR(a,b,z)}if((y|0)>=(d|0)){return}aoR(a,y,d);return}function aoS(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aoT(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){g=0;return g|0}if((b[a+10>>1]&b[d+4>>1])<<16>>16==0){g=0;return g|0}if((b[d+6>>1]&b[a+8>>1])<<16>>16==0){g=0;return g|0}d=c[a+92>>2]|0;g=cS[c[(c[d>>2]|0)+28>>2]&511](d,f,e)|0;return g|0}function aoU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;e=b|0;f=c[e>>2]|0;if((f|0)==(c[a+80>>2]|0)){h=1.0;return+h}if((c[f+204>>2]&4|0)!=0){h=1.0;return+h}f=b+8|0;i=b+12|0;j=b+16|0;if((+g[a+28>>2]- +g[a+12>>2])*+g[f>>2]+(+g[a+32>>2]- +g[a+16>>2])*+g[i>>2]+(+g[a+36>>2]- +g[a+20>>2])*+g[j>>2]>=-0.0- +g[a+84>>2]){h=1.0;return+h}k=b+40|0;g[a+4>>2]=+g[k>>2];l=c[e>>2]|0;c[a+76>>2]=l;if(d){d=a+44|0;e=f;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2]}else{m=+g[b+8>>2];n=+g[i>>2];o=+g[j>>2];p=m*+g[l+20>>2]+n*+g[l+24>>2]+o*+g[l+28>>2];q=m*+g[l+36>>2]+n*+g[l+40>>2]+o*+g[l+44>>2];g[a+44>>2]=+g[l+4>>2]*m+ +g[l+8>>2]*n+ +g[l+12>>2]*o;g[a+48>>2]=p;g[a+52>>2]=q;g[a+56>>2]=0.0}l=a+60|0;a=b+24|0;c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];h=+g[k>>2];return+h}function aoV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=18656;d=b+76|0;e=b+84|0;f=c[e>>2]|0;g=b+88|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+80>>2]=0;d=b+56|0;e=b+64|0;g=c[e>>2]|0;f=b+68|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+60>>2]=0;d=b+36|0;e=b+44|0;f=c[e>>2]|0;g=b+48|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+40|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+40|0;c[h>>2]=0;return}function aoW(a){a=a|0;aoV(a);if((a|0)==0){return}aDB(a);return}function aoX(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,z=0,A=0,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,O=0;i=c[b+16>>2]|0;if((h|0)<0){if((i|0)==(-g|0)){return}j=c[b+8>>2]|0;k=c[(c[j>>2]|0)+12>>2]|0;l=c[b+12>>2]|0;m=c[b+4>>2]|0;n=c[b+20>>2]|0;o=c[b+24>>2]|0;p=c[b+28>>2]|0;+cN[k&63](j,d,e,f,g,l,i,m,n,o,p);return}p=b+12|0;o=0;while(1){if((o|0)>=(i|0)){q=0;r=0;break}s=c[p>>2]|0;t=s+(o<<2)|0;n=c[t>>2]|0;m=c[(c[n+24>>2]|0)+208>>2]|0;if((m|0)>-1){u=m}else{u=c[(c[n+28>>2]|0)+208>>2]|0}if((u|0)==(h|0)){v=0;w=o;x=3485;break}else{o=o+1|0}}if((x|0)==3485){while(1){x=0;o=c[s+(w<<2)>>2]|0;u=c[(c[o+24>>2]|0)+208>>2]|0;if((u|0)>-1){y=u}else{y=c[(c[o+28>>2]|0)+208>>2]|0}o=((y|0)==(h|0))+v|0;u=w+1|0;if((u|0)<(i|0)){v=o;w=u;x=3485}else{q=o;r=t;break}}}t=b+4|0;x=c[t>>2]|0;if((c[x+68>>2]|0)<2){if((q|0)==(-g|0)){return}w=c[b+8>>2]|0;v=c[(c[w>>2]|0)+12>>2]|0;i=c[b+20>>2]|0;h=c[b+24>>2]|0;y=c[b+28>>2]|0;+cN[v&63](w,d,e,f,g,r,q,x,i,h,y);return}if((e|0)>0){y=b+36|0;h=b+40|0;i=b+44|0;x=b+48|0;w=0;v=c[y>>2]|0;do{s=d+(w<<2)|0;do{if((v|0)==(c[h>>2]|0)){o=(v|0)==0?1:v<<1;if((v|0)>=(o|0)){z=v;break}if((o|0)==0){A=0;B=v}else{c[9806]=(c[9806]|0)+1;u=aDx((o<<2)+19|0)|0;if((u|0)==0){C=0}else{p=-(u+4|0)&15;c[u+p>>2]=u;C=u+(p+4)|0}A=C;B=c[y>>2]|0}if((B|0)>0){p=0;do{u=A+(p<<2)|0;if((u|0)!=0){c[u>>2]=c[(c[i>>2]|0)+(p<<2)>>2]}p=p+1|0;}while((p|0)<(B|0))}p=c[i>>2]|0;if((p|0)!=0){if((a[x]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-4>>2]|0)}c[i>>2]=0}a[x]=1;c[i>>2]=A;c[h>>2]=o;z=c[y>>2]|0}else{z=v}}while(0);p=(c[i>>2]|0)+(z<<2)|0;if((p|0)==0){D=z}else{c[p>>2]=c[s>>2];D=c[y>>2]|0}v=D+1|0;c[y>>2]=v;w=w+1|0;}while((w|0)<(e|0))}if((g|0)>0){e=b+56|0;w=b+60|0;v=b+64|0;y=b+68|0;D=0;z=c[e>>2]|0;do{i=f+(D<<2)|0;do{if((z|0)==(c[w>>2]|0)){h=(z|0)==0?1:z<<1;if((z|0)>=(h|0)){E=z;break}if((h|0)==0){F=0;G=z}else{c[9806]=(c[9806]|0)+1;A=aDx((h<<2)+19|0)|0;if((A|0)==0){H=0}else{x=-(A+4|0)&15;c[A+x>>2]=A;H=A+(x+4)|0}F=H;G=c[e>>2]|0}if((G|0)>0){x=0;do{A=F+(x<<2)|0;if((A|0)!=0){c[A>>2]=c[(c[v>>2]|0)+(x<<2)>>2]}x=x+1|0;}while((x|0)<(G|0))}x=c[v>>2]|0;if((x|0)!=0){if((a[y]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[x-4>>2]|0)}c[v>>2]=0}a[y]=1;c[v>>2]=F;c[w>>2]=h;E=c[e>>2]|0}else{E=z}}while(0);s=(c[v>>2]|0)+(E<<2)|0;if((s|0)==0){I=E}else{c[s>>2]=c[i>>2];I=c[e>>2]|0}z=I+1|0;c[e>>2]=z;D=D+1|0;}while((D|0)<(g|0))}g=b+76|0;if((q|0)>0){D=b+80|0;z=b+84|0;e=b+88|0;I=0;E=c[g>>2]|0;while(1){v=r+(I<<2)|0;do{if((E|0)==(c[D>>2]|0)){w=(E|0)==0?1:E<<1;if((E|0)>=(w|0)){J=E;break}if((w|0)==0){K=0;L=E}else{c[9806]=(c[9806]|0)+1;F=aDx((w<<2)+19|0)|0;if((F|0)==0){M=0}else{y=-(F+4|0)&15;c[F+y>>2]=F;M=F+(y+4)|0}K=M;L=c[g>>2]|0}if((L|0)>0){y=0;do{F=K+(y<<2)|0;if((F|0)!=0){c[F>>2]=c[(c[z>>2]|0)+(y<<2)>>2]}y=y+1|0;}while((y|0)<(L|0))}y=c[z>>2]|0;if((y|0)!=0){if((a[e]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[y-4>>2]|0)}c[z>>2]=0}a[e]=1;c[z>>2]=K;c[D>>2]=w;J=c[g>>2]|0}else{J=E}}while(0);i=(c[z>>2]|0)+(J<<2)|0;if((i|0)==0){N=J}else{c[i>>2]=c[v>>2];N=c[g>>2]|0}i=N+1|0;c[g>>2]=i;y=I+1|0;if((y|0)<(q|0)){I=y;E=i}else{O=i;break}}}else{O=c[g>>2]|0}if(((c[b+56>>2]|0)+O|0)<=(c[(c[t>>2]|0)+68>>2]|0)){return}aoE(b);return}function aoY(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3.4028234663852886e+38;a[b+20|0]=1;a[b+21|0]=0;c[b+24>>2]=d;c[b+28>>2]=e;g[b+32>>2]=0.0;g[b+36>>2]=.30000001192092896;c[b>>2]=21400;j=b+40|0;k=f;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=b+56|0;j=f+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=b+72|0;k=f+32|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=b+88|0;j=f+48|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=b+104|0;k=h;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=b+120|0;j=h+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=b+136|0;k=h+32|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=b+152|0;j=h+48|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];aDD(b+672|0,0,48);aDD(b+732|0,0,16);g[b+748>>2]=.20000000298023224;g[b+752>>2]=.20000000298023224;g[b+756>>2]=.20000000298023224;aDD(b+760|0,0,20);g[b+720>>2]=.699999988079071;g[b+724>>2]=1.0;g[b+728>>2]=.5;a[b+780|0]=0;g[b+784>>2]=0.0;g[b+800>>2]=0.0;a[b+781|0]=0;g[b+788>>2]=0.0;g[b+804>>2]=0.0;a[b+782|0]=0;g[b+792>>2]=0.0;g[b+808>>2]=0.0;g[b+920>>2]=0.0;g[b+868>>2]=0.0;g[b+872>>2]=.10000000149011612;g[b+876>>2]=300.0;g[b+860>>2]=1.0;g[b+864>>2]=-1.0;g[b+888>>2]=0.0;g[b+892>>2]=.20000000298023224;g[b+896>>2]=0.0;g[b+900>>2]=0.0;g[b+880>>2]=1.0;g[b+884>>2]=.5;c[b+916>>2]=0;g[b+908>>2]=0.0;a[b+904|0]=0;g[b+984>>2]=0.0;g[b+932>>2]=0.0;g[b+936>>2]=.10000000149011612;g[b+940>>2]=300.0;g[b+924>>2]=1.0;g[b+928>>2]=-1.0;g[b+952>>2]=0.0;g[b+956>>2]=.20000000298023224;g[b+960>>2]=0.0;g[b+964>>2]=0.0;g[b+944>>2]=1.0;g[b+948>>2]=.5;c[b+980>>2]=0;g[b+972>>2]=0.0;a[b+968|0]=0;g[b+1048>>2]=0.0;g[b+996>>2]=0.0;g[b+1e3>>2]=.10000000149011612;g[b+1004>>2]=300.0;g[b+988>>2]=1.0;g[b+992>>2]=-1.0;g[b+1016>>2]=0.0;g[b+1020>>2]=.20000000298023224;g[b+1024>>2]=0.0;g[b+1028>>2]=0.0;g[b+1008>>2]=1.0;g[b+1012>>2]=.5;c[b+1044>>2]=0;g[b+1036>>2]=0.0;a[b+1032|0]=0;a[b+1292|0]=i&1;a[b+1293|0]=1;c[b+1296>>2]=0;a[b+1300|0]=0;aoZ(b,d+4|0,e+4|0);return}function aoZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0.0;f=i;i=i+224|0;h=f|0;j=f+48|0;k=f+96|0;l=f+160|0;m=b+1056|0;n=j;anx(j,d|0,b+40|0);o=+g[b+88>>2];p=+g[b+92>>2];q=+g[b+96>>2];r=+g[d>>2]*o+ +g[d+4>>2]*p+ +g[d+8>>2]*q+ +g[d+48>>2];s=+g[d+16>>2]*o+ +g[d+20>>2]*p+ +g[d+24>>2]*q+ +g[d+52>>2];t=+g[d+32>>2]*o+ +g[d+36>>2]*p+ +g[d+40>>2]*q+ +g[d+56>>2];d=k+48|0;u=k|0;do{u=u+16|0;}while((u|0)!=(d|0));d=k;c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];n=k+16|0;u=j+16|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];u=k+32|0;v=j+32|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];g[k+48>>2]=r;g[k+52>>2]=s;g[k+56>>2]=t;g[k+60>>2]=0.0;v=m;c[v>>2]=c[d>>2];c[v+4>>2]=c[d+4>>2];c[v+8>>2]=c[d+8>>2];c[v+12>>2]=c[d+12>>2];d=b+1072|0;c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];n=b+1088|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];u=b+1104|0;n=k+48|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=b+1120|0;u=h;anx(h,e|0,b+104|0);t=+g[b+152>>2];s=+g[b+156>>2];r=+g[b+160>>2];q=+g[e>>2]*t+ +g[e+4>>2]*s+ +g[e+8>>2]*r+ +g[e+48>>2];p=+g[e+16>>2]*t+ +g[e+20>>2]*s+ +g[e+24>>2]*r+ +g[e+52>>2];o=+g[e+32>>2]*t+ +g[e+36>>2]*s+ +g[e+40>>2]*r+ +g[e+56>>2];e=l+48|0;k=l|0;do{k=k+16|0;}while((k|0)!=(e|0));e=l;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];u=l+16|0;k=h+16|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];k=l+32|0;d=h+32|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];g[l+48>>2]=q;g[l+52>>2]=p;g[l+56>>2]=o;g[l+60>>2]=0.0;d=n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=b+1136|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];u=b+1152|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];k=b+1168|0;u=l+48|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[k+12>>2]=c[u+12>>2];o=+g[b+1168>>2]- +g[b+1104>>2];p=+g[b+1172>>2]- +g[b+1108>>2];q=+g[b+1176>>2]- +g[b+1112>>2];r=+g[b+1076>>2];s=+g[b+1096>>2];t=+g[b+1080>>2];w=+g[b+1092>>2];x=r*s-t*w;y=+g[b+1088>>2];z=+g[b+1072>>2];A=t*y-s*z;B=w*z-r*y;C=+g[b+1056>>2];D=+g[b+1060>>2];E=+g[b+1064>>2];F=1.0/(x*C+D*A+B*E);G=x*F;x=F*(w*E-s*D);H=F*(t*D-r*E);I=A*F;A=F*(s*C-y*E);J=F*(z*E-t*C);K=B*F;B=F*(y*D-w*C);w=F*(r*C-z*D);D=G*o+x*p+H*q;z=o*I+p*A+J*q;C=o*K+B*p+w*q;g[b+1248>>2]=D;g[b+1252>>2]=z;g[b+1256>>2]=C;g[b+1260>>2]=0.0;g[b+832>>2]=D;q=+g[b+672>>2];p=+g[b+688>>2];do{if(q>p){c[b+848>>2]=0;g[b+816>>2]=0.0}else{if(q>D){c[b+848>>2]=2;g[b+816>>2]=D-q;break}u=b+848|0;if(p>2]=1;g[b+816>>2]=D-p;break}else{c[u>>2]=0;g[b+816>>2]=0.0;break}}}while(0);g[b+836>>2]=z;p=+g[b+676>>2];D=+g[b+692>>2];do{if(p>D){c[b+852>>2]=0;g[b+820>>2]=0.0}else{if(p>z){c[b+852>>2]=2;g[b+820>>2]=z-p;break}u=b+852|0;if(D>2]=1;g[b+820>>2]=z-D;break}else{c[u>>2]=0;g[b+820>>2]=0.0;break}}}while(0);g[b+840>>2]=C;D=+g[b+680>>2];z=+g[b+696>>2];do{if(D>z){c[b+856>>2]=0;g[b+824>>2]=0.0}else{if(D>C){c[b+856>>2]=2;g[b+824>>2]=C-D;break}u=b+856|0;if(z>2]=1;g[b+824>>2]=C-z;break}else{c[u>>2]=0;g[b+824>>2]=0.0;break}}}while(0);z=+g[b+1120>>2];C=+g[b+1136>>2];D=+g[b+1152>>2];p=z*G+C*x+H*D;q=+g[b+1124>>2];o=+g[b+1140>>2];r=+g[b+1156>>2];F=G*q+x*o+H*r;H=z*I+C*A+J*D;x=I*q+A*o+J*r;J=z*K+B*C+w*D;A=K*q+B*o+w*r;r=K*+g[b+1128>>2]+B*+g[b+1144>>2]+w*+g[b+1160>>2];u=b+1184|0;do{if(J<1.0){if(J>-1.0){g[u>>2]=+Y(+(-0.0-A),+r);w=J<-1.0?-1.0:J;g[b+1188>>2]=+W(+(w>1.0?1.0:w));g[b+1192>>2]=+Y(+(-0.0-H),+p);break}else{g[u>>2]=-0.0- +Y(+F,+x);g[b+1188>>2]=-1.5707963705062866;g[b+1192>>2]=0.0;break}}else{g[u>>2]=+Y(+F,+x);g[b+1188>>2]=1.5707963705062866;g[b+1192>>2]=0.0}}while(0);x=D*t-C*s;F=z*s-D*E;p=C*E-z*t;g[b+1228>>2]=0.0;H=s*F-t*p;J=E*p-s*x;s=t*x-E*F;g[b+1212>>2]=0.0;E=C*p-D*F;t=D*x-z*p;D=z*F-C*x;g[b+1244>>2]=0.0;C=1.0/+Q(+(H*H+J*J+s*s));g[b+1200>>2]=H*C;g[b+1204>>2]=J*C;g[b+1208>>2]=s*C;C=1.0/+Q(+(x*x+F*F+p*p));g[b+1216>>2]=x*C;g[b+1220>>2]=F*C;g[b+1224>>2]=p*C;C=1.0/+Q(+(E*E+t*t+D*D));g[b+1232>>2]=E*C;g[b+1236>>2]=t*C;g[b+1240>>2]=D*C;if((a[b+1293|0]&1)==0){i=f;return}C=+g[(c[b+24>>2]|0)+336>>2];D=+g[(c[b+28>>2]|0)+336>>2];if(C<1.1920928955078125e-7){L=1}else{L=D<1.1920928955078125e-7|0}a[b+1272|0]=L;t=C+D;if(t>0.0){C=D/t;g[b+1264>>2]=C;M=C}else{g[b+1264>>2]=.5;M=.5}g[b+1268>>2]=1.0-M;i=f;return}function ao_(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;j=+j;k=+k;l=+l;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;m=i;i=i+128|0;n=m|0;o=m+48|0;p=m+96|0;q=m+112|0;if((b|0)==0){i=m;return}r=c[a+24>>2]|0;g[n>>2]=+g[r+4>>2];g[n+4>>2]=+g[r+20>>2];g[n+8>>2]=+g[r+36>>2];g[n+12>>2]=0.0;g[n+16>>2]=+g[r+8>>2];g[n+20>>2]=+g[r+24>>2];g[n+24>>2]=+g[r+40>>2];g[n+28>>2]=0.0;g[n+32>>2]=+g[r+12>>2];g[n+36>>2]=+g[r+28>>2];g[n+40>>2]=+g[r+44>>2];g[n+44>>2]=0.0;s=c[a+28>>2]|0;g[o>>2]=+g[s+4>>2];g[o+4>>2]=+g[s+20>>2];g[o+8>>2]=+g[s+36>>2];g[o+12>>2]=0.0;g[o+16>>2]=+g[s+8>>2];g[o+20>>2]=+g[s+24>>2];g[o+24>>2]=+g[s+40>>2];g[o+28>>2]=0.0;g[o+32>>2]=+g[s+12>>2];g[o+36>>2]=+g[s+28>>2];g[o+40>>2]=+g[s+44>>2];g[o+44>>2]=0.0;t=f- +g[r+56>>2];f=h- +g[r+60>>2];g[p>>2]=e- +g[r+52>>2];g[p+4>>2]=t;g[p+8>>2]=f;g[p+12>>2]=0.0;f=k- +g[s+56>>2];k=l- +g[s+60>>2];g[q>>2]=j- +g[s+52>>2];g[q+4>>2]=f;g[q+8>>2]=k;g[q+12>>2]=0.0;anz(b,n,o,p,q,d,r+388|0,+g[r+336>>2],s+388|0,+g[s+336>>2]);i=m;return}function ao$(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0;e=b+860+(d<<6)|0;f=b+860+(d<<6)+4|0;h=+ao0(+g[b+1184+(d<<2)>>2],+g[e>>2],+g[f>>2]);g[b+860+(d<<6)+52>>2]=h;i=+g[e>>2];j=+g[f>>2];do{if(i>j){c[b+860+(d<<6)+56>>2]=0;k=3614}else{if(i>h){c[b+860+(d<<6)+56>>2]=1;g[b+860+(d<<6)+48>>2]=h-i;break}f=b+860+(d<<6)+56|0;if(j>2]=2;g[b+860+(d<<6)+48>>2]=h-j;break}else{c[f>>2]=0;k=3614;break}}}while(0);do{if((k|0)==3614){if((a[b+860+(d<<6)+44|0]&1)==0){l=0}else{break}return l|0}}while(0);l=1;return l|0}function ao0(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0.0;if(b>=c){d=a;return+d}if(a=g){d=a;return+d}d=a-6.2831854820251465;return+d}function ao1(b){b=b|0;var d=0,e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0;d=i;i=i+16|0;e=d|0;if((a[b+1300|0]&1)==0){i=d;return}g[b+920>>2]=0.0;g[b+984>>2]=0.0;g[b+1048>>2]=0.0;f=b+24|0;aDD(b+704|0,0,16);h=b+28|0;aoZ(b,(c[f>>2]|0)+4|0,(c[h>>2]|0)+4|0);ct[c[(c[b>>2]|0)+44>>2]&2047](b);j=+g[b+1276>>2];k=+g[b+1280>>2];l=+g[b+1284>>2];m=b+1292|0;n=e|0;o=e+4|0;p=e+8|0;q=e+12|0;if(+g[b+688>>2]>=+g[b+672>>2]){if((a[m]&1)==0){r=b+1152|0;s=b+1136|0;t=b+1120|0}else{r=b+1088|0;s=b+1072|0;t=b+1056|0}u=+g[r>>2];v=+g[s>>2];g[n>>2]=+g[t>>2];g[o>>2]=v;g[p>>2]=u;g[q>>2]=0.0;ao_(b,b+168|0,e,j,k,l,j,k,l)}if(+g[b+692>>2]>=+g[b+676>>2]){if((a[m]&1)==0){w=b+1156|0;x=b+1140|0;y=b+1124|0}else{w=b+1092|0;x=b+1076|0;y=b+1060|0}u=+g[w>>2];v=+g[x>>2];g[n>>2]=+g[y>>2];g[o>>2]=v;g[p>>2]=u;g[q>>2]=0.0;ao_(b,b+252|0,e,j,k,l,j,k,l)}if(+g[b+696>>2]>=+g[b+680>>2]){if((a[m]&1)==0){z=b+1160|0;A=b+1144|0;B=b+1128|0}else{z=b+1096|0;A=b+1080|0;B=b+1064|0}u=+g[z>>2];v=+g[A>>2];g[n>>2]=+g[B>>2];g[o>>2]=v;g[p>>2]=u;g[q>>2]=0.0;ao_(b,b+336|0,e,j,k,l,j,k,l)}q=e;e=0;do{B=b+860+(e<<6)|0;A=b+860+(e<<6)+4|0;l=+ao0(+g[b+1184+(e<<2)>>2],+g[B>>2],+g[A>>2]);g[b+860+(e<<6)+52>>2]=l;k=+g[B>>2];j=+g[A>>2];do{if(k>j){c[b+860+(e<<6)+56>>2]=0;C=3663}else{if(k>l){c[b+860+(e<<6)+56>>2]=1;g[b+860+(e<<6)+48>>2]=l-k;C=3664;break}A=b+860+(e<<6)+56|0;if(j>2]=2;g[b+860+(e<<6)+48>>2]=l-j;C=3664;break}else{c[A>>2]=0;C=3663;break}}}while(0);if((C|0)==3663){C=0;if((a[b+860+(e<<6)+44|0]&1)!=0){C=3664}}do{if((C|0)==3664){C=0;A=b+1200+(e<<4)|0;c[q>>2]=c[A>>2];c[q+4>>2]=c[A+4>>2];c[q+8>>2]=c[A+8>>2];c[q+12>>2]=c[A+12>>2];A=b+420+(e*84|0)|0;if((A|0)==0){break}B=c[f>>2]|0;j=+g[B+4>>2];l=+g[B+20>>2];k=+g[B+36>>2];u=+g[B+8>>2];v=+g[B+24>>2];D=+g[B+40>>2];E=+g[B+12>>2];F=+g[B+28>>2];G=+g[B+44>>2];z=c[h>>2]|0;H=+g[z+4>>2];I=+g[z+20>>2];J=+g[z+36>>2];K=+g[z+8>>2];L=+g[z+24>>2];M=+g[z+40>>2];N=+g[z+12>>2];O=+g[z+28>>2];P=+g[z+44>>2];aDD(A|0,0,16);Q=+g[n>>2];R=+g[o>>2];S=+g[p>>2];T=j*Q+l*R+k*S;k=u*Q+v*R+D*S;D=E*Q+F*R+G*S;g[b+420+(e*84|0)+16>>2]=T;g[b+420+(e*84|0)+20>>2]=k;g[b+420+(e*84|0)+24>>2]=D;g[b+420+(e*84|0)+28>>2]=0.0;G=-0.0-Q;Q=-0.0-R;R=-0.0-S;S=H*G+I*Q+J*R;J=K*G+L*Q+M*R;M=N*G+O*Q+P*R;g[b+420+(e*84|0)+32>>2]=S;g[b+420+(e*84|0)+36>>2]=J;g[b+420+(e*84|0)+40>>2]=M;g[b+420+(e*84|0)+44>>2]=0.0;R=T*+g[B+388>>2];P=k*+g[B+392>>2];Q=D*+g[B+396>>2];g[b+420+(e*84|0)+48>>2]=R;g[b+420+(e*84|0)+52>>2]=P;g[b+420+(e*84|0)+56>>2]=Q;g[b+420+(e*84|0)+60>>2]=0.0;O=S*+g[z+388>>2];G=J*+g[z+392>>2];N=M*+g[z+396>>2];g[b+420+(e*84|0)+64>>2]=O;g[b+420+(e*84|0)+68>>2]=G;g[b+420+(e*84|0)+72>>2]=N;g[b+420+(e*84|0)+76>>2]=0.0;g[b+420+(e*84|0)+80>>2]=T*R+k*P+D*Q+(S*O+J*G+M*N)}}while(0);e=e+1|0;}while((e|0)<3);i=d;return}function ao2(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0;if((a[b+1300|0]&1)!=0){c[d>>2]=0;c[d+4>>2]=0;return}aoZ(b,(c[b+24>>2]|0)+4|0,(c[b+28>>2]|0)+4|0);e=d|0;c[e>>2]=0;f=d+4|0;c[f>>2]=6;if((c[b+848>>2]|0)==0){if((a[b+780|0]&1)==0){h=0;i=6}else{j=3684}}else{j=3684}if((j|0)==3684){c[e>>2]=1;c[f>>2]=5;h=1;i=5}if((c[b+852>>2]|0)==0){if((a[b+781|0]&1)==0){k=h;l=i}else{j=3698}}else{j=3698}if((j|0)==3698){d=h+1|0;c[e>>2]=d;h=i-1|0;c[f>>2]=h;k=d;l=h}if((c[b+856>>2]|0)==0){if((a[b+782|0]&1)==0){m=0}else{j=3701}}else{j=3701}if((j|0)==3701){c[e>>2]=k+1;c[f>>2]=l-1;m=0}do{l=b+860+(m<<6)|0;k=b+860+(m<<6)+4|0;n=+ao0(+g[b+1184+(m<<2)>>2],+g[l>>2],+g[k>>2]);g[b+860+(m<<6)+52>>2]=n;o=+g[l>>2];p=+g[k>>2];do{if(o>p){c[b+860+(m<<6)+56>>2]=0;j=3693}else{if(o>n){c[b+860+(m<<6)+56>>2]=1;g[b+860+(m<<6)+48>>2]=n-o;j=3694;break}k=b+860+(m<<6)+56|0;if(p>2]=2;g[b+860+(m<<6)+48>>2]=n-p;j=3694;break}else{c[k>>2]=0;j=3693;break}}}while(0);if((j|0)==3693){j=0;if((a[b+860+(m<<6)+44|0]&1)!=0){j=3694}}if((j|0)==3694){j=0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)-1}m=m+1|0;}while((m|0)<3);return}function ao3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[b+24>>2]|0;f=e+4|0;g=c[b+28>>2]|0;h=g+4|0;i=e+304|0;j=g+304|0;k=e+320|0;e=g+320|0;if((a[b+1293|0]&1)==0){g=ao5(b,d,0,f,h,i,j,k,e)|0;ao4(b,d,g,f,h,i,j,k,e)|0;return}else{g=ao4(b,d,0,f,h,i,j,k,e)|0;ao5(b,d,g,f,h,i,j,k,e)|0;return}}function ao4(b,d,e,f,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;n=i;i=i+16|0;o=n|0;p=o;q=b+1296|0;r=d+32|0;s=d+4|0;t=0;u=e;while(1){e=b+860+(t<<6)|0;if((c[b+860+(t<<6)+56>>2]|0)==0){if((a[b+860+(t<<6)+44|0]&1)==0){v=u}else{w=3713}}else{w=3713}if((w|0)==3713){w=0;x=b+1200+(t<<4)|0;c[p>>2]=c[x>>2];c[p+4>>2]=c[x+4>>2];c[p+8>>2]=c[x+8>>2];c[p+12>>2]=c[x+12>>2];x=c[q>>2]>>(t*3|0)+9;if((x&1|0)==0){g[b+860+(t<<6)+28>>2]=+g[c[r>>2]>>2]}if((x&2|0)==0){g[b+860+(t<<6)+36>>2]=+g[c[r>>2]>>2]}if((x&4|0)==0){g[b+860+(t<<6)+32>>2]=+g[s>>2]}v=(ao7(b,e,f,h,j,k,l,m,d,u,o,1,0)|0)+u|0}e=t+1|0;if((e|0)<3){t=e;u=v}else{break}}i=n;return v|0}function ao5(b,d,e,f,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;n=i;i=i+80|0;o=n|0;p=n+64|0;g[o+60>>2]=0.0;q=o+8|0;g[q>>2]=0.0;r=o+12|0;g[r>>2]=.10000000149011612;s=o+16|0;g[s>>2]=300.0;t=o|0;g[t>>2]=1.0;u=o+4|0;g[u>>2]=-1.0;v=o+28|0;g[v>>2]=0.0;w=o+32|0;g[w>>2]=.20000000298023224;x=o+36|0;g[x>>2]=0.0;y=o+40|0;g[y>>2]=0.0;z=o+20|0;g[z>>2]=1.0;A=o+24|0;g[A>>2]=.5;B=o+56|0;c[B>>2]=0;C=o+48|0;g[C>>2]=0.0;D=o+44|0;a[D]=0;E=o+52|0;F=b+724|0;G=b+720|0;H=p|0;I=p+4|0;J=p+8|0;K=p+12|0;L=b+1296|0;M=d+32|0;N=d+4|0;O=b+1293|0;P=0;Q=e;while(1){e=c[b+848+(P<<2)>>2]|0;R=a[b+780+P|0]&1;do{if((e|0)==0&R<<24>>24==0){S=Q}else{g[y>>2]=0.0;c[B>>2]=e;g[E>>2]=+g[b+832+(P<<2)>>2];g[C>>2]=+g[b+816+(P<<2)>>2];g[z>>2]=+g[F>>2];a[D]=R;g[u>>2]=+g[b+688+(P<<2)>>2];g[A>>2]=+g[G>>2];g[t>>2]=+g[b+672+(P<<2)>>2];g[s>>2]=0.0;g[r>>2]=+g[b+800+(P<<2)>>2];g[q>>2]=+g[b+784+(P<<2)>>2];g[H>>2]=+g[b+1056+(P<<2)>>2];g[I>>2]=+g[b+1072+(P<<2)>>2];g[J>>2]=+g[b+1088+(P<<2)>>2];g[K>>2]=0.0;T=c[L>>2]>>(P*3|0);if((T&1|0)==0){U=c[M>>2]|0}else{U=b+732+(P<<2)|0}g[v>>2]=+g[U>>2];if((T&2|0)==0){V=c[M>>2]|0}else{V=b+764+(P<<2)|0}g[x>>2]=+g[V>>2];if((T&4|0)==0){W=N}else{W=b+748+(P<<2)|0}g[w>>2]=+g[W>>2];if((a[O]&1)==0){S=(ao7(b,o,f,h,j,k,l,m,d,Q,p,0,0)|0)+Q|0;break}T=P+1|0;if((c[b+860+(((T|0)==3?0:T)<<6)+56>>2]|0)==0){X=1}else{X=(c[b+860+(((P+2|0)%3|0)<<6)+56>>2]|0)==0|0}S=(ao7(b,o,f,h,j,k,l,m,d,Q,p,0,X)|0)+Q|0}}while(0);R=P+1|0;if((R|0)<3){P=R;Q=S}else{break}}i=n;return S|0}function ao6(a){a=a|0;return}function ao7(b,d,e,f,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,ab=0,ac=0,ad=0.0,ae=0.0,af=0.0;q=aa(c[l+24>>2]|0,m)|0;m=(a[d+44|0]&1)==0;r=c[d+56>>2]|0;if(m&(r|0)==0){s=0;return s|0}t=(o|0)!=0;o=l+12|0;u=c[(t?o:l+8|0)>>2]|0;if(t){v=c[l+20>>2]|0}else{v=0}w=n|0;g[u+(q<<2)>>2]=+g[w>>2];x=n+4|0;y=q+1|0;g[u+(y<<2)>>2]=+g[x>>2];z=n+8|0;n=q+2|0;g[u+(n<<2)>>2]=+g[z>>2];do{if(t){g[v+(q<<2)>>2]=-0.0- +g[w>>2];g[v+(y<<2)>>2]=-0.0- +g[x>>2];g[v+(n<<2)>>2]=-0.0- +g[z>>2]}else{u=b+1168|0;A=+g[u>>2];if((a[b+1293|0]&1)==0){B=A- +g[e+48>>2];C=b+1172|0;D=+g[C>>2]- +g[e+52>>2];E=b+1176|0;F=+g[E>>2]- +g[e+56>>2];G=+g[z>>2];H=+g[x>>2];I=+g[w>>2];g[(c[o>>2]|0)+(q<<2)>>2]=D*G-F*H;g[(c[o>>2]|0)+(y<<2)>>2]=F*I-B*G;g[(c[o>>2]|0)+(n<<2)>>2]=B*H-D*I;I=+g[u>>2]- +g[f+48>>2];D=+g[C>>2]- +g[f+52>>2];H=+g[E>>2]- +g[f+56>>2];B=+g[z>>2];G=+g[x>>2];F=+g[w>>2];E=l+20|0;g[(c[E>>2]|0)+(q<<2)>>2]=-0.0-(D*B-H*G);g[(c[E>>2]|0)+(y<<2)>>2]=-0.0-(H*F-I*B);g[(c[E>>2]|0)+(n<<2)>>2]=-0.0-(I*G-D*F);break}F=A- +g[f+48>>2];A=+g[b+1172>>2]- +g[f+52>>2];D=+g[b+1176>>2]- +g[f+56>>2];G=+g[w>>2];I=+g[x>>2];B=+g[z>>2];H=F*G+A*I+D*B;J=G*H;K=I*H;L=B*H;H=+g[b+1104>>2]- +g[e+48>>2];M=+g[b+1108>>2]- +g[e+52>>2];N=+g[b+1112>>2]- +g[e+56>>2];O=G*H+I*M+B*N;P=G*O;Q=I*O;R=B*O;O=+g[d+52>>2]- +g[d+48>>2];S=P+G*O-J;T=Q+I*O-K;U=R+B*O-L;O=+g[b+1264>>2];V=H-P+O*S;P=M-Q+O*T;Q=N-R+O*U;R=+g[b+1268>>2];N=F-J-R*S;S=A-K-R*T;T=D-L-R*U;U=B*P-I*Q;L=G*Q-B*V;Q=I*V-G*P;P=B*S-I*T;V=G*T-B*N;B=I*N-G*S;if((a[b+1272|0]&1)!=0&(p|0)==0){W=O*U;X=O*L;Y=O*Q;Z=R*P;_=R*V;$=R*B}else{W=U;X=L;Y=Q;Z=P;_=V;$=B}g[(c[o>>2]|0)+(q<<2)>>2]=W;g[(c[o>>2]|0)+(y<<2)>>2]=X;g[(c[o>>2]|0)+(n<<2)>>2]=Y;E=l+20|0;g[(c[E>>2]|0)+(q<<2)>>2]=-0.0-Z;g[(c[E>>2]|0)+(y<<2)>>2]=-0.0-_;g[(c[E>>2]|0)+(n<<2)>>2]=-0.0-$}}while(0);n=(r|0)!=0;do{if(n){if(+g[d>>2]!=+g[d+4>>2]){ab=3753;break}y=l+28|0;g[(c[y>>2]|0)+(q<<2)>>2]=0.0;ac=y}else{ab=3753}}while(0);do{if((ab|0)==3753){y=l+28|0;g[(c[y>>2]|0)+(q<<2)>>2]=0.0;if(!m){g[(c[l+32>>2]|0)+(q<<2)>>2]=+g[d+28>>2];if(n){ac=y;break}$=+g[d+8>>2];if(t){ad=$}else{ad=-0.0-$}_=+g[d+52>>2];Z=+g[d>>2];Y=+g[d+4>>2];X=+g[l>>2]*+g[d+32>>2];L4236:do{if(Z>Y){ae=1.0}else{if(Z==Y){ae=0.0;break}W=ad/X;if(W<0.0){do{if(_>=Z){if(Z-W<=_){break}ae=(Z-_)/W;break L4236}}while(0);ae=_=_){break}ae=(Y-_)/W;break L4236}}while(0);ae=_>Y?0.0:1.0}}while(0);o=(c[y>>2]|0)+(q<<2)|0;g[o>>2]=ae*$+ +g[o>>2];o=d+12|0;g[(c[l+36>>2]|0)+(q<<2)>>2]=-0.0- +g[o>>2];g[(c[l+40>>2]|0)+(q<<2)>>2]=+g[o>>2]}if(n){ac=y;break}else{s=1}return s|0}}while(0);ae=+g[l>>2]*+g[d+32>>2];if(t){n=(c[ac>>2]|0)+(q<<2)|0;g[n>>2]=+g[d+48>>2]*(-0.0-ae)+ +g[n>>2]}else{n=(c[ac>>2]|0)+(q<<2)|0;g[n>>2]=ae*+g[d+48>>2]+ +g[n>>2]}g[(c[l+32>>2]|0)+(q<<2)>>2]=+g[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[l+36>>2]|0)+(q<<2)>>2]=-3.4028234663852886e+38;g[(c[l+40>>2]|0)+(q<<2)>>2]=3.4028234663852886e+38;s=1;return s|0}n=(r|0)==1;r=(c[l+36>>2]|0)+(q<<2)|0;if(n){g[r>>2]=0.0;g[(c[l+40>>2]|0)+(q<<2)>>2]=3.4028234663852886e+38}else{g[r>>2]=-3.4028234663852886e+38;g[(c[l+40>>2]|0)+(q<<2)>>2]=0.0}ae=+g[d+40>>2];if(ae<=0.0){s=1;return s|0}if(t){ad=+g[w>>2];Y=+g[x>>2];_=+g[z>>2];af=+g[j>>2]*ad+ +g[j+4>>2]*Y+ +g[j+8>>2]*_-(ad*+g[k>>2]+Y*+g[k+4>>2]+_*+g[k+8>>2])}else{_=+g[w>>2];Y=+g[x>>2];ad=+g[z>>2];af=+g[h>>2]*_+ +g[h+4>>2]*Y+ +g[h+8>>2]*ad-(_*+g[i>>2]+Y*+g[i+4>>2]+ad*+g[i+8>>2])}if(n){if(af>=0.0){s=1;return s|0}ad=af*(-0.0-ae);n=(c[ac>>2]|0)+(q<<2)|0;if(ad<=+g[n>>2]){s=1;return s|0}g[n>>2]=ad;s=1;return s|0}else{if(af<=0.0){s=1;return s|0}ad=af*(-0.0-ae);n=(c[ac>>2]|0)+(q<<2)|0;if(ad>=+g[n>>2]){s=1;return s|0}g[n>>2]=ad;s=1;return s|0}return 0}function ao8(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0;b=+g[(c[a+24>>2]|0)+336>>2];d=+g[(c[a+28>>2]|0)+336>>2];if(d==0.0){e=1.0}else{e=b/(b+d)}d=1.0-e;b=e*+g[a+1108>>2]+d*+g[a+1172>>2];f=e*+g[a+1112>>2]+d*+g[a+1176>>2];g[a+1276>>2]=e*+g[a+1104>>2]+d*+g[a+1168>>2];g[a+1280>>2]=b;g[a+1284>>2]=f;g[a+1288>>2]=0.0;return}function ao9(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0;if(e>>>0<3){if((b|0)==3){g[a+732+(e<<2)>>2]=d;f=a+1296|0;c[f>>2]=c[f>>2]|1<<(e*3|0);return}else if((b|0)==4){g[a+764+(e<<2)>>2]=d;f=a+1296|0;c[f>>2]=c[f>>2]|2<<(e*3|0);return}else if((b|0)==2){g[a+748+(e<<2)>>2]=d;f=a+1296|0;c[f>>2]=c[f>>2]|4<<(e*3|0);return}else{return}}f=e-3|0;if(f>>>0>=3){return}if((b|0)==2){g[a+860+(f<<6)+32>>2]=d;h=a+1296|0;c[h>>2]=c[h>>2]|4<<(e*3|0);return}else if((b|0)==3){g[a+860+(f<<6)+28>>2]=d;h=a+1296|0;c[h>>2]=c[h>>2]|1<<(e*3|0);return}else if((b|0)==4){g[a+860+(f<<6)+36>>2]=d;f=a+1296|0;c[f>>2]=c[f>>2]|2<<(e*3|0);return}else{return}}function apa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;do{if(c>>>0<3){if((b|0)==2){d=+g[a+748+(c<<2)>>2];break}else if((b|0)==4){d=+g[a+764+(c<<2)>>2];break}else if((b|0)==3){d=+g[a+732+(c<<2)>>2];break}else{d=0.0;break}}else{e=c-3|0;if(e>>>0>=3){d=0.0;break}if((b|0)==3){d=+g[a+860+(e<<6)+28>>2];break}else if((b|0)==4){d=+g[a+860+(e<<6)+36>>2];break}else if((b|0)==2){d=+g[a+860+(e<<6)+32>>2];break}else{d=0.0;break}}}while(0);return+d}function apb(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0;aoZ(b,e,f);l=b+860|0;m=b+864|0;n=+ao0(+g[b+1184>>2],+g[l>>2],+g[m>>2]);g[b+912>>2]=n;o=+g[l>>2];p=+g[m>>2];do{if(o>p){c[b+916>>2]=0}else{if(o>n){c[b+916>>2]=1;g[b+908>>2]=n-o;break}m=b+916|0;if(p>2]=2;g[b+908>>2]=n-p;break}else{c[m>>2]=0;break}}}while(0);m=b+924|0;l=b+928|0;p=+ao0(+g[b+1188>>2],+g[m>>2],+g[l>>2]);g[b+976>>2]=p;n=+g[m>>2];o=+g[l>>2];do{if(n>o){c[b+980>>2]=0}else{if(n>p){c[b+980>>2]=1;g[b+972>>2]=p-n;break}l=b+980|0;if(o>2]=2;g[b+972>>2]=p-o;break}else{c[l>>2]=0;break}}}while(0);l=b+988|0;m=b+992|0;o=+ao0(+g[b+1192>>2],+g[l>>2],+g[m>>2]);g[b+1040>>2]=o;p=+g[l>>2];n=+g[m>>2];do{if(p>n){c[b+1044>>2]=0}else{if(p>o){c[b+1044>>2]=1;g[b+1036>>2]=o-p;break}m=b+1044|0;if(n>2]=2;g[b+1036>>2]=o-n;break}else{c[m>>2]=0;break}}}while(0);if((a[b+1293|0]&1)==0){m=ao5(b,d,0,e,f,h,i,j,k)|0;ao4(b,d,m,e,f,h,i,j,k)|0;return}else{m=ao4(b,d,0,e,f,h,i,j,k)|0;ao5(b,d,m,e,f,h,i,j,k)|0;return}}function apc(a){a=a|0;if((a|0)==0){return}aDB(a);return}function apd(a){a=a|0;return 244}function ape(a){a=a|0;return}function apf(a){a=a|0;return 340}function apg(a){a=a|0;return}function aph(b,d,e){b=b|0;d=d|0;e=e|0;aq3(b|0,d,e)|0;g[d+44>>2]=+g[b+40>>2];g[d+48>>2]=+g[b+44>>2];g[d+52>>2]=+g[b+48>>2];g[d+56>>2]=+g[b+52>>2];g[d+60>>2]=+g[b+56>>2];g[d+64>>2]=+g[b+60>>2];g[d+68>>2]=+g[b+64>>2];g[d+72>>2]=+g[b+68>>2];g[d+76>>2]=+g[b+72>>2];g[d+80>>2]=+g[b+76>>2];g[d+84>>2]=+g[b+80>>2];g[d+88>>2]=+g[b+84>>2];g[d+92>>2]=+g[b+88>>2];g[d+96>>2]=+g[b+92>>2];g[d+100>>2]=+g[b+96>>2];g[d+104>>2]=+g[b+100>>2];g[d+108>>2]=+g[b+104>>2];g[d+112>>2]=+g[b+108>>2];g[d+116>>2]=+g[b+112>>2];g[d+120>>2]=+g[b+116>>2];g[d+124>>2]=+g[b+120>>2];g[d+128>>2]=+g[b+124>>2];g[d+132>>2]=+g[b+128>>2];g[d+136>>2]=+g[b+132>>2];g[d+140>>2]=+g[b+136>>2];g[d+144>>2]=+g[b+140>>2];g[d+148>>2]=+g[b+144>>2];g[d+152>>2]=+g[b+148>>2];g[d+156>>2]=+g[b+152>>2];g[d+160>>2]=+g[b+156>>2];g[d+164>>2]=+g[b+160>>2];g[d+168>>2]=+g[b+164>>2];g[d+220>>2]=+g[b+860>>2];g[d+204>>2]=+g[b+864>>2];g[d+188>>2]=+g[b+672>>2];g[d+172>>2]=+g[b+688>>2];g[d+224>>2]=+g[b+924>>2];g[d+208>>2]=+g[b+928>>2];g[d+192>>2]=+g[b+676>>2];g[d+176>>2]=+g[b+692>>2];g[d+228>>2]=+g[b+988>>2];g[d+212>>2]=+g[b+992>>2];g[d+196>>2]=+g[b+680>>2];g[d+180>>2]=+g[b+696>>2];c[d+236>>2]=a[b+1292|0]&1;c[d+240>>2]=a[b+1293|0]&1;return 17808}function api(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0;e=d|0;f=d+48|0;if((a[b+1301|0]&1)!=0){h=(+g[b+1248>>2]- +g[b+1308>>2])*+g[b+1332>>2];g[b+784>>2]=h*(+g[e>>2]*+g[b+1356>>2]/+(c[f>>2]|0));i=+P(+h);g[b+800>>2]=i/+g[e>>2]}if((a[b+1302|0]&1)!=0){i=(+g[b+1252>>2]- +g[b+1312>>2])*+g[b+1336>>2];g[b+788>>2]=i*(+g[e>>2]*+g[b+1360>>2]/+(c[f>>2]|0));h=+P(+i);g[b+804>>2]=h/+g[e>>2]}if((a[b+1303|0]&1)!=0){h=(+g[b+1256>>2]- +g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=h*(+g[e>>2]*+g[b+1364>>2]/+(c[f>>2]|0));i=+P(+h);g[b+808>>2]=i/+g[e>>2]}if((a[b+1304|0]&1)!=0){i=+g[b+1344>>2]*(-0.0-(+g[b+1184>>2]- +g[b+1320>>2]));g[b+868>>2]=i*(+g[e>>2]*+g[b+1368>>2]/+(c[f>>2]|0));h=+P(+i);g[b+872>>2]=h/+g[e>>2]}if((a[b+1305|0]&1)!=0){h=+g[b+1348>>2]*(-0.0-(+g[b+1188>>2]- +g[b+1324>>2]));g[b+932>>2]=h*(+g[e>>2]*+g[b+1372>>2]/+(c[f>>2]|0));i=+P(+h);g[b+936>>2]=i/+g[e>>2]}if((a[b+1306|0]&1)==0){j=b;ao3(j,d);return}i=+g[b+1352>>2]*(-0.0-(+g[b+1192>>2]- +g[b+1328>>2]));g[b+996>>2]=i*(+g[e>>2]*+g[b+1376>>2]/+(c[f>>2]|0));h=+P(+i);g[b+1e3>>2]=h/+g[e>>2];j=b;ao3(j,d);return}function apj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;e=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=1.0/+Q(+(e*e+f*f+h*h));j=e*i;e=f*i;f=h*i;i=+g[d>>2];h=+g[d+4>>2];k=+g[d+8>>2];l=1.0/+Q(+(i*i+h*h+k*k));m=i*l;i=h*l;h=k*l;l=f*i-e*h;k=j*h-f*m;n=e*m-j*i;d=c[a+24>>2]|0;o=+g[d+4>>2];p=+g[d+20>>2];q=+g[d+36>>2];r=+g[d+8>>2];s=+g[d+24>>2];t=+g[d+40>>2];u=+g[d+12>>2];v=+g[d+28>>2];w=+g[d+44>>2];x=-0.0- +g[d+52>>2];y=-0.0- +g[d+56>>2];z=-0.0- +g[d+60>>2];g[a+40>>2]=o*l+k*p+n*q;g[a+44>>2]=m*o+i*p+h*q;g[a+48>>2]=j*o+e*p+f*q;g[a+52>>2]=0.0;g[a+56>>2]=l*r+k*s+n*t;g[a+60>>2]=m*r+i*s+h*t;g[a+64>>2]=j*r+e*s+f*t;g[a+68>>2]=0.0;g[a+72>>2]=l*u+k*v+n*w;g[a+76>>2]=m*u+i*v+h*w;g[a+80>>2]=j*u+e*v+f*w;g[a+84>>2]=0.0;g[a+88>>2]=o*0.0+p*0.0+q*0.0+(o*x+p*y+q*z);g[a+92>>2]=r*0.0+s*0.0+t*0.0+(r*x+s*y+t*z);g[a+96>>2]=u*0.0+v*0.0+w*0.0+(u*x+v*y+w*z);g[a+100>>2]=0.0;b=c[a+28>>2]|0;z=+g[b+4>>2];w=+g[b+20>>2];y=+g[b+36>>2];v=+g[b+8>>2];x=+g[b+24>>2];u=+g[b+40>>2];t=+g[b+12>>2];s=+g[b+28>>2];r=+g[b+44>>2];q=-0.0- +g[b+52>>2];p=-0.0- +g[b+56>>2];o=-0.0- +g[b+60>>2];g[a+104>>2]=l*z+k*w+n*y;g[a+108>>2]=m*z+i*w+h*y;g[a+112>>2]=j*z+e*w+f*y;g[a+116>>2]=0.0;g[a+120>>2]=l*v+k*x+n*u;g[a+124>>2]=m*v+i*x+h*u;g[a+128>>2]=j*v+e*x+f*u;g[a+132>>2]=0.0;g[a+136>>2]=l*t+k*s+n*r;g[a+140>>2]=m*t+i*s+h*r;g[a+144>>2]=j*t+e*s+f*r;g[a+148>>2]=0.0;g[a+152>>2]=z*0.0+w*0.0+y*0.0+(z*q+w*p+y*o);g[a+156>>2]=v*0.0+x*0.0+u*0.0+(v*q+x*p+u*o);g[a+160>>2]=t*0.0+s*0.0+r*0.0+(t*q+s*p+r*o);g[a+164>>2]=0.0;aoZ(a,d+4|0,b+4|0);return}function apk(a){a=a|0;if((a|0)==0){return}aDB(a|0);return}function apl(b,d,e){b=b|0;d=d|0;e=e|0;aph(b,d,e)|0;g[d+268>>2]=+g[b+1308>>2];g[d+316>>2]=+g[b+1356>>2];c[d+244>>2]=a[b+1301|0]&1;g[d+292>>2]=+g[b+1332>>2];g[d+272>>2]=+g[b+1312>>2];g[d+320>>2]=+g[b+1360>>2];c[d+248>>2]=a[b+1302|0]&1;g[d+296>>2]=+g[b+1336>>2];g[d+276>>2]=+g[b+1316>>2];g[d+324>>2]=+g[b+1364>>2];c[d+252>>2]=a[b+1303|0]&1;g[d+300>>2]=+g[b+1340>>2];g[d+280>>2]=+g[b+1320>>2];g[d+328>>2]=+g[b+1368>>2];c[d+256>>2]=a[b+1304|0]&1;g[d+304>>2]=+g[b+1344>>2];g[d+284>>2]=+g[b+1324>>2];g[d+332>>2]=+g[b+1372>>2];c[d+260>>2]=a[b+1305|0]&1;g[d+308>>2]=+g[b+1348>>2];g[d+288>>2]=+g[b+1328>>2];g[d+336>>2]=+g[b+1376>>2];c[d+264>>2]=a[b+1306|0]&1;g[d+312>>2]=+g[b+1352>>2];return 17808}function apm(a){a=a|0;if((a|0)==0){return}aDB(a|0);return}function apn(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3.4028234663852886e+38;a[b+20|0]=1;a[b+21|0]=0;c[b+24>>2]=d;c[b+28>>2]=e;g[b+32>>2]=0.0;g[b+36>>2]=.30000001192092896;c[b>>2]=23504;g[b+680>>2]=0.0;g[b+684>>2]=-1.0;g[b+688>>2]=.8999999761581421;g[b+692>>2]=.30000001192092896;g[b+696>>2]=1.0;g[b+700>>2]=0.0;g[b+704>>2]=0.0;a[b+708|0]=0;a[b+728|0]=0;a[b+729|0]=0;a[b+730|0]=0;a[b+731|0]=1;a[b+732|0]=k&1;c[b+740>>2]=0;e=b+592|0;l=f;c[e>>2]=c[l>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[e+12>>2]=c[l+12>>2];m=+g[d+4>>2];n=+g[d+20>>2];o=+g[d+36>>2];l=i|0;p=+g[l>>2];e=i+4|0;q=+g[e>>2];f=i+8|0;r=+g[f>>2];s=m*p+n*q+o*r;do{if(s<.9999998807907104){if(s>-.9999998807907104){t=o*q-n*r;u=m*r-o*p;v=n*p-m*q;w=t;x=u;y=v;z=r*u-q*v;A=p*v-r*t;B=q*t-p*u;break}else{w=+g[d+8>>2];x=+g[d+24>>2];y=+g[d+40>>2];z=+g[d+12>>2];A=+g[d+28>>2];B=+g[d+44>>2];break}}else{w=+g[d+8>>2];x=+g[d+24>>2];y=+g[d+40>>2];z=-0.0- +g[d+12>>2];A=-0.0- +g[d+28>>2];B=-0.0- +g[d+44>>2]}}while(0);g[b+544>>2]=z;g[b+548>>2]=w;g[b+552>>2]=+g[l>>2];g[b+556>>2]=0.0;g[b+560>>2]=A;g[b+564>>2]=x;g[b+568>>2]=+g[e>>2];g[b+572>>2]=0.0;g[b+576>>2]=B;g[b+580>>2]=y;g[b+584>>2]=+g[f>>2];g[b+588>>2]=0.0;y=+g[e>>2];e=j+8|0;x=+g[e>>2];w=+g[f>>2];f=j+4|0;p=+g[f>>2];d=j|0;q=+g[d>>2];r=+g[l>>2];m=x*w+(y*p+q*r);do{if(m<-.9999998807907104){if(+P(+w)>.7071067690849304){n=1.0/+Q(+(y*y+w*w));C=0.0;D=n*(-0.0-w);E=y*n;F=0.0;break}else{n=1.0/+Q(+(y*y+r*r));C=n*(-0.0-y);D=r*n;E=0.0;F=0.0;break}}else{n=+Q(+((m+1.0)*2.0));o=1.0/n;C=(y*x-w*p)*o;D=(w*q-x*r)*o;E=(p*r-y*q)*o;F=n*.5}}while(0);y=z*F+B*D-A*E;r=A*F+z*E-B*C;w=B*F+A*C-z*D;m=-0.0-C;C=z*m-A*D-B*E;B=-0.0-D;D=-0.0-E;E=r*D+(F*y+C*m)-w*B;A=w*m+(F*r+C*B)-y*D;z=y*B+(F*w+C*D)-r*m;l=b+656|0;j=h;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];g[b+608>>2]=E;g[b+612>>2]=p*z-x*A;g[b+616>>2]=+g[d>>2];g[b+620>>2]=0.0;g[b+624>>2]=A;g[b+628>>2]=x*E-q*z;g[b+632>>2]=+g[f>>2];g[b+636>>2]=0.0;g[b+640>>2]=z;g[b+644>>2]=q*A-p*E;g[b+648>>2]=+g[e>>2];g[b+652>>2]=0.0;g[b+724>>2]=k?-1.0:1.0;return}function apo(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;aq1(b|0,4,d);c[b>>2]=23504;g[b+680>>2]=0.0;g[b+684>>2]=-1.0;g[b+688>>2]=.8999999761581421;g[b+692>>2]=.30000001192092896;g[b+696>>2]=1.0;g[b+700>>2]=0.0;g[b+704>>2]=0.0;a[b+708|0]=0;a[b+728|0]=0;a[b+729|0]=0;a[b+730|0]=0;a[b+731|0]=1;a[b+732|0]=h&1;c[b+740>>2]=0;i=f|0;j=f+8|0;k=+g[j>>2];if(+P(+k)>.7071067690849304){l=+g[f+4>>2];m=k*k+l*l;n=1.0/+Q(+m);o=n*(-0.0-k);p=l*n;l=+g[i>>2];q=m*n;r=p*(-0.0-l);s=l*o;t=0.0;u=o;v=p}else{p=+g[i>>2];o=+g[f+4>>2];l=p*p+o*o;n=1.0/+Q(+l);m=n*(-0.0-o);o=p*n;q=o*(-0.0-k);r=k*m;s=l*n;t=m;u=o;v=0.0}w=b+592|0;x=e;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];x=f+4|0;g[b+544>>2]=t;g[b+548>>2]=q;g[b+552>>2]=+g[i>>2];g[b+556>>2]=0.0;g[b+560>>2]=u;g[b+564>>2]=r;g[b+568>>2]=+g[x>>2];g[b+572>>2]=0.0;g[b+576>>2]=v;g[b+580>>2]=s;g[b+584>>2]=+g[j>>2];g[b+588>>2]=0.0;s=+g[d+4>>2];r=+g[i>>2];q=+g[d+8>>2];o=+g[x>>2];m=+g[d+12>>2];n=+g[j>>2];l=s*r+q*o+m*n;k=+g[d+20>>2];p=+g[d+24>>2];y=+g[d+28>>2];z=r*k+o*p+n*y;A=+g[d+36>>2];B=+g[d+40>>2];C=+g[d+44>>2];D=r*A+o*B+n*C;E=r*l+o*z+n*D;do{if(E<-.9999998807907104){if(+P(+n)>.7071067690849304){F=1.0/+Q(+(o*o+n*n));G=0.0;H=F*(-0.0-n);I=o*F;J=0.0;break}else{F=1.0/+Q(+(r*r+o*o));G=F*(-0.0-o);H=r*F;I=0.0;J=0.0;break}}else{F=+Q(+((E+1.0)*2.0));K=1.0/F;G=(o*D-n*z)*K;H=(n*l-r*D)*K;I=(r*z-o*l)*K;J=F*.5}}while(0);o=t*J+v*H-u*I;r=u*J+t*I-v*G;n=v*J+u*G-t*H;E=-0.0-G;G=t*E-u*H-v*I;v=-0.0-H;H=-0.0-I;I=r*H+(J*o+G*E)-n*v;u=n*E+(J*r+G*v)-o*H;t=o*v+(J*n+G*H)-r*E;E=+g[e>>2];r=+g[e+4>>2];H=+g[e+8>>2];G=+g[d+56>>2]+(E*k+r*p+H*y);y=+g[d+60>>2]+(E*A+r*B+H*C);g[b+656>>2]=+g[d+52>>2]+(s*E+q*r+m*H);g[b+660>>2]=G;g[b+664>>2]=y;g[b+668>>2]=0.0;g[b+608>>2]=I;g[b+612>>2]=z*t-D*u;g[b+616>>2]=l;g[b+620>>2]=0.0;g[b+624>>2]=u;g[b+628>>2]=D*I-l*t;g[b+632>>2]=z;g[b+636>>2]=0.0;g[b+640>>2]=t;g[b+644>>2]=l*u-z*I;g[b+648>>2]=D;g[b+652>>2]=0.0;g[b+724>>2]=h?-1.0:1.0;return}function app(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0,aA=0.0;d=i;i=i+176|0;e=d|0;f=d+48|0;h=d+96|0;j=d+144|0;k=d+160|0;if((a[b+730|0]&1)==0){i=d;return}g[b+32>>2]=0.0;g[b+736>>2]=0.0;if((a[b+728|0]&1)==0){l=b+24|0;m=c[l>>2]|0;n=+g[b+592>>2];o=+g[b+596>>2];p=+g[b+600>>2];q=+g[m+56>>2]+(n*+g[m+20>>2]+o*+g[m+24>>2]+p*+g[m+28>>2]);r=b+28|0;s=c[r>>2]|0;t=+g[b+656>>2];u=+g[b+660>>2];v=+g[b+664>>2];w=+g[s+56>>2]+(t*+g[s+20>>2]+u*+g[s+24>>2]+v*+g[s+28>>2]);x=+g[s+60>>2]+(t*+g[s+36>>2]+u*+g[s+40>>2]+v*+g[s+44>>2]);y=w-q;z=+g[m+52>>2]+(+g[m+4>>2]*n+ +g[m+8>>2]*o+ +g[m+12>>2]*p);A=+g[m+60>>2]+(n*+g[m+36>>2]+o*+g[m+40>>2]+p*+g[m+44>>2]);p=+g[s+52>>2]+(+g[s+4>>2]*t+ +g[s+8>>2]*u+ +g[s+12>>2]*v);v=p-z;u=x-A;t=v*v+y*y+u*u;if(t>1.1920928955078125e-7){o=1.0/+Q(+t);t=v*o;v=y*o;y=u*o;g[e>>2]=t;g[e+4>>2]=v;g[e+8>>2]=y;g[e+12>>2]=0.0;B=y;C=v;D=t}else{g[e>>2]=1.0;g[e+4>>2]=0.0;g[e+8>>2]=0.0;g[e+12>>2]=0.0;B=0.0;C=0.0;D=1.0}s=e+16|0;m=e+32|0;if(+P(+B)>.7071067690849304){t=B*B+C*C;v=1.0/+Q(+t);g[s>>2]=0.0;y=v*(-0.0-B);g[e+20>>2]=y;o=v*C;g[e+24>>2]=o;g[m>>2]=t*v;g[e+36>>2]=o*(-0.0-D);g[e+40>>2]=D*y}else{y=D*D+C*C;o=1.0/+Q(+y);v=o*(-0.0-C);g[s>>2]=v;C=o*D;g[e+20>>2]=C;g[e+24>>2]=0.0;g[m>>2]=C*(-0.0-B);g[e+36>>2]=B*v;g[e+40>>2]=y*o}m=f|0;s=f+4|0;E=f+8|0;F=f+12|0;G=f+16|0;H=f+20|0;I=f+24|0;J=f+28|0;K=f+32|0;L=f+36|0;M=f+40|0;N=f+44|0;O=h|0;R=h+4|0;S=h+8|0;T=h+12|0;U=h+16|0;V=h+20|0;W=h+24|0;X=h+28|0;Y=h+32|0;Z=h+36|0;_=h+40|0;$=h+44|0;aa=j|0;ab=j+4|0;ac=j+8|0;ad=j+12|0;ae=k|0;af=k+4|0;ag=k+8|0;ah=k+12|0;ai=0;do{aj=b+40+(ai*84|0)|0;if((aj|0)!=0){ak=c[l>>2]|0;g[m>>2]=+g[ak+4>>2];g[s>>2]=+g[ak+20>>2];g[E>>2]=+g[ak+36>>2];g[F>>2]=0.0;g[G>>2]=+g[ak+8>>2];g[H>>2]=+g[ak+24>>2];g[I>>2]=+g[ak+40>>2];g[J>>2]=0.0;g[K>>2]=+g[ak+12>>2];g[L>>2]=+g[ak+28>>2];g[M>>2]=+g[ak+44>>2];g[N>>2]=0.0;al=c[r>>2]|0;g[O>>2]=+g[al+4>>2];g[R>>2]=+g[al+20>>2];g[S>>2]=+g[al+36>>2];g[T>>2]=0.0;g[U>>2]=+g[al+8>>2];g[V>>2]=+g[al+24>>2];g[W>>2]=+g[al+40>>2];g[X>>2]=0.0;g[Y>>2]=+g[al+12>>2];g[Z>>2]=+g[al+28>>2];g[_>>2]=+g[al+44>>2];g[$>>2]=0.0;o=q- +g[ak+56>>2];y=A- +g[ak+60>>2];g[aa>>2]=z- +g[ak+52>>2];g[ab>>2]=o;g[ac>>2]=y;g[ad>>2]=0.0;y=w- +g[al+56>>2];o=x- +g[al+60>>2];g[ae>>2]=p- +g[al+52>>2];g[af>>2]=y;g[ag>>2]=o;g[ah>>2]=0.0;anz(aj,f,h,j,k,e+(ai<<4)|0,ak+388|0,+g[ak+336>>2],al+388|0,+g[al+336>>2])}ai=ai+1|0;}while((ai|0)<3)}ai=b+552|0;e=b+568|0;k=b+584|0;p=+g[ai>>2];x=+g[e>>2];w=+g[k>>2];if(+P(+w)>.7071067690849304){z=x*x+w*w;A=1.0/+Q(+z);q=A*(-0.0-w);o=x*A;am=z*A;an=o*(-0.0-p);ao=p*q;ap=0.0;aq=q;ar=o}else{o=p*p+x*x;q=1.0/+Q(+o);A=q*(-0.0-x);z=p*q;am=z*(-0.0-w);an=w*A;ao=o*q;ap=A;aq=z;ar=0.0}j=b+24|0;h=c[j>>2]|0;f=h+4|0;z=+g[f>>2];ah=h+8|0;A=+g[ah>>2];ag=h+12|0;q=+g[ag>>2];o=ap*z+aq*A+ar*q;af=h+20|0;y=+g[af>>2];ae=h+24|0;v=+g[ae>>2];ad=h+28|0;B=+g[ad>>2];C=ap*y+aq*v+ar*B;ac=h+36|0;D=+g[ac>>2];ab=h+40|0;t=+g[ab>>2];aa=h+44|0;u=+g[aa>>2];n=ap*D+aq*t+ar*u;ar=am*z+an*A+ao*q;aq=am*y+an*v+ao*B;ap=am*D+an*t+ao*u;ao=z*p+A*x+q*w;an=y*p+v*x+B*w;am=D*p+t*x+u*w;$=b+292|0;if(($|0)!=0){_=c[b+28>>2]|0;w=+g[_+4>>2];x=+g[_+20>>2];p=+g[_+36>>2];as=+g[_+8>>2];at=+g[_+24>>2];au=+g[_+40>>2];av=+g[_+12>>2];aw=+g[_+28>>2];ax=+g[_+44>>2];aDD($|0,0,16);ay=z*o+y*C+D*n;D=A*o+v*C+t*n;t=q*o+B*C+u*n;g[b+308>>2]=ay;g[b+312>>2]=D;g[b+316>>2]=t;g[b+320>>2]=0.0;u=-0.0-o;o=-0.0-C;C=-0.0-n;n=w*u+x*o+p*C;p=as*u+at*o+au*C;au=av*u+aw*o+ax*C;g[b+324>>2]=n;g[b+328>>2]=p;g[b+332>>2]=au;g[b+336>>2]=0.0;C=ay*+g[h+388>>2];ax=D*+g[h+392>>2];o=t*+g[h+396>>2];g[b+340>>2]=C;g[b+344>>2]=ax;g[b+348>>2]=o;g[b+352>>2]=0.0;aw=n*+g[_+388>>2];u=p*+g[_+392>>2];av=au*+g[_+396>>2];g[b+356>>2]=aw;g[b+360>>2]=u;g[b+364>>2]=av;g[b+368>>2]=0.0;g[b+372>>2]=ay*C+D*ax+t*o+(n*aw+p*u+au*av)}_=b+376|0;if((_|0)!=0){av=+g[f>>2];au=+g[af>>2];u=+g[ac>>2];p=+g[ah>>2];aw=+g[ae>>2];n=+g[ab>>2];o=+g[ag>>2];t=+g[ad>>2];ax=+g[aa>>2];$=c[b+28>>2]|0;D=+g[$+4>>2];C=+g[$+20>>2];ay=+g[$+36>>2];at=+g[$+8>>2];as=+g[$+24>>2];x=+g[$+40>>2];w=+g[$+12>>2];B=+g[$+28>>2];q=+g[$+44>>2];aDD(_|0,0,16);v=ar*av+aq*au+ap*u;u=ar*p+aq*aw+ap*n;n=ar*o+aq*t+ap*ax;g[b+392>>2]=v;g[b+396>>2]=u;g[b+400>>2]=n;g[b+404>>2]=0.0;ax=-0.0-ar;ar=-0.0-aq;aq=-0.0-ap;ap=D*ax+C*ar+ay*aq;ay=at*ax+as*ar+x*aq;x=w*ax+B*ar+q*aq;g[b+408>>2]=ap;g[b+412>>2]=ay;g[b+416>>2]=x;g[b+420>>2]=0.0;aq=v*+g[h+388>>2];q=u*+g[h+392>>2];ar=n*+g[h+396>>2];g[b+424>>2]=aq;g[b+428>>2]=q;g[b+432>>2]=ar;g[b+436>>2]=0.0;B=ap*+g[$+388>>2];ax=ay*+g[$+392>>2];w=x*+g[$+396>>2];g[b+440>>2]=B;g[b+444>>2]=ax;g[b+448>>2]=w;g[b+452>>2]=0.0;g[b+456>>2]=v*aq+u*q+n*ar+(ap*B+ay*ax+x*w)}$=b+460|0;if(($|0)==0){az=b+28|0}else{w=+g[f>>2];x=+g[af>>2];ax=+g[ac>>2];ay=+g[ah>>2];B=+g[ae>>2];ap=+g[ab>>2];ar=+g[ag>>2];n=+g[ad>>2];q=+g[aa>>2];aa=b+28|0;ad=c[aa>>2]|0;u=+g[ad+4>>2];aq=+g[ad+20>>2];v=+g[ad+36>>2];as=+g[ad+8>>2];at=+g[ad+24>>2];C=+g[ad+40>>2];D=+g[ad+12>>2];t=+g[ad+28>>2];o=+g[ad+44>>2];aDD($|0,0,16);aw=ao*w+an*x+am*ax;ax=ao*ay+an*B+am*ap;ap=ao*ar+an*n+am*q;g[b+476>>2]=aw;g[b+480>>2]=ax;g[b+484>>2]=ap;g[b+488>>2]=0.0;q=-0.0-ao;ao=-0.0-an;an=-0.0-am;am=u*q+aq*ao+v*an;v=as*q+at*ao+C*an;C=D*q+t*ao+o*an;g[b+492>>2]=am;g[b+496>>2]=v;g[b+500>>2]=C;g[b+504>>2]=0.0;an=aw*+g[h+388>>2];o=ax*+g[h+392>>2];ao=ap*+g[h+396>>2];g[b+508>>2]=an;g[b+512>>2]=o;g[b+516>>2]=ao;g[b+520>>2]=0.0;t=am*+g[ad+388>>2];q=v*+g[ad+392>>2];D=C*+g[ad+396>>2];g[b+524>>2]=t;g[b+528>>2]=q;g[b+532>>2]=D;g[b+536>>2]=0.0;g[b+540>>2]=aw*an+ax*o+ap*ao+(am*t+v*q+C*D);az=aa}g[b+716>>2]=0.0;D=+apy(b,h+4|0,(c[az>>2]|0)+4|0);g[b+720>>2]=D;h=b+700|0;g[h>>2]=0.0;aa=b+704|0;g[aa>>2]=0.0;ad=b+708|0;a[ad]=0;$=b+684|0;do{if(+g[$>>2]>=0.0){C=+ck(+(D- +g[b+680>>2]),6.2831854820251465);do{if(C<-3.1415927410125732){aA=C+6.2831854820251465}else{if(C<=3.1415927410125732){aA=C;break}aA=C-6.2831854820251465}}while(0);C=+g[$>>2];if(aA<-0.0-C){a[ad]=1;g[h>>2]=-0.0-(aA+C);g[aa>>2]=1.0;break}if(aA<=C){break}a[ad]=1;g[h>>2]=C-aA;g[aa>>2]=-1.0}}while(0);aa=c[j>>2]|0;aA=+g[ai>>2];D=+g[e>>2];C=+g[k>>2];q=aA*+g[aa+4>>2]+D*+g[aa+8>>2]+C*+g[aa+12>>2];v=aA*+g[aa+20>>2]+D*+g[aa+24>>2]+C*+g[aa+28>>2];t=aA*+g[aa+36>>2]+D*+g[aa+40>>2]+C*+g[aa+44>>2];k=c[az>>2]|0;g[b+712>>2]=1.0/(q*(q*+g[aa+256>>2]+v*+g[aa+272>>2]+t*+g[aa+288>>2])+v*(q*+g[aa+260>>2]+v*+g[aa+276>>2]+t*+g[aa+292>>2])+t*(q*+g[aa+264>>2]+v*+g[aa+280>>2]+t*+g[aa+296>>2])+(q*(q*+g[k+256>>2]+v*+g[k+272>>2]+t*+g[k+288>>2])+v*(q*+g[k+260>>2]+v*+g[k+276>>2]+t*+g[k+292>>2])+t*(q*+g[k+264>>2]+v*+g[k+280>>2]+t*+g[k+296>>2])));i=d;return}function apq(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;e=d|0;if((a[b+730|0]&1)!=0){c[e>>2]=0;c[d+4>>2]=0;return}c[e>>2]=5;f=d+4|0;c[f>>2]=1;h=+apy(b,(c[b+24>>2]|0)+4|0,(c[b+28>>2]|0)+4|0);g[b+720>>2]=h;d=b+700|0;g[d>>2]=0.0;i=b+704|0;g[i>>2]=0.0;j=b+708|0;a[j]=0;k=b+684|0;do{if(+g[k>>2]<0.0){l=3966}else{m=+ck(+(h- +g[b+680>>2]),6.2831854820251465);do{if(m<-3.1415927410125732){n=m+6.2831854820251465}else{if(m<=3.1415927410125732){n=m;break}n=m-6.2831854820251465}}while(0);m=+g[k>>2];if(n<-0.0-m){a[j]=1;g[d>>2]=-0.0-(n+m);g[i>>2]=1.0;break}if(n>m){a[j]=1;g[d>>2]=m-n;g[i>>2]=-1.0;break}else{if((a[j]&1)==0){l=3966;break}else{break}}}}while(0);do{if((l|0)==3966){if((a[b+729|0]&1)!=0){break}return}}while(0);c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)-1;return}function apr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+24>>2]|0;f=e+4|0;g=c[b+28>>2]|0;h=g+4|0;i=e+320|0;e=g+320|0;if((a[b+731|0]&1)==0){apx(b,d,f,h,i,e);return}else{aps(b,d,f,h,i,e);return}}function aps(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0,aq=0.0,ar=0,as=0.0,at=0.0,au=0.0;k=i;i=i+224|0;l=k|0;m=k+48|0;n=k+96|0;o=k+160|0;p=d+24|0;q=c[p>>2]|0;r=m;anx(m,e|0,b+544|0);s=+g[b+592>>2];t=+g[b+596>>2];u=+g[b+600>>2];v=e+48|0;w=+g[e>>2]*s+ +g[e+4>>2]*t+ +g[e+8>>2]*u+ +g[v>>2];x=e+52|0;y=+g[e+16>>2]*s+ +g[e+20>>2]*t+ +g[e+24>>2]*u+ +g[x>>2];z=e+56|0;A=+g[e+32>>2]*s+ +g[e+36>>2]*t+ +g[e+40>>2]*u+ +g[z>>2];e=n+48|0;B=n|0;do{B=B+16|0;}while((B|0)!=(e|0));e=n;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];r=n+16|0;e=m+16|0;c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];e=n+32|0;r=m+32|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];r=n+48|0;g[r>>2]=w;e=n+52|0;g[e>>2]=y;m=n+56|0;g[m>>2]=A;g[n+60>>2]=0.0;B=l;anx(l,f|0,b+608|0);A=+g[b+656>>2];y=+g[b+660>>2];w=+g[b+664>>2];u=+g[f+48>>2];t=+g[f>>2]*A+ +g[f+4>>2]*y+ +g[f+8>>2]*w+u;s=+g[f+52>>2];C=+g[f+16>>2]*A+ +g[f+20>>2]*y+ +g[f+24>>2]*w+s;D=+g[f+56>>2];E=+g[f+32>>2]*A+ +g[f+36>>2]*y+ +g[f+40>>2]*w+D;f=o+48|0;F=o|0;do{F=F+16|0;}while((F|0)!=(f|0));f=o;c[f>>2]=c[B>>2];c[f+4>>2]=c[B+4>>2];c[f+8>>2]=c[B+8>>2];c[f+12>>2]=c[B+12>>2];B=o+16|0;f=l+16|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];f=o+32|0;B=l+32|0;c[f>>2]=c[B>>2];c[f+4>>2]=c[B+4>>2];c[f+8>>2]=c[B+8>>2];c[f+12>>2]=c[B+12>>2];g[o+48>>2]=t;g[o+52>>2]=C;g[o+56>>2]=E;g[o+60>>2]=0.0;w=+g[r>>2];y=t-w;A=+g[e>>2];G=C-A;H=+g[m>>2];I=E-H;J=+g[(c[b+24>>2]|0)+336>>2];K=+g[(c[b+28>>2]|0)+336>>2];if(J<1.1920928955078125e-7){L=1}else{L=K<1.1920928955078125e-7}M=J+K;if(M>0.0){N=K/M}else{N=.5}M=1.0-N;K=+g[n+8>>2];J=+g[n+24>>2];O=+g[n+40>>2];P=+g[o+8>>2];R=+g[o+24>>2];S=+g[o+40>>2];T=N*K+M*P;U=N*J+M*R;V=N*O+M*S;W=1.0/+Q(+(T*T+U*U+V*V));X=T*W;T=U*W;U=V*W;o=q<<1;W=t-u;u=C-s;s=E-D;D=W*X+u*T+s*U;E=X*D;C=T*D;t=U*D;D=W-E;W=u-C;u=s-t;s=w- +g[v>>2];w=A- +g[x>>2];A=H- +g[z>>2];H=X*s+T*w+U*A;V=X*H;Y=T*H;Z=U*H;H=s-V;s=w-Y;w=A-Z;A=V-E;E=Y-C;C=Z-t;t=H+N*A;Z=s+N*E;Y=w+N*C;V=D-M*A;A=W-M*E;E=u-M*C;C=N*D+M*H;H=N*W+M*s;s=N*u+M*w;w=C*C+H*H+s*s;if(w>1.1920928955078125e-7){u=1.0/+Q(+w);_=u*s;$=u*H;aa=C*u}else{_=+g[n+36>>2];$=+g[n+20>>2];aa=+g[n+4>>2]}u=T*_-U*$;C=U*aa-_*X;H=$*X-T*aa;n=d+12|0;g[c[n>>2]>>2]=Z*_-Y*$;g[(c[n>>2]|0)+4>>2]=Y*aa-t*_;g[(c[n>>2]|0)+8>>2]=t*$-Z*aa;z=d+20|0;g[c[z>>2]>>2]=-0.0-(A*_-E*$);g[(c[z>>2]|0)+4>>2]=-0.0-(E*aa-V*_);g[(c[z>>2]|0)+8>>2]=-0.0-(V*$-A*aa);s=Z*H-Y*C;w=Y*u-t*H;W=t*C-Z*u;D=A*H-E*C;ab=E*u-V*H;ac=V*C-A*u;do{if(L){if((a[b+708|0]&1)==0){ad=s;ae=w;af=W;ag=D;ah=ab;ai=ac;break}ad=N*s;ae=N*w;af=N*W;ag=M*D;ah=M*ab;ai=M*ac}else{ad=s;ae=w;af=W;ag=D;ah=ab;ai=ac}}while(0);g[(c[n>>2]|0)+(q<<2)>>2]=ad;x=q+1|0;g[(c[n>>2]|0)+(x<<2)>>2]=ae;v=q+2|0;g[(c[n>>2]|0)+(v<<2)>>2]=af;g[(c[z>>2]|0)+(q<<2)>>2]=-0.0-ag;g[(c[z>>2]|0)+(x<<2)>>2]=-0.0-ah;g[(c[z>>2]|0)+(v<<2)>>2]=-0.0-ai;ai=Z*U-Y*T;ah=Y*X-t*U;Y=t*T-Z*X;Z=A*U-E*T;t=E*X-V*U;E=V*T-A*X;if(L){aj=N*ai;ak=N*ah;al=N*Y;am=M*Z;an=M*t;ao=M*E}else{aj=ai;ak=ah;al=Y;am=Z;an=t;ao=E}g[(c[n>>2]|0)+(o<<2)>>2]=aj;L=o|1;g[(c[n>>2]|0)+(L<<2)>>2]=ak;m=o+2|0;g[(c[n>>2]|0)+(m<<2)>>2]=al;g[(c[z>>2]|0)+(o<<2)>>2]=-0.0-am;g[(c[z>>2]|0)+(L<<2)>>2]=-0.0-an;g[(c[z>>2]|0)+(m<<2)>>2]=-0.0-ao;e=d|0;r=d+4|0;ao=+g[e>>2]*+g[r>>2];if((a[b+728|0]&1)==0){B=d+8|0;g[c[B>>2]>>2]=aa;g[(c[B>>2]|0)+4>>2]=$;g[(c[B>>2]|0)+8>>2]=_;g[(c[B>>2]|0)+(q<<2)>>2]=u;g[(c[B>>2]|0)+(x<<2)>>2]=C;g[(c[B>>2]|0)+(v<<2)>>2]=H;g[(c[B>>2]|0)+(o<<2)>>2]=X;g[(c[B>>2]|0)+(L<<2)>>2]=T;g[(c[B>>2]|0)+(m<<2)>>2]=U;m=d+28|0;g[c[m>>2]>>2]=ao*(y*aa+G*$+I*_);g[(c[m>>2]|0)+(q<<2)>>2]=ao*(y*u+G*C+I*H);g[(c[m>>2]|0)+(o<<2)>>2]=ao*(y*X+G*T+I*U);ap=m}else{ap=d+28|0}m=q*3|0;o=q<<2;g[(c[n>>2]|0)+(m<<2)>>2]=aa;q=m+1|0;g[(c[n>>2]|0)+(q<<2)>>2]=$;B=m+2|0;g[(c[n>>2]|0)+(B<<2)>>2]=_;g[(c[n>>2]|0)+(o<<2)>>2]=u;L=o|1;g[(c[n>>2]|0)+(L<<2)>>2]=C;v=o|2;g[(c[n>>2]|0)+(v<<2)>>2]=H;g[(c[z>>2]|0)+(m<<2)>>2]=-0.0-aa;g[(c[z>>2]|0)+(q<<2)>>2]=-0.0-$;g[(c[z>>2]|0)+(B<<2)>>2]=-0.0-_;g[(c[z>>2]|0)+(o<<2)>>2]=-0.0-u;g[(c[z>>2]|0)+(L<<2)>>2]=-0.0-C;g[(c[z>>2]|0)+(v<<2)>>2]=-0.0-H;I=+g[e>>2]*+g[r>>2];G=J*S-O*R;y=O*P-K*S;S=K*R-J*P;g[(c[ap>>2]|0)+(m<<2)>>2]=I*(G*aa+y*$+S*_);g[(c[ap>>2]|0)+(o<<2)>>2]=I*(G*u+y*C+S*H);if((a[b+708|0]&1)==0){aq=0.0;ar=0}else{H=+g[b+700>>2]*+g[b+724>>2];aq=H;ar=H>0.0?1:2}o=(ar|0)!=0;m=(a[b+729|0]&1)==0;if(m&(o^1)){i=k;return}v=(c[p>>2]|0)*5|0;g[(c[n>>2]|0)+(v<<2)>>2]=X;p=v+1|0;g[(c[n>>2]|0)+(p<<2)>>2]=T;L=v+2|0;g[(c[n>>2]|0)+(L<<2)>>2]=U;g[(c[z>>2]|0)+(v<<2)>>2]=-0.0-X;g[(c[z>>2]|0)+(p<<2)>>2]=-0.0-T;g[(c[z>>2]|0)+(L<<2)>>2]=-0.0-U;L=b+680|0;z=b+684|0;H=+ck(+(+g[L>>2]- +g[z>>2]),6.2831854820251465);do{if(H<-3.1415927410125732){as=H+6.2831854820251465}else{if(H<=3.1415927410125732){as=H;break}as=H-6.2831854820251465}}while(0);H=+ck(+(+g[L>>2]+ +g[z>>2]),6.2831854820251465);do{if(H<-3.1415927410125732){at=H+6.2831854820251465}else{if(H<=3.1415927410125732){at=H;break}at=H-6.2831854820251465}}while(0);z=as==at;g[(c[ap>>2]|0)+(v<<2)>>2]=0.0;L=b+740|0;p=c[L>>2]|0;H=+g[((p&2|0)==0?r:b+752|0)>>2];if(!(o&z|m)){if((p&4|0)!=0){g[(c[d+32>>2]|0)+(v<<2)>>2]=+g[b+744>>2]}S=+g[b+720>>2];C=+g[b+672>>2];p=as>at;L4562:do{if(p|z){au=p?1.0:0.0}else{y=C/(H*+g[e>>2]);if(y<0.0){do{if(S>=as){if(as-y<=S){break}au=(as-S)/y;break L4562}}while(0);au=S=S){break}au=(at-S)/y;break L4562}}while(0);au=S>at?0.0:1.0}}while(0);p=(c[ap>>2]|0)+(v<<2)|0;g[p>>2]=au*C*+g[b+724>>2]+ +g[p>>2];p=b+676|0;g[(c[d+36>>2]|0)+(v<<2)>>2]=-0.0- +g[p>>2];g[(c[d+40>>2]|0)+(v<<2)>>2]=+g[p>>2]}if(!o){i=k;return}o=(c[ap>>2]|0)+(v<<2)|0;g[o>>2]=+g[o>>2]+aq*H*+g[e>>2];if((c[L>>2]&1|0)!=0){g[(c[d+32>>2]|0)+(v<<2)>>2]=+g[b+748>>2]}do{if(z){g[(c[d+36>>2]|0)+(v<<2)>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(v<<2)>>2]=3.4028234663852886e+38}else{L=(c[d+36>>2]|0)+(v<<2)|0;if((ar|0)==1){g[L>>2]=0.0;g[(c[d+40>>2]|0)+(v<<2)>>2]=3.4028234663852886e+38;break}else{g[L>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(v<<2)>>2]=0.0;break}}}while(0);H=+g[b+696>>2];do{if(H>0.0){aq=+g[h>>2]*X+ +g[h+4>>2]*T+ +g[h+8>>2]*U-(X*+g[j>>2]+T*+g[j+4>>2]+U*+g[j+8>>2]);if((ar|0)==1){if(aq>=0.0){break}C=aq*(-0.0-H);d=(c[ap>>2]|0)+(v<<2)|0;if(C<=+g[d>>2]){break}g[d>>2]=C;break}else{if(aq<=0.0){break}C=aq*(-0.0-H);d=(c[ap>>2]|0)+(v<<2)|0;if(C>=+g[d>>2]){break}g[d>>2]=C;break}}}while(0);ar=(c[ap>>2]|0)+(v<<2)|0;g[ar>>2]=+g[b+692>>2]*+g[ar>>2];i=k;return}function apt(a){a=a|0;return}function apu(a){a=a|0;return 212}function apv(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(!((e|0)==(-1|0)|(e|0)==5)){return}if((b|0)==3){g[a+744>>2]=d;e=a+740|0;c[e>>2]=c[e>>2]|4;return}else if((b|0)==4){g[a+748>>2]=d;e=a+740|0;c[e>>2]=c[e>>2]|1;return}else if((b|0)==2){g[a+752>>2]=d;b=a+740|0;c[b>>2]=c[b>>2]|2;return}else{return}}function apw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;do{if((c|0)==(-1|0)|(c|0)==5){if((b|0)==2){d=+g[a+752>>2];break}else if((b|0)==4){d=+g[a+748>>2];break}else if((b|0)==3){d=+g[a+744>>2];break}else{d=0.0;break}}else{d=0.0}}while(0);return+d}function apx(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0.0,V=0.0,W=0.0;k=i;i=i+224|0;l=k|0;m=k+48|0;n=k+96|0;o=k+160|0;p=d+24|0;q=c[p>>2]|0;r=m;anx(m,e|0,b+544|0);s=+g[b+592>>2];t=+g[b+596>>2];u=+g[b+600>>2];v=e+48|0;w=+g[e>>2]*s+ +g[e+4>>2]*t+ +g[e+8>>2]*u+ +g[v>>2];x=e+52|0;y=+g[e+16>>2]*s+ +g[e+20>>2]*t+ +g[e+24>>2]*u+ +g[x>>2];z=e+56|0;A=+g[e+32>>2]*s+ +g[e+36>>2]*t+ +g[e+40>>2]*u+ +g[z>>2];e=n+48|0;B=n|0;do{B=B+16|0;}while((B|0)!=(e|0));e=n;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];r=n+16|0;e=m+16|0;c[r>>2]=c[e>>2];c[r+4>>2]=c[e+4>>2];c[r+8>>2]=c[e+8>>2];c[r+12>>2]=c[e+12>>2];e=n+32|0;r=m+32|0;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];r=n+48|0;g[r>>2]=w;e=n+52|0;g[e>>2]=y;m=n+56|0;g[m>>2]=A;g[n+60>>2]=0.0;B=l;anx(l,f|0,b+608|0);A=+g[b+656>>2];y=+g[b+660>>2];w=+g[b+664>>2];C=f+48|0;u=+g[f>>2]*A+ +g[f+4>>2]*y+ +g[f+8>>2]*w+ +g[C>>2];D=f+52|0;t=+g[f+16>>2]*A+ +g[f+20>>2]*y+ +g[f+24>>2]*w+ +g[D>>2];E=f+56|0;s=+g[f+32>>2]*A+ +g[f+36>>2]*y+ +g[f+40>>2]*w+ +g[E>>2];f=o+48|0;F=o|0;do{F=F+16|0;}while((F|0)!=(f|0));f=o;c[f>>2]=c[B>>2];c[f+4>>2]=c[B+4>>2];c[f+8>>2]=c[B+8>>2];c[f+12>>2]=c[B+12>>2];B=o+16|0;f=l+16|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];f=o+32|0;B=l+32|0;c[f>>2]=c[B>>2];c[f+4>>2]=c[B+4>>2];c[f+8>>2]=c[B+8>>2];c[f+12>>2]=c[B+12>>2];g[o+48>>2]=u;g[o+52>>2]=t;g[o+56>>2]=s;g[o+60>>2]=0.0;w=+g[r>>2];y=+g[e>>2];A=+g[m>>2];m=b+728|0;if((a[m]&1)==0){e=d+8|0;g[c[e>>2]>>2]=1.0;r=q+1|0;g[(c[e>>2]|0)+(r<<2)>>2]=1.0;B=q<<1;f=B+2|0;g[(c[e>>2]|0)+(f<<2)>>2]=1.0;G=B;H=r;I=f}else{f=q<<1;G=f;H=q+1|0;I=f+2|0}J=w- +g[v>>2];K=y- +g[x>>2];L=A- +g[z>>2];z=d+12|0;x=c[z>>2]|0;g[x>>2]=0.0;g[x+4>>2]=L;g[x+8>>2]=-0.0-K;g[x+12>>2]=0.0;g[x+(q<<2)>>2]=-0.0-L;g[x+(H<<2)>>2]=0.0;v=q+2|0;g[x+(v<<2)>>2]=J;f=q+3|0;g[x+(f<<2)>>2]=0.0;g[x+(G<<2)>>2]=K;r=G|1;g[x+(r<<2)>>2]=-0.0-J;g[x+(I<<2)>>2]=0.0;B=G+3|0;g[x+(B<<2)>>2]=0.0;J=u- +g[C>>2];K=t- +g[D>>2];L=s- +g[E>>2];E=d+20|0;D=c[E>>2]|0;g[D>>2]=0.0;g[D+4>>2]=-0.0-L;g[D+8>>2]=K;g[D+12>>2]=0.0;g[D+(q<<2)>>2]=L;g[D+(H<<2)>>2]=0.0;g[D+(v<<2)>>2]=-0.0-J;g[D+(f<<2)>>2]=0.0;g[D+(G<<2)>>2]=-0.0-K;g[D+(r<<2)>>2]=J;g[D+(I<<2)>>2]=0.0;g[D+(B<<2)>>2]=0.0;B=d|0;D=d+4|0;J=+g[B>>2]*+g[D>>2];I=d+28|0;if((a[m]&1)==0){g[c[I>>2]>>2]=J*(u-w);g[(c[I>>2]|0)+(q<<2)>>2]=J*(t-y);g[(c[I>>2]|0)+(q<<1<<2)>>2]=J*(s-A)}A=+g[n+8>>2];s=+g[n+24>>2];y=+g[n+40>>2];t=+g[n>>2];w=+g[n+16>>2];u=+g[n+32>>2];K=+g[n+4>>2];L=+g[n+20>>2];M=+g[n+36>>2];n=c[p>>2]|0;q=n*3|0;m=n<<2;g[(c[z>>2]|0)+(q<<2)>>2]=t;n=q+1|0;g[(c[z>>2]|0)+(n<<2)>>2]=w;r=q+2|0;g[(c[z>>2]|0)+(r<<2)>>2]=u;g[(c[z>>2]|0)+(m<<2)>>2]=K;G=m|1;g[(c[z>>2]|0)+(G<<2)>>2]=L;f=m|2;g[(c[z>>2]|0)+(f<<2)>>2]=M;g[(c[E>>2]|0)+(q<<2)>>2]=-0.0-t;g[(c[E>>2]|0)+(n<<2)>>2]=-0.0-w;g[(c[E>>2]|0)+(r<<2)>>2]=-0.0-u;g[(c[E>>2]|0)+(m<<2)>>2]=-0.0-K;g[(c[E>>2]|0)+(G<<2)>>2]=-0.0-L;g[(c[E>>2]|0)+(f<<2)>>2]=-0.0-M;N=+g[o+8>>2];O=+g[o+24>>2];P=+g[o+40>>2];Q=s*P-y*O;R=y*N-A*P;P=A*O-s*N;g[(c[I>>2]|0)+(q<<2)>>2]=J*(u*P+(t*Q+w*R));g[(c[I>>2]|0)+(m<<2)>>2]=J*(M*P+(K*Q+L*R));if((a[b+708|0]&1)==0){S=0.0;T=0}else{R=+g[b+700>>2]*+g[b+724>>2];S=R;T=R>0.0?1:2}m=(T|0)!=0;q=(a[b+729|0]&1)==0;if(q&(m^1)){i=k;return}o=(c[p>>2]|0)*5|0;g[(c[z>>2]|0)+(o<<2)>>2]=A;p=o+1|0;g[(c[z>>2]|0)+(p<<2)>>2]=s;f=o+2|0;g[(c[z>>2]|0)+(f<<2)>>2]=y;g[(c[E>>2]|0)+(o<<2)>>2]=-0.0-A;g[(c[E>>2]|0)+(p<<2)>>2]=-0.0-s;g[(c[E>>2]|0)+(f<<2)>>2]=-0.0-y;f=b+680|0;E=b+684|0;R=+ck(+(+g[f>>2]- +g[E>>2]),6.2831854820251465);do{if(R<-3.1415927410125732){U=R+6.2831854820251465}else{if(R<=3.1415927410125732){U=R;break}U=R-6.2831854820251465}}while(0);R=+ck(+(+g[f>>2]+ +g[E>>2]),6.2831854820251465);do{if(R<-3.1415927410125732){V=R+6.2831854820251465}else{if(R<=3.1415927410125732){V=R;break}V=R-6.2831854820251465}}while(0);E=U==V;g[(c[I>>2]|0)+(o<<2)>>2]=0.0;f=b+740|0;p=c[f>>2]|0;R=+g[((p&2|0)==0?D:b+752|0)>>2];if(!(m&E|q)){if((p&4|0)!=0){g[(c[d+32>>2]|0)+(o<<2)>>2]=+g[b+744>>2]}L=+g[b+720>>2];Q=+g[b+672>>2];p=U>V;L4659:do{if(p|E){W=p?1.0:0.0}else{K=Q/(R*+g[B>>2]);if(K<0.0){do{if(L>=U){if(U-K<=L){break}W=(U-L)/K;break L4659}}while(0);W=L=L){break}W=(V-L)/K;break L4659}}while(0);W=L>V?0.0:1.0}}while(0);p=(c[I>>2]|0)+(o<<2)|0;g[p>>2]=W*Q*+g[b+724>>2]+ +g[p>>2];p=b+676|0;g[(c[d+36>>2]|0)+(o<<2)>>2]=-0.0- +g[p>>2];g[(c[d+40>>2]|0)+(o<<2)>>2]=+g[p>>2]}if(!m){i=k;return}m=(c[I>>2]|0)+(o<<2)|0;g[m>>2]=+g[m>>2]+S*R*+g[B>>2];if((c[f>>2]&1|0)!=0){g[(c[d+32>>2]|0)+(o<<2)>>2]=+g[b+748>>2]}do{if(E){g[(c[d+36>>2]|0)+(o<<2)>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(o<<2)>>2]=3.4028234663852886e+38}else{f=(c[d+36>>2]|0)+(o<<2)|0;if((T|0)==1){g[f>>2]=0.0;g[(c[d+40>>2]|0)+(o<<2)>>2]=3.4028234663852886e+38;break}else{g[f>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(o<<2)>>2]=0.0;break}}}while(0);R=+g[b+696>>2];do{if(R>0.0){S=A*+g[h>>2]+s*+g[h+4>>2]+y*+g[h+8>>2]-(A*+g[j>>2]+s*+g[j+4>>2]+y*+g[j+8>>2]);if((T|0)==1){if(S>=0.0){break}Q=S*(-0.0-R);d=(c[I>>2]|0)+(o<<2)|0;if(Q<=+g[d>>2]){break}g[d>>2]=Q;break}else{if(S<=0.0){break}Q=S*(-0.0-R);d=(c[I>>2]|0)+(o<<2)|0;if(Q>=+g[d>>2]){break}g[d>>2]=Q;break}}}while(0);T=(c[I>>2]|0)+(o<<2)|0;g[T>>2]=+g[b+692>>2]*+g[T>>2];i=k;return}function apy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;d=+g[a+544>>2];e=+g[a+560>>2];f=+g[a+576>>2];h=+g[b>>2];i=+g[b+4>>2];j=+g[b+8>>2];k=+g[b+16>>2];l=+g[b+20>>2];m=+g[b+24>>2];n=+g[b+32>>2];o=+g[b+36>>2];p=+g[b+40>>2];q=+g[a+548>>2];r=+g[a+564>>2];s=+g[a+580>>2];t=+g[a+612>>2];u=+g[a+628>>2];v=+g[a+644>>2];w=t*+g[c>>2]+u*+g[c+4>>2]+v*+g[c+8>>2];x=t*+g[c+16>>2]+u*+g[c+20>>2]+v*+g[c+24>>2];y=t*+g[c+32>>2]+u*+g[c+36>>2]+v*+g[c+40>>2];v=+Y(+((d*h+e*i+f*j)*w+(d*k+e*l+f*m)*x+(d*n+e*o+f*p)*y),+((h*q+i*r+j*s)*w+(k*q+l*r+m*s)*x+(n*q+o*r+p*s)*y));return+(v*+g[a+724>>2])}function apz(a){a=a|0;if((a|0)==0){return}aDB(a);return}function apA(a){a=a|0;return}function apB(a){a=a|0;return 76}function apC(b,d){b=b|0;d=d|0;var e=0;e=d|0;if((a[b+336|0]&1)==0){c[e>>2]=3;c[d+4>>2]=3;return}else{c[e>>2]=0;c[d+4>>2]=0;return}}function apD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0;f=b+8|0;g[c[f>>2]>>2]=1.0;h=b+24|0;g[(c[f>>2]|0)+((c[h>>2]|0)+1<<2)>>2]=1.0;g[(c[f>>2]|0)+((c[h>>2]<<1)+2<<2)>>2]=1.0;i=+g[a+292>>2];j=+g[a+296>>2];k=+g[a+300>>2];l=+g[d>>2]*i+ +g[d+4>>2]*j+ +g[d+8>>2]*k;m=i*+g[d+16>>2]+j*+g[d+20>>2]+k*+g[d+24>>2];n=i*+g[d+32>>2]+j*+g[d+36>>2]+k*+g[d+40>>2];f=c[b+12>>2]|0;o=c[h>>2]|0;p=o<<1;g[f>>2]=0.0;g[f+4>>2]=n;g[f+8>>2]=-0.0-m;g[f+12>>2]=0.0;g[f+(o<<2)>>2]=-0.0-n;g[f+(o+1<<2)>>2]=0.0;g[f+(o+2<<2)>>2]=l;g[f+(o+3<<2)>>2]=0.0;g[f+(p<<2)>>2]=m;g[f+((p|1)<<2)>>2]=-0.0-l;g[f+(p+2<<2)>>2]=0.0;g[f+(p+3<<2)>>2]=0.0;k=+g[a+308>>2];j=+g[a+312>>2];i=+g[a+316>>2];q=+g[e>>2]*k+ +g[e+4>>2]*j+ +g[e+8>>2]*i;r=k*+g[e+16>>2]+j*+g[e+20>>2]+i*+g[e+24>>2];s=k*+g[e+32>>2]+j*+g[e+36>>2]+i*+g[e+40>>2];p=c[b+20>>2]|0;f=c[h>>2]|0;o=f<<1;g[p>>2]=0.0;g[p+4>>2]=-0.0-s;g[p+8>>2]=r;g[p+12>>2]=0.0;g[p+(f<<2)>>2]=s;g[p+(f+1<<2)>>2]=0.0;g[p+(f+2<<2)>>2]=-0.0-q;g[p+(f+3<<2)>>2]=0.0;g[p+(o<<2)>>2]=-0.0-r;g[p+((o|1)<<2)>>2]=q;g[p+(o+2<<2)>>2]=0.0;g[p+(o+3<<2)>>2]=0.0;o=a+324|0;i=+g[((c[o>>2]&1|0)==0?b+4|0:a+328|0)>>2]*+g[b>>2];p=b+28|0;g[c[p>>2]>>2]=i*(q+ +g[e+48>>2]-l- +g[d+48>>2]);g[(c[p>>2]|0)+(c[h>>2]<<2)>>2]=i*(r+ +g[e+52>>2]-m- +g[d+52>>2]);g[(c[p>>2]|0)+(c[h>>2]<<1<<2)>>2]=i*(s+ +g[e+56>>2]-n- +g[d+56>>2]);if((c[o>>2]&2|0)!=0){o=a+332|0;d=b+32|0;g[c[d>>2]>>2]=+g[o>>2];g[(c[d>>2]|0)+(c[h>>2]<<2)>>2]=+g[o>>2];g[(c[d>>2]|0)+(c[h>>2]<<1<<2)>>2]=+g[o>>2]}o=a+348|0;n=+g[o>>2];s=-0.0-n;d=b+36|0;e=b+40|0;if(n>0.0){g[c[d>>2]>>2]=s;g[c[e>>2]>>2]=n;t=+g[o>>2]}else{t=n}if(t>0.0){g[(c[d>>2]|0)+(c[h>>2]<<2)>>2]=s;g[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=n;u=+g[o>>2]}else{u=t}if(u<=0.0){v=a+344|0;w=+g[v>>2];x=b+52|0;g[x>>2]=w;return}g[(c[d>>2]|0)+(c[h>>2]<<1<<2)>>2]=s;g[(c[e>>2]|0)+(c[h>>2]<<1<<2)>>2]=n;v=a+344|0;w=+g[v>>2];x=b+52|0;g[x>>2]=w;return}function apE(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1){return}if((b|0)==1|(b|0)==2){g[a+328>>2]=d;e=a+324|0;c[e>>2]=c[e>>2]|1;return}else if((b|0)==3|(b|0)==4){g[a+332>>2]=d;b=a+324|0;c[b>>2]=c[b>>2]|2;return}else{return}}function apF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;do{if((c|0)==-1){if((b|0)==3|(b|0)==4){d=+g[a+332>>2];break}else if((b|0)==1|(b|0)==2){d=+g[a+328>>2];break}else{d=3.4028234663852886e+38;break}}else{d=3.4028234663852886e+38}}while(0);return+d}function apG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0;aq3(b|0,d,e)|0;g[d+44>>2]=+g[b+544>>2];g[d+48>>2]=+g[b+548>>2];g[d+52>>2]=+g[b+552>>2];g[d+56>>2]=+g[b+556>>2];g[d+60>>2]=+g[b+560>>2];g[d+64>>2]=+g[b+564>>2];g[d+68>>2]=+g[b+568>>2];g[d+72>>2]=+g[b+572>>2];g[d+76>>2]=+g[b+576>>2];g[d+80>>2]=+g[b+580>>2];g[d+84>>2]=+g[b+584>>2];g[d+88>>2]=+g[b+588>>2];g[d+92>>2]=+g[b+592>>2];g[d+96>>2]=+g[b+596>>2];g[d+100>>2]=+g[b+600>>2];g[d+104>>2]=+g[b+604>>2];g[d+108>>2]=+g[b+608>>2];g[d+112>>2]=+g[b+612>>2];g[d+116>>2]=+g[b+616>>2];g[d+120>>2]=+g[b+620>>2];g[d+124>>2]=+g[b+624>>2];g[d+128>>2]=+g[b+628>>2];g[d+132>>2]=+g[b+632>>2];g[d+136>>2]=+g[b+636>>2];g[d+140>>2]=+g[b+640>>2];g[d+144>>2]=+g[b+644>>2];g[d+148>>2]=+g[b+648>>2];g[d+152>>2]=+g[b+652>>2];g[d+156>>2]=+g[b+656>>2];g[d+160>>2]=+g[b+660>>2];g[d+164>>2]=+g[b+664>>2];g[d+168>>2]=+g[b+668>>2];c[d+176>>2]=a[b+728|0]&1;c[d+180>>2]=a[b+729|0]&1;g[d+188>>2]=+g[b+676>>2];g[d+184>>2]=+g[b+672>>2];c[d+172>>2]=a[b+732|0]&1;e=b+680|0;f=b+684|0;h=+ck(+(+g[e>>2]- +g[f>>2]),6.2831854820251465);do{if(h<-3.1415927410125732){i=h+6.2831854820251465}else{if(h<=3.1415927410125732){i=h;break}i=h-6.2831854820251465}}while(0);g[d+192>>2]=i;i=+ck(+(+g[e>>2]+ +g[f>>2]),6.2831854820251465);if(i<-3.1415927410125732){j=i+6.2831854820251465;k=d+196|0;l=k;g[l>>2]=j;m=b+688|0;n=+g[m>>2];o=d+200|0;p=o;g[p>>2]=n;q=b+692|0;r=+g[q>>2];s=d+204|0;t=s;g[t>>2]=r;u=b+696|0;v=+g[u>>2];w=d+208|0;x=w;g[x>>2]=v;return 17696}if(i<=3.1415927410125732){j=i;k=d+196|0;l=k;g[l>>2]=j;m=b+688|0;n=+g[m>>2];o=d+200|0;p=o;g[p>>2]=n;q=b+692|0;r=+g[q>>2];s=d+204|0;t=s;g[t>>2]=r;u=b+696|0;v=+g[u>>2];w=d+208|0;x=w;g[x>>2]=v;return 17696}j=i-6.2831854820251465;k=d+196|0;l=k;g[l>>2]=j;m=b+688|0;n=+g[m>>2];o=d+200|0;p=o;g[p>>2]=n;q=b+692|0;r=+g[q>>2];s=d+204|0;t=s;g[t>>2]=r;u=b+696|0;v=+g[u>>2];w=d+208|0;x=w;g[x>>2]=v;return 17696}function apH(a){a=a|0;var b=0,d=0,e=0,f=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0;b=i;i=i+144|0;d=b|0;e=b+16|0;f=b+64|0;h=b+112|0;j=b+128|0;g[a+32>>2]=0.0;k=a+24|0;l=e|0;m=e+4|0;n=e+8|0;o=e+12|0;p=e+16|0;q=e+20|0;r=e+24|0;s=e+28|0;t=e+32|0;u=e+36|0;v=e+40|0;w=e+44|0;x=a+28|0;y=f|0;z=f+4|0;A=f+8|0;B=f+12|0;C=f+16|0;D=f+20|0;E=f+24|0;F=f+28|0;G=f+32|0;H=f+36|0;I=f+40|0;J=f+44|0;K=a+292|0;L=a+296|0;M=a+300|0;N=h|0;O=h+4|0;P=h+8|0;Q=h+12|0;R=a+308|0;S=a+312|0;T=a+316|0;U=j|0;V=j+4|0;W=j+8|0;X=j+12|0;aDD(d|0,0,16);Y=0;do{Z=d+(Y<<2)|0;g[Z>>2]=1.0;_=a+40+(Y*84|0)|0;if((_|0)!=0){$=c[k>>2]|0;aa=+g[$+4>>2];g[l>>2]=aa;ab=+g[$+20>>2];g[m>>2]=ab;ac=+g[$+36>>2];g[n>>2]=ac;g[o>>2]=0.0;ad=+g[$+8>>2];g[p>>2]=ad;ae=+g[$+24>>2];g[q>>2]=ae;af=+g[$+40>>2];g[r>>2]=af;g[s>>2]=0.0;ag=+g[$+12>>2];g[t>>2]=ag;ah=+g[$+28>>2];g[u>>2]=ah;ai=+g[$+44>>2];g[v>>2]=ai;g[w>>2]=0.0;aj=c[x>>2]|0;ak=+g[aj+4>>2];g[y>>2]=ak;al=+g[aj+20>>2];g[z>>2]=al;am=+g[aj+36>>2];g[A>>2]=am;g[B>>2]=0.0;an=+g[aj+8>>2];g[C>>2]=an;ao=+g[aj+24>>2];g[D>>2]=ao;ap=+g[aj+40>>2];g[E>>2]=ap;g[F>>2]=0.0;aq=+g[aj+12>>2];g[G>>2]=aq;ar=+g[aj+28>>2];g[H>>2]=ar;as=+g[aj+44>>2];g[I>>2]=as;g[J>>2]=0.0;at=+g[K>>2];au=+g[L>>2];av=+g[M>>2];aw=+g[$+52>>2];ax=+g[$+56>>2];ay=+g[$+60>>2];g[N>>2]=aw+(aa*at+ad*au+ag*av)-aw;g[O>>2]=ax+(at*ab+au*ae+av*ah)-ax;g[P>>2]=ay+(at*ac+au*af+av*ai)-ay;g[Q>>2]=0.0;ay=+g[R>>2];ai=+g[S>>2];av=+g[T>>2];af=+g[aj+52>>2];au=+g[aj+56>>2];ac=+g[aj+60>>2];g[U>>2]=af+(ak*ay+an*ai+aq*av)-af;g[V>>2]=au+(ay*al+ai*ao+av*ar)-au;g[W>>2]=ac+(ay*am+ai*ap+av*as)-ac;g[X>>2]=0.0;anz(_,e,f,h,j,d,$+388|0,+g[$+336>>2],aj+388|0,+g[aj+336>>2])}g[Z>>2]=0.0;Y=Y+1|0;}while((Y|0)<3);i=b;return}function apI(a,b){a=a|0;b=b|0;apD(a,b,(c[a+24>>2]|0)+4|0,(c[a+28>>2]|0)+4|0);return}function apJ(a){a=a|0;if((a|0)==0){return}aDB(a);return}function apK(a,b,c){a=a|0;b=b|0;c=c|0;aq3(a|0,b,c)|0;g[b+44>>2]=+g[a+292>>2];g[b+48>>2]=+g[a+296>>2];g[b+52>>2]=+g[a+300>>2];g[b+56>>2]=+g[a+304>>2];g[b+60>>2]=+g[a+308>>2];g[b+64>>2]=+g[a+312>>2];g[b+68>>2]=+g[a+316>>2];g[b+72>>2]=+g[a+320>>2];return 17480}function apL(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=26048;d=b+480|0;e=b+488|0;f=c[e>>2]|0;g=b+492|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+484>>2]=0;return}function apM(a){a=a|0;apN(a);if((a|0)==0){return}aDB(a);return}function apN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=23912;d=b+136|0;e=b+144|0;f=c[e>>2]|0;g=b+148|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-284+280>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+140>>2]=0;d=b+68|0;e=b+76|0;g=c[e>>2]|0;f=b+80|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+72>>2]=0;d=b+48|0;e=b+56|0;f=c[e>>2]|0;g=b+60|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;e=b+36|0;g=c[e>>2]|0;f=b+40|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-16+12>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function apO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;f=i;i=i+64|0;h=f|0;a[d+84|0]=0;j=c[b+116>>2]|0;b=h;k=j+4|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];k=h+16|0;b=j+20|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];b=h+32|0;k=j+36|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];k=h+48|0;b=j+52|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];do{if(e){b=c[j+472>>2]|0;if((b|0)==0){break}cv[c[(c[b>>2]|0)+8>>2]&2047](b,h)}}while(0);l=+g[h>>2];m=+g[d+156>>2];n=+g[h+4>>2];o=+g[d+160>>2];p=+g[h+8>>2];q=+g[d+164>>2];r=+g[h+16>>2];s=+g[h+20>>2];t=+g[h+24>>2];u=+g[h+52>>2]+(m*r+o*s+q*t);v=+g[h+32>>2];w=+g[h+36>>2];x=+g[h+40>>2];y=+g[h+56>>2]+(m*v+o*w+q*x);g[d+36>>2]=+g[h+48>>2]+(l*m+n*o+p*q);g[d+40>>2]=u;g[d+44>>2]=y;g[d+48>>2]=0.0;y=+g[d+172>>2];u=+g[d+176>>2];q=+g[d+180>>2];g[d+52>>2]=l*y+n*u+p*q;g[d+56>>2]=y*r+u*s+q*t;g[d+60>>2]=y*v+u*w+q*x;g[d+64>>2]=0.0;q=+g[d+188>>2];u=+g[d+192>>2];y=+g[d+196>>2];g[d+68>>2]=l*q+n*u+p*y;g[d+72>>2]=q*r+u*s+y*t;g[d+76>>2]=q*v+u*w+y*x;g[d+80>>2]=0.0;i=f;return}function apP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;e=c[a+144>>2]|0;apO(a,e+(b*284|0)|0,d);f=+g[e+(b*284|0)+52>>2];h=-0.0-f;i=+g[e+(b*284|0)+56>>2];j=-0.0-i;k=+g[e+(b*284|0)+60>>2];l=-0.0-k;m=+g[e+(b*284|0)+76>>2];n=+g[e+(b*284|0)+72>>2];o=m*j-n*l;p=+g[e+(b*284|0)+68>>2];q=p*l-m*h;r=n*h-p*j;s=1.0/+Q(+(r*r+(o*o+q*q)));t=o*s;o=s*q;q=s*r;r=+g[e+(b*284|0)+232>>2];s=+Q(+(f*f+i*i+k*k));u=r*.5;r=+T(+u)/s;s=r*h;v=r*j;w=r*l;r=+S(+u);u=2.0/(r*r+(w*w+(s*s+v*v)));x=s*u;y=v*u;z=w*u;u=r*x;A=r*y;B=r*z;r=s*x;x=s*y;C=s*z;s=v*y;y=v*z;v=w*z;z=1.0-(s+v);w=x-B;D=C+A;E=x+B;B=1.0-(r+v);v=y-u;x=C-A;A=y+u;u=1.0-(r+s);s=+g[e+(b*284|0)+236>>2];r=+Q(+(m*m+(n*n+p*p)));y=s*-.5;s=+T(+y)/r;r=p*s;C=n*s;F=m*s;s=+S(+y);y=2.0/(s*s+(F*F+(r*r+C*C)));G=r*y;H=C*y;I=F*y;y=s*G;J=s*H;K=s*I;s=r*G;G=r*H;L=r*I;r=C*H;H=C*I;C=F*I;I=1.0-(r+C);F=G-K;M=L+J;N=G+K;K=1.0-(s+C);C=H-y;G=L-J;J=H+y;y=1.0-(s+r);r=D*G+(w*N+z*I);s=D*J+(z*F+w*K);H=z*M+w*C+D*y;D=v*G+(B*N+E*I);w=v*J+(E*F+B*K);z=E*M+B*C+v*y;v=u*G+(A*N+x*I);I=u*J+(x*F+A*K);K=x*M+A*C+u*y;g[e+(b*284|0)+92>>2]=m*H+(p*r+n*s);g[e+(b*284|0)+96>>2]=q*H+(t*r+o*s);g[e+(b*284|0)+100>>2]=H*l+(r*h+s*j);g[e+(b*284|0)+104>>2]=0.0;g[e+(b*284|0)+108>>2]=m*z+(p*D+n*w);g[e+(b*284|0)+112>>2]=q*z+(t*D+o*w);g[e+(b*284|0)+116>>2]=z*l+(D*h+w*j);g[e+(b*284|0)+120>>2]=0.0;g[e+(b*284|0)+124>>2]=m*K+(p*v+n*I);g[e+(b*284|0)+128>>2]=q*K+(t*v+o*I);g[e+(b*284|0)+132>>2]=K*l+(v*h+I*j);g[e+(b*284|0)+136>>2]=0.0;j=+g[e+(b*284|0)+32>>2];I=j*i+ +g[e+(b*284|0)+40>>2];i=j*k+ +g[e+(b*284|0)+44>>2];g[e+(b*284|0)+140>>2]=f*j+ +g[e+(b*284|0)+36>>2];g[e+(b*284|0)+144>>2]=I;g[e+(b*284|0)+148>>2]=i;g[e+(b*284|0)+152>>2]=0.0;return}function apQ(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;e=i;i=i+72|0;f=e|0;h=e+16|0;j=e+32|0;apO(b,d,0);k=d+204|0;l=d+212|0;m=+g[k>>2]+ +g[l>>2];n=d+52|0;p=d+56|0;q=d+60|0;r=d+36|0;s=d+16|0;t=m*+g[p>>2]+ +g[d+40>>2];u=m*+g[q>>2]+ +g[d+44>>2];v=s;g[d+16>>2]=+g[n>>2]*m+ +g[r>>2];w=d+20|0;g[w>>2]=t;x=d+24|0;g[x>>2]=u;g[d+28>>2]=0.0;y=j+32|0;g[y>>2]=-1.0;z=c[b+100>>2]|0;A=dE[c[(c[z>>2]|0)+8>>2]&127](z,r,s,j)|0;r=d+88|0;c[r>>2]=0;if((A|0)==0){g[d+32>>2]=+g[k>>2];g[d+272>>2]=0.0;u=-0.0- +g[p>>2];t=-0.0- +g[q>>2];g[d>>2]=-0.0- +g[n>>2];g[d+4>>2]=u;g[d+8>>2]=t;g[d+12>>2]=0.0;g[d+268>>2]=1.0;B=-1.0;i=e;return+B}t=m*+g[y>>2];y=d;A=j+16|0;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];a[d+84|0]=1;A=f;y=h;do{if((a[43024]|0)==0){if((b1(43024)|0)==0){break}aDD(A|0,0,16);ap$(42128,0.0,0,0,f);bG(198,42128,o|0)|0}}while(0);aDD(y|0,0,16);apV(42128,0.0,h);c[r>>2]=42128;m=t- +g[l>>2];l=d+32|0;g[l>>2]=m;u=+g[k>>2];C=+g[d+208>>2]*.009999999776482582;D=u-C;E=u+C;if(m>2]=D;F=D}else{F=m}if(F>E){g[l>>2]=E}l=j;c[v>>2]=c[l>>2];c[v+4>>2]=c[l+4>>2];c[v+8>>2]=c[l+8>>2];c[v+12>>2]=c[l+12>>2];E=+g[d>>2];F=+g[d+4>>2];m=+g[d+8>>2];D=E*+g[n>>2]+F*+g[p>>2]+m*+g[q>>2];q=c[b+116>>2]|0;C=+g[s>>2]- +g[q+52>>2];u=+g[w>>2]- +g[q+56>>2];G=+g[x>>2]- +g[q+60>>2];H=+g[q+324>>2];I=+g[q+328>>2];J=+g[q+320>>2];if(D<-.10000000149011612){K=-1.0/D;g[d+272>>2]=K*(F*(C*I-G*J+ +g[q+308>>2])+E*(H*G-u*I+ +g[q+304>>2])+m*(u*J-C*H+ +g[q+312>>2]));g[d+268>>2]=K;B=t;i=e;return+B}else{g[d+272>>2]=0.0;g[d+268>>2]=10.0;B=t;i=e;return+B}return 0.0}function apR(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,R=0.0;e=i;i=i+32|0;f=e|0;h=e+16|0;j=b+136|0;k=c[j>>2]|0;if((k|0)>0){l=0;while(1){apP(b,l,0);m=l+1|0;n=c[j>>2]|0;if((m|0)<(n|0)){l=m}else{o=n;break}}}else{o=k}k=b+116|0;l=c[k>>2]|0;n=l+304|0;p=+g[n>>2];m=l+308|0;q=+g[m>>2];r=l+312|0;s=+g[r>>2];t=+Q(+(p*p+q*q+s*s))*3.5999999046325684;u=b+112|0;g[u>>2]=t;v=b+128|0;w=c[v>>2]|0;if(+g[l+4+(w<<2)>>2]*+g[n>>2]+ +g[l+20+(w<<2)>>2]*+g[m>>2]+ +g[l+36+(w<<2)>>2]*+g[r>>2]<0.0){g[u>>2]=t*-1.0}do{if((o|0)>0){u=b+144|0;r=0;do{+apQ(b,(c[u>>2]|0)+(r*284|0)|0);r=r+1|0;x=c[j>>2]|0;}while((r|0)<(x|0));t=1.0/+g[(c[k>>2]|0)+336>>2];if((x|0)>0){y=0}else{break}do{r=c[u>>2]|0;do{if((a[r+(y*284|0)+84|0]&1)==0){g[r+(y*284|0)+276>>2]=0.0}else{s=+g[r+(y*284|0)+272>>2];q=t*(+g[r+(y*284|0)+216>>2]*(+g[r+(y*284|0)+204>>2]- +g[r+(y*284|0)+32>>2])*+g[r+(y*284|0)+268>>2]-s*+g[(s<0.0?r+(y*284|0)+220|0:r+(y*284|0)+224|0)>>2]);w=r+(y*284|0)+276|0;g[w>>2]=q;if(q>=0.0){break}g[w>>2]=0.0}}while(0);y=y+1|0;z=c[j>>2]|0;}while((y|0)<(z|0));if((z|0)<=0){break}r=f|0;w=f+4|0;l=f+8|0;m=f+12|0;n=h|0;A=h+4|0;B=h+8|0;C=h+12|0;D=0;do{E=c[u>>2]|0;t=+g[E+(D*284|0)+276>>2];q=+g[E+(D*284|0)+248>>2];s=t>q?q:t;t=s*+g[E+(D*284|0)+4>>2]*d;q=s*+g[E+(D*284|0)+8>>2]*d;g[r>>2]=+g[E+(D*284|0)>>2]*s*d;g[w>>2]=t;g[l>>2]=q;g[m>>2]=0.0;F=c[k>>2]|0;q=+g[E+(D*284|0)+20>>2]- +g[F+56>>2];t=+g[E+(D*284|0)+24>>2]- +g[F+60>>2];g[n>>2]=+g[E+(D*284|0)+16>>2]- +g[F+52>>2];g[A>>2]=q;g[B>>2]=t;g[C>>2]=0.0;pe(F,f,h);D=D+1|0;}while((D|0)<(c[j>>2]|0))}}while(0);cq[c[(c[b>>2]|0)+20>>2]&1023](b,d);if((c[j>>2]|0)<=0){i=e;return}h=b+144|0;b=0;do{f=c[h>>2]|0;z=c[k>>2]|0;t=+g[f+(b*284|0)+36>>2]- +g[z+52>>2];q=+g[f+(b*284|0)+40>>2]- +g[z+56>>2];s=+g[f+(b*284|0)+44>>2]- +g[z+60>>2];p=+g[z+324>>2];G=+g[z+328>>2];H=+g[z+320>>2];if((a[f+(b*284|0)+84|0]&1)==0){I=+g[f+(b*284|0)+240>>2];y=f+(b*284|0)+236|0;g[y>>2]=I+ +g[y>>2];J=I}else{y=c[v>>2]|0;I=+g[z+4+(y<<2)>>2];K=+g[z+20+(y<<2)>>2];L=+g[z+36+(y<<2)>>2];M=+g[f+(b*284|0)>>2];N=+g[f+(b*284|0)+4>>2];O=+g[f+(b*284|0)+8>>2];P=I*M+K*N+L*O;R=((q*H-t*p+ +g[z+312>>2])*(L-O*P)+((p*s-q*G+ +g[z+304>>2])*(I-M*P)+(t*G-s*H+ +g[z+308>>2])*(K-N*P)))*d/+g[f+(b*284|0)+212>>2];g[f+(b*284|0)+240>>2]=R;z=f+(b*284|0)+236|0;g[z>>2]=R+ +g[z>>2];J=R}g[f+(b*284|0)+240>>2]=J*.9900000095367432;b=b+1|0;}while((b|0)<(c[j>>2]|0));i=e;return}function apS(b,d){b=b|0;d=+d;var e=0,f=0,h=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,z=0,A=0,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,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0.0,ar=0.0,as=0,at=0,au=0.0,av=0,aw=0.0,ax=0,ay=0.0,az=0.0,aA=0.0,aB=0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0.0,aI=0.0,aJ=0.0,aK=0,aL=0,aM=0,aN=0.0,aO=0.0,aP=0.0,aQ=0.0,aR=0.0,aS=0.0,aT=0.0,aU=0.0,aV=0.0,aW=0,aX=0,aY=0,aZ=0,a_=0;e=i;i=i+376|0;f=e|0;h=e+16|0;j=e+32|0;k=e+120|0;l=e+168|0;m=e+216|0;n=e+232|0;o=e+248|0;p=e+296|0;q=e+312|0;r=e+328|0;s=e+344|0;t=e+360|0;u=b+136|0;v=c[u>>2]|0;if((v|0)==0){i=e;return}w=b+8|0;x=c[w>>2]|0;if((x|0)<(v|0)){y=b+12|0;if((c[y>>2]|0)<(v|0)){c[9806]=(c[9806]|0)+1;z=aDx((v<<4|4)+15|0)|0;if((z|0)==0){A=0}else{B=-(z+4|0)&15;c[z+B>>2]=z;A=z+(B+4)|0}B=c[w>>2]|0;z=b+16|0;if((B|0)>0){C=0;do{D=A+(C<<4)|0;if((D|0)!=0){E=D;D=(c[z>>2]|0)+(C<<4)|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2]}C=C+1|0;}while((C|0)<(B|0))}B=c[z>>2]|0;C=b+20|0;if((B|0)!=0){if((a[C]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[B-16+12>>2]|0)}c[z>>2]=0}a[C]=1;c[z>>2]=A;c[y>>2]=v;F=z}else{F=b+16|0}z=m;m=x;do{x=(c[F>>2]|0)+(m<<4)|0;if((x|0)!=0){y=x;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2]}m=m+1|0;}while((m|0)<(v|0))}c[w>>2]=v;w=b+28|0;m=c[w>>2]|0;if((m|0)<(v|0)){z=b+32|0;if((c[z>>2]|0)<(v|0)){c[9806]=(c[9806]|0)+1;F=aDx((v<<4|4)+15|0)|0;if((F|0)==0){G=0}else{y=-(F+4|0)&15;c[F+y>>2]=F;G=F+(y+4)|0}y=c[w>>2]|0;F=b+36|0;if((y|0)>0){x=0;do{A=G+(x<<4)|0;if((A|0)!=0){C=A;A=(c[F>>2]|0)+(x<<4)|0;c[C>>2]=c[A>>2];c[C+4>>2]=c[A+4>>2];c[C+8>>2]=c[A+8>>2];c[C+12>>2]=c[A+12>>2]}x=x+1|0;}while((x|0)<(y|0))}y=c[F>>2]|0;x=b+40|0;if((y|0)!=0){if((a[x]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[y-16+12>>2]|0)}c[F>>2]=0}a[x]=1;c[F>>2]=G;c[z>>2]=v;H=F}else{H=b+36|0}F=n;n=m;do{m=(c[H>>2]|0)+(n<<4)|0;if((m|0)!=0){z=m;c[z>>2]=c[F>>2];c[z+4>>2]=c[F+4>>2];c[z+8>>2]=c[F+8>>2];c[z+12>>2]=c[F+12>>2]}n=n+1|0;}while((n|0)<(v|0))}c[w>>2]=v;w=b+48|0;n=c[w>>2]|0;if((n|0)<(v|0)){F=b+52|0;if((c[F>>2]|0)<(v|0)){c[9806]=(c[9806]|0)+1;H=aDx((v<<2)+19|0)|0;if((H|0)==0){I=0}else{z=-(H+4|0)&15;c[H+z>>2]=H;I=H+(z+4)|0}z=c[w>>2]|0;H=b+56|0;if((z|0)>0){m=0;do{G=I+(m<<2)|0;if((G|0)!=0){g[G>>2]=+g[(c[H>>2]|0)+(m<<2)>>2]}m=m+1|0;}while((m|0)<(z|0))}z=c[H>>2]|0;m=b+60|0;if((z|0)!=0){if((a[m]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[z-4>>2]|0)}c[H>>2]=0}a[m]=1;c[H>>2]=I;c[F>>2]=v;J=H}else{J=b+56|0}H=n;do{n=(c[J>>2]|0)+(H<<2)|0;if((n|0)!=0){g[n>>2]=0.0}H=H+1|0;}while((H|0)<(v|0))}c[w>>2]=v;w=b+68|0;H=c[w>>2]|0;if((H|0)<(v|0)){J=b+72|0;if((c[J>>2]|0)<(v|0)){c[9806]=(c[9806]|0)+1;n=aDx((v<<2)+19|0)|0;if((n|0)==0){K=0}else{F=-(n+4|0)&15;c[n+F>>2]=n;K=n+(F+4)|0}F=c[w>>2]|0;n=b+76|0;if((F|0)>0){I=0;do{m=K+(I<<2)|0;if((m|0)!=0){g[m>>2]=+g[(c[n>>2]|0)+(I<<2)>>2]}I=I+1|0;}while((I|0)<(F|0))}F=c[n>>2]|0;I=b+80|0;if((F|0)!=0){if((a[I]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[F-4>>2]|0)}c[n>>2]=0}a[I]=1;c[n>>2]=K;c[J>>2]=v;L=n}else{L=b+76|0}n=H;do{H=(c[L>>2]|0)+(n<<2)|0;if((H|0)!=0){g[H>>2]=0.0}n=n+1|0;}while((n|0)<(v|0))}c[w>>2]=v;if((c[u>>2]|0)<=0){i=e;return}v=b+76|0;w=b+56|0;n=0;do{g[(c[v>>2]|0)+(n<<2)>>2]=0.0;g[(c[w>>2]|0)+(n<<2)>>2]=0.0;n=n+1|0;M=c[u>>2]|0;}while((n|0)<(M|0));if((M|0)<=0){i=e;return}n=b+144|0;L=o;H=o+16|0;J=o+32|0;K=b+36|0;I=b+120|0;F=b+16|0;m=b+116|0;z=f|0;G=f+4|0;x=f+8|0;y=f+12|0;A=h|0;C=h+4|0;B=h+8|0;D=h+12|0;E=k|0;N=k+4|0;O=k+8|0;P=k+12|0;R=k+16|0;S=k+20|0;T=k+24|0;U=k+28|0;V=k+32|0;W=k+36|0;X=k+40|0;Y=k+44|0;Z=l|0;_=l+4|0;$=l+8|0;aa=l+12|0;ab=l+16|0;ac=l+20|0;ad=l+24|0;ae=l+28|0;af=l+32|0;ag=l+36|0;ah=l+40|0;ai=l+44|0;aj=j+80|0;ak=0;al=M;while(1){M=c[n>>2]|0;am=c[M+(ak*284|0)+88>>2]|0;if((am|0)==0){an=al}else{ao=M+(ak*284|0)+92|0;c[L>>2]=c[ao>>2];c[L+4>>2]=c[ao+4>>2];c[L+8>>2]=c[ao+8>>2];c[L+12>>2]=c[ao+12>>2];ao=M+(ak*284|0)+108|0;c[H>>2]=c[ao>>2];c[H+4>>2]=c[ao+4>>2];c[H+8>>2]=c[ao+8>>2];c[H+12>>2]=c[ao+12>>2];ao=M+(ak*284|0)+124|0;c[J>>2]=c[ao>>2];c[J+4>>2]=c[ao+4>>2];c[J+8>>2]=c[ao+8>>2];c[J+12>>2]=c[ao+12>>2];ao=c[K>>2]|0;ap=c[I>>2]|0;aq=+g[o+16+(ap<<2)>>2];ar=+g[o+32+(ap<<2)>>2];g[ao+(ak<<4)>>2]=+g[o+(ap<<2)>>2];g[ao+(ak<<4)+4>>2]=aq;g[ao+(ak<<4)+8>>2]=ar;g[ao+(ak<<4)+12>>2]=0.0;ao=c[K>>2]|0;ap=ao+(ak<<4)|0;ar=+g[ap>>2];as=M+(ak*284|0)|0;aq=+g[as>>2];at=ao+(ak<<4)+4|0;au=+g[at>>2];av=M+(ak*284|0)+4|0;aw=+g[av>>2];ax=ao+(ak<<4)+8|0;ay=+g[ax>>2];ao=M+(ak*284|0)+8|0;az=+g[ao>>2];aA=ar*aq+au*aw+ay*az;g[ap>>2]=ar-aq*aA;g[at>>2]=au-aw*aA;g[ax>>2]=ay-az*aA;ax=c[K>>2]|0;at=ax+(ak<<4)|0;aA=+g[at>>2];ap=ax+(ak<<4)+4|0;az=+g[ap>>2];aB=ax+(ak<<4)+8|0;ay=+g[aB>>2];aw=1.0/+Q(+(aA*aA+az*az+ay*ay));g[at>>2]=aA*aw;g[ap>>2]=az*aw;g[aB>>2]=ay*aw;aB=c[F>>2]|0;ap=c[K>>2]|0;aw=+g[av>>2];ay=+g[ap+(ak<<4)+8>>2];az=+g[ao>>2];aA=+g[ap+(ak<<4)+4>>2];au=+g[ap+(ak<<4)>>2];aq=+g[as>>2];g[aB+(ak<<4)>>2]=aw*ay-az*aA;g[aB+(ak<<4)+4>>2]=az*au-ay*aq;g[aB+(ak<<4)+8>>2]=aA*aq-aw*au;g[aB+(ak<<4)+12>>2]=0.0;aB=c[F>>2]|0;as=aB+(ak<<4)|0;au=+g[as>>2];ap=aB+(ak<<4)+4|0;aw=+g[ap>>2];ao=aB+(ak<<4)+8|0;aq=+g[ao>>2];aA=1.0/+Q(+(au*au+aw*aw+aq*aq));g[as>>2]=au*aA;g[ap>>2]=aw*aA;g[ao>>2]=aq*aA;ao=c[m>>2]|0;ap=c[K>>2]|0;as=ap+(ak<<4)|0;aB=(c[v>>2]|0)+(ak<<2)|0;av=as|0;aA=+g[av>>2];at=ap+(ak<<4)+4|0;aq=+g[at>>2];ax=ap+(ak<<4)+8|0;aw=+g[ax>>2];if(aA*aA+aq*aq+aw*aw>1.100000023841858){aC=0.0}else{aw=+g[M+(ak*284|0)+16>>2];aq=aw- +g[ao+52>>2];aA=+g[M+(ak*284|0)+20>>2];au=aA- +g[ao+56>>2];ay=+g[M+(ak*284|0)+24>>2];az=ay- +g[ao+60>>2];g[z>>2]=aq;g[G>>2]=au;g[x>>2]=az;g[y>>2]=0.0;ar=aw- +g[am+52>>2];aw=aA- +g[am+56>>2];aA=ay- +g[am+60>>2];g[A>>2]=ar;g[C>>2]=aw;g[B>>2]=aA;g[D>>2]=0.0;ay=+g[ao+324>>2];aD=+g[ao+328>>2];aE=+g[ao+320>>2];aF=+g[am+324>>2];aG=+g[am+328>>2];aH=+g[am+320>>2];aI=ay*az-aD*au+ +g[ao+304>>2]-(aF*aA-aG*aw+ +g[am+304>>2]);aJ=+g[ao+308>>2]+(aD*aq-az*aE)-(+g[am+308>>2]+(aG*ar-aA*aH));aA=au*aE-ay*aq+ +g[ao+312>>2]-(aw*aH-aF*ar+ +g[am+312>>2]);g[E>>2]=+g[ao+4>>2];g[N>>2]=+g[ao+20>>2];g[O>>2]=+g[ao+36>>2];g[P>>2]=0.0;g[R>>2]=+g[ao+8>>2];g[S>>2]=+g[ao+24>>2];g[T>>2]=+g[ao+40>>2];g[U>>2]=0.0;g[V>>2]=+g[ao+12>>2];g[W>>2]=+g[ao+28>>2];g[X>>2]=+g[ao+44>>2];g[Y>>2]=0.0;g[Z>>2]=+g[am+4>>2];g[_>>2]=+g[am+20>>2];g[$>>2]=+g[am+36>>2];g[aa>>2]=0.0;g[ab>>2]=+g[am+8>>2];g[ac>>2]=+g[am+24>>2];g[ad>>2]=+g[am+40>>2];g[ae>>2]=0.0;g[af>>2]=+g[am+12>>2];g[ag>>2]=+g[am+28>>2];g[ah>>2]=+g[am+44>>2];g[ai>>2]=0.0;anz(j,k,l,f,h,as,ao+388|0,+g[ao+336>>2],am+388|0,+g[am+336>>2]);aC=1.0/+g[aj>>2]*(aI*+g[av>>2]+aJ*+g[at>>2]+aA*+g[ax>>2])*-.20000000298023224}g[aB>>2]=aC;an=c[u>>2]|0}aB=ak+1|0;if((aB|0)<(an|0)){ak=aB;al=an}else{break}}if((an|0)>0){aK=0;aL=0}else{i=e;return}while(1){an=c[n>>2]|0;al=c[an+(aK*284|0)+88>>2]|0;do{if((al|0)==0){g[(c[w>>2]|0)+(aK<<2)>>2]=0.0;g[(c[n>>2]|0)+(aK*284|0)+280>>2]=1.0;aM=aL}else{aC=+g[an+(aK*284|0)+252>>2];if(aC!=0.0){g[(c[w>>2]|0)+(aK<<2)>>2]=0.0;g[(c[n>>2]|0)+(aK*284|0)+280>>2]=1.0;aN=aC*d}else{aC=+g[an+(aK*284|0)+256>>2];aA=aC!=0.0?aC:0.0;ak=c[m>>2]|0;aj=c[F>>2]|0;aC=+g[an+(aK*284|0)+16>>2];aJ=+g[an+(aK*284|0)+20>>2];aI=+g[an+(aK*284|0)+24>>2];ar=+g[aj+(aK<<4)>>2];aF=+g[aj+(aK<<4)+4>>2];aH=+g[aj+(aK<<4)+8>>2];aw=aC- +g[ak+52>>2];aq=aJ- +g[ak+56>>2];ay=aI- +g[ak+60>>2];aE=aq*aH-ay*aF;au=ay*ar-aw*aH;aG=aw*aF-aq*ar;az=+g[ak+256>>2]*aE+ +g[ak+272>>2]*au+aG*+g[ak+288>>2];aD=aE*+g[ak+260>>2]+au*+g[ak+276>>2]+aG*+g[ak+292>>2];aO=aE*+g[ak+264>>2]+au*+g[ak+280>>2]+aG*+g[ak+296>>2];aG=aC- +g[al+52>>2];aC=aJ- +g[al+56>>2];aJ=aI- +g[al+60>>2];aI=aH*aC-aF*aJ;au=ar*aJ-aH*aG;aE=aF*aG-ar*aC;aP=aE*+g[al+288>>2]+(+g[al+256>>2]*aI+ +g[al+272>>2]*au);aQ=aI*+g[al+260>>2]+au*+g[al+276>>2]+aE*+g[al+292>>2];aR=aI*+g[al+264>>2]+au*+g[al+280>>2]+aE*+g[al+296>>2];aE=+g[ak+324>>2];au=+g[ak+328>>2];aI=+g[ak+320>>2];aS=+g[al+324>>2];aT=+g[al+328>>2];aU=+g[al+320>>2];aV=1.0/(+g[ak+336>>2]+(aH*(aq*az-aw*aD)+(ar*(ay*aD-aq*aO)+aF*(aw*aO-ay*az)))+(+g[al+336>>2]+(aH*(aC*aP-aG*aQ)+(ar*(aJ*aQ-aC*aR)+aF*(aG*aR-aJ*aP)))))*(-0.0-((ay*aE-aq*au+ +g[ak+304>>2]-(aJ*aS-aC*aT+ +g[al+304>>2]))*ar+(+g[ak+308>>2]+(aw*au-ay*aI)-(+g[al+308>>2]+(aG*aT-aJ*aU)))*aF+(aq*aI-aw*aE+ +g[ak+312>>2]-(aC*aU-aG*aS+ +g[al+312>>2]))*aH));aH=aA>2]|0)+(aK<<2)>>2]=0.0;g[(c[n>>2]|0)+(aK*284|0)+280>>2]=1.0;aN=aH>2]|0)+(aK*284|0)+280>>2]=1.0;aH=+g[an+(aK*284|0)+276>>2]*d*+g[an+(aK*284|0)+228>>2];g[(c[w>>2]|0)+(aK<<2)>>2]=aN;aV=+g[(c[w>>2]|0)+(aK<<2)>>2]*.5;aA=+g[(c[v>>2]|0)+(aK<<2)>>2];aS=aV*aV+aA*aA;if(aS<=aH*aH){aM=aL;break}aA=aH/+Q(+aS);ak=(c[n>>2]|0)+(aK*284|0)+280|0;g[ak>>2]=aA*+g[ak>>2];aM=1}}while(0);an=aK+1|0;aW=c[u>>2]|0;if((an|0)<(aW|0)){aK=an;aL=aM}else{break}}if(aM){if((aW|0)>0){aX=0;aY=aW}else{i=e;return}while(1){do{if(+g[(c[v>>2]|0)+(aX<<2)>>2]!=0.0){aN=+g[(c[n>>2]|0)+(aX*284|0)+280>>2];if(aN>=1.0){aZ=aY;break}aM=(c[w>>2]|0)+(aX<<2)|0;g[aM>>2]=aN*+g[aM>>2];aM=(c[v>>2]|0)+(aX<<2)|0;g[aM>>2]=+g[(c[n>>2]|0)+(aX*284|0)+280>>2]*+g[aM>>2];aZ=c[u>>2]|0}else{aZ=aY}}while(0);aM=aX+1|0;if((aM|0)<(aZ|0)){aX=aM;aY=aZ}else{a_=aZ;break}}}else{a_=aW}if((a_|0)<=0){i=e;return}a_=p|0;aW=p+4|0;aZ=p+8|0;aY=p+12|0;aX=q|0;aM=q+4|0;aL=q+8|0;aK=q+12|0;an=r|0;al=r+4|0;ak=r+8|0;aj=r+12|0;h=s|0;f=s+4|0;l=s+8|0;k=s+12|0;j=b+124|0;b=t|0;ai=t+4|0;ah=t+8|0;ag=t+12|0;af=0;do{ae=c[n>>2]|0;ad=c[m>>2]|0;ac=ae+(af*284|0)+16|0;ab=ae+(af*284|0)+20|0;aN=+g[ab>>2]- +g[ad+56>>2];aa=ae+(af*284|0)+24|0;d=+g[aa>>2]- +g[ad+60>>2];g[a_>>2]=+g[ac>>2]- +g[ad+52>>2];g[aW>>2]=aN;g[aZ>>2]=d;g[aY>>2]=0.0;d=+g[(c[w>>2]|0)+(af<<2)>>2];if(d!=0.0){$=c[F>>2]|0;aN=d*+g[$+(af<<4)+4>>2];aA=d*+g[$+(af<<4)+8>>2];g[aX>>2]=d*+g[$+(af<<4)>>2];g[aM>>2]=aN;g[aL>>2]=aA;g[aK>>2]=0.0;pe(ad,q,p)}aA=+g[(c[v>>2]|0)+(af<<2)>>2];if(aA!=0.0){ad=c[(c[n>>2]|0)+(af*284|0)+88>>2]|0;aN=+g[ab>>2]- +g[ad+56>>2];d=+g[aa>>2]- +g[ad+60>>2];g[an>>2]=+g[ac>>2]- +g[ad+52>>2];g[al>>2]=aN;g[ak>>2]=d;g[aj>>2]=0.0;ac=c[K>>2]|0;d=aA*+g[ac+(af<<4)+4>>2];aN=aA*+g[ac+(af<<4)+8>>2];g[h>>2]=+g[ac+(af<<4)>>2]*aA;g[f>>2]=d;g[l>>2]=aN;g[k>>2]=0.0;ac=c[m>>2]|0;aa=c[j>>2]|0;aN=+g[ac+4+(aa<<2)>>2];d=+g[ac+20+(aa<<2)>>2];aA=+g[ac+36+(aa<<2)>>2];aS=+g[a_>>2];aH=+g[aW>>2];aV=+g[aZ>>2];aG=(aN*aS+d*aH+aA*aV)*(1.0- +g[ae+(af*284|0)+244>>2]);g[a_>>2]=aS-aN*aG;g[aW>>2]=aH-d*aG;g[aZ>>2]=aV-aA*aG;pe(ac,s,p);aG=-0.0- +g[f>>2];aA=-0.0- +g[l>>2];g[b>>2]=-0.0- +g[h>>2];g[ai>>2]=aG;g[ah>>2]=aA;g[ag>>2]=0.0;pe(ad,t,r)}af=af+1|0;}while((af|0)<(c[u>>2]|0));i=e;return}function apT(a){a=a|0;return}function apU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function apV(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=a+204|0;f=c[e>>2]|0;if(b==0.0){c[e>>2]=f|1;g[a+336>>2]=0.0;h=0.0}else{c[e>>2]=f&-2;i=1.0/b;g[a+336>>2]=i;h=i}i=+g[a+376>>2]*b;j=+g[a+380>>2]*b;g[a+356>>2]=+g[a+372>>2]*b;g[a+360>>2]=i;g[a+364>>2]=j;g[a+368>>2]=0.0;j=+g[d>>2];if(j!=0.0){k=1.0/j}else{k=0.0}j=+g[d+4>>2];if(j!=0.0){l=1.0/j}else{l=0.0}j=+g[d+8>>2];if(j!=0.0){m=1.0/j}else{m=0.0}g[a+388>>2]=k;g[a+392>>2]=l;g[a+396>>2]=m;g[a+400>>2]=0.0;m=h*+g[a+344>>2];l=h*+g[a+348>>2];g[a+552>>2]=+g[a+340>>2]*h;g[a+556>>2]=m;g[a+560>>2]=l;g[a+564>>2]=0.0;return}function apW(b,d){b=b|0;d=d|0;var e=0,f=0,h=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,z=0,A=0,B=0,C=0,D=0.0,E=0.0;e=i;i=i+48|0;f=e|0;h=e+16|0;j=e+32|0;k=b+136|0;if((c[k>>2]|0)<=0){i=e;return}l=f|0;m=f+4|0;n=f+8|0;o=f+12|0;p=b+144|0;q=h;r=b+120|0;b=d;s=h|0;t=h+4|0;u=h+8|0;v=j|0;w=j+4|0;x=j+8|0;y=j+12|0;z=0;do{g[l>>2]=0.0;g[m>>2]=1.0;g[n>>2]=1.0;g[o>>2]=0.0;A=c[p>>2]|0;g[l>>2]=(a[A+(z*284|0)+84|0]&1)==0?1.0:0.0;g[m>>2]=0.0;g[n>>2]=1.0;g[o>>2]=0.0;B=A+(z*284|0)+140|0;c[q>>2]=c[B>>2];c[q+4>>2]=c[B+4>>2];c[q+8>>2]=c[B+8>>2];c[q+12>>2]=c[B+12>>2];B=c[r>>2]|0;C=c[(c[b>>2]|0)+8>>2]|0;D=+g[A+(z*284|0)+108+(B<<2)>>2]+ +g[t>>2];E=+g[A+(z*284|0)+124+(B<<2)>>2]+ +g[u>>2];g[v>>2]=+g[A+(z*284|0)+92+(B<<2)>>2]+ +g[s>>2];g[w>>2]=D;g[x>>2]=E;g[y>>2]=0.0;dI[C&1023](d,h,j,f);dI[c[(c[b>>2]|0)+8>>2]&1023](d,h,(c[p>>2]|0)+(z*284|0)+16|0,f);z=z+1|0;}while((z|0)<(c[k>>2]|0));i=e;return}function apX(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0;h=i;i=i+88|0;j=h|0;k=j+4|0;g[k>>2]=1.0;l=j+8|0;c[l>>2]=0;b[j+12>>1]=1;b[j+14>>1]=-1;c[j+16>>2]=0;c[j>>2]=19480;m=j+20|0;n=d;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=j+36|0;m=e;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];m=c[a+4>>2]|0;dI[c[(c[m>>2]|0)+28>>2]&1023](m|0,d,e,j|0);e=c[l>>2]|0;if((e|0)==0){o=0;i=h;return o|0}if((c[e+232>>2]&2|0)==0){o=0;i=h;return o|0}if((c[e+204>>2]&4|0)!=0){o=0;i=h;return o|0}l=f;d=j+68|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];d=f+16|0;l=d;m=j+52|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];m=d|0;p=+g[m>>2];d=f+20|0;q=+g[d>>2];l=f+24|0;r=+g[l>>2];s=1.0/+Q(+(p*p+q*q+r*r));g[m>>2]=p*s;g[d>>2]=q*s;g[l>>2]=r*s;g[f+32>>2]=+g[k>>2];o=e;i=h;return o|0}function apY(a,b,d){a=a|0;b=b|0;d=+d;cq[c[(c[a>>2]|0)+16>>2]&1023](a,d);return}function apZ(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ap_(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;c[b+232>>2]=2;aDD(b+304|0,0,32);g[b+536>>2]=1.0;g[b+540>>2]=1.0;g[b+544>>2]=1.0;g[b+548>>2]=0.0;e=b+340|0;g[e>>2]=1.0;f=b+344|0;g[f>>2]=1.0;h=b+348|0;g[h>>2]=1.0;aDD(b+352|0,0,36);aDD(b+404|0,0,32);i=+g[d+92>>2];j=+g[d+96>>2];if(i<0.0){k=0.0}else{k=i>1.0?1.0:i}g[b+436>>2]=k;if(j<0.0){l=0.0}else{l=j>1.0?1.0:j}g[b+440>>2]=l;g[b+464>>2]=+g[d+108>>2];g[b+468>>2]=+g[d+112>>2];m=c[d+4>>2]|0;c[b+472>>2]=m;c[b+600>>2]=0;c[b+604>>2]=0;a[b+444|0]=a[d+116|0]&1;g[b+448>>2]=+g[d+120>>2];g[b+452>>2]=+g[d+124>>2];g[b+456>>2]=+g[d+128>>2];g[b+460>>2]=+g[d+132>>2];if((m|0)==0){n=b+4|0;o=d+8|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];o=b+20|0;p=d+24|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];p=b+36|0;q=d+40|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];q=b+52|0;r=d+56|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];s=n;t=o;u=p;v=q}else{q=b+4|0;cv[c[(c[m>>2]|0)+8>>2]&2047](m,q);s=q;t=b+20|0;u=b+36|0;v=b+52|0}q=b+68|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];s=b+84|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];t=b+100|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];u=b+116|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];aDD(b+132|0,0,32);g[b+224>>2]=+g[d+100>>2];g[b+228>>2]=+g[d+104>>2];cv[c[(c[b>>2]|0)+12>>2]&2047](b|0,c[d+72>>2]|0);v=c[10738]|0;c[10738]=v+1;c[b+500>>2]=v;l=+g[d>>2];v=b+204|0;u=c[v>>2]|0;if(l==0.0){c[v>>2]=u|1;g[b+336>>2]=0.0;w=0.0}else{c[v>>2]=u&-2;j=1.0/l;g[b+336>>2]=j;w=j}j=l*+g[b+376>>2];k=l*+g[b+380>>2];g[b+356>>2]=l*+g[b+372>>2];g[b+360>>2]=j;g[b+364>>2]=k;g[b+368>>2]=0.0;k=+g[d+76>>2];if(k!=0.0){x=1.0/k}else{x=0.0}k=+g[d+80>>2];if(k!=0.0){y=1.0/k}else{y=0.0}k=+g[d+84>>2];if(k!=0.0){z=1.0/k}else{z=0.0}g[b+388>>2]=x;g[b+392>>2]=y;g[b+396>>2]=z;g[b+400>>2]=0.0;k=w*+g[e>>2];j=w*+g[f>>2];l=w*+g[h>>2];w=+g[b+4>>2];i=w*x;A=+g[b+8>>2];B=A*y;C=+g[b+12>>2];D=C*z;E=+g[b+20>>2];F=x*E;G=+g[b+24>>2];H=y*G;I=+g[b+28>>2];J=z*I;K=+g[b+36>>2];L=x*K;x=+g[b+40>>2];M=y*x;y=+g[b+44>>2];N=z*y;g[b+256>>2]=w*i+A*B+C*D;g[b+260>>2]=i*E+B*G+D*I;g[b+264>>2]=i*K+B*x+D*y;g[b+268>>2]=0.0;g[b+272>>2]=w*F+A*H+C*J;g[b+276>>2]=E*F+G*H+I*J;g[b+280>>2]=F*K+H*x+J*y;g[b+284>>2]=0.0;g[b+288>>2]=w*L+A*M+C*N;g[b+292>>2]=E*L+G*M+I*N;g[b+296>>2]=K*L+x*M+y*N;g[b+300>>2]=0.0;c[b+496>>2]=0;aDD(b+504|0,0,32);g[b+552>>2]=k;g[b+556>>2]=j;g[b+560>>2]=l;aDD(b+564|0,0,36);return}function ap$(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;var j=0,k=0;j=i;i=i+136|0;k=j|0;g[b+164>>2]=1.0;g[b+168>>2]=1.0;g[b+172>>2]=1.0;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749400.0;aDD(b+188|0,0,16);c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;g[b+220>>2]=0.0;g[b+224>>2]=.5;g[b+228>>2]=0.0;c[b+232>>2]=1;c[b+236>>2]=0;g[b+240>>2]=1.0;g[b+244>>2]=0.0;g[b+248>>2]=0.0;c[b+252>>2]=0;g[b+4>>2]=1.0;aDD(b+8|0,0,16);g[b+24>>2]=1.0;aDD(b+28|0,0,16);g[b+44>>2]=1.0;aDD(b+48|0,0,20);c[b>>2]=26048;a[b+492|0]=1;c[b+488>>2]=0;c[b+480>>2]=0;c[b+484>>2]=0;g[k>>2]=d;c[k+4>>2]=e;c[k+72>>2]=f;f=k+76|0;e=h;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];g[k+92>>2]=0.0;g[k+96>>2]=0.0;g[k+100>>2]=.5;g[k+104>>2]=0.0;g[k+108>>2]=.800000011920929;g[k+112>>2]=1.0;a[k+116|0]=0;g[k+120>>2]=.004999999888241291;g[k+124>>2]=.009999999776482582;g[k+128>>2]=.009999999776482582;g[k+132>>2]=.009999999776482582;g[k+8>>2]=1.0;aDD(k+12|0,0,16);g[k+28>>2]=1.0;aDD(k+32|0,0,16);g[k+48>>2]=1.0;aDD(k+52|0,0,20);ap_(b,k);i=j;return}function ap0(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;d=i;i=i+24|0;e=d|0;f=d+16|0;if(b==0.0){i=d;return}h=c[a+472>>2]|0;if((h|0)==0){j=a+4|0}else{k=a+4|0;cv[c[(c[h>>2]|0)+8>>2]&2047](h,k);j=k}k=a+68|0;h=a+304|0;l=a+320|0;m=1.0/b;b=(+g[a+56>>2]- +g[a+120>>2])*m;n=m*(+g[a+60>>2]- +g[a+124>>2]);g[h>>2]=(+g[a+52>>2]- +g[a+116>>2])*m;g[a+308>>2]=b;g[a+312>>2]=n;g[a+316>>2]=0.0;an6(k,j,e,f);n=+g[f>>2];b=m*n*+g[e+4>>2];o=m*n*+g[e+8>>2];g[l>>2]=m*+g[e>>2]*n;g[a+324>>2]=b;g[a+328>>2]=o;g[a+332>>2]=0.0;e=a+132|0;f=h;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+148|0;e=l;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=k;k=j;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];k=a+84|0;e=a+20|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];e=a+100|0;k=a+36|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];k=a+116|0;e=a+52|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];i=d;return}function ap1(a){a=a|0;return 480}function ap2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[b+232>>2]&2|0)==0){d=1;return d|0}e=b;b=a+488|0;f=c[a+480>>2]|0;a=0;while(1){if((a|0)>=(f|0)){d=1;g=4452;break}h=c[(c[b>>2]|0)+(a<<2)>>2]|0;if((c[h+24>>2]|0)==(e|0)){d=0;g=4455;break}if((c[h+28>>2]|0)==(e|0)){d=0;g=4453;break}else{a=a+1|0}}if((g|0)==4455){return d|0}else if((g|0)==4452){return d|0}else if((g|0)==4453){return d|0}return 0}function ap3(b,c){b=b|0;c=+c;var d=0.0,e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=+g[b+436>>2];e=+R(+(1.0-d),+c);f=b+304|0;h=e*+g[f>>2];g[f>>2]=h;i=b+308|0;j=e*+g[i>>2];g[i>>2]=j;k=b+312|0;l=e*+g[k>>2];g[k>>2]=l;e=+g[b+440>>2];m=+R(+(1.0-e),+c);n=b+320|0;c=m*+g[n>>2];g[n>>2]=c;o=b+324|0;p=m*+g[o>>2];g[o>>2]=p;q=b+328|0;r=m*+g[q>>2];g[q>>2]=r;if((a[b+444|0]&1)==0){return}do{if(r*r+(c*c+p*p)<+g[b+456>>2]){if(h*h+j*j+l*l>=+g[b+452>>2]){s=h;t=j;u=l;v=c;w=p;x=r;break}m=+g[b+448>>2];y=c*m;g[n>>2]=y;z=m*p;g[o>>2]=z;A=m*r;g[q>>2]=A;B=m*h;g[f>>2]=B;C=m*j;g[i>>2]=C;D=m*l;g[k>>2]=D;s=B;t=C;u=D;v=y;w=z;x=A}else{s=h;t=j;u=l;v=c;w=p;x=r}}while(0);r=+Q(+(s*s+t*t+u*u));do{if(r.004999999888241291){p=1.0/r;g[f>>2]=s-s*p*.004999999888241291;g[i>>2]=t-t*p*.004999999888241291;g[k>>2]=u-u*p*.004999999888241291;break}else{aDD(f|0,0,16);break}}}while(0);u=+Q(+(v*v+w*w+x*x));if(u>=e){return}if(u>.004999999888241291){e=1.0/u;g[n>>2]=v-v*e*.004999999888241291;g[o>>2]=w-w*e*.004999999888241291;g[q>>2]=x-x*e*.004999999888241291;return}else{aDD(n|0,0,16);return}}function ap4(a,b){a=a|0;b=b|0;var d=0,e=0,f=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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;d=a+68|0;if((c[a+204>>2]&3|0)==0){e=d;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=a+84|0;h=b+16|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];e=a+100|0;i=b+32|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];e=a+116|0;j=b+48|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];k=a+4|0;l=f;m=a+20|0;n=h;o=a+36|0;p=i;q=a+52|0;r=j}else{j=d;d=a+4|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];j=a+84|0;i=a+20|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];j=a+100|0;h=a+36|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];j=a+116|0;f=a+52|0;c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];k=d;l=b;m=i;n=b+16|0;o=h;p=b+32|0;q=f;r=b+48|0}b=a+132|0;f=a+304|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=a+148|0;b=a+320|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];s=+g[a+4>>2];t=+g[a+388>>2];u=s*t;v=+g[a+8>>2];w=+g[a+392>>2];x=v*w;y=+g[a+12>>2];z=+g[a+396>>2];A=y*z;B=+g[a+20>>2];C=t*B;D=+g[a+24>>2];E=w*D;F=+g[a+28>>2];G=z*F;H=+g[a+36>>2];I=t*H;t=+g[a+40>>2];J=w*t;w=+g[a+44>>2];K=z*w;g[a+256>>2]=s*u+v*x+y*A;g[a+260>>2]=u*B+x*D+A*F;g[a+264>>2]=u*H+x*t+A*w;g[a+268>>2]=0.0;g[a+272>>2]=s*C+v*E+y*G;g[a+276>>2]=B*C+D*E+F*G;g[a+280>>2]=C*H+E*t+G*w;g[a+284>>2]=0.0;g[a+288>>2]=s*I+v*J+y*K;g[a+292>>2]=B*I+D*J+F*K;g[a+296>>2]=H*I+t*J+w*K;g[a+300>>2]=0.0;return}function ap5(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0;if((c[a+204>>2]&3|0)!=0){return}d=+g[a+336>>2]*b;e=d*+g[a+408>>2];f=d*+g[a+412>>2];h=a+304|0;g[h>>2]=+g[a+404>>2]*d+ +g[h>>2];h=a+308|0;g[h>>2]=e+ +g[h>>2];h=a+312|0;g[h>>2]=f+ +g[h>>2];f=+g[a+420>>2];e=+g[a+424>>2];d=+g[a+428>>2];i=(f*+g[a+272>>2]+e*+g[a+276>>2]+d*+g[a+280>>2])*b;j=(f*+g[a+288>>2]+e*+g[a+292>>2]+d*+g[a+296>>2])*b;h=a+320|0;k=(+g[a+256>>2]*f+ +g[a+260>>2]*e+ +g[a+264>>2]*d)*b+ +g[h>>2];g[h>>2]=k;l=a+324|0;d=i+ +g[l>>2];g[l>>2]=d;m=a+328|0;i=j+ +g[m>>2];g[m>>2]=i;j=+Q(+(i*i+(k*k+d*d)));if(j*b<=1.5707963705062866){return}e=1.5707963705062866/b/j;g[h>>2]=k*e;g[l>>2]=e*d;g[m>>2]=e*i;return}function ap6(b,d){b=b|0;d=d|0;var 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;e=b+480|0;f=c[e>>2]|0;g=b+488|0;h=0;while(1){if((h|0)>=(f|0)){break}if((c[(c[g>>2]|0)+(h<<2)>>2]|0)==(d|0)){i=4487;break}else{h=h+1|0}}do{if((i|0)==4487){if((h|0)==(f|0)){break}j=b+252|0;c[j>>2]=1;return}}while(0);h=b+484|0;do{if((f|0)==(c[h>>2]|0)){i=(f|0)==0?1:f<<1;if((f|0)>=(i|0)){k=f;break}if((i|0)==0){l=0;m=f}else{c[9806]=(c[9806]|0)+1;n=aDx((i<<2)+19|0)|0;if((n|0)==0){o=0}else{p=-(n+4|0)&15;c[n+p>>2]=n;o=n+(p+4)|0}l=o;m=c[e>>2]|0}if((m|0)>0){p=0;do{n=l+(p<<2)|0;if((n|0)!=0){c[n>>2]=c[(c[g>>2]|0)+(p<<2)>>2]}p=p+1|0;}while((p|0)<(m|0))}p=c[g>>2]|0;n=b+492|0;if((p|0)!=0){if((a[n]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-4>>2]|0)}c[g>>2]=0}a[n]=1;c[g>>2]=l;c[h>>2]=i;k=c[e>>2]|0}else{k=f}}while(0);f=(c[g>>2]|0)+(k<<2)|0;if((f|0)==0){q=k}else{c[f>>2]=d;q=c[e>>2]|0}c[e>>2]=q+1;j=b+252|0;c[j>>2]=1;return}function ap7(b,d,e){b=b|0;d=d|0;e=e|0;atq(b|0,d,e)|0;g[d+248>>2]=+g[b+256>>2];g[d+252>>2]=+g[b+260>>2];g[d+256>>2]=+g[b+264>>2];g[d+260>>2]=+g[b+268>>2];g[d+264>>2]=+g[b+272>>2];g[d+268>>2]=+g[b+276>>2];g[d+272>>2]=+g[b+280>>2];g[d+276>>2]=+g[b+284>>2];g[d+280>>2]=+g[b+288>>2];g[d+284>>2]=+g[b+292>>2];g[d+288>>2]=+g[b+296>>2];g[d+292>>2]=+g[b+300>>2];g[d+296>>2]=+g[b+304>>2];g[d+300>>2]=+g[b+308>>2];g[d+304>>2]=+g[b+312>>2];g[d+308>>2]=+g[b+316>>2];g[d+312>>2]=+g[b+320>>2];g[d+316>>2]=+g[b+324>>2];g[d+320>>2]=+g[b+328>>2];g[d+324>>2]=+g[b+332>>2];g[d+440>>2]=+g[b+336>>2];g[d+328>>2]=+g[b+536>>2];g[d+332>>2]=+g[b+540>>2];g[d+336>>2]=+g[b+544>>2];g[d+340>>2]=+g[b+548>>2];g[d+344>>2]=+g[b+340>>2];g[d+348>>2]=+g[b+344>>2];g[d+352>>2]=+g[b+348>>2];g[d+356>>2]=+g[b+352>>2];g[d+360>>2]=+g[b+356>>2];g[d+364>>2]=+g[b+360>>2];g[d+368>>2]=+g[b+364>>2];g[d+372>>2]=+g[b+368>>2];g[d+376>>2]=+g[b+372>>2];g[d+380>>2]=+g[b+376>>2];g[d+384>>2]=+g[b+380>>2];g[d+388>>2]=+g[b+384>>2];g[d+392>>2]=+g[b+388>>2];g[d+396>>2]=+g[b+392>>2];g[d+400>>2]=+g[b+396>>2];g[d+404>>2]=+g[b+400>>2];g[d+408>>2]=+g[b+404>>2];g[d+412>>2]=+g[b+408>>2];g[d+416>>2]=+g[b+412>>2];g[d+420>>2]=+g[b+416>>2];g[d+424>>2]=+g[b+420>>2];g[d+428>>2]=+g[b+424>>2];g[d+432>>2]=+g[b+428>>2];g[d+436>>2]=+g[b+432>>2];g[d+444>>2]=+g[b+436>>2];g[d+448>>2]=+g[b+440>>2];c[d+476>>2]=a[b+444|0]&1;g[d+452>>2]=+g[b+448>>2];g[d+456>>2]=+g[b+452>>2];g[d+460>>2]=+g[b+456>>2];g[d+464>>2]=+g[b+460>>2];g[d+468>>2]=+g[b+464>>2];g[d+472>>2]=+g[b+468>>2];return 17400}function ap8(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[(c[b>>2]|0)+16>>2]|0;e=cA[c[(c[a>>2]|0)+16>>2]&4095](a)|0;f=cS[d&511](b,e,1)|0;e=cS[c[(c[a>>2]|0)+20>>2]&511](a,c[f+8>>2]|0,b)|0;co[c[(c[b>>2]|0)+20>>2]&255](b,f,e,1497645650,a);return}function ap9(a,b){a=a|0;b=b|0;c[a+192>>2]=b;c[a+200>>2]=b;return}function aqa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;d=c+84|0;e=+g[d>>2];f=c+16|0;h=+g[f>>2];i=a+504|0;j=c+20|0;k=+g[j>>2];l=a+508|0;m=c+24|0;n=+g[m>>2];o=a+512|0;p=a+520|0;q=a+524|0;r=a+528|0;s=b+504|0;t=b+508|0;u=b+512|0;v=b+520|0;w=b+524|0;x=b+528|0;y=+g[c+92>>2];z=+g[c+116>>2]-e*+g[c+120>>2]-(h*+g[i>>2]+k*+g[l>>2]+n*+g[o>>2]+(+g[c>>2]*+g[p>>2]+ +g[c+4>>2]*+g[q>>2]+ +g[c+8>>2]*+g[r>>2]))*y-y*(+g[c+32>>2]*+g[v>>2]+ +g[c+36>>2]*+g[w>>2]+ +g[c+40>>2]*+g[x>>2]-(h*+g[s>>2]+k*+g[t>>2]+n*+g[u>>2]));y=e+z;A=+g[c+124>>2];do{if(y>2]=A;B=A-e}else{C=+g[c+128>>2];if(y>C){g[d>>2]=C;B=C-e;break}else{g[d>>2]=y;B=z;break}}}while(0);if(+g[a+336>>2]!=0.0){z=B*+g[a+556>>2]*k;k=B*+g[a+560>>2]*n;g[i>>2]=+g[i>>2]+B*+g[a+552>>2]*h;g[l>>2]=z+ +g[l>>2];g[o>>2]=k+ +g[o>>2];k=B*+g[a+540>>2]*+g[c+52>>2];z=B*+g[a+544>>2]*+g[c+56>>2];g[p>>2]=B*+g[a+536>>2]*+g[c+48>>2]+ +g[p>>2];g[q>>2]=k+ +g[q>>2];g[r>>2]=z+ +g[r>>2]}if(+g[b+336>>2]==0.0){return}z=B*+g[b+556>>2]*(-0.0- +g[j>>2]);k=B*+g[b+560>>2]*(-0.0- +g[m>>2]);g[s>>2]=+g[s>>2]+B*+g[b+552>>2]*(-0.0- +g[f>>2]);g[t>>2]=z+ +g[t>>2];g[u>>2]=k+ +g[u>>2];k=B*+g[b+540>>2]*+g[c+68>>2];z=B*+g[b+544>>2]*+g[c+72>>2];g[v>>2]=B*+g[b+536>>2]*+g[c+64>>2]+ +g[v>>2];g[w>>2]=k+ +g[w>>2];g[x>>2]=z+ +g[x>>2];return}function aqb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;d=c+84|0;e=+g[d>>2];f=c+16|0;h=+g[f>>2];i=a+504|0;j=c+20|0;k=+g[j>>2];l=a+508|0;m=c+24|0;n=+g[m>>2];o=a+512|0;p=a+520|0;q=a+524|0;r=a+528|0;s=b+504|0;t=b+508|0;u=b+512|0;v=b+520|0;w=b+524|0;x=b+528|0;y=+g[c+92>>2];z=+g[c+116>>2]-e*+g[c+120>>2]-(h*+g[i>>2]+k*+g[l>>2]+n*+g[o>>2]+(+g[c>>2]*+g[p>>2]+ +g[c+4>>2]*+g[q>>2]+ +g[c+8>>2]*+g[r>>2]))*y-y*(+g[c+32>>2]*+g[v>>2]+ +g[c+36>>2]*+g[w>>2]+ +g[c+40>>2]*+g[x>>2]-(h*+g[s>>2]+k*+g[t>>2]+n*+g[u>>2]));y=e+z;A=+g[c+124>>2];if(y>2]=C;if(+g[a+336>>2]!=0.0){C=B*+g[a+556>>2]*k;k=B*+g[a+560>>2]*n;g[i>>2]=+g[i>>2]+B*+g[a+552>>2]*h;g[l>>2]=C+ +g[l>>2];g[o>>2]=k+ +g[o>>2];k=B*+g[a+540>>2]*+g[c+52>>2];C=B*+g[a+544>>2]*+g[c+56>>2];g[p>>2]=B*+g[a+536>>2]*+g[c+48>>2]+ +g[p>>2];g[q>>2]=k+ +g[q>>2];g[r>>2]=C+ +g[r>>2]}if(+g[b+336>>2]==0.0){return}C=B*+g[b+556>>2]*(-0.0- +g[j>>2]);k=B*+g[b+560>>2]*(-0.0- +g[m>>2]);g[s>>2]=+g[s>>2]+B*+g[b+552>>2]*(-0.0- +g[f>>2]);g[t>>2]=C+ +g[t>>2];g[u>>2]=k+ +g[u>>2];k=B*+g[b+540>>2]*+g[c+68>>2];C=B*+g[b+544>>2]*+g[c+72>>2];g[v>>2]=B*+g[b+536>>2]*+g[c+64>>2]+ +g[v>>2];g[w>>2]=k+ +g[w>>2];g[x>>2]=C+ +g[x>>2];return}function aqc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0;e=+g[d+132>>2];if(e==0.0){return}c[9794]=(c[9794]|0)+1;f=d+80|0;h=+g[f>>2];i=d+16|0;j=+g[i>>2];k=a+568|0;l=d+20|0;m=+g[l>>2];n=a+572|0;o=d+24|0;p=+g[o>>2];q=a+576|0;r=a+584|0;s=a+588|0;t=a+592|0;u=b+568|0;v=b+572|0;w=b+576|0;x=b+584|0;y=b+588|0;z=b+592|0;A=+g[d+92>>2];B=e-h*+g[d+120>>2]-(j*+g[k>>2]+m*+g[n>>2]+p*+g[q>>2]+(+g[d>>2]*+g[r>>2]+ +g[d+4>>2]*+g[s>>2]+ +g[d+8>>2]*+g[t>>2]))*A-A*(+g[d+32>>2]*+g[x>>2]+ +g[d+36>>2]*+g[y>>2]+ +g[d+40>>2]*+g[z>>2]-(j*+g[u>>2]+m*+g[v>>2]+p*+g[w>>2]));A=h+B;e=+g[d+124>>2];if(A>2]=D;if(+g[a+336>>2]!=0.0){D=C*+g[a+556>>2]*m;m=C*+g[a+560>>2]*p;g[k>>2]=+g[k>>2]+C*+g[a+552>>2]*j;g[n>>2]=D+ +g[n>>2];g[q>>2]=m+ +g[q>>2];m=C*+g[a+540>>2]*+g[d+52>>2];D=C*+g[a+544>>2]*+g[d+56>>2];g[r>>2]=C*+g[a+536>>2]*+g[d+48>>2]+ +g[r>>2];g[s>>2]=m+ +g[s>>2];g[t>>2]=D+ +g[t>>2]}if(+g[b+336>>2]==0.0){return}D=C*+g[b+556>>2]*(-0.0- +g[l>>2]);m=C*+g[b+560>>2]*(-0.0- +g[o>>2]);g[u>>2]=+g[u>>2]+C*+g[b+552>>2]*(-0.0- +g[i>>2]);g[v>>2]=D+ +g[v>>2];g[w>>2]=m+ +g[w>>2];m=C*+g[b+540>>2]*+g[d+68>>2];D=C*+g[b+544>>2]*+g[d+72>>2];g[x>>2]=C*+g[b+536>>2]*+g[d+64>>2]+ +g[x>>2];g[y>>2]=m+ +g[y>>2];g[z>>2]=D+ +g[z>>2];return}function aqd(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=26048;d=b+480|0;e=b+488|0;f=c[e>>2]|0;g=b+492|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+484>>2]=0}else{if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+484>>2]=0}c[9804]=(c[9804]|0)+1;aDB(c[b-608+604>>2]|0);return}function aqe(a){a=a|0;aqf(a);if((a|0)==0){return}aDB(a);return}function aqf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=19632;d=b+108|0;e=b+116|0;f=c[e>>2]|0;g=b+120|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-8+4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+112>>2]=0;d=b+88|0;e=b+96|0;g=c[e>>2]|0;f=b+100|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+92>>2]=0;d=b+68|0;e=b+76|0;f=c[e>>2]|0;g=b+80|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+72>>2]=0;d=b+48|0;e=b+56|0;g=c[e>>2]|0;f=b+60|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-136+132>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;e=b+36|0;f=c[e>>2]|0;g=b+40|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-136+132>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;e=b+16|0;g=c[e>>2]|0;f=b+20|0;if((g|0)==0){a[f]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-136+132>>2]|0)}c[e>>2]=0;a[f]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function aqg(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;if((a|0)==0){return}if((c[a+180>>2]|0)==0){return}d=+g[a+4>>2];e=b|0;f=+g[e>>2];h=+g[a+20>>2];i=b+4|0;j=+g[i>>2];k=+g[a+36>>2];l=b+8|0;m=+g[l>>2];n=+g[a+8>>2];o=+g[a+24>>2];p=+g[a+40>>2];q=+g[a+12>>2];r=+g[a+28>>2];s=+g[a+44>>2];t=(d*f+h*j+k*m)*+g[a+164>>2];u=(f*n+j*o+m*p)*+g[a+168>>2];v=(f*q+j*r+m*s)*+g[a+172>>2];g[e>>2]=d*t+n*u+q*v;g[i>>2]=h*t+o*u+r*v;g[l>>2]=k*t+p*u+s*v;g[b+12>>2]=0.0;return}function aqh(b,d,e,f,h,j,k,l,m,n,p){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=+m;n=+n;p=+p;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0,ax=0,ay=0,az=0;q=i;i=i+64|0;r=q|0;s=q+16|0;t=q+32|0;u=q+48|0;v=b+48|0;w=c[v>>2]|0;x=b+52|0;do{if((w|0)==(c[x>>2]|0)){y=(w|0)==0?1:w<<1;if((w|0)>=(y|0)){z=w;break}if((y|0)==0){A=0;B=w}else{c[9806]=(c[9806]|0)+1;C=aDx((y*136|0|4)+15|0)|0;if((C|0)==0){D=0}else{E=-(C+4|0)&15;c[C+E>>2]=C;D=C+(E+4)|0}A=D;B=c[v>>2]|0}E=b+56|0;if((B|0)>0){C=0;do{F=A+(C*136|0)|0;G=(c[E>>2]|0)+(C*136|0)|0;aDC(F|0,G|0,136)|0;C=C+1|0;}while((C|0)<(B|0))}C=c[E>>2]|0;G=b+60|0;if((C|0)!=0){if((a[G]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[C-136+132>>2]|0)}c[E>>2]=0}a[G]=1;c[E>>2]=A;c[x>>2]=y;z=c[v>>2]|0}else{z=w}}while(0);c[v>>2]=z+1;z=c[b+56>>2]|0;c[z+(w*136|0)+100>>2]=e;if((c[k+232>>2]&2|0)==0){H=0}else{H=k}if((c[l+232>>2]&2|0)==0){I=0}else{I=l}l=z+(w*136|0)+16|0;k=l;e=d;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];e=(H|0)!=0;if(e){J=H}else{k=r;b=s;do{if((a[42984]|0)==0){if((b1(42984)|0)==0){break}aDD(k|0,0,16);ap$(39728,0.0,0,0,r);bG(198,39728,o|0)|0}}while(0);aDD(b|0,0,16);apV(39728,0.0,s);J=39728}c[z+(w*136|0)+104>>2]=J;J=(I|0)!=0;if(J){K=I}else{s=t;b=u;do{if((a[42984]|0)==0){if((b1(42984)|0)==0){break}aDD(s|0,0,16);ap$(39728,0.0,0,0,t);bG(198,39728,o|0)|0}}while(0);aDD(b|0,0,16);apV(39728,0.0,u);K=39728}c[z+(w*136|0)+108>>2]=K;g[z+(w*136|0)+88>>2]=+g[f+84>>2];c[z+(w*136|0)+112>>2]=0;g[z+(w*136|0)+84>>2]=0.0;g[z+(w*136|0)+80>>2]=0.0;f=h+4|0;L=+g[f>>2];M=+g[z+(w*136|0)+24>>2];K=h+8|0;N=+g[K>>2];O=+g[z+(w*136|0)+20>>2];P=L*M-N*O;Q=+g[l>>2];l=h|0;R=+g[l>>2];S=N*Q-M*R;N=O*R-L*Q;g[z+(w*136|0)>>2]=P;g[z+(w*136|0)+4>>2]=S;g[z+(w*136|0)+8>>2]=N;g[z+(w*136|0)+12>>2]=0.0;if(e){T=(P*+g[H+256>>2]+S*+g[H+260>>2]+N*+g[H+264>>2])*+g[H+536>>2];U=(P*+g[H+272>>2]+S*+g[H+276>>2]+N*+g[H+280>>2])*+g[H+540>>2];V=(P*+g[H+288>>2]+S*+g[H+292>>2]+N*+g[H+296>>2])*+g[H+544>>2]}else{T=0.0;U=0.0;V=0.0}g[z+(w*136|0)+48>>2]=T;g[z+(w*136|0)+52>>2]=U;g[z+(w*136|0)+56>>2]=V;g[z+(w*136|0)+60>>2]=0.0;L=-0.0-Q;R=-0.0-O;W=-0.0-M;h=j+4|0;X=+g[h>>2];u=j+8|0;Y=+g[u>>2];Z=X*W-Y*R;b=j|0;_=+g[b>>2];$=Y*L-_*W;W=_*R-X*L;g[z+(w*136|0)+32>>2]=Z;g[z+(w*136|0)+36>>2]=$;g[z+(w*136|0)+40>>2]=W;g[z+(w*136|0)+44>>2]=0.0;if(J){aa=(Z*+g[I+256>>2]+$*+g[I+260>>2]+W*+g[I+264>>2])*+g[I+536>>2];ab=(Z*+g[I+272>>2]+$*+g[I+276>>2]+W*+g[I+280>>2])*+g[I+540>>2];ac=(Z*+g[I+288>>2]+$*+g[I+292>>2]+W*+g[I+296>>2])*+g[I+544>>2]}else{aa=0.0;ab=0.0;ac=0.0}g[z+(w*136|0)+64>>2]=aa;g[z+(w*136|0)+68>>2]=ab;g[z+(w*136|0)+72>>2]=ac;g[z+(w*136|0)+76>>2]=0.0;if(e){L=+g[K>>2];X=+g[f>>2];R=+g[l>>2];ad=+g[H+336>>2]+((U*L-V*X)*+g[d>>2]+(V*R-L*T)*+g[d+4>>2]+(X*T-U*R)*+g[d+8>>2])}else{ad=0.0}if(J){R=-0.0-aa;aa=-0.0-ab;ab=-0.0-ac;ac=+g[u>>2];U=+g[h>>2];T=+g[b>>2];ae=+g[I+336>>2]+((ac*aa-U*ab)*+g[d>>2]+(T*ab-ac*R)*+g[d+4>>2]+(U*R-T*aa)*+g[d+8>>2])}else{ae=0.0}aa=m/(ad+ae);g[z+(w*136|0)+92>>2]=aa;if(e){af=+g[H+320>>2];ag=+g[H+324>>2];ah=+g[H+328>>2];ai=+g[H+304>>2]*Q+ +g[H+308>>2]*O+ +g[H+312>>2]*M}else{af=0.0;ag=0.0;ah=0.0;ai=Q*0.0+O*0.0+M*0.0}ae=ai+(af*P+ag*S+ah*N);if(J){aj=+g[I+320>>2];ak=+g[I+324>>2];al=+g[I+328>>2];am=+g[I+304>>2]*Q+ +g[I+308>>2]*O+ +g[I+312>>2]*M;an=aj*Z;ao=ak*$;ap=an+ao;aq=al*W;ar=ap+aq;as=ar-am;at=ae+as;au=n-at;av=aa*au;aw=z+(w*136|0)+116|0;g[aw>>2]=av;ax=z+(w*136|0)+120|0;g[ax>>2]=p;ay=z+(w*136|0)+124|0;g[ay>>2]=0.0;az=z+(w*136|0)+128|0;g[az>>2]=1.0e10;i=q;return}else{aj=0.0;ak=0.0;al=0.0;am=Q*0.0+O*0.0+M*0.0;an=aj*Z;ao=ak*$;ap=an+ao;aq=al*W;ar=ap+aq;as=ar-am;at=ae+as;au=n-at;av=aa*au;aw=z+(w*136|0)+116|0;g[aw>>2]=av;ax=z+(w*136|0)+120|0;g[ax>>2]=p;ay=z+(w*136|0)+124|0;g[ay>>2]=0.0;az=z+(w*136|0)+128|0;g[az>>2]=1.0e10;i=q;return}}function aqi(b,d,e,f,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0.0,ax=0.0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0.0,a4=0.0,a5=0.0,a6=0.0,a7=0.0,a8=0.0,a9=0.0,ba=0.0,bb=0.0,bc=0.0,bd=0.0,be=0,bf=0,bg=0,bh=0,bi=0,bj=0,bk=0,bl=0,bm=0,bn=0,bo=0.0,bp=0.0,bq=0.0,br=0.0,bs=0.0,bt=0.0,bu=0.0,bv=0.0,bw=0,bx=0,by=0,bz=0,bA=0,bB=0,bC=0.0,bD=0.0,bE=0.0,bF=0.0,bH=0.0,bI=0.0,bJ=0.0,bK=0.0,bL=0.0,bM=0.0,bN=0.0,bO=0.0,bP=0.0,bQ=0.0,bR=0.0,bS=0.0,bT=0.0,bU=0.0,bV=0.0,bW=0,bX=0,bY=0,bZ=0,b_=0,b$=0,b0=0,b2=0,b4=0,b5=0,b6=0;n=i;i=i+304|0;m=n|0;p=n+8|0;q=n+24|0;r=n+40|0;s=n+56|0;t=n+72|0;u=n+88|0;v=n+112|0;w=n+248|0;aDo(17152);do{if((k|0)!=(-h|0)){x=l+44|0;y=(e|0)>0;do{if((c[x>>2]|0)==0){if(y){z=0}else{break}do{A=c[d+(z<<2)>>2]|0;if(!((c[A+232>>2]&2|0)==0|(A|0)==0)){aDD(A+504|0,0,32)}z=z+1|0;}while((z|0)<(e|0))}else{if(y){B=0}else{break}do{A=c[d+(B<<2)>>2]|0;if(!((c[A+232>>2]&2|0)==0|(A|0)==0)){aDD(A+504|0,0,32);aDD(A+568|0,0,32)}B=B+1|0;}while((B|0)<(e|0))}}while(0);y=(k|0)>0;if(y){A=0;do{C=c[j+(A<<2)>>2]|0;ct[c[(c[C>>2]|0)+8>>2]&2047](C);g[C+32>>2]=0.0;A=A+1|0;}while((A|0)<(k|0))}A=b+108|0;C=c[A>>2]|0;if((C|0)<(k|0)){D=b+112|0;if((c[D>>2]|0)<(k|0)){if((k|0)==0){E=0;F=C}else{c[9806]=(c[9806]|0)+1;G=aDx((k<<3|4)+15|0)|0;if((G|0)==0){H=0}else{I=-(G+4|0)&15;c[G+I>>2]=G;H=G+(I+4)|0}E=H;F=c[A>>2]|0}I=b+116|0;if((F|0)>0){G=0;do{J=E+(G<<3)|0;if((J|0)!=0){K=(c[I>>2]|0)+(G<<3)|0;L=J;J=c[K+4>>2]|0;c[L>>2]=c[K>>2];c[L+4>>2]=J}G=G+1|0;}while((G|0)<(F|0))}G=c[I>>2]|0;J=b+120|0;if((G|0)!=0){if((a[J]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[G-8+4>>2]|0)}c[I>>2]=0}a[J]=1;c[I>>2]=E;c[D>>2]=k;M=I}else{M=b+116|0}J=C;do{G=(c[M>>2]|0)+(J<<3)|0;if((G|0)!=0){L=G;c[L>>2]=0;c[L+4>>2]=0}J=J+1|0;}while((J|0)<(k|0))}c[A>>2]=k;if(y){J=b+116|0;C=0;I=0;while(1){D=c[J>>2]|0;L=D+(C<<3)|0;G=c[j+(C<<2)>>2]|0;if((a[G+20|0]&1)==0){c[L>>2]=0;c[D+(C<<3)+4>>2]=0;N=0}else{cv[c[(c[G>>2]|0)+16>>2]&2047](G,L);N=c[L>>2]|0}L=N+I|0;G=C+1|0;if((G|0)<(k|0)){C=G;I=L}else{O=L;break}}}else{O=0}I=v;aDD(I|0,0,136);C=b+28|0;J=c[C>>2]|0;if((J|0)<(O|0)){A=b+32|0;if((c[A>>2]|0)<(O|0)){if((O|0)==0){R=0;S=J}else{c[9806]=(c[9806]|0)+1;L=aDx((O*136|0|4)+15|0)|0;if((L|0)==0){T=0}else{G=-(L+4|0)&15;c[L+G>>2]=L;T=L+(G+4)|0}R=T;S=c[C>>2]|0}G=b+36|0;if((S|0)>0){L=0;do{D=R+(L*136|0)|0;K=(c[G>>2]|0)+(L*136|0)|0;aDC(D|0,K|0,136)|0;L=L+1|0;}while((L|0)<(S|0))}L=c[G>>2]|0;K=b+40|0;if((L|0)!=0){if((a[K]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[L-136+132>>2]|0)}c[G>>2]=0}a[K]=1;c[G>>2]=R;c[A>>2]=O;U=G}else{U=b+36|0}K=J;do{L=(c[U>>2]|0)+(K*136|0)|0;aDC(L|0,I|0,136)|0;K=K+1|0;}while((K|0)<(O|0))}c[C>>2]=O;if(y){K=b+116|0;I=b+36|0;J=l+12|0;G=w|0;A=l+32|0;L=w+4|0;D=w+8|0;V=w+12|0;W=w+16|0;X=w+20|0;Y=w+24|0;Z=w+28|0;_=l+40|0;$=l+4|0;aa=w+52|0;ab=w+32|0;ac=w+36|0;ad=w+40|0;ae=l+20|0;af=w+48|0;ag=0;ah=0;ai=c[K>>2]|0;while(1){aj=ai+(ah<<3)|0;ak=c[aj>>2]|0;if((ak|0)==0){al=ai;am=0}else{an=c[I>>2]|0;ao=j+(ah<<2)|0;ap=c[ao>>2]|0;aq=ap+24|0;ar=c[aq>>2]|0;as=ap+28|0;at=c[as>>2]|0;if((ak|0)>0){ak=0;do{au=ak+ag|0;aDD(an+(au*136|0)|0,0,136);g[an+(au*136|0)+124>>2]=-3.4028234663852886e+38;g[an+(au*136|0)+128>>2]=3.4028234663852886e+38;g[an+(au*136|0)+84>>2]=0.0;g[an+(au*136|0)+80>>2]=0.0;c[an+(au*136|0)+104>>2]=ar;c[an+(au*136|0)+108>>2]=at;ak=ak+1|0;}while((ak|0)<(c[aj>>2]|0))}aDD(ar+504|0,0,32);aDD(at+504|0,0,32);g[G>>2]=1.0/+g[J>>2];g[L>>2]=+g[A>>2];c[D>>2]=an+(ag*136|0)+16;c[V>>2]=an+(ag*136|0);c[W>>2]=0;c[X>>2]=an+(ag*136|0)+32;c[Y>>2]=34;c[Z>>2]=an+(ag*136|0)+116;ak=an+(ag*136|0)+120|0;g[ak>>2]=+g[_>>2];g[aa>>2]=+g[$>>2];c[ab>>2]=ak;ak=an+(ag*136|0)+124|0;c[ac>>2]=ak;au=an+(ag*136|0)+128|0;c[ad>>2]=au;c[af>>2]=c[ae>>2];av=c[ao>>2]|0;cv[c[(c[av>>2]|0)+20>>2]&2047](av,w);aw=+g[(c[ao>>2]|0)+16>>2];if(+g[au>>2]>aw){g[au>>2]=aw;ax=+g[(c[ao>>2]|0)+16>>2]}else{ax=aw}aw=-0.0-ax;if(+g[ak>>2]>2]=aw}if((c[aj>>2]|0)>0){ak=ap;au=ar+336|0;av=ar+256|0;ay=ar+260|0;az=ar+264|0;aA=ar+272|0;aB=ar+276|0;aC=ar+280|0;aD=ar+288|0;aE=ar+292|0;aF=ar+296|0;aG=at+336|0;aH=at+256|0;aI=at+260|0;aJ=at+264|0;aK=at+272|0;aL=at+276|0;aM=at+280|0;aN=at+288|0;aO=at+292|0;aP=at+296|0;aQ=ar+304|0;aR=ar+308|0;aS=ar+312|0;aT=ar+320|0;aU=ar+324|0;aV=ar+328|0;aW=at+304|0;aX=at+308|0;aY=at+312|0;aZ=at+320|0;a_=at+324|0;a$=at+328|0;a0=0;do{a1=a0+ag|0;c[an+(a1*136|0)+112>>2]=ak;a2=c[aq>>2]|0;aw=+g[an+(a1*136|0)>>2];a3=+g[an+(a1*136|0)+4>>2];a4=+g[an+(a1*136|0)+8>>2];a5=(aw*+g[a2+272>>2]+a3*+g[a2+276>>2]+a4*+g[a2+280>>2])*+g[a2+540>>2];a6=(aw*+g[a2+288>>2]+a3*+g[a2+292>>2]+a4*+g[a2+296>>2])*+g[a2+544>>2];g[an+(a1*136|0)+48>>2]=(+g[a2+256>>2]*aw+ +g[a2+260>>2]*a3+ +g[a2+264>>2]*a4)*+g[a2+536>>2];g[an+(a1*136|0)+52>>2]=a5;g[an+(a1*136|0)+56>>2]=a6;g[an+(a1*136|0)+60>>2]=0.0;a2=c[as>>2]|0;a6=+g[an+(a1*136|0)+32>>2];a5=+g[an+(a1*136|0)+36>>2];a7=+g[an+(a1*136|0)+40>>2];a8=(a6*+g[a2+272>>2]+a5*+g[a2+276>>2]+a7*+g[a2+280>>2])*+g[a2+540>>2];a9=(a6*+g[a2+288>>2]+a5*+g[a2+292>>2]+a7*+g[a2+296>>2])*+g[a2+544>>2];g[an+(a1*136|0)+64>>2]=(+g[a2+256>>2]*a6+ +g[a2+260>>2]*a5+ +g[a2+264>>2]*a7)*+g[a2+536>>2];g[an+(a1*136|0)+68>>2]=a8;g[an+(a1*136|0)+72>>2]=a9;g[an+(a1*136|0)+76>>2]=0.0;a9=+g[au>>2];a8=+g[an+(a1*136|0)+16>>2];ba=+g[an+(a1*136|0)+20>>2];bb=+g[an+(a1*136|0)+24>>2];bc=+g[aG>>2];bd=1.0/(a8*a9*a8+ba*a9*ba+bb*a9*bb+(aw*(+g[av>>2]*aw+ +g[ay>>2]*a3+ +g[az>>2]*a4)+a3*(aw*+g[aA>>2]+a3*+g[aB>>2]+a4*+g[aC>>2])+a4*(aw*+g[aD>>2]+a3*+g[aE>>2]+a4*+g[aF>>2]))+(bb*bb*bc+(a8*a8*bc+ba*ba*bc))+(a6*(+g[aH>>2]*a6+ +g[aI>>2]*a5+ +g[aJ>>2]*a7)+a5*(a6*+g[aK>>2]+a5*+g[aL>>2]+a7*+g[aM>>2])+a7*(a6*+g[aN>>2]+a5*+g[aO>>2]+a7*+g[aP>>2])));g[an+(a1*136|0)+92>>2]=bd;a2=an+(a1*136|0)+116|0;g[a2>>2]=bd*+g[a2>>2]+bd*(0.0- +g[aa>>2]*(a8*+g[aQ>>2]+ba*+g[aR>>2]+bb*+g[aS>>2]+(aw*+g[aT>>2]+a3*+g[aU>>2]+a4*+g[aV>>2])+(a6*+g[aZ>>2]+a5*+g[a_>>2]+a7*+g[a$>>2]-(a8*+g[aW>>2]+ba*+g[aX>>2]+bb*+g[aY>>2]))));g[an+(a1*136|0)+84>>2]=0.0;a0=a0+1|0;}while((a0|0)<(c[aj>>2]|0))}aj=c[K>>2]|0;al=aj;am=c[aj+(ah<<3)>>2]|0}aj=ah+1|0;if((aj|0)<(k|0)){ag=am+ag|0;ah=aj;ai=al}else{break}}}if((h|0)>0){ai=b+8|0;ah=b+12|0;ag=b+16|0;K=b+20|0;aa=r;ae=s;af=p;ad=q;ac=b+48|0;ab=l+60|0;$=t|0;_=t+4|0;Z=t+8|0;Y=t+12|0;X=u|0;W=u+4|0;V=u+8|0;D=u+12|0;A=l+52|0;L=l+64|0;J=l+12|0;G=b+56|0;I=l+56|0;y=l+48|0;C=l+32|0;aj=0;while(1){a0=c[f+(aj<<2)>>2]|0;an=c[a0+1108>>2]|0;aY=an;aX=c[a0+1112>>2]|0;aW=aX;a$=an+232|0;if((c[a$>>2]&2|0)==0){be=0}else{be=an}a_=aX+232|0;if((c[a_>>2]&2|0)==0){bf=0}else{bf=aX}if((be|0)==0){bg=4731}else{if(+g[be+336>>2]!=0.0){bg=4733}else{bg=4731}}do{if((bg|0)==4731){bg=0;if((bf|0)==0){break}if(+g[bf+336>>2]!=0.0){bg=4733}}}while(0);do{if((bg|0)==4733){bg=0;aZ=a0+1116|0;aV=c[aZ>>2]|0;if((aV|0)<=0){break}aU=a0+1124|0;aT=aX;aS=an;aR=an+52|0;aQ=an+56|0;aP=an+60|0;aO=aX+52|0;aN=aX+56|0;aM=aX+60|0;aL=0;aK=aV;while(1){aV=a0+4+(aL*276|0)|0;aJ=a0+4+(aL*276|0)+80|0;if(+g[aJ>>2]>+g[aU>>2]){bh=aK}else{aI=c[ai>>2]|0;do{if((aI|0)==(c[ah>>2]|0)){aH=(aI|0)==0?1:aI<<1;if((aI|0)>=(aH|0)){bi=aI;break}if((aH|0)==0){bj=0;bk=aI}else{c[9806]=(c[9806]|0)+1;aF=aDx((aH*136|0|4)+15|0)|0;if((aF|0)==0){bl=0}else{aE=-(aF+4|0)&15;c[aF+aE>>2]=aF;bl=aF+(aE+4)|0}bj=bl;bk=c[ai>>2]|0}if((bk|0)>0){aE=0;do{aF=bj+(aE*136|0)|0;aD=(c[ag>>2]|0)+(aE*136|0)|0;aDC(aF|0,aD|0,136)|0;aE=aE+1|0;}while((aE|0)<(bk|0))}aE=c[ag>>2]|0;if((aE|0)!=0){if((a[K]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aE-136+132>>2]|0)}c[ag>>2]=0}a[K]=1;c[ag>>2]=bj;c[ah>>2]=aH;bi=c[ai>>2]|0}else{bi=aI}}while(0);c[ai>>2]=bi+1;aE=c[ag>>2]|0;aD=(c[a$>>2]&2|0)==0?0:aS;aF=(c[a_>>2]&2|0)==0?0:aT;aC=(aD|0)==0;if(aC){do{if((a[42984]|0)==0){if((b1(42984)|0)==0){break}aDD(aa|0,0,16);ap$(39728,0.0,0,0,r);bG(198,39728,o|0)|0}}while(0);aDD(ae|0,0,16);apV(39728,0.0,s);bm=39728}else{bm=aD}c[aE+(aI*136|0)+104>>2]=bm;aB=(aF|0)==0;if(aB){do{if((a[42984]|0)==0){if((b1(42984)|0)==0){break}aDD(af|0,0,16);ap$(39728,0.0,0,0,p);bG(198,39728,o|0)|0}}while(0);aDD(ad|0,0,16);apV(39728,0.0,q);bn=39728}else{bn=aF}c[aE+(aI*136|0)+108>>2]=bn;c[aE+(aI*136|0)+112>>2]=aV;aA=(c[a$>>2]&2|0)==0?0:aS;az=(c[a_>>2]&2|0)==0?0:aT;bb=+g[a0+4+(aL*276|0)+48>>2]- +g[aR>>2];ba=+g[a0+4+(aL*276|0)+52>>2]- +g[aQ>>2];a8=+g[a0+4+(aL*276|0)+56>>2]- +g[aP>>2];g[$>>2]=bb;g[_>>2]=ba;g[Z>>2]=a8;g[Y>>2]=0.0;a7=+g[a0+4+(aL*276|0)+32>>2]- +g[aO>>2];a5=+g[a0+4+(aL*276|0)+36>>2]- +g[aN>>2];a6=+g[a0+4+(aL*276|0)+40>>2]- +g[aM>>2];g[X>>2]=a7;g[W>>2]=a5;g[V>>2]=a6;g[D>>2]=0.0;ay=a0+4+(aL*276|0)+64|0;av=a0+4+(aL*276|0)+72|0;a4=+g[av>>2];aG=a0+4+(aL*276|0)+68|0;a3=+g[aG>>2];aw=ba*a4-a8*a3;au=ay|0;bd=+g[au>>2];bc=a8*bd-a4*bb;a4=a3*bb-ba*bd;as=(aA|0)!=0;if(as){bo=(aw*+g[aA+256>>2]+bc*+g[aA+260>>2]+a4*+g[aA+264>>2])*+g[aA+536>>2];bp=(aw*+g[aA+272>>2]+bc*+g[aA+276>>2]+a4*+g[aA+280>>2])*+g[aA+540>>2];bq=(aw*+g[aA+288>>2]+bc*+g[aA+292>>2]+a4*+g[aA+296>>2])*+g[aA+544>>2]}else{bo=0.0;bp=0.0;bq=0.0}aq=aE+(aI*136|0)+48|0;g[aq>>2]=bo;ak=aE+(aI*136|0)+52|0;g[ak>>2]=bp;at=aE+(aI*136|0)+56|0;g[at>>2]=bq;g[aE+(aI*136|0)+60>>2]=0.0;a4=+g[av>>2];bc=+g[aG>>2];aw=+g[au>>2];ar=(az|0)!=0;if(ar){bd=-0.0-(a5*a4-a6*bc);a3=-0.0-(a6*aw-a4*a7);a4=-0.0-(bc*a7-a5*aw);br=(+g[az+256>>2]*bd+ +g[az+260>>2]*a3+ +g[az+264>>2]*a4)*+g[az+536>>2];bs=(+g[az+272>>2]*bd+ +g[az+276>>2]*a3+ +g[az+280>>2]*a4)*+g[az+540>>2];bt=(+g[az+288>>2]*bd+ +g[az+292>>2]*a3+ +g[az+296>>2]*a4)*+g[az+544>>2]}else{br=0.0;bs=0.0;bt=0.0}ap=aE+(aI*136|0)+64|0;g[ap>>2]=br;ao=aE+(aI*136|0)+68|0;g[ao>>2]=bs;a1=aE+(aI*136|0)+72|0;g[a1>>2]=bt;g[aE+(aI*136|0)+76>>2]=0.0;if(as){bu=+g[aA+336>>2]+((bp*a8-bq*ba)*+g[au>>2]+(bq*bb-a8*bo)*+g[aG>>2]+(ba*bo-bp*bb)*+g[av>>2])}else{bu=0.0}if(ar){a4=-0.0-br;a3=-0.0-bs;bd=-0.0-bt;bv=+g[az+336>>2]+((a6*a3-a5*bd)*+g[au>>2]+(a7*bd-a6*a4)*+g[aG>>2]+(a5*a4-a7*a3)*+g[av>>2])}else{bv=0.0}a2=aE+(aI*136|0)+92|0;g[a2>>2]=1.0/(bu+bv);bw=aE+(aI*136|0)+16|0;bx=bw;by=ay;c[bx>>2]=c[by>>2];c[bx+4>>2]=c[by+4>>2];c[bx+8>>2]=c[by+8>>2];c[bx+12>>2]=c[by+12>>2];a3=+g[av>>2];a4=+g[aG>>2];bd=+g[au>>2];by=aE+(aI*136|0)|0;g[by>>2]=ba*a3-a8*a4;bx=aE+(aI*136|0)+4|0;g[bx>>2]=a8*bd-a3*bb;ay=aE+(aI*136|0)+8|0;g[ay>>2]=a4*bb-ba*bd;g[aE+(aI*136|0)+12>>2]=0.0;bd=-0.0- +g[au>>2];a4=-0.0- +g[aG>>2];a3=-0.0- +g[av>>2];bz=aE+(aI*136|0)+32|0;g[bz>>2]=a5*a3-a6*a4;bA=aE+(aI*136|0)+36|0;g[bA>>2]=a6*bd-a7*a3;bB=aE+(aI*136|0)+40|0;g[bB>>2]=a7*a4-a5*bd;g[aE+(aI*136|0)+44>>2]=0.0;if(as){bd=+g[aA+324>>2];a4=+g[aA+328>>2];a3=+g[aA+320>>2];bC=bd*a8-a4*ba+ +g[aA+304>>2];bD=+g[aA+308>>2]+(a4*bb-a8*a3);bE=ba*a3-bd*bb+ +g[aA+312>>2]}else{bC=0.0;bD=0.0;bE=0.0}if(ar){bb=+g[az+324>>2];bd=+g[az+328>>2];a3=+g[az+320>>2];bF=bb*a6-bd*a5+ +g[az+304>>2];bH=+g[az+308>>2]+(bd*a7-a6*a3);bI=a5*a3-bb*a7+ +g[az+312>>2]}else{bF=0.0;bH=0.0;bI=0.0}a7=bC-bF;bb=bD-bH;a3=bE-bI;a5=+g[au>>2]*a7+ +g[aG>>2]*bb+ +g[av>>2]*a3;a6=+g[aJ>>2]+ +g[A>>2];g[aE+(aI*136|0)+88>>2]=+g[a0+4+(aL*276|0)+84>>2];do{if((c[a0+4+(aL*276|0)+144>>2]|0)>(c[L>>2]|0)){bJ=0.0}else{bd=+g[a0+4+(aL*276|0)+88>>2]*(-0.0-a5);if(bd>0.0){bJ=bd;break}bJ=0.0}}while(0);do{if((c[ab>>2]&4|0)==0){g[aE+(aI*136|0)+84>>2]=0.0}else{bd=+g[a0+4+(aL*276|0)+112>>2]*+g[I>>2];aJ=aE+(aI*136|0)+84|0;g[aJ>>2]=bd;do{if(as){ba=+g[aA+336>>2];if(ba==0.0){break}a8=bd*ba*+g[aE+(aI*136|0)+20>>2]*+g[aA+344>>2];a4=bd*ba*+g[aE+(aI*136|0)+24>>2]*+g[aA+348>>2];au=aA+504|0;g[au>>2]=+g[au>>2]+bd*ba*+g[bw>>2]*+g[aA+340>>2];au=aA+508|0;g[au>>2]=a8+ +g[au>>2];au=aA+512|0;g[au>>2]=a4+ +g[au>>2];a4=bd*+g[aA+540>>2]*+g[ak>>2];a8=bd*+g[aA+544>>2]*+g[at>>2];au=aA+520|0;g[au>>2]=bd*+g[aA+536>>2]*+g[aq>>2]+ +g[au>>2];au=aA+524|0;g[au>>2]=a4+ +g[au>>2];au=aA+528|0;g[au>>2]=a8+ +g[au>>2]}}while(0);if(!ar){break}bd=+g[az+336>>2];a8=-0.0- +g[aJ>>2];if(bd==0.0){break}a4=-0.0- +g[a1>>2];ba=-0.0- +g[ao>>2];aw=-0.0- +g[ap>>2];bc=bd*+g[aE+(aI*136|0)+20>>2]*+g[az+344>>2]*a8;a9=bd*+g[aE+(aI*136|0)+24>>2]*+g[az+348>>2]*a8;aH=az+504|0;g[aH>>2]=+g[aH>>2]+bd*+g[bw>>2]*+g[az+340>>2]*a8;aH=az+508|0;g[aH>>2]=bc+ +g[aH>>2];aH=az+512|0;g[aH>>2]=a9+ +g[aH>>2];a9=+g[az+540>>2]*a8*ba;ba=+g[az+544>>2]*a8*a4;aH=az+520|0;g[aH>>2]=+g[az+536>>2]*a8*aw+ +g[aH>>2];aH=az+524|0;g[aH>>2]=a9+ +g[aH>>2];aH=az+528|0;g[aH>>2]=ba+ +g[aH>>2]}}while(0);g[aE+(aI*136|0)+80>>2]=0.0;if(as){bK=+g[aA+304>>2];bL=+g[aA+308>>2];bM=+g[aA+312>>2]}else{bK=0.0;bL=0.0;bM=0.0}ba=+g[bw>>2];a9=+g[aE+(aI*136|0)+20>>2];aw=+g[aE+(aI*136|0)+24>>2];if(as){bN=+g[aA+320>>2];bO=+g[aA+324>>2];bP=+g[aA+328>>2]}else{bN=0.0;bO=0.0;bP=0.0}if(ar){bQ=+g[az+320>>2];bR=+g[az+324>>2];bS=+g[az+328>>2];bT=+g[az+304>>2]*ba+ +g[az+308>>2]*a9+ +g[az+312>>2]*aw}else{bQ=0.0;bR=0.0;bS=0.0;bT=ba*0.0+a9*0.0+aw*0.0}a8=bJ-(bK*ba+bL*a9+bM*aw+(bN*+g[by>>2]+bO*+g[bx>>2]+bP*+g[ay>>2])+(bQ*+g[bz>>2]+bR*+g[bA>>2]+bS*+g[bB>>2]-bT));if(a6>0.0){bU=a8-a6/+g[J>>2];bV=0.0}else{bU=a8;bV=+g[C>>2]*(-0.0-a6)/+g[J>>2]}a8=+g[a2>>2];aw=bV*a8;a9=bU*a8;do{if((c[x>>2]|0)==0){bg=4798}else{if(a6>+g[y>>2]){bg=4798;break}g[aE+(aI*136|0)+116>>2]=a9;g[aE+(aI*136|0)+132>>2]=aw}}while(0);if((bg|0)==4798){bg=0;g[aE+(aI*136|0)+116>>2]=aw+a9;g[aE+(aI*136|0)+132>>2]=0.0}g[aE+(aI*136|0)+120>>2]=0.0;g[aE+(aI*136|0)+124>>2]=0.0;g[aE+(aI*136|0)+128>>2]=1.0e10;a2=aE+(aI*136|0)+100|0;c[a2>>2]=c[ac>>2];do{if((c[ab>>2]&32|0)==0){bg=4802}else{if((a[a0+4+(aL*276|0)+116|0]&1)==0){bg=4802;break}aqh(b,a0+4+(aL*276|0)+148|0,aI,aV,t,u,aY,aW,1.0,+g[a0+4+(aL*276|0)+128>>2],+g[a0+4+(aL*276|0)+136>>2]);if((c[ab>>2]&16|0)==0){break}aqh(b,a0+4+(aL*276|0)+164|0,aI,aV,t,u,aY,aW,1.0,+g[a0+4+(aL*276|0)+132>>2],+g[a0+4+(aL*276|0)+140>>2])}}while(0);do{if((bg|0)==4802){bg=0;aE=a0+4+(aL*276|0)+148|0;a9=+g[a0+4+(aL*276|0)+64>>2];aw=+g[aG>>2];a6=+g[av>>2];a8=a7-a9*a5;ba=bb-a5*aw;a4=a3-a5*a6;g[a0+4+(aL*276|0)+148>>2]=a8;bB=a0+4+(aL*276|0)+152|0;g[bB>>2]=ba;bA=a0+4+(aL*276|0)+156|0;g[bA>>2]=a4;g[a0+4+(aL*276|0)+160>>2]=0.0;bz=aE|0;bc=a8*a8+ba*ba+a4*a4;if((c[ab>>2]&64|0)==0&bc>1.1920928955078125e-7){bd=1.0/+Q(+bc);bc=a8*bd;g[bz>>2]=bc;a8=bd*ba;g[bB>>2]=a8;ba=bd*a4;g[bA>>2]=ba;if((c[ab>>2]&16|0)!=0){ay=a0+4+(aL*276|0)+164|0;a4=a8*a6-ba*aw;bd=ba*a9-a6*bc;ba=aw*bc-a8*a9;g[a0+4+(aL*276|0)+164>>2]=a4;g[a0+4+(aL*276|0)+176>>2]=0.0;a8=1.0/+Q(+(a4*a4+bd*bd+ba*ba));g[ay>>2]=a4*a8;g[a0+4+(aL*276|0)+168>>2]=bd*a8;g[a0+4+(aL*276|0)+172>>2]=ba*a8;aqg(aY,ay);aqg(aW,ay);aqh(b,ay,aI,aV,t,u,aY,aW,1.0,0.0,0.0)}aqg(aY,aE);aqg(aW,aE);aqh(b,aE,aI,aV,t,u,aY,aW,1.0,0.0,0.0);a[a0+4+(aL*276|0)+116|0]=1;break}ay=a0+4+(aL*276|0)+164|0;if(+P(+a6)>.7071067690849304){a8=a6*a6+aw*aw;ba=1.0/+Q(+a8);g[bz>>2]=0.0;bd=ba*(-0.0-a6);g[bB>>2]=bd;a4=ba*aw;g[bA>>2]=a4;g[ay>>2]=a8*ba;g[a0+4+(aL*276|0)+168>>2]=a4*(-0.0-a9);g[a0+4+(aL*276|0)+172>>2]=a9*bd}else{bd=a9*a9+aw*aw;a4=1.0/+Q(+bd);ba=a4*(-0.0-aw);g[bz>>2]=ba;aw=a4*a9;g[bB>>2]=aw;g[bA>>2]=0.0;g[ay>>2]=aw*(-0.0-a6);g[a0+4+(aL*276|0)+168>>2]=a6*ba;g[a0+4+(aL*276|0)+172>>2]=bd*a4}if((c[ab>>2]&16|0)!=0){aqg(aY,ay);aqg(aW,ay);aqh(b,ay,aI,aV,t,u,aY,aW,1.0,0.0,0.0)}aqg(aY,aE);aqg(aW,aE);aqh(b,aE,aI,aV,t,u,aY,aW,1.0,0.0,0.0);a[a0+4+(aL*276|0)+116|0]=1}}while(0);aV=c[ab>>2]|0;aI=c[a2>>2]|0;av=c[G>>2]|0;do{if((aV&8|0)==0){g[av+(aI*136|0)+84>>2]=0.0;if((c[ab>>2]&16|0)==0){break}g[(c[G>>2]|0)+(((c[a2>>2]|0)+1|0)*136|0)+84>>2]=0.0}else{do{if((aV&4|0)==0){g[av+(aI*136|0)+84>>2]=0.0}else{a5=+g[a0+4+(aL*276|0)+120>>2]*+g[I>>2];aG=av+(aI*136|0)+84|0;g[aG>>2]=a5;do{if(!aC){a3=+g[aD+336>>2];if(a3==0.0){break}bb=a5*a3*+g[av+(aI*136|0)+20>>2]*+g[aD+344>>2];a7=a5*a3*+g[av+(aI*136|0)+24>>2]*+g[aD+348>>2];aE=aD+504|0;g[aE>>2]=+g[aE>>2]+a5*a3*+g[av+(aI*136|0)+16>>2]*+g[aD+340>>2];aE=aD+508|0;g[aE>>2]=bb+ +g[aE>>2];aE=aD+512|0;g[aE>>2]=a7+ +g[aE>>2];a7=a5*+g[aD+540>>2]*+g[av+(aI*136|0)+52>>2];bb=a5*+g[aD+544>>2]*+g[av+(aI*136|0)+56>>2];aE=aD+520|0;g[aE>>2]=a5*+g[aD+536>>2]*+g[av+(aI*136|0)+48>>2]+ +g[aE>>2];aE=aD+524|0;g[aE>>2]=a7+ +g[aE>>2];aE=aD+528|0;g[aE>>2]=bb+ +g[aE>>2]}}while(0);if(aB){break}a5=+g[aF+336>>2];bb=-0.0- +g[aG>>2];if(a5==0.0){break}a7=-0.0- +g[av+(aI*136|0)+72>>2];a3=-0.0- +g[av+(aI*136|0)+68>>2];a4=-0.0- +g[av+(aI*136|0)+64>>2];bd=a5*+g[av+(aI*136|0)+20>>2]*+g[aF+344>>2]*bb;ba=a5*+g[av+(aI*136|0)+24>>2]*+g[aF+348>>2]*bb;aE=aF+504|0;g[aE>>2]=+g[aE>>2]+a5*+g[av+(aI*136|0)+16>>2]*+g[aF+340>>2]*bb;aE=aF+508|0;g[aE>>2]=bd+ +g[aE>>2];aE=aF+512|0;g[aE>>2]=ba+ +g[aE>>2];ba=+g[aF+540>>2]*bb*a3;a3=+g[aF+544>>2]*bb*a7;aE=aF+520|0;g[aE>>2]=+g[aF+536>>2]*bb*a4+ +g[aE>>2];aE=aF+524|0;g[aE>>2]=ba+ +g[aE>>2];aE=aF+528|0;g[aE>>2]=a3+ +g[aE>>2]}}while(0);aJ=c[ab>>2]|0;if((aJ&16|0)==0){break}aE=(c[a2>>2]|0)+1|0;ay=c[G>>2]|0;if((aJ&4|0)==0){g[ay+(aE*136|0)+84>>2]=0.0;break}a3=+g[a0+4+(aL*276|0)+124>>2]*+g[I>>2];aJ=ay+(aE*136|0)+84|0;g[aJ>>2]=a3;do{if(!aC){ba=+g[aD+336>>2];if(ba==0.0){break}a4=a3*ba*+g[ay+(aE*136|0)+20>>2];bb=a3*ba*+g[ay+(aE*136|0)+24>>2];bA=aD+504|0;g[bA>>2]=+g[bA>>2]+a3*ba*+g[ay+(aE*136|0)+16>>2];bA=aD+508|0;g[bA>>2]=a4+ +g[bA>>2];bA=aD+512|0;g[bA>>2]=bb+ +g[bA>>2];bb=a3*+g[aD+540>>2]*+g[ay+(aE*136|0)+52>>2];a4=a3*+g[aD+544>>2]*+g[ay+(aE*136|0)+56>>2];bA=aD+520|0;g[bA>>2]=a3*+g[aD+536>>2]*+g[ay+(aE*136|0)+48>>2]+ +g[bA>>2];bA=aD+524|0;g[bA>>2]=bb+ +g[bA>>2];bA=aD+528|0;g[bA>>2]=a4+ +g[bA>>2]}}while(0);if(aB){break}a3=+g[aF+336>>2];a4=-0.0- +g[aJ>>2];if(a3==0.0){break}bb=-0.0- +g[ay+(aE*136|0)+72>>2];ba=-0.0- +g[ay+(aE*136|0)+68>>2];a7=-0.0- +g[ay+(aE*136|0)+64>>2];bd=a3*+g[ay+(aE*136|0)+20>>2]*a4;a5=a3*+g[ay+(aE*136|0)+24>>2]*a4;bA=aF+504|0;g[bA>>2]=+g[bA>>2]+a3*+g[ay+(aE*136|0)+16>>2]*a4;bA=aF+508|0;g[bA>>2]=bd+ +g[bA>>2];bA=aF+512|0;g[bA>>2]=a5+ +g[bA>>2];a5=+g[aF+540>>2]*a4*ba;ba=+g[aF+544>>2]*a4*bb;bA=aF+520|0;g[bA>>2]=+g[aF+536>>2]*a4*a7+ +g[bA>>2];bA=aF+524|0;g[bA>>2]=a5+ +g[bA>>2];bA=aF+528|0;g[bA>>2]=ba+ +g[bA>>2]}}while(0);bh=c[aZ>>2]|0}aF=aL+1|0;if((aF|0)<(bh|0)){aL=aF;aK=bh}else{break}}}}while(0);a0=aj+1|0;if((a0|0)<(h|0)){aj=a0}else{bW=ai;bX=ac;break}}}else{bW=b+8|0;bX=b+48|0}ac=c[bW>>2]|0;ai=c[bX>>2]|0;aj=b+68|0;I=c[aj>>2]|0;if((I|0)<(ac|0)){G=b+72|0;if((c[G>>2]|0)<(ac|0)){if((ac|0)==0){bY=0;bZ=I}else{c[9806]=(c[9806]|0)+1;ab=aDx((ac<<2)+19|0)|0;if((ab|0)==0){b_=0}else{y=-(ab+4|0)&15;c[ab+y>>2]=ab;b_=ab+(y+4)|0}bY=b_;bZ=c[aj>>2]|0}y=b+76|0;if((bZ|0)>0){ab=0;do{x=bY+(ab<<2)|0;if((x|0)!=0){c[x>>2]=c[(c[y>>2]|0)+(ab<<2)>>2]}ab=ab+1|0;}while((ab|0)<(bZ|0))}ab=c[y>>2]|0;x=b+80|0;if((ab|0)!=0){if((a[x]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[ab-4>>2]|0)}c[y>>2]=0}a[x]=1;c[y>>2]=bY;c[G>>2]=ac;b$=y}else{b$=b+76|0}x=I;do{ab=(c[b$>>2]|0)+(x<<2)|0;if((ab|0)!=0){c[ab>>2]=0}x=x+1|0;}while((x|0)<(ac|0))}c[aj>>2]=ac;x=b+88|0;I=c[x>>2]|0;if((I|0)<(ai|0)){y=b+92|0;if((c[y>>2]|0)<(ai|0)){if((ai|0)==0){b0=0;b2=I}else{c[9806]=(c[9806]|0)+1;G=aDx((ai<<2)+19|0)|0;if((G|0)==0){b4=0}else{ab=-(G+4|0)&15;c[G+ab>>2]=G;b4=G+(ab+4)|0}b0=b4;b2=c[x>>2]|0}ab=b+96|0;if((b2|0)>0){G=0;do{J=b0+(G<<2)|0;if((J|0)!=0){c[J>>2]=c[(c[ab>>2]|0)+(G<<2)>>2]}G=G+1|0;}while((G|0)<(b2|0))}G=c[ab>>2]|0;aj=b+100|0;if((G|0)!=0){if((a[aj]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[G-4>>2]|0)}c[ab>>2]=0}a[aj]=1;c[ab>>2]=b0;c[y>>2]=ai;b5=ab}else{b5=b+96|0}aj=I;do{G=(c[b5>>2]|0)+(aj<<2)|0;if((G|0)!=0){c[G>>2]=0}aj=aj+1|0;}while((aj|0)<(ai|0))}c[x>>2]=ai;if((ac|0)>0){aj=b+76|0;I=0;do{c[(c[aj>>2]|0)+(I<<2)>>2]=I;I=I+1|0;}while((I|0)<(ac|0))}if((ai|0)<=0){break}ac=b+96|0;I=0;do{c[(c[ac>>2]|0)+(I<<2)>>2]=I;I=I+1|0;}while((I|0)<(ai|0))}}while(0);b=c[9152]|0;b5=b+16|0;b0=(c[b5>>2]|0)-1|0;c[b5>>2]=b0;if((b0|0)!=0){i=n;return+0.0}do{if((c[b+4>>2]|0)==0){b6=b}else{b3(m|0,0)|0;b0=c[10742]|0;b2=b+8|0;g[b2>>2]=+(((c[m+4>>2]|0)-(c[b0+4>>2]|0)+(((c[m>>2]|0)-(c[b0>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[b2>>2];if((c[b5>>2]|0)==0){b6=c[9152]|0;break}else{i=n;return+0.0}}}while(0);c[9152]=c[b6+20>>2];i=n;return+0.0}function aqj(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;if((c[i+44>>2]|0)==0){return}k=i+20|0;j=c[k>>2]|0;h=(j|0)>0;if((c[i+60>>2]&256|0)==0){if(!h){return}i=a+8|0;g=a+76|0;f=a+16|0;e=1;d=j;while(1){b=c[i>>2]|0;if((b|0)>0){l=0;do{m=c[(c[g>>2]|0)+(l<<2)>>2]|0;n=c[f>>2]|0;aqc(c[n+(m*136|0)+104>>2]|0,c[n+(m*136|0)+108>>2]|0,n+(m*136|0)|0);l=l+1|0;}while((l|0)<(b|0));o=c[k>>2]|0}else{o=d}if((e|0)>=(o|0)){break}e=e+1|0;d=o}return}else{if(!h){return}h=a+8|0;o=a+76|0;d=a+16|0;a=1;e=j;while(1){j=c[h>>2]|0;if((j|0)>0){f=0;do{g=c[(c[o>>2]|0)+(f<<2)>>2]|0;i=c[d>>2]|0;aqc(c[i+(g*136|0)+104>>2]|0,c[i+(g*136|0)+108>>2]|0,i+(g*136|0)|0);f=f+1|0;}while((f|0)<(j|0));p=c[k>>2]|0}else{p=e}if((a|0)>=(p|0)){break}a=a+1|0;e=p}return}}function aqk(a,b,d,e,f,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0;n=i;i=i+16|0;o=n|0;aDo(18008);di[c[(c[a>>2]|0)+24>>2]&63](a,b,d,e,f,h,j,k,l,m);m=k+20|0;if((c[m>>2]|0)>0){l=a+8|0;f=a+48|0;e=k+60|0;d=a+28|0;b=a+36|0;p=(j|0)>0;q=k+12|0;k=a+76|0;r=a+16|0;s=a+96|0;t=a+56|0;u=a+124|0;a=0;do{v=c[l>>2]|0;w=c[f>>2]|0;x=c[e>>2]|0;do{if((x&1|0)==0){y=x}else{if((a&7|0)!=0){y=x;break}if((v|0)>0){z=0;do{A=c[k>>2]|0;B=A+(z<<2)|0;C=c[B>>2]|0;z=z+1|0;D=(aa(c[u>>2]|0,1664525)|0)+1013904223|0;c[u>>2]=D;do{if(z>>>0<65537){E=D>>>16^D;if(z>>>0>=257){F=E;break}G=E>>>8^E;if(z>>>0>=17){F=G;break}E=G>>>4^G;if(z>>>0>=5){F=E;break}G=E>>>2^E;if(z>>>0>=3){F=G;break}F=G>>>1^G}else{F=D}}while(0);D=(F>>>0)%(z>>>0)|0;c[B>>2]=c[A+(D<<2)>>2];c[(c[k>>2]|0)+(D<<2)>>2]=C;}while((z|0)<(v|0))}if((w|0)>0){z=0;do{D=c[s>>2]|0;G=D+(z<<2)|0;E=c[G>>2]|0;z=z+1|0;H=(aa(c[u>>2]|0,1664525)|0)+1013904223|0;c[u>>2]=H;do{if(z>>>0<65537){I=H>>>16^H;if(z>>>0>=257){J=I;break}K=I>>>8^I;if(z>>>0>=17){J=K;break}I=K>>>4^K;if(z>>>0>=5){J=I;break}K=I>>>2^I;if(z>>>0>=3){J=K;break}J=K>>>1^K}else{J=H}}while(0);H=(J>>>0)%(z>>>0)|0;c[G>>2]=c[D+(H<<2)>>2];c[(c[s>>2]|0)+(H<<2)>>2]=E;}while((z|0)<(w|0))}y=c[e>>2]|0}}while(0);w=(c[d>>2]|0)>0;do{if((y&256|0)==0){if(w){v=0;do{x=c[b>>2]|0;aqa(c[x+(v*136|0)+104>>2]|0,c[x+(v*136|0)+108>>2]|0,x+(v*136|0)|0);v=v+1|0;}while((v|0)<(c[d>>2]|0))}if(p){v=0;do{x=c[h+(v<<2)>>2]|0;dw[c[(c[x>>2]|0)+24>>2]&127](x,c[x+24>>2]|0,c[x+28>>2]|0,+g[q>>2]);v=v+1|0;}while((v|0)<(j|0))}v=c[l>>2]|0;if((v|0)>0){x=0;do{z=c[(c[k>>2]|0)+(x<<2)>>2]|0;H=c[r>>2]|0;aqb(c[H+(z*136|0)+104>>2]|0,c[H+(z*136|0)+108>>2]|0,H+(z*136|0)|0);x=x+1|0;}while((x|0)<(v|0))}v=c[f>>2]|0;if((v|0)>0){L=0}else{break}do{x=c[(c[s>>2]|0)+(L<<2)>>2]|0;z=c[t>>2]|0;M=+g[(c[r>>2]|0)+((c[z+(x*136|0)+100>>2]|0)*136|0)+84>>2];if(M>0.0){N=M*+g[z+(x*136|0)+88>>2];g[z+(x*136|0)+124>>2]=-0.0-N;g[z+(x*136|0)+128>>2]=N;aqa(c[z+(x*136|0)+104>>2]|0,c[z+(x*136|0)+108>>2]|0,z+(x*136|0)|0)}L=L+1|0;}while((L|0)<(v|0))}else{if(w){v=0;do{x=c[b>>2]|0;aqa(c[x+(v*136|0)+104>>2]|0,c[x+(v*136|0)+108>>2]|0,x+(v*136|0)|0);v=v+1|0;}while((v|0)<(c[d>>2]|0))}if(p){v=0;do{x=c[h+(v<<2)>>2]|0;dw[c[(c[x>>2]|0)+24>>2]&127](x,c[x+24>>2]|0,c[x+28>>2]|0,+g[q>>2]);v=v+1|0;}while((v|0)<(j|0))}v=c[l>>2]|0;if((v|0)>0){x=0;do{z=c[(c[k>>2]|0)+(x<<2)>>2]|0;H=c[r>>2]|0;aqb(c[H+(z*136|0)+104>>2]|0,c[H+(z*136|0)+108>>2]|0,H+(z*136|0)|0);x=x+1|0;}while((x|0)<(v|0))}v=c[f>>2]|0;if((v|0)>0){O=0}else{break}do{x=c[(c[s>>2]|0)+(O<<2)>>2]|0;z=c[t>>2]|0;N=+g[(c[r>>2]|0)+((c[z+(x*136|0)+100>>2]|0)*136|0)+84>>2];if(N>0.0){M=N*+g[z+(x*136|0)+88>>2];g[z+(x*136|0)+124>>2]=-0.0-M;g[z+(x*136|0)+128>>2]=M;aqa(c[z+(x*136|0)+104>>2]|0,c[z+(x*136|0)+108>>2]|0,z+(x*136|0)|0)}O=O+1|0;}while((O|0)<(v|0))}}while(0);a=a+1|0;}while((a|0)<(c[m>>2]|0))}m=c[9152]|0;a=m+16|0;O=(c[a>>2]|0)-1|0;c[a>>2]=O;if((O|0)!=0){i=n;return+0.0}do{if((c[m+4>>2]|0)==0){P=m}else{b3(o|0,0)|0;O=c[10742]|0;r=m+8|0;g[r>>2]=+(((c[o+4>>2]|0)-(c[O+4>>2]|0)+(((c[o>>2]|0)-(c[O>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[r>>2];if((c[a>>2]|0)==0){P=c[9152]|0;break}else{i=n;return+0.0}}}while(0);c[9152]=c[P+20>>2];i=n;return+0.0}function aql(a,b,c){a=a|0;b=b|0;c=c|0;return}function aqm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function aqn(a){a=a|0;c[a+124>>2]=0;return}function aqo(b,d,e,f,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0;n=i;i=i+472|0;m=n|0;k=n+64|0;j=n+200|0;h=n+336|0;f=b+8|0;o=c[f>>2]|0;if((o|0)>0){p=b+16|0;q=l+60|0;r=b+56|0;s=0;do{t=c[p>>2]|0;u=c[t+(s*136|0)+112>>2]|0;g[u+112>>2]=+g[t+(s*136|0)+84>>2];if((c[q>>2]&8|0)!=0){v=t+(s*136|0)+100|0;g[u+120>>2]=+g[(c[r>>2]|0)+((c[v>>2]|0)*136|0)+84>>2];g[u+124>>2]=+g[(c[r>>2]|0)+(((c[v>>2]|0)+1|0)*136|0)+84>>2]}s=s+1|0;}while((s|0)<(o|0))}o=b+28|0;s=c[o>>2]|0;if((s|0)>0){r=b+36|0;q=0;do{p=c[r>>2]|0;v=c[p+(q*136|0)+112>>2]|0;u=p+(q*136|0)+84|0;g[v+32>>2]=+g[u>>2];if(+g[u>>2]>+g[v+16>>2]){a[v+20|0]=0}q=q+1|0;}while((q|0)<(s|0))}s=(e|0)>0;do{if((c[l+44>>2]|0)==0){if(s){w=0}else{break}do{q=c[d+(w<<2)>>2]|0;do{if(!((c[q+232>>2]&2|0)==0|(q|0)==0)){if(+g[q+336>>2]==0.0){break}r=q+304|0;v=q+308|0;x=+g[v>>2]+ +g[q+508>>2];u=q+312|0;y=+g[u>>2]+ +g[q+512>>2];g[r>>2]=+g[r>>2]+ +g[q+504>>2];g[v>>2]=x;g[u>>2]=y;g[q+316>>2]=0.0;u=q+320|0;v=q+324|0;y=+g[v>>2]+ +g[q+524>>2];r=q+328|0;x=+g[r>>2]+ +g[q+528>>2];g[u>>2]=+g[u>>2]+ +g[q+520>>2];g[v>>2]=y;g[r>>2]=x;g[q+332>>2]=0.0}}while(0);w=w+1|0;}while((w|0)<(e|0))}else{if(!s){break}q=l+12|0;r=m;v=m+16|0;u=m+32|0;p=m+48|0;t=0;do{z=c[d+(t<<2)>>2]|0;do{if(!((c[z+232>>2]&2|0)==0|(z|0)==0)){x=+g[q>>2];if(+g[z+336>>2]==0.0){break}A=z+304|0;B=z+308|0;y=+g[B>>2]+ +g[z+508>>2];C=z+312|0;D=+g[C>>2]+ +g[z+512>>2];g[A>>2]=+g[A>>2]+ +g[z+504>>2];g[B>>2]=y;g[C>>2]=D;g[z+316>>2]=0.0;C=z+320|0;B=z+324|0;D=+g[B>>2]+ +g[z+524>>2];A=z+328|0;y=+g[A>>2]+ +g[z+528>>2];g[C>>2]=+g[C>>2]+ +g[z+520>>2];g[B>>2]=D;g[A>>2]=y;g[z+332>>2]=0.0;A=z+4|0;anY(A,+g[z+568>>2],+g[z+572>>2],+g[z+576>>2],z+584|0,x,m);B=A;c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];B=z+20|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];c[B+8>>2]=c[v+8>>2];c[B+12>>2]=c[v+12>>2];B=z+36|0;c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];B=z+52|0;c[B>>2]=c[p>>2];c[B+4>>2]=c[p+4>>2];c[B+8>>2]=c[p+8>>2];c[B+12>>2]=c[p+12>>2]}}while(0);t=t+1|0;}while((t|0)<(e|0))}}while(0);e=k;aDD(e|0,0,136);k=c[f>>2]|0;if((k|0)<0){m=b+12|0;d=b+16|0;if((c[m>>2]|0)<0){l=c[d>>2]|0;s=b+20|0;if((l|0)!=0){if((a[s]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-136+132>>2]|0)}c[d>>2]=0}a[s]=1;c[d>>2]=0;c[m>>2]=0;E=k}else{E=k}do{k=(c[d>>2]|0)+(E*136|0)|0;aDC(k|0,e|0,136)|0;E=E+1|0;}while((E|0)<0)}c[f>>2]=0;f=j;aDD(f|0,0,136);j=c[o>>2]|0;if((j|0)<0){E=b+32|0;e=b+36|0;if((c[E>>2]|0)<0){d=c[e>>2]|0;k=b+40|0;if((d|0)!=0){if((a[k]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-136+132>>2]|0)}c[e>>2]=0}a[k]=1;c[e>>2]=0;c[E>>2]=0;F=j}else{F=j}do{j=(c[e>>2]|0)+(F*136|0)|0;aDC(j|0,f|0,136)|0;F=F+1|0;}while((F|0)<0)}c[o>>2]=0;o=h;aDD(o|0,0,136);h=b+48|0;F=c[h>>2]|0;if((F|0)>=0){c[h>>2]=0;i=n;return+0.0}f=b+52|0;e=b+56|0;if((c[f>>2]|0)<0){j=c[e>>2]|0;E=b+60|0;if((j|0)!=0){if((a[E]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-136+132>>2]|0)}c[e>>2]=0}a[E]=1;c[e>>2]=0;c[f>>2]=0;G=F}else{G=F}do{F=(c[e>>2]|0)+(G*136|0)|0;aDC(F|0,o|0,136)|0;G=G+1|0;}while((G|0)<0);c[h>>2]=0;i=n;return+0.0}function aqp(b){b=b|0;var d=0;c[b>>2]=22176;do{if((a[b+176|0]&1)!=0){d=c[b+172>>2]|0;if((d|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}}while(0);atA(b|0);if((b|0)==0){return}aDB(b);return}function aqq(b){b=b|0;var d=0;c[b>>2]=22176;do{if((a[b+176|0]&1)!=0){d=c[b+172>>2]|0;if((d|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}}while(0);atA(b|0);return}function aqr(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;d=i;i=i+136|0;f=d|0;h=d+64|0;j=a+8|0;k=c[j>>2]|0;if((k|0)>0){l=a+16|0;m=0;n=k;while(1){k=c[(c[l>>2]|0)+(m<<2)>>2]|0;do{if((c[k+232>>2]&2|0)==0){o=n}else{p=k;if((k|0)==0){o=n;break}q=c[k+204>>2]|0;if((q&1|0)!=0){o=n;break}r=c[k+216>>2]|0;if((r|0)==5|(r|0)==2){o=n;break}if((q&3|0)==0){e=+g[k+360>>2]*+g[k+344>>2];s=+g[k+364>>2]*+g[k+348>>2];q=k+404|0;g[q>>2]=+g[k+356>>2]*+g[k+340>>2]+ +g[q>>2];q=k+408|0;g[q>>2]=e+ +g[q>>2];q=k+412|0;g[q>>2]=s+ +g[q>>2]}ap5(p,b);ap3(p,b);anY(k+4|0,+g[k+304>>2],+g[k+308>>2],+g[k+312>>2],k+320|0,b,k+68|0);o=c[j>>2]|0}}while(0);k=m+1|0;if((k|0)<(o|0)){m=k;n=o}else{break}}}o=a|0;g[a+28>>2]=b;c[a+32>>2]=0;c[a+48>>2]=cA[c[(c[a>>2]|0)+16>>2]&4095](o)|0;ct[c[(c[a>>2]|0)+40>>2]&2047](o);o=a+24|0;n=c[o>>2]|0;m=cA[c[(c[n>>2]|0)+36>>2]&4095](n)|0;if((m|0)!=0){n=c[o>>2]|0;l=cA[c[(c[n>>2]|0)+44>>2]&4095](n)|0;g[h>>2]=.6000000238418579;g[h+4>>2]=1.0;g[h+8>>2]=.30000001192092896;g[h+16>>2]=0.0;g[h+24>>2]=20.0;c[h+20>>2]=10;g[h+32>>2]=.20000000298023224;g[h+36>>2]=.10000000149011612;g[h+40>>2]=0.0;g[h+28>>2]=1.0;c[h+44>>2]=0;g[h+48>>2]=-.019999999552965164;g[h+52>>2]=0.0;g[h+56>>2]=.8500000238418579;c[h+60>>2]=260;c[h+64>>2]=2;c[h+68>>2]=128;g[h+12>>2]=b;n=a+172|0;k=c[n>>2]|0;dA[c[(c[k>>2]|0)+8>>2]&511](k,0,m);k=c[n>>2]|0;p=c[(c[k>>2]|0)+12>>2]|0;q=c[a+16>>2]|0;r=c[j>>2]|0;t=a+80|0;u=c[t>>2]|0;v=a+72|0;w=c[v>>2]|0;x=c[o>>2]|0;+cN[p&63](k,q,r,l,m,0,0,h,u,w,x);x=c[n>>2]|0;dI[c[(c[x>>2]|0)+16>>2]&1023](x,h,c[t>>2]|0,c[v>>2]|0)}v=c[j>>2]|0;if((v|0)<=0){y=a;z=c[y>>2]|0;A=z+8|0;B=c[A>>2]|0;ct[B&2047](a);C=c[y>>2]|0;D=C+76|0;E=c[D>>2]|0;ct[E&2047](a);F=c[y>>2]|0;G=F+116|0;H=c[G>>2]|0;ct[H&2047](a);i=d;return 1}t=a+16|0;h=0;x=v;while(1){v=c[(c[t>>2]|0)+(h<<2)>>2]|0;do{if((c[v+232>>2]&2|0)==0){I=x}else{if((v|0)==0){I=x;break}n=c[v+216>>2]|0;if((n|0)==5|(n|0)==2){I=x;break}if((c[v+204>>2]&1|0)!=0){I=x;break}anY(v+4|0,+g[v+304>>2],+g[v+308>>2],+g[v+312>>2],v+320|0,b,f);ap4(v,f);I=c[j>>2]|0}}while(0);v=h+1|0;if((v|0)<(I|0)){h=v;x=I}else{break}}y=a;z=c[y>>2]|0;A=z+8|0;B=c[A>>2]|0;ct[B&2047](a);C=c[y>>2]|0;D=C+76|0;E=c[D>>2]|0;ct[E&2047](a);F=c[y>>2]|0;G=F+116|0;H=c[G>>2]|0;ct[H&2047](a);i=d;return 1}function aqs(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0;n=i;i=i+16|0;o=n+8|0;aDo(17448);p=a;+c7[c[(c[p>>2]|0)+32>>2]&63](a,b,d,e,f,h,j,k,l,m);+c7[c[(c[p>>2]|0)+36>>2]&63](a,b,d,e,f,h,j,k,l,m);+c7[c[(c[p>>2]|0)+28>>2]&63](a,b,d,e,f,h,j,k,l,m);m=c[9152]|0;l=m+16|0;k=(c[l>>2]|0)-1|0;c[l>>2]=k;if((k|0)!=0){i=n;return+0.0}do{if((c[m+4>>2]|0)==0){q=m}else{b3(o|0,0)|0;k=c[10742]|0;j=m+8|0;g[j>>2]=+(((c[o+4>>2]|0)-(c[k+4>>2]|0)+(((c[o>>2]|0)-(c[k>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[j>>2];if((c[l>>2]|0)==0){q=c[9152]|0;break}else{i=n;return+0.0}}}while(0);c[9152]=c[q+20>>2];i=n;return+0.0}function aqt(a){a=a|0;return}function aqu(a,b){a=a|0;b=b|0;return}function aqv(a,b){a=a|0;b=b|0;return}function aqw(a,b,c){a=a|0;b=b|0;c=c|0;return}function aqx(a,b){a=a|0;b=b|0;return}function aqy(a){a=a|0;return 0}function aqz(a,b){a=a|0;b=b|0;return 0}function aqA(a,b){a=a|0;b=b|0;return 0}function aqB(a){a=a|0;return 1}function aqC(a,b){a=a|0;b=b|0;return}function aqD(a,b){a=a|0;b=b|0;return}function aqE(a,b){a=a|0;b=b|0;return}function aqF(a,b){a=a|0;b=b|0;return}function aqG(a){a=a|0;return c[a+172>>2]|0}function aqH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+8|0;d=c[b>>2]|0;if((d|0)<=0){return}e=a+16|0;a=0;f=d;while(1){d=c[(c[e>>2]|0)+(a<<2)>>2]|0;if((c[d+232>>2]&2|0)==0|(d|0)==0){g=f}else{aDD(d+404|0,0,32);g=c[b>>2]|0}d=a+1|0;if((d|0)<(g|0)){a=d;f=g}else{break}}return}function aqI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0;d=a+180|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=a+8|0;f=c[d>>2]|0;if((f|0)<=0){return}h=a+16|0;a=b|0;i=b+4|0;j=b+8|0;b=0;k=f;while(1){f=c[(c[h>>2]|0)+(b<<2)>>2]|0;if((c[f+232>>2]&2|0)==0|(f|0)==0){l=k}else{m=+g[f+336>>2];if(m!=0.0){n=1.0/m;m=n*+g[i>>2];o=n*+g[j>>2];g[f+356>>2]=n*+g[a>>2];g[f+360>>2]=m;g[f+364>>2]=o;g[f+368>>2]=0.0}p=f+372|0;c[p>>2]=c[e>>2];c[p+4>>2]=c[e+4>>2];c[p+8>>2]=c[e+8>>2];c[p+12>>2]=c[e+12>>2];l=c[d>>2]|0}p=b+1|0;if((p|0)<(l|0)){b=p;k=l}else{break}}return}function aqJ(a,b){a=a|0;b=b|0;var d=0;d=a;a=b+180|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function aqK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b|0;e=b+188|0;b=c[e>>2]|0;if((b|0)!=0){f=a+76|0;g=c[f>>2]|0;h=cA[c[(c[g>>2]|0)+36>>2]&4095](g)|0;g=a+24|0;dA[c[(c[h>>2]|0)+40>>2]&511](h,b,c[g>>2]|0);h=c[f>>2]|0;dA[c[(c[h>>2]|0)+12>>2]&511](h,b,c[g>>2]|0);c[e>>2]=0}e=a+8|0;g=c[e>>2]|0;b=a+16|0;a=0;while(1){if((a|0)>=(g|0)){i=5136;break}j=c[b>>2]|0;k=j+(a<<2)|0;if((c[k>>2]|0)==(d|0)){break}else{a=a+1|0}}if((i|0)==5136){return}i=g-1|0;c[k>>2]=c[j+(i<<2)>>2];c[(c[b>>2]|0)+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)-1;return}function aqL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!((c[b+232>>2]&2|0)==0|(b|0)==0)){cv[c[(c[a>>2]|0)+88>>2]&2047](a,b);return}d=b+188|0;e=c[d>>2]|0;if((e|0)!=0){f=a+76|0;g=c[f>>2]|0;h=cA[c[(c[g>>2]|0)+36>>2]&4095](g)|0;g=a+24|0;dA[c[(c[h>>2]|0)+40>>2]&511](h,e,c[g>>2]|0);h=c[f>>2]|0;dA[c[(c[h>>2]|0)+12>>2]&511](h,e,c[g>>2]|0);c[d>>2]=0}d=a+8|0;g=c[d>>2]|0;e=a+16|0;a=0;while(1){if((a|0)>=(g|0)){i=5148;break}j=c[e>>2]|0;k=j+(a<<2)|0;if((c[k>>2]|0)==(b|0)){break}else{a=a+1|0}}if((i|0)==5148){return}i=g-1|0;c[k>>2]=c[j+(i<<2)>>2];c[(c[e>>2]|0)+(i<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)-1;return}function aqM(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0,j=0;d=a+180|0;e=+g[b+336>>2];if(e!=0.0){f=1.0/e;e=f*+g[a+184>>2];h=f*+g[a+188>>2];g[b+356>>2]=f*+g[d>>2];g[b+360>>2]=e;g[b+364>>2]=h;g[b+368>>2]=0.0}i=b+372|0;j=d;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if((c[b+192>>2]|0)==0){return}dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b|0,1,-1);return}function aqN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0,l=0;f=a+180|0;h=+g[b+336>>2];if(h!=0.0){i=1.0/h;h=i*+g[a+184>>2];j=i*+g[a+188>>2];g[b+356>>2]=i*+g[f>>2];g[b+360>>2]=h;g[b+364>>2]=j;g[b+368>>2]=0.0}k=b+372|0;l=f;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];if((c[b+192>>2]|0)==0){return}dI[c[(c[a>>2]|0)+32>>2]&1023](a|0,b|0,d,e);return}function aqO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+32|0;d=b|0;e=b+16|0;f=a+8|0;g=c[f>>2]|0;if((g|0)<=0){i=b;return}h=a+16|0;j=a+76|0;k=a+24|0;a=0;l=g;while(1){g=c[(c[h>>2]|0)+(a<<2)>>2]|0;do{if((c[g+232>>2]&2|0)==0|(g|0)==0){m=l}else{n=c[g+216>>2]|0;if((n|0)==5|(n|0)==2){m=l;break}if((c[g+204>>2]&1|0)!=0){m=l;break}n=c[g+192>>2]|0;dI[c[(c[n>>2]|0)+8>>2]&1023](n,g+4|0,d,e);n=c[j>>2]|0;co[c[(c[n>>2]|0)+16>>2]&255](n,c[g+188>>2]|0,d,e,c[k>>2]|0);m=c[f>>2]|0}}while(0);g=a+1|0;if((g|0)<(m|0)){a=g;l=m}else{break}}i=b;return}function aqP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;d=c[b>>2]|0;if((d|0)<=0){return}e=a+16|0;a=0;f=d;while(1){d=c[(c[e>>2]|0)+(a<<2)>>2]|0;do{if((c[d+232>>2]&2|0)==0|(d|0)==0){g=f}else{h=c[d+472>>2]|0;if((h|0)==0){g=f;break}if((c[d+216>>2]|0)==2){g=f;break}cv[c[(c[h>>2]|0)+12>>2]&2047](h,d+4|0);g=c[b>>2]|0}}while(0);d=a+1|0;if((d|0)<(g|0)){a=d;f=g}else{break}}return}function aqQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+176|0;f=b+172|0;do{if((a[e]&1)!=0){b=c[f>>2]|0;if((b|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0)}}while(0);a[e]=0;c[f>>2]=d;return} +function aqR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=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.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0,aq=0,ar=0,as=0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0;f=i;i=i+448|0;h=f|0;j=f+48|0;k=f+96|0;l=f+144|0;m=f+192|0;n=f+256|0;o=f+320|0;p=f+384|0;q=b+172|0;do{if((a[q]&1)==0){if((a[b+40|0]&1)==0){r=3;break}s=b+816|0;t=j;anx(j,e|0,b+108|0);u=+g[b+156>>2];v=+g[b+160>>2];w=+g[b+164>>2];x=+g[e>>2]*u+ +g[e+4>>2]*v+ +g[e+8>>2]*w+ +g[e+48>>2];y=+g[e+16>>2]*u+ +g[e+20>>2]*v+ +g[e+24>>2]*w+ +g[e+52>>2];z=+g[e+32>>2]*u+ +g[e+36>>2]*v+ +g[e+40>>2]*w+ +g[e+56>>2];A=o+48|0;B=o|0;do{B=B+16|0;}while((B|0)!=(A|0));A=o;c[A>>2]=c[t>>2];c[A+4>>2]=c[t+4>>2];c[A+8>>2]=c[t+8>>2];c[A+12>>2]=c[t+12>>2];B=o+16|0;C=j+16|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];c[B+8>>2]=c[C+8>>2];c[B+12>>2]=c[C+12>>2];C=o+32|0;D=j+32|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];g[o+48>>2]=x;g[o+52>>2]=y;g[o+56>>2]=z;g[o+60>>2]=0.0;D=s;c[D>>2]=c[A>>2];c[D+4>>2]=c[A+4>>2];c[D+8>>2]=c[A+8>>2];c[D+12>>2]=c[A+12>>2];A=b+832|0;c[A>>2]=c[B>>2];c[A+4>>2]=c[B+4>>2];c[A+8>>2]=c[B+8>>2];c[A+12>>2]=c[B+12>>2];B=b+848|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];c[B+8>>2]=c[C+8>>2];c[B+12>>2]=c[C+12>>2];C=b+864|0;B=o+48|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];B=b+880|0;C=h;anx(h,d|0,b+44|0);w=+g[b+92>>2];v=+g[b+96>>2];u=+g[b+100>>2];E=+g[d>>2]*w+ +g[d+4>>2]*v+ +g[d+8>>2]*u+ +g[d+48>>2];F=+g[d+16>>2]*w+ +g[d+20>>2]*v+ +g[d+24>>2]*u+ +g[d+52>>2];G=+g[d+32>>2]*w+ +g[d+36>>2]*v+ +g[d+40>>2]*u+ +g[d+56>>2];A=p+48|0;D=p|0;do{D=D+16|0;}while((D|0)!=(A|0));A=p;c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];c[A+8>>2]=c[C+8>>2];c[A+12>>2]=c[C+12>>2];D=p+16|0;s=h+16|0;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];s=p+32|0;t=h+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];g[p+48>>2]=E;g[p+52>>2]=F;g[p+56>>2]=G;g[p+60>>2]=0.0;t=B;c[t>>2]=c[A>>2];c[t+4>>2]=c[A+4>>2];c[t+8>>2]=c[A+8>>2];c[t+12>>2]=c[A+12>>2];A=b+896|0;c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];c[A+8>>2]=c[D+8>>2];c[A+12>>2]=c[D+12>>2];D=b+912|0;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];s=b+928|0;D=p+48|0;c[s>>2]=c[D>>2];c[s+4>>2]=c[D+4>>2];c[s+8>>2]=c[D+8>>2];c[s+12>>2]=c[D+12>>2]}else{r=3}}while(0);if((r|0)==3){r=b+816|0;p=l;anx(l,d|0,b+44|0);z=+g[b+92>>2];y=+g[b+96>>2];x=+g[b+100>>2];u=+g[d>>2]*z+ +g[d+4>>2]*y+ +g[d+8>>2]*x+ +g[d+48>>2];v=+g[d+16>>2]*z+ +g[d+20>>2]*y+ +g[d+24>>2]*x+ +g[d+52>>2];w=+g[d+32>>2]*z+ +g[d+36>>2]*y+ +g[d+40>>2]*x+ +g[d+56>>2];d=m+48|0;h=m|0;do{h=h+16|0;}while((h|0)!=(d|0));d=m;c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];p=m+16|0;h=l+16|0;c[p>>2]=c[h>>2];c[p+4>>2]=c[h+4>>2];c[p+8>>2]=c[h+8>>2];c[p+12>>2]=c[h+12>>2];h=m+32|0;o=l+32|0;c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];c[h+12>>2]=c[o+12>>2];g[m+48>>2]=u;g[m+52>>2]=v;g[m+56>>2]=w;g[m+60>>2]=0.0;o=r;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];d=b+832|0;c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];p=b+848|0;c[p>>2]=c[h>>2];c[p+4>>2]=c[h+4>>2];c[p+8>>2]=c[h+8>>2];c[p+12>>2]=c[h+12>>2];h=b+864|0;p=m+48|0;c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];c[h+8>>2]=c[p+8>>2];c[h+12>>2]=c[p+12>>2];p=b+880|0;h=k;anx(k,e|0,b+108|0);w=+g[b+156>>2];v=+g[b+160>>2];u=+g[b+164>>2];x=+g[e>>2]*w+ +g[e+4>>2]*v+ +g[e+8>>2]*u+ +g[e+48>>2];y=+g[e+16>>2]*w+ +g[e+20>>2]*v+ +g[e+24>>2]*u+ +g[e+52>>2];z=+g[e+32>>2]*w+ +g[e+36>>2]*v+ +g[e+40>>2]*u+ +g[e+56>>2];e=n+48|0;m=n|0;do{m=m+16|0;}while((m|0)!=(e|0));e=n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=n+16|0;m=k+16|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];m=n+32|0;d=k+32|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];g[n+48>>2]=x;g[n+52>>2]=y;g[n+56>>2]=z;g[n+60>>2]=0.0;d=p;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=b+896|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=b+912|0;c[h>>2]=c[m>>2];c[h+4>>2]=c[m+4>>2];c[h+8>>2]=c[m+8>>2];c[h+12>>2]=c[m+12>>2];m=b+928|0;h=n+48|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2]}h=b+960|0;m=h;n=b+864|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=b+976|0;m=n;e=b+928|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];z=+g[b+816>>2];y=+g[b+832>>2];x=+g[b+848>>2];g[b+944>>2]=z;g[b+948>>2]=y;g[b+952>>2]=x;g[b+956>>2]=0.0;do{if((a[q]&1)==0){if((a[b+40|0]&1)!=0){break}u=+g[h>>2];v=u- +g[n>>2];w=+g[b+964>>2];H=w- +g[b+980>>2];I=+g[b+968>>2];J=I- +g[b+984>>2];g[b+1008>>2]=v;g[b+1012>>2]=H;g[b+1016>>2]=J;g[b+1020>>2]=0.0;K=v;L=H;M=J;N=u;O=w;P=I;Q=z*K;R=y*L;S=Q+R;T=x*M;U=S+T;V=z*U;W=y*U;X=x*U;Y=N+V;Z=O+W;_=P+X;$=b+992|0;g[$>>2]=Y;aa=b+996|0;g[aa>>2]=Z;ab=b+1e3|0;g[ab>>2]=_;ac=b+1004|0;g[ac>>2]=0.0;ad=b+1024|0;g[ad>>2]=U;ae=b+820|0;af=b+836|0;ag=b+852|0;ah=+g[ae>>2];ai=+g[af>>2];aj=+g[ag>>2];ak=ah*K;al=ai*L;am=ak+al;an=aj*M;ao=am+an;ap=b+1028|0;g[ap>>2]=ao;aq=b+824|0;ar=b+840|0;as=b+856|0;at=+g[aq>>2];au=+g[ar>>2];av=+g[as>>2];aw=at*K;ax=au*L;ay=aw+ax;az=av*M;aA=ay+az;aB=b+1032|0;g[aB>>2]=aA;i=f;return}}while(0);I=+g[h>>2];w=+g[n>>2]-I;u=+g[b+964>>2];J=+g[b+980>>2]-u;H=+g[b+968>>2];v=+g[b+984>>2]-H;g[b+1008>>2]=w;g[b+1012>>2]=J;g[b+1016>>2]=v;g[b+1020>>2]=0.0;K=w;L=J;M=v;N=I;O=u;P=H;Q=z*K;R=y*L;S=Q+R;T=x*M;U=S+T;V=z*U;W=y*U;X=x*U;Y=N+V;Z=O+W;_=P+X;$=b+992|0;g[$>>2]=Y;aa=b+996|0;g[aa>>2]=Z;ab=b+1e3|0;g[ab>>2]=_;ac=b+1004|0;g[ac>>2]=0.0;ad=b+1024|0;g[ad>>2]=U;ae=b+820|0;af=b+836|0;ag=b+852|0;ah=+g[ae>>2];ai=+g[af>>2];aj=+g[ag>>2];ak=ah*K;al=ai*L;am=ak+al;an=aj*M;ao=am+an;ap=b+1028|0;g[ap>>2]=ao;aq=b+824|0;ar=b+840|0;as=b+856|0;at=+g[aq>>2];au=+g[ar>>2];av=+g[as>>2];aw=at*K;ax=au*L;ay=aw+ax;az=av*M;aA=ay+az;aB=b+1032|0;g[aB>>2]=aA;i=f;return}function aqS(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0;e=d|0;if((a[b+40|0]&1)!=0){c[e>>2]=0;c[d+4>>2]=0;return}c[e>>2]=4;f=d+4|0;c[f>>2]=2;aqR(b,(c[b+24>>2]|0)+4|0,(c[b+28>>2]|0)+4|0);aqT(b);d=b+288|0;a[d]=0;h=b+1024|0;i=+g[h>>2];g[b+1072>>2]=i;j=+g[b+176>>2];k=+g[b+180>>2];do{if(j>k){l=27}else{if(i>k){g[h>>2]=i-k;a[d]=1;l=28;break}if(i>=j){l=27;break}g[h>>2]=i-j;a[d]=1;l=28}}while(0);if((l|0)==27){g[h>>2]=0.0;if((a[b+1088|0]&1)!=0){l=28}}if((l|0)==28){c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)-1}do{if((a[b+289|0]&1)==0){if((a[b+1104|0]&1)!=0){break}return}}while(0);c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)-1;return}function aqT(b){b=b|0;var c=0,d=0,e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;c=b+1080|0;g[c>>2]=0.0;d=b+289|0;a[d]=0;e=b+184|0;f=+g[e>>2];h=b+188|0;i=+g[h>>2];if(f>i){return}j=+g[b+884>>2];k=+g[b+900>>2];l=+g[b+916>>2];m=+ao0(+Y(+(+g[b+824>>2]*j+ +g[b+840>>2]*k+ +g[b+856>>2]*l),+(+g[b+820>>2]*j+ +g[b+836>>2]*k+ +g[b+852>>2]*l)),f,i);g[b+1076>>2]=m;i=+g[e>>2];if(m>2]=m-i;a[d]=1;return}i=+g[h>>2];if(m<=i){return}g[c>>2]=m-i;a[d]=1;return}function aqU(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+24>>2]|0;e=c[a+28>>2]|0;aqV(a,b,d+4|0,e+4|0,d+304|0,e+304|0,+g[d+336>>2],+g[e+336>>2]);return}function aqV(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0,_=0,$=0.0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0,aH=0,aI=0.0,aJ=0.0,aK=0,aL=0.0,aM=0.0,aN=0.0;l=d+24|0;m=c[l>>2]|0;n=(a[b+172|0]&1)!=0?1.0:-1.0;o=b+928|0;p=b+864|0;q=+g[o>>2]- +g[p>>2];r=b+932|0;s=b+868|0;t=+g[r>>2]- +g[s>>2];u=b+936|0;v=b+872|0;w=+g[u>>2]- +g[v>>2];if(j<1.1920928955078125e-7){x=1}else{x=k<1.1920928955078125e-7}y=j+k;if(y>0.0){z=k/y}else{z=.5}y=1.0-z;k=+g[b+816>>2];j=+g[b+832>>2];A=+g[b+848>>2];B=+g[b+880>>2];C=+g[b+896>>2];D=+g[b+912>>2];E=b+41|0;do{if((a[E]&1)==0){F=k;G=j;H=A;I=+g[b+824>>2];J=+g[b+840>>2];K=+g[b+856>>2];L=+g[b+820>>2];M=+g[b+836>>2];N=+g[b+852>>2]}else{O=z*k+y*B;R=z*j+y*C;S=z*A+y*D;T=1.0/+Q(+(O*O+R*R+S*S));U=O*T;O=R*T;R=S*T;if(+P(+R)>.7071067690849304){T=R*R+O*O;S=1.0/+Q(+T);V=S*(-0.0-R);W=O*S;F=U;G=O;H=R;I=T*S;J=W*(-0.0-U);K=U*V;L=0.0;M=V;N=W;break}else{W=U*U+O*O;V=1.0/+Q(+W);S=V*(-0.0-O);T=U*V;F=U;G=O;H=R;I=T*(-0.0-R);J=R*S;K=W*V;L=S;M=T;N=0.0;break}}}while(0);X=d+12|0;g[c[X>>2]>>2]=L;g[(c[X>>2]|0)+4>>2]=M;g[(c[X>>2]|0)+8>>2]=N;g[(c[X>>2]|0)+(m<<2)>>2]=I;Y=m+1|0;g[(c[X>>2]|0)+(Y<<2)>>2]=J;Z=m+2|0;g[(c[X>>2]|0)+(Z<<2)>>2]=K;_=d+20|0;g[c[_>>2]>>2]=-0.0-L;g[(c[_>>2]|0)+4>>2]=-0.0-M;g[(c[_>>2]|0)+8>>2]=-0.0-N;g[(c[_>>2]|0)+(m<<2)>>2]=-0.0-I;g[(c[_>>2]|0)+(Y<<2)>>2]=-0.0-J;g[(c[_>>2]|0)+(Z<<2)>>2]=-0.0-K;Z=b+292|0;T=+g[b+272>>2];if((c[Z>>2]&128|0)==0){$=T*+g[d+4>>2]}else{$=T}Y=d|0;T=$*+g[Y>>2];$=j*D-A*C;S=A*B-k*D;D=k*C-j*B;ab=d+28|0;g[c[ab>>2]>>2]=T*($*L+S*M+D*N);g[(c[ab>>2]|0)+(m<<2)>>2]=T*($*I+S*J+D*K);if((c[Z>>2]&64|0)!=0){ac=b+284|0;ad=d+32|0;g[c[ad>>2]>>2]=+g[ac>>2];g[(c[ad>>2]|0)+(m<<2)>>2]=+g[ac>>2]}D=+g[e+48>>2];S=+g[e+52>>2];$=+g[e+56>>2];T=+g[f+48>>2];B=+g[f+52>>2];j=+g[f+56>>2];f=m<<1;e=m*3|0;if((a[E]&1)==0){C=T-D;k=B-S;A=j-$;V=k*N-A*M;W=A*L-C*N;R=C*M-k*L;g[(c[X>>2]|0)+(f<<2)>>2]=z*V;m=f|1;g[(c[X>>2]|0)+(m<<2)>>2]=z*W;ac=f+2|0;g[(c[X>>2]|0)+(ac<<2)>>2]=z*R;g[(c[_>>2]|0)+(f<<2)>>2]=y*V;g[(c[_>>2]|0)+(m<<2)>>2]=y*W;g[(c[_>>2]|0)+(ac<<2)>>2]=y*R;R=k*K-A*J;W=A*I-C*K;V=C*J-k*I;g[(c[X>>2]|0)+(e<<2)>>2]=z*R;ad=e+1|0;g[(c[X>>2]|0)+(ad<<2)>>2]=z*W;ae=e+2|0;g[(c[X>>2]|0)+(ae<<2)>>2]=z*V;g[(c[_>>2]|0)+(e<<2)>>2]=y*R;g[(c[_>>2]|0)+(ad<<2)>>2]=y*W;g[(c[_>>2]|0)+(ae<<2)>>2]=y*V;af=d+8|0;g[(c[af>>2]|0)+(f<<2)>>2]=L;g[(c[af>>2]|0)+(m<<2)>>2]=M;g[(c[af>>2]|0)+(ac<<2)>>2]=N;g[(c[af>>2]|0)+(e<<2)>>2]=I;g[(c[af>>2]|0)+(ad<<2)>>2]=J;g[(c[af>>2]|0)+(ae<<2)>>2]=K;ag=C;ah=k;ai=A;aj=0.0;ak=0.0;al=0.0;am=0.0;an=0.0;ao=0.0;ap=L;aq=M;ar=N;as=I;at=J;au=K}else{K=+g[o>>2]-T;T=+g[r>>2]-B;B=+g[u>>2]-j;j=F*K+G*T+H*B;J=F*j;I=G*j;N=H*j;j=K-J;K=T-I;T=B-N;B=+g[p>>2]-D;D=+g[s>>2]-S;S=+g[v>>2]-$;$=F*B+G*D+H*S;M=F*$;L=G*$;A=H*$;$=B-M;B=D-L;D=S-A;S=+g[b+1072>>2]- +g[b+1024>>2];k=M+F*S-J;J=L+G*S-I;I=A+H*S-N;N=$+z*k;S=B+z*J;A=D+z*I;L=j-y*k;k=K-y*J;J=T-y*I;I=z*j+y*$;$=z*K+y*B;B=z*T+y*D;D=I*I+$*$+B*B;if(D>1.1920928955078125e-7){T=1.0/+Q(+D);av=T*B;aw=T*$;ax=I*T}else{av=+g[b+852>>2];aw=+g[b+836>>2];ax=+g[b+820>>2]}T=G*av-H*aw;I=H*ax-F*av;$=F*aw-G*ax;g[(c[X>>2]|0)+(f<<2)>>2]=S*av-A*aw;v=f|1;g[(c[X>>2]|0)+(v<<2)>>2]=A*ax-N*av;s=f+2|0;g[(c[X>>2]|0)+(s<<2)>>2]=N*aw-S*ax;g[(c[_>>2]|0)+(f<<2)>>2]=-0.0-(k*av-J*aw);g[(c[_>>2]|0)+(v<<2)>>2]=-0.0-(J*ax-L*av);g[(c[_>>2]|0)+(s<<2)>>2]=-0.0-(L*aw-k*ax);B=S*$-A*I;D=A*T-N*$;K=N*I-S*T;j=k*$-J*I;M=J*T-L*$;C=L*I-k*T;do{if(x){if((a[b+289|0]&1)==0){ay=B;az=D;aA=K;aB=j;aC=M;aD=C;break}ay=z*B;az=z*D;aA=z*K;aB=y*j;aC=y*M;aD=y*C}else{ay=B;az=D;aA=K;aB=j;aC=M;aD=C}}while(0);g[(c[X>>2]|0)+(e<<2)>>2]=ay;p=e+1|0;g[(c[X>>2]|0)+(p<<2)>>2]=az;u=e+2|0;g[(c[X>>2]|0)+(u<<2)>>2]=aA;g[(c[_>>2]|0)+(e<<2)>>2]=-0.0-aB;g[(c[_>>2]|0)+(p<<2)>>2]=-0.0-aC;g[(c[_>>2]|0)+(u<<2)>>2]=-0.0-aD;r=d+8|0;g[(c[r>>2]|0)+(f<<2)>>2]=ax;g[(c[r>>2]|0)+(v<<2)>>2]=aw;g[(c[r>>2]|0)+(s<<2)>>2]=av;g[(c[r>>2]|0)+(e<<2)>>2]=T;g[(c[r>>2]|0)+(p<<2)>>2]=I;g[(c[r>>2]|0)+(u<<2)>>2]=$;ag=0.0;ah=0.0;ai=0.0;aj=L;ak=k;al=J;am=N;an=S;ao=A;ap=ax;aq=aw;ar=av;as=T;at=I;au=$}$=+g[b+256>>2];if((c[Z>>2]&32|0)==0){aE=$*+g[d+4>>2]}else{aE=$}$=aE*+g[Y>>2];g[(c[ab>>2]|0)+(f<<2)>>2]=$*(q*ap+t*aq+w*ar);g[(c[ab>>2]|0)+(e<<2)>>2]=$*(q*as+t*at+w*au);if((c[Z>>2]&16|0)!=0){u=b+268|0;r=d+32|0;g[(c[r>>2]|0)+(f<<2)>>2]=+g[u>>2];g[(c[r>>2]|0)+(e<<2)>>2]=+g[u>>2]}if((a[b+288|0]&1)==0){aF=0.0;aG=0}else{au=n*+g[b+1024>>2];aF=au;aG=au>0.0?2:1}u=(aG|0)!=0;e=(a[b+1088|0]&1)==0;do{if(e&(u^1)){aH=4}else{r=c[l>>2]<<2;f=d+8|0;g[(c[f>>2]|0)+(r<<2)>>2]=F;p=r|1;g[(c[f>>2]|0)+(p<<2)>>2]=G;s=r|2;g[(c[f>>2]|0)+(s<<2)>>2]=H;do{if((a[E]&1)==0){au=H*ah-G*ai;w=F*ai-H*ag;at=G*ag-F*ah;g[(c[X>>2]|0)+(r<<2)>>2]=z*au;g[(c[X>>2]|0)+(p<<2)>>2]=z*w;g[(c[X>>2]|0)+(s<<2)>>2]=z*at;g[(c[_>>2]|0)+(r<<2)>>2]=y*au;g[(c[_>>2]|0)+(p<<2)>>2]=y*w;g[(c[_>>2]|0)+(s<<2)>>2]=y*at}else{if(x){break}g[(c[X>>2]|0)+(r<<2)>>2]=H*an-G*ao;g[(c[X>>2]|0)+(p<<2)>>2]=F*ao-H*am;g[(c[X>>2]|0)+(s<<2)>>2]=G*am-F*an;g[(c[_>>2]|0)+(r<<2)>>2]=-0.0-(H*ak-G*al);g[(c[_>>2]|0)+(p<<2)>>2]=-0.0-(F*al-H*aj);g[(c[_>>2]|0)+(s<<2)>>2]=-0.0-(G*aj-F*ak)}}while(0);s=b+176|0;p=b+180|0;f=+g[s>>2]==+g[p>>2];g[(c[ab>>2]|0)+(r<<2)>>2]=0.0;v=d+36|0;g[(c[v>>2]|0)+(r<<2)>>2]=0.0;o=d+40|0;g[(c[o>>2]|0)+(r<<2)>>2]=0.0;ae=c[Z>>2]|0;af=b+224|0;at=+g[((ae&512|0)==0?d+4|0:af)>>2];if(!(u&f|e)){if((ae&1|0)!=0){g[(c[d+32>>2]|0)+(r<<2)>>2]=+g[b+204>>2]}w=+g[b+1092>>2];au=+g[b+1072>>2];t=+g[s>>2];as=+g[p>>2];q=at*+g[Y>>2];L112:do{if(t>as){aI=1.0}else{if(t==as){aI=0.0;break}$=w/q;if($<0.0){do{if(au>=t){if(t-$<=au){break}aI=(t-au)/$;break L112}}while(0);aI=au=au){break}aI=(as-au)/$;break L112}}while(0);aI=au>as?0.0:1.0}}while(0);p=(c[ab>>2]|0)+(r<<2)|0;g[p>>2]=+g[p>>2]-n*aI*w;p=b+1096|0;s=(c[v>>2]|0)+(r<<2)|0;g[s>>2]=+g[Y>>2]*(-0.0- +g[p>>2])+ +g[s>>2];s=(c[o>>2]|0)+(r<<2)|0;g[s>>2]=+g[p>>2]*+g[Y>>2]+ +g[s>>2]}if(!u){aH=5;break}s=(c[ab>>2]|0)+(r<<2)|0;g[s>>2]=+g[s>>2]+aF*at*+g[Y>>2];if((c[Z>>2]&256|0)!=0){g[(c[d+32>>2]|0)+(r<<2)>>2]=+g[b+236>>2]}do{if(f){g[(c[v>>2]|0)+(r<<2)>>2]=-3.4028234663852886e+38;g[(c[o>>2]|0)+(r<<2)>>2]=3.4028234663852886e+38}else{s=(c[v>>2]|0)+(r<<2)|0;if((aG|0)==1){g[s>>2]=-3.4028234663852886e+38;g[(c[o>>2]|0)+(r<<2)>>2]=0.0;break}else{g[s>>2]=0.0;g[(c[o>>2]|0)+(r<<2)>>2]=3.4028234663852886e+38;break}}}while(0);at=1.0- +g[b+232>>2];w=+P(+at);do{if(at!=0.0){as=n*(F*+g[h>>2]+G*+g[h+4>>2]+H*+g[h+8>>2]-(F*+g[i>>2]+G*+g[i+4>>2]+H*+g[i+8>>2]));if((aG|0)==1){if(as>=0.0){break}au=as*(-0.0-w);o=(c[ab>>2]|0)+(r<<2)|0;if(au<=+g[o>>2]){break}g[o>>2]=au;break}else{if(as<=0.0){break}au=as*(-0.0-w);o=(c[ab>>2]|0)+(r<<2)|0;if(au>=+g[o>>2]){break}g[o>>2]=au;break}}}while(0);o=(c[ab>>2]|0)+(r<<2)|0;g[o>>2]=+g[af>>2]*+g[o>>2];aH=5}}while(0);if((a[b+289|0]&1)==0){aJ=0.0;aK=0}else{n=+g[b+1080>>2];aJ=n;aK=n>0.0?1:2}aG=(aK|0)!=0;i=(a[b+1104|0]&1)==0;if(i&(aG^1)){return}h=aa(c[l>>2]|0,aH)|0;g[(c[X>>2]|0)+(h<<2)>>2]=F;aH=h+1|0;g[(c[X>>2]|0)+(aH<<2)>>2]=G;l=h+2|0;g[(c[X>>2]|0)+(l<<2)>>2]=H;g[(c[_>>2]|0)+(h<<2)>>2]=-0.0-F;g[(c[_>>2]|0)+(aH<<2)>>2]=-0.0-G;g[(c[_>>2]|0)+(l<<2)>>2]=-0.0-H;l=b+184|0;n=+g[l>>2];_=b+188|0;aF=+g[_>>2];aH=n==aF;X=c[Z>>2]|0;u=b+240|0;aI=+g[((X&2048|0)==0?d+4|0:u)>>2];if(!(aG&aH|i)){if((X&4|0)==0){aL=n;aM=aF}else{g[(c[d+32>>2]|0)+(h<<2)>>2]=+g[b+220>>2];aL=+g[l>>2];aM=+g[_>>2]}aF=+g[b+1076>>2];n=+g[b+1108>>2];ak=aI*+g[Y>>2];L162:do{if(aL>aM){aN=1.0}else{if(aL==aM){aN=0.0;break}aj=n/ak;if(aj<0.0){do{if(aF>=aL){if(aL-aj<=aF){break}aN=(aL-aF)/aj;break L162}}while(0);aN=aF=aF){break}aN=(aM-aF)/aj;break L162}}while(0);aN=aF>aM?0.0:1.0}}while(0);g[(c[ab>>2]|0)+(h<<2)>>2]=aN*n;af=b+1112|0;g[(c[d+36>>2]|0)+(h<<2)>>2]=+g[Y>>2]*(-0.0- +g[af>>2]);g[(c[d+40>>2]|0)+(h<<2)>>2]=+g[af>>2]*+g[Y>>2]}if(!aG){return}aG=(c[ab>>2]|0)+(h<<2)|0;g[aG>>2]=+g[aG>>2]+aJ*aI*+g[Y>>2];if((c[Z>>2]&1024|0)!=0){g[(c[d+32>>2]|0)+(h<<2)>>2]=+g[b+252>>2]}do{if(aH){g[(c[d+36>>2]|0)+(h<<2)>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(h<<2)>>2]=3.4028234663852886e+38}else{Z=(c[d+36>>2]|0)+(h<<2)|0;if((aK|0)==1){g[Z>>2]=0.0;g[(c[d+40>>2]|0)+(h<<2)>>2]=3.4028234663852886e+38;break}else{g[Z>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(h<<2)>>2]=0.0;break}}}while(0);aI=1.0- +g[b+248>>2];aJ=+P(+aI);do{if(aI!=0.0){d=c[b+24>>2]|0;aH=c[b+28>>2]|0;n=F*+g[d+320>>2]+G*+g[d+324>>2]+H*+g[d+328>>2]-(F*+g[aH+320>>2]+G*+g[aH+324>>2]+H*+g[aH+328>>2]);if((aK|0)==1){if(n>=0.0){break}aN=n*(-0.0-aJ);aH=(c[ab>>2]|0)+(h<<2)|0;if(aN<=+g[aH>>2]){break}g[aH>>2]=aN;break}else{if(n<=0.0){break}aN=n*(-0.0-aJ);aH=(c[ab>>2]|0)+(h<<2)|0;if(aN>=+g[aH>>2]){break}g[aH>>2]=aN;break}}}while(0);aK=(c[ab>>2]|0)+(h<<2)|0;g[aK>>2]=+g[u>>2]*+g[aK>>2];return}function aqW(a){a=a|0;return}function aqX(a){a=a|0;return 196}function aqY(a){a=a|0;return}function aqZ(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;if((b|0)==2){if((e|0)<1){g[a+224>>2]=d;f=a+292|0;c[f>>2]=c[f>>2]|512;return}if((e|0)<3){g[a+256>>2]=d;f=a+292|0;c[f>>2]=c[f>>2]|32;return}if((e|0)==3){g[a+240>>2]=d;f=a+292|0;c[f>>2]=c[f>>2]|2048;return}if((e|0)>=6){return}g[a+272>>2]=d;f=a+292|0;c[f>>2]=c[f>>2]|128;return}else if((b|0)==3){if((e|0)<1){g[a+204>>2]=d;f=a+292|0;c[f>>2]=c[f>>2]|1;return}if((e|0)!=3){return}g[a+220>>2]=d;f=a+292|0;c[f>>2]=c[f>>2]|4;return}else if((b|0)==4){if((e|0)<1){g[a+236>>2]=d;b=a+292|0;c[b>>2]=c[b>>2]|256;return}if((e|0)<3){g[a+268>>2]=d;b=a+292|0;c[b>>2]=c[b>>2]|16;return}if((e|0)==3){g[a+252>>2]=d;b=a+292|0;c[b>>2]=c[b>>2]|1024;return}if((e|0)>=6){return}g[a+284>>2]=d;e=a+292|0;c[e>>2]=c[e>>2]|64;return}else{return}}function aq_(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;do{if((b|0)==2){if((c|0)<1){d=+g[a+224>>2];break}if((c|0)<3){d=+g[a+256>>2];break}if((c|0)==3){d=+g[a+240>>2];break}if((c|0)>=6){d=3.4028234663852886e+38;break}d=+g[a+272>>2]}else if((b|0)==3){if((c|0)<1){d=+g[a+204>>2];break}if((c|0)!=3){d=3.4028234663852886e+38;break}d=+g[a+220>>2]}else if((b|0)==4){if((c|0)<1){d=+g[a+236>>2];break}if((c|0)<3){d=+g[a+268>>2];break}if((c|0)==3){d=+g[a+252>>2];break}if((c|0)>=6){d=3.4028234663852886e+38;break}d=+g[a+284>>2]}else{d=3.4028234663852886e+38}}while(0);return+d}function aq$(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aq0(b,d,e){b=b|0;d=d|0;e=e|0;aq3(b|0,d,e)|0;g[d+44>>2]=+g[b+44>>2];g[d+48>>2]=+g[b+48>>2];g[d+52>>2]=+g[b+52>>2];g[d+56>>2]=+g[b+56>>2];g[d+60>>2]=+g[b+60>>2];g[d+64>>2]=+g[b+64>>2];g[d+68>>2]=+g[b+68>>2];g[d+72>>2]=+g[b+72>>2];g[d+76>>2]=+g[b+76>>2];g[d+80>>2]=+g[b+80>>2];g[d+84>>2]=+g[b+84>>2];g[d+88>>2]=+g[b+88>>2];g[d+92>>2]=+g[b+92>>2];g[d+96>>2]=+g[b+96>>2];g[d+100>>2]=+g[b+100>>2];g[d+104>>2]=+g[b+104>>2];g[d+108>>2]=+g[b+108>>2];g[d+112>>2]=+g[b+112>>2];g[d+116>>2]=+g[b+116>>2];g[d+120>>2]=+g[b+120>>2];g[d+124>>2]=+g[b+124>>2];g[d+128>>2]=+g[b+128>>2];g[d+132>>2]=+g[b+132>>2];g[d+136>>2]=+g[b+136>>2];g[d+140>>2]=+g[b+140>>2];g[d+144>>2]=+g[b+144>>2];g[d+148>>2]=+g[b+148>>2];g[d+152>>2]=+g[b+152>>2];g[d+156>>2]=+g[b+156>>2];g[d+160>>2]=+g[b+160>>2];g[d+164>>2]=+g[b+164>>2];g[d+168>>2]=+g[b+168>>2];g[d+172>>2]=+g[b+180>>2];g[d+176>>2]=+g[b+176>>2];g[d+180>>2]=+g[b+188>>2];g[d+184>>2]=+g[b+184>>2];c[d+188>>2]=a[b+172|0]&1;c[d+192>>2]=a[b+41|0]&1;return 17128}function aq1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f|0;j=f+16|0;c[b+4>>2]=d;c[b>>2]=23440;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3.4028234663852886e+38;a[b+20|0]=1;a[b+21|0]=0;c[b+24>>2]=e;e=b+28|0;d=h;k=j;do{if((a[43016]|0)==0){if((b1(43016)|0)==0){break}aDD(d|0,0,16);ap$(41520,0.0,0,0,h);bG(198,41520,o|0)|0}}while(0);aDD(k|0,0,16);apV(41520,0.0,j);c[e>>2]=41520;g[b+32>>2]=0.0;g[b+36>>2]=.30000001192092896;i=f;return}function aq2(){var b=0,c=0,d=0;b=i;i=i+32|0;c=b|0;d=b+16|0;do{if((a[43016]|0)==0){if((b1(43016)|0)==0){break}aDD(c|0,0,16);ap$(41520,0.0,0,0,c);bG(198,41520,o|0)|0}}while(0);aDD(d|0,0,16);apV(41520,0.0,d);i=b;return}function aq3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=e;h=b+24|0;c[d>>2]=dj[c[(c[f>>2]|0)+28>>2]&511](e,c[h>>2]|0)|0;i=b+28|0;c[d+4>>2]=dj[c[(c[f>>2]|0)+28>>2]&511](e,c[i>>2]|0)|0;j=dj[c[(c[f>>2]|0)+40>>2]&511](e,b)|0;k=dj[c[(c[f>>2]|0)+28>>2]&511](e,j)|0;c[d+8>>2]=k;if((k|0)!=0){cv[c[(c[e>>2]|0)+48>>2]&2047](e,j)}c[d+12>>2]=c[b+4>>2];c[d+24>>2]=a[b+21|0]&1;c[d+20>>2]=c[b+12>>2];c[d+16>>2]=c[b+8>>2];g[d+28>>2]=+g[b+32>>2];g[d+32>>2]=+g[b+36>>2];j=d+36|0;c[j>>2]=0;d=c[h>>2]|0;if((c[d+480>>2]|0)>0){e=0;k=d;while(1){if((c[(c[k+488>>2]|0)+(e<<2)>>2]|0)==(b|0)){c[j>>2]=1;l=c[h>>2]|0}else{l=k}d=e+1|0;if((d|0)<(c[l+480>>2]|0)){e=d;k=l}else{break}}}l=c[i>>2]|0;if((c[l+480>>2]|0)>0){m=0;n=l}else{return 17056}while(1){if((c[(c[n+488>>2]|0)+(m<<2)>>2]|0)==(b|0)){c[j>>2]=1;o=c[i>>2]|0}else{o=n}l=m+1|0;if((l|0)<(c[o+480>>2]|0)){m=l;n=o}else{break}}return 17056}function aq4(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;c=a+4|0;if(+g[c>>2]<=0.0){return}d=a|0;e=+ck(+(+g[b>>2]- +g[d>>2]),6.2831854820251465);do{if(e<-3.1415927410125732){f=e+6.2831854820251465}else{if(e<=3.1415927410125732){f=e;break}f=e-6.2831854820251465}}while(0);e=+g[c>>2];if(f<=e&f>=-0.0-e){return}h=+g[d>>2];if(f>0.0){f=+ck(+(h+e),6.2831854820251465);do{if(f<-3.1415927410125732){i=f+6.2831854820251465}else{if(f<=3.1415927410125732){i=f;break}i=f-6.2831854820251465}}while(0);g[b>>2]=i;return}else{i=+ck(+(h-e),6.2831854820251465);do{if(i<-3.1415927410125732){j=i+6.2831854820251465}else{if(i<=3.1415927410125732){j=i;break}j=i-6.2831854820251465}}while(0);g[b>>2]=j;return}}function aq5(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aq6(d,f,h,i,j,k){d=d|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var 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.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0;l=d|0;c[l>>2]=22576;b[d+4>>1]=-2;m=d+6|0;b[m>>1]=-1;n=d+8|0;o=d+24|0;p=d+92|0;c[p>>2]=j;c[d+96>>2]=0;q=d+100|0;a[q]=0;c[d+104>>2]=0;r=d+108|0;c[r>>2]=0;s=i+1&65535;if((j|0)==0){c[9806]=(c[9806]|0)+1;j=aDx(95)|0;do{if((j|0)==0){t=0}else{i=-(j+4|0)&15;u=j+(i+4)|0;c[j+i>>2]=j;if((u|0)==0){t=0;break}i=u;ayI(i);t=i}}while(0);c[p>>2]=t;a[q]=1}if(!k){c[9806]=(c[9806]|0)+1;k=aDx(43)|0;do{if((k|0)==0){v=0}else{q=-(k+4|0)&15;t=k+(q+4)|0;c[k+q>>2]=k;if((t|0)==0){v=0;break}aDD(t|0,0,24);c[t>>2]=24728;a[k+(q+24)|0]=1;c[k+(q+20)>>2]=0;c[k+(q+12)>>2]=0;c[k+(q|16)>>2]=0;v=t}}while(0);k=d+112|0;c[k>>2]=v;c[9806]=(c[9806]|0)+1;v=aDx(175)|0;do{if((v|0)==0){w=0}else{t=-(v+4|0)&15;q=v+(t+4)|0;c[v+t>>2]=v;if((q|0)==0){w=0;break}t=q;awx(t,c[k>>2]|0);w=t}}while(0);c[r>>2]=w;a[w+153|0]=1}w=n;r=f;c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[w+8>>2]=c[r+8>>2];c[w+12>>2]=c[r+12>>2];r=o;w=h;c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];x=+((e[m>>1]|0)>>>0);y=x/(+g[d+28>>2]- +g[d+12>>2]);z=x/(+g[d+32>>2]- +g[d+16>>2]);g[d+40>>2]=x/(+g[o>>2]- +g[n>>2]);g[d+44>>2]=y;g[d+48>>2]=z;g[d+52>>2]=0.0;n=s&65535;c[9806]=(c[9806]|0)+1;o=aDx((n<<6|4)+15|0)|0;if((o|0)==0){A=0}else{w=-(o+4|0)&15;c[o+w>>2]=o;A=o+(w+4)|0}if(s<<16>>16!=0){w=A+(n<<6)|0;o=A;do{c[o>>2]=0;c[o+8>>2]=0;o=o+64|0;}while((o|0)!=(w|0))}w=d+60|0;c[w>>2]=A;b[d+58>>1]=s;b[d+56>>1]=0;b[d+64>>1]=1;if((s&65535)>1){o=1;r=A;while(1){h=o+1&65535;b[r+((o&65535)<<6)+48>>1]=h;f=c[w>>2]|0;if((h&65535)<(s&65535)){o=h;r=f}else{B=f;break}}}else{B=A}b[B+(n-1<<6)+48>>1]=0;c[9806]=(c[9806]|0)+1;B=(n<<3|4)+15|0;n=aDx(B)|0;do{if((n|0)==0){c[d+80>>2]=0;C=0}else{A=-(n+4|0)&15;r=n+(A+4)|0;c[n+A>>2]=n;c[d+80>>2]=r;if((r|0)==0){C=0;break}C=r}}while(0);n=d+68|0;c[n>>2]=C;c[9806]=(c[9806]|0)+1;C=aDx(B)|0;do{if((C|0)==0){c[d+84>>2]=0;D=0}else{r=-(C+4|0)&15;A=C+(r+4)|0;c[C+r>>2]=C;c[d+84>>2]=A;if((A|0)==0){D=0;break}D=A}}while(0);C=d+72|0;c[C>>2]=D;c[9806]=(c[9806]|0)+1;D=aDx(B)|0;do{if((D|0)==0){c[d+88>>2]=0;E=0}else{B=-(D+4|0)&15;A=D+(B+4)|0;c[D+B>>2]=D;c[d+88>>2]=A;if((A|0)==0){E=0;break}E=A}}while(0);D=d+76|0;c[D>>2]=E;c[c[w>>2]>>2]=0;b[(c[w>>2]|0)+48>>1]=0;b[(c[w>>2]|0)+54>>1]=1;b[c[n>>2]>>1]=0;b[(c[n>>2]|0)+2>>1]=0;b[(c[n>>2]|0)+4>>1]=b[m>>1]|0;b[(c[n>>2]|0)+6>>1]=0;b[(c[w>>2]|0)+50>>1]=0;b[(c[w>>2]|0)+56>>1]=1;b[c[C>>2]>>1]=0;b[(c[C>>2]|0)+2>>1]=0;b[(c[C>>2]|0)+4>>1]=b[m>>1]|0;b[(c[C>>2]|0)+6>>1]=0;b[(c[w>>2]|0)+52>>1]=0;b[(c[w>>2]|0)+58>>1]=1;b[c[D>>2]>>1]=0;b[(c[D>>2]|0)+2>>1]=0;b[(c[D>>2]|0)+4>>1]=b[m>>1]|0;b[(c[D>>2]|0)+6>>1]=0;c[l>>2]=25976;return}function aq7(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var 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.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0;j=b|0;c[j>>2]=22648;c[b+4>>2]=-2;k=b+8|0;c[k>>2]=2147483647;l=b+12|0;m=b+28|0;n=b+100|0;c[n>>2]=h;c[b+104>>2]=0;o=b+108|0;a[o]=0;c[b+112>>2]=0;p=b+116|0;c[p>>2]=0;q=f+1|0;if((h|0)==0){c[9806]=(c[9806]|0)+1;h=aDx(95)|0;do{if((h|0)==0){r=0}else{s=-(h+4|0)&15;t=h+(s+4)|0;c[h+s>>2]=h;if((t|0)==0){r=0;break}s=t;ayI(s);r=s}}while(0);c[n>>2]=r;a[o]=1}if(!i){c[9806]=(c[9806]|0)+1;i=aDx(43)|0;do{if((i|0)==0){u=0}else{o=-(i+4|0)&15;r=i+(o+4)|0;c[i+o>>2]=i;if((r|0)==0){u=0;break}aDD(r|0,0,24);c[r>>2]=24728;a[i+(o+24)|0]=1;c[i+(o+20)>>2]=0;c[i+(o+12)>>2]=0;c[i+(o|16)>>2]=0;u=r}}while(0);i=b+120|0;c[i>>2]=u;c[9806]=(c[9806]|0)+1;u=aDx(175)|0;do{if((u|0)==0){v=0}else{r=-(u+4|0)&15;o=u+(r+4)|0;c[u+r>>2]=u;if((o|0)==0){v=0;break}r=o;awx(r,c[i>>2]|0);v=r}}while(0);c[p>>2]=v;a[v+153|0]=1}v=l;p=d;c[v>>2]=c[p>>2];c[v+4>>2]=c[p+4>>2];c[v+8>>2]=c[p+8>>2];c[v+12>>2]=c[p+12>>2];p=m;v=e;c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];w=+((c[k>>2]|0)>>>0>>>0);x=w/(+g[b+32>>2]- +g[b+16>>2]);y=w/(+g[b+36>>2]- +g[b+20>>2]);g[b+44>>2]=w/(+g[m>>2]- +g[l>>2]);g[b+48>>2]=x;g[b+52>>2]=y;g[b+56>>2]=0.0;l=bT(q|0,76)|0;c[9806]=(c[9806]|0)+1;m=aDx(E?18:l+19|0)|0;if((m|0)==0){z=0}else{l=-(m+4|0)&15;c[m+l>>2]=m;z=m+(l+4)|0}if((q|0)!=0){l=z+(q*76|0)|0;m=z;do{c[m>>2]=0;c[m+8>>2]=0;m=m+76|0;}while((m|0)!=(l|0))}l=b+68|0;c[l>>2]=z;c[b+64>>2]=q;c[b+60>>2]=0;c[b+72>>2]=1;if(q>>>0>1){m=1;v=z;while(1){p=m+1|0;c[v+(m*76|0)+48>>2]=p;e=c[l>>2]|0;if(p>>>0>>0){m=p;v=e}else{A=e;break}}}else{A=z}c[A+(f*76|0)+48>>2]=0;c[9806]=(c[9806]|0)+1;f=(q<<4|4)+15|0;q=aDx(f)|0;do{if((q|0)==0){c[b+88>>2]=0;B=0}else{A=-(q+4|0)&15;z=q+(A+4)|0;c[q+A>>2]=q;c[b+88>>2]=z;if((z|0)==0){B=0;break}B=z}}while(0);q=b+76|0;c[q>>2]=B;c[9806]=(c[9806]|0)+1;B=aDx(f)|0;do{if((B|0)==0){c[b+92>>2]=0;C=0}else{z=-(B+4|0)&15;A=B+(z+4)|0;c[B+z>>2]=B;c[b+92>>2]=A;if((A|0)==0){C=0;break}C=A}}while(0);B=b+80|0;c[B>>2]=C;c[9806]=(c[9806]|0)+1;C=aDx(f)|0;do{if((C|0)==0){c[b+96>>2]=0;D=0}else{f=-(C+4|0)&15;A=C+(f+4)|0;c[C+f>>2]=C;c[b+96>>2]=A;if((A|0)==0){D=0;break}D=A}}while(0);C=b+84|0;c[C>>2]=D;c[c[l>>2]>>2]=0;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+60>>2]=1;c[c[q>>2]>>2]=0;c[(c[q>>2]|0)+4>>2]=0;c[(c[q>>2]|0)+8>>2]=c[k>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+52>>2]=0;c[(c[l>>2]|0)+64>>2]=1;c[c[B>>2]>>2]=0;c[(c[B>>2]|0)+4>>2]=0;c[(c[B>>2]|0)+8>>2]=c[k>>2];c[(c[B>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+68>>2]=1;c[c[C>>2]>>2]=0;c[(c[C>>2]|0)+4>>2]=0;c[(c[C>>2]|0)+8>>2]=c[k>>2];c[(c[C>>2]|0)+12>>2]=0;c[j>>2]=23784;return}function aq8(a){a=a|0;arU(a|0);return}function aq9(a){a=a|0;arU(a|0);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-124+120>>2]|0);return}function ara(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;k=alh(a,b,d,f,g,h,i,j)|0;j=c[a+68>>2]|0;l=c[a+116>>2]|0;if((l|0)==0){m=j+(k*76|0)|0;return m|0}c[j+(k*76|0)+72>>2]=c5[c[(c[l>>2]|0)+8>>2]&63](l,b,d,e,f,g,h,i,0)|0;m=j+(k*76|0)|0;return m|0}function arb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+116>>2]|0;if((e|0)!=0){dA[c[(c[e>>2]|0)+12>>2]&511](e,c[b+72>>2]|0,d)}alk(a,c[b+12>>2]|0,d);return}function arc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=b+16|0;h=d;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=b+32|0;g=e;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];alL(a,c[b+12>>2]|0,d,e,f);g=c[a+116>>2]|0;if((g|0)==0){return}co[c[(c[g>>2]|0)+16>>2]&255](g,c[b+72>>2]|0,d,e,f);return}function ard(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=d;d=b+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];d=e;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function are(a){a=a|0;return}function arf(a){a=a|0;return}function arg(a){a=a|0;return c[a+100>>2]|0}function arh(a){a=a|0;return c[a+100>>2]|0}function ari(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a+60>>2]|0)!=0){return}c[a+72>>2]=1;b=a+64|0;d=c[b>>2]|0;e=a+68|0;if(d>>>0>1){a=1;while(1){f=a+1|0;c[(c[e>>2]|0)+(a*76|0)+48>>2]=f;g=c[b>>2]|0;if(f>>>0>>0){a=f}else{h=g;break}}}else{h=d}c[(c[e>>2]|0)+((h-1|0)*76|0)+48>>2]=0;return}function arj(a){a=a|0;return c[a+92>>2]|0}function ark(a){a=a|0;return c[a+92>>2]|0}function arl(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((b[a+56>>1]|0)!=0){return}b[a+64>>1]=1;d=a+58|0;e=b[d>>1]|0;f=a+60|0;if((e&65535)>1){a=1;while(1){g=a+1&65535;b[(c[f>>2]|0)+((a&65535)<<6)+48>>1]=g;h=b[d>>1]|0;if((g&65535)<(h&65535)){a=g}else{i=h;break}}}else{i=e}b[(c[f>>2]|0)+((i&65535)-1<<6)+48>>1]=0;return}function arm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[a+116>>2]|0;if((h|0)!=0){c_[c[(c[h>>2]|0)+24>>2]&127](h,b,d,e,f,g);return}g=a+60|0;f=c[g>>2]|0;if(f<<1>>>0<=1){return}d=a+76|0;b=e|0;h=e;e=a+68|0;a=1;i=f;while(1){f=c[d>>2]|0;if((c[f+(a<<3)>>2]&1|0)==0){j=i}else{k=c[(c[h>>2]|0)+8>>2]|0;l=(c[e>>2]|0)+((c[f+(a<<3)+4>>2]|0)*76|0)|0;dj[k&511](b,l)|0;j=c[g>>2]|0}l=a+1|0;if(l>>>0<(j<<1|1)>>>0){a=l;i=j}else{break}}return}function arn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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;f=c[a+116>>2]|0;if((f|0)!=0){dI[c[(c[f>>2]|0)+28>>2]&1023](f,b,d,e);return}f=a+60|0;h=c[f>>2]|0;if(h<<1>>>0<=1){return}i=a+76|0;j=a+68|0;a=b|0;k=b+8|0;l=b+4|0;b=d+4|0;m=e;n=d+8|0;o=d|0;d=1;p=h;while(1){h=c[i>>2]|0;do{if((c[h+(d<<3)>>2]&1|0)==0){q=p}else{r=c[h+(d<<3)+4>>2]|0;s=c[j>>2]|0;do{if(+g[a>>2]>+g[s+(r*76|0)+32>>2]){t=0}else{if(+g[o>>2]<+g[s+(r*76|0)+16>>2]){t=0;break}t=1}}while(0);do{if(+g[k>>2]>+g[s+(r*76|0)+40>>2]){u=0}else{if(+g[n>>2]<+g[s+(r*76|0)+24>>2]){u=0;break}u=t}}while(0);if(+g[l>>2]>+g[s+(r*76|0)+36>>2]){q=p;break}if(+g[b>>2]<+g[s+(r*76|0)+20>>2]|u^1){q=p;break}v=s+(r*76|0)|0;w=c[(c[m>>2]|0)+8>>2]|0;dj[w&511](e,v)|0;q=c[f>>2]|0}}while(0);h=d+1|0;if(h>>>0<(q<<1|1)>>>0){d=h;p=q}else{break}}return}function aro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;d=i;i=i+40|0;e=d|0;f=d+8|0;g=d+24|0;h=a+100|0;j=c[h>>2]|0;if(!(cA[c[(c[j>>2]|0)+56>>2]&4095](j)|0)){i=d;return}j=c[h>>2]|0;k=cA[c[(c[j>>2]|0)+28>>2]&4095](j)|0;j=k+4|0;l=c[j>>2]|0;if((l|0)>1){arQ(k,0,l-1|0);m=c[j>>2]|0}else{m=l}l=a+112|0;a=m-(c[l>>2]|0)|0;aDD(f|0,0,16);arP(k,a,f);c[l>>2]=0;f=c[j>>2]|0;do{if((f|0)>0){a=k+12|0;m=0;n=0;o=0;p=f;q=0;while(1){r=c[a>>2]|0;s=r+(o<<4)|0;t=s|0;u=c[t>>2]|0;v=r+(o<<4)+4|0;r=c[v>>2]|0;if((u|0)==(n|0)){if((r|0)==(m|0)){w=n;x=m;y=424}else{z=n;y=420}}else{z=u;y=420}L540:do{if((y|0)==420){y=0;u=z+60|0;A=r+60|0;B=r+48|0;C=z+48|0;D=0;while(1){if((D|0)>=3){E=z;F=r;G=p;H=q;break L540}if((c[u+(D<<2)>>2]|0)>>>0<(c[B+(D<<2)>>2]|0)>>>0){w=z;x=r;y=424;break L540}if((c[A+(D<<2)>>2]|0)>>>0<(c[C+(D<<2)>>2]|0)>>>0){w=z;x=r;y=424;break}else{D=D+1|0}}}}while(0);if((y|0)==424){y=0;r=c[h>>2]|0;dA[c[(c[r>>2]|0)+32>>2]&511](r,s,b);c[t>>2]=0;c[v>>2]=0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;c[9792]=(c[9792]|0)-1;E=w;F=x;G=c[j>>2]|0;H=r}r=o+1|0;if((r|0)<(G|0)){m=F;n=E;o=r;p=G;q=H}else{break}}q=e|0;if((G|0)<=1){I=G;J=q;K=H;break}arQ(k,0,G-1|0);I=c[j>>2]|0;J=q;K=c[l>>2]|0}else{I=f;J=e|0;K=0}}while(0);aDD(g|0,0,16);arP(k,I-K|0,g);c[l>>2]=0;i=d;return}function arp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b;b=a+12|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=d;d=a+28|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];return}function arq(a){a=a|0;arR(a|0);return}function arr(a){a=a|0;arR(a|0);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-116+112>>2]|0);return}function ars(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;k=u0(a,b,d,f,g,h,i,j)|0;j=c[a+60>>2]|0;l=k&65535;k=c[a+108>>2]|0;if((k|0)==0){m=j+(l<<6)|0;return m|0}c[j+(l<<6)+60>>2]=c5[c[(c[k>>2]|0)+8>>2]&63](k,b,d,e,f,g,h,i,0)|0;m=j+(l<<6)|0;return m|0}function art(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+108>>2]|0;if((e|0)!=0){dA[c[(c[e>>2]|0)+12>>2]&511](e,c[b+60>>2]|0,d)}u3(a,c[b+12>>2]&65535,d);return}function aru(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=b+16|0;h=d;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=b+32|0;g=e;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];vc(a,c[b+12>>2]&65535,d,e,f);g=c[a+108>>2]|0;if((g|0)==0){return}co[c[(c[g>>2]|0)+16>>2]&255](g,c[b+60>>2]|0,d,e,f);return}function arv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=d;d=b+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];d=e;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function arw(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=c[a+108>>2]|0;if((j|0)!=0){c_[c[(c[j>>2]|0)+24>>2]&127](j,d,f,g,h,i);return}i=a+56|0;h=b[i>>1]|0;if((h&65535)<<1>>>0<=1){return}f=a+68|0;d=g|0;j=g;g=a+60|0;a=2;k=1;l=h;while(1){h=c[f>>2]|0;if((b[h+(k<<2)>>1]&1)==0){m=l}else{n=c[(c[j>>2]|0)+8>>2]|0;o=(c[g>>2]|0)+((e[h+(k<<2)+2>>1]|0)<<6)|0;dj[n&511](d,o)|0;m=b[i>>1]|0}o=a&65535;if(o>>>0>=((m&65535)<<1|1)>>>0){break}a=a+1&65535;k=o;l=m}return}function arx(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var 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,z=0;i=c[a+108>>2]|0;if((i|0)!=0){dI[c[(c[i>>2]|0)+28>>2]&1023](i,d,f,h);return}i=a+56|0;j=b[i>>1]|0;if((j&65535)<<1>>>0<=1){return}k=a+68|0;l=a+60|0;a=d|0;m=d+8|0;n=d+4|0;d=f+4|0;o=h;p=f+8|0;q=f|0;f=2;r=1;s=j;while(1){j=c[k>>2]|0;do{if((b[j+(r<<2)>>1]&1)==0){t=s}else{u=c[l>>2]|0;v=e[j+(r<<2)+2>>1]|0;do{if(+g[a>>2]>+g[u+(v<<6)+32>>2]){w=0}else{if(+g[q>>2]<+g[u+(v<<6)+16>>2]){w=0;break}w=1}}while(0);do{if(+g[m>>2]>+g[u+(v<<6)+40>>2]){x=0}else{if(+g[p>>2]<+g[u+(v<<6)+24>>2]){x=0;break}x=w}}while(0);if(+g[n>>2]>+g[u+(v<<6)+36>>2]){t=s;break}if(+g[d>>2]<+g[u+(v<<6)+20>>2]|x^1){t=s;break}y=u+(v<<6)|0;z=c[(c[o>>2]|0)+8>>2]|0;dj[z&511](h,y)|0;t=b[i>>1]|0}}while(0);j=f&65535;if(j>>>0>=((t&65535)<<1|1)>>>0){break}f=f+1&65535;r=j;s=t}return}function ary(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=i;i=i+40|0;f=d|0;g=d+8|0;h=d+24|0;j=a+92|0;k=c[j>>2]|0;if(!(cA[c[(c[k>>2]|0)+56>>2]&4095](k)|0)){i=d;return}k=c[j>>2]|0;l=cA[c[(c[k>>2]|0)+28>>2]&4095](k)|0;k=l+4|0;m=c[k>>2]|0;if((m|0)>1){arQ(l,0,m-1|0);n=c[k>>2]|0}else{n=m}m=a+104|0;a=n-(c[m>>2]|0)|0;aDD(g|0,0,16);arP(l,a,g);c[m>>2]=0;g=c[k>>2]|0;do{if((g|0)>0){a=l+12|0;n=0;o=0;p=0;q=g;r=0;while(1){s=c[a>>2]|0;t=s+(p<<4)|0;u=t|0;v=c[u>>2]|0;w=s+(p<<4)+4|0;s=c[w>>2]|0;if((v|0)==(o|0)){if((s|0)==(n|0)){x=o;y=n;z=501}else{A=o;z=497}}else{A=v;z=497}L630:do{if((z|0)==497){z=0;v=A+54|0;B=s+54|0;C=s+48|0;D=A+48|0;E=0;while(1){if((E|0)>=3){F=A;G=s;H=q;I=r;break L630}if((e[v+(E<<1)>>1]|0)<(e[C+(E<<1)>>1]|0)){x=A;y=s;z=501;break L630}if((e[B+(E<<1)>>1]|0)<(e[D+(E<<1)>>1]|0)){x=A;y=s;z=501;break}else{E=E+1|0}}}}while(0);if((z|0)==501){z=0;s=c[j>>2]|0;dA[c[(c[s>>2]|0)+32>>2]&511](s,t,b);c[u>>2]=0;c[w>>2]=0;s=(c[m>>2]|0)+1|0;c[m>>2]=s;c[9792]=(c[9792]|0)-1;F=x;G=y;H=c[k>>2]|0;I=s}s=p+1|0;if((s|0)<(H|0)){n=G;o=F;p=s;q=H;r=I}else{break}}r=f|0;if((H|0)<=1){J=H;K=r;L=I;break}arQ(l,0,H-1|0);J=c[k>>2]|0;K=r;L=c[m>>2]|0}else{J=g;K=f|0;L=0}}while(0);aDD(h|0,0,16);arP(l,J-L|0,h);c[m>>2]=0;i=d;return}function arz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b;b=a+8|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=d;d=a+24|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];return}function arA(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function arB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function arC(a,b,c){a=a|0;b=b|0;c=c|0;return}function arD(a,b,c){a=a|0;b=b|0;c=c|0;return}function arE(a){a=a|0;return 0}function arF(a,b,c){a=a|0;b=b|0;c=c|0;return}function arG(a,b){a=a|0;b=b|0;return}function arH(a,b,c){a=a|0;b=b|0;c=c|0;return}function arI(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function arJ(a){a=a|0;return 1}function arK(a,b){a=a|0;b=b|0;return}function arL(a,b){a=a|0;b=b|0;return}function arM(a){a=a|0;return c[a+16>>2]|0}function arN(a){a=a|0;return c[a+16>>2]|0}function arO(a){a=a|0;return a+4|0}function arP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=b+4|0;g=c[f>>2]|0;if(!((g|0)<=(d|0)&(g|0)<(d|0))){c[f>>2]=d;return}h=b+8|0;if((c[h>>2]|0)<(d|0)){if((d|0)==0){i=0;j=g}else{c[9806]=(c[9806]|0)+1;k=aDx((d<<4|4)+15|0)|0;if((k|0)==0){l=0}else{m=-(k+4|0)&15;c[k+m>>2]=k;l=k+(m+4)|0}i=l;j=c[f>>2]|0}l=b+12|0;if((j|0)>0){m=0;do{k=c[l>>2]|0;c[i+(m<<4)>>2]=c[k+(m<<4)>>2];c[i+(m<<4)+4>>2]=c[k+(m<<4)+4>>2];c[i+(m<<4)+8>>2]=c[k+(m<<4)+8>>2];c[i+(m<<4)+12>>2]=c[k+(m<<4)+12>>2];m=m+1|0;}while((m|0)<(j|0))}j=c[l>>2]|0;m=b+16|0;if((j|0)!=0){if((a[m]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-16+12>>2]|0)}c[l>>2]=0}a[m]=1;c[l>>2]=i;c[h>>2]=d;n=l}else{n=b+12|0}b=e|0;l=e+4|0;h=e+8|0;i=e+12|0;e=g;do{g=c[n>>2]|0;c[g+(e<<4)>>2]=c[b>>2];c[g+(e<<4)+4>>2]=c[l>>2];c[g+(e<<4)+8>>2]=c[h>>2];c[g+(e<<4)+12>>2]=c[i>>2];e=e+1|0;}while((e|0)<(d|0));c[f>>2]=d;return}function arQ(a,b,d){a=a|0;b=b|0;d=d|0;var 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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=(d+b|0)/2|0;f=a+12|0;g=c[f>>2]|0;h=c[g+(e<<4)>>2]|0;i=c[g+(e<<4)+4>>2]|0;j=c[g+(e<<4)+8>>2]|0;e=(h|0)==0;k=(i|0)==0;l=i+12|0;m=h+12|0;n=d;o=b;p=g;while(1){g=o;L690:while(1){q=c[p+(g<<4)>>2]|0;if((q|0)==0){r=-1}else{r=c[q+12>>2]|0}if(e){s=-1}else{s=c[m>>2]|0}t=c[p+(g<<4)+4>>2]|0;if((t|0)==0){u=-1}else{u=c[t+12>>2]|0}if(k){v=-1}else{v=c[l>>2]|0}do{if((r|0)<=(s|0)){w=(q|0)==(h|0);x=w&(u|0)>(v|0);if(x|w^1){if(x){break}else{break L690}}if((t|0)!=(i|0)){break L690}if((c[p+(g<<4)+8>>2]|0)>>>0<=j>>>0){break L690}}}while(0);g=g+1|0}L712:do{if(e){x=n;while(1){w=c[p+(x<<4)>>2]|0;y=(w|0)==0;if(y){z=-1}else{z=c[w+12>>2]|0}if(k){A=-1}else{A=c[l>>2]|0}w=c[p+(x<<4)+4>>2]|0;if((w|0)==0){B=-1}else{B=c[w+12>>2]|0}do{if((z|0)>=-1){C=y&(A|0)>(B|0);if(C|y^1){if(C){break}else{D=x;break L712}}if((i|0)!=(w|0)){D=x;break L712}if(j>>>0<=(c[p+(x<<4)+8>>2]|0)>>>0){D=x;break L712}}}while(0);x=x-1|0}}else{x=c[m>>2]|0;w=n;while(1){y=c[p+(w<<4)>>2]|0;if((y|0)==0){E=-1}else{E=c[y+12>>2]|0}if(k){F=-1}else{F=c[l>>2]|0}C=c[p+(w<<4)+4>>2]|0;if((C|0)==0){G=-1}else{G=c[C+12>>2]|0}do{if((x|0)<=(E|0)){H=(h|0)==(y|0);I=H&(F|0)>(G|0);if(I|H^1){if(I){break}else{D=w;break L712}}if((i|0)!=(C|0)){D=w;break L712}if(j>>>0<=(c[p+(w<<4)+8>>2]|0)>>>0){D=w;break L712}}}while(0);w=w-1|0}}}while(0);if((g|0)>(D|0)){J=D;K=g}else{w=c[p+(g<<4)+8>>2]|0;x=c[p+(g<<4)+12>>2]|0;C=p+(g<<4)|0;y=p+(D<<4)|0;c[C>>2]=c[y>>2];c[C+4>>2]=c[y+4>>2];c[C+8>>2]=c[y+8>>2];c[C+12>>2]=c[y+12>>2];y=c[f>>2]|0;c[y+(D<<4)>>2]=q;c[y+(D<<4)+4>>2]=t;c[y+(D<<4)+8>>2]=w;c[y+(D<<4)+12>>2]=x;J=D-1|0;K=g+1|0}if((K|0)>(J|0)){break}n=J;o=K;p=c[f>>2]|0}if((J|0)>(b|0)){arQ(a,b,J)}if((K|0)>=(d|0)){return}arQ(a,K,d);return}function arR(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=22576;d=b+108|0;do{if((c[d>>2]|0)!=0){e=b+112|0;f=c[e>>2]|0;ct[c[c[f>>2]>>2]&2047](f);f=c[e>>2]|0;if((f|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}f=c[d>>2]|0;ct[c[c[f>>2]>>2]&2047](f);f=c[d>>2]|0;if((f|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[f-156+152>>2]|0)}}while(0);d=c[b+88>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}d=c[b+84>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}d=c[b+80>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}d=c[b+60>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-64+60>>2]|0)}if((a[b+100|0]&1)==0){return}d=b+92|0;b=c[d>>2]|0;ct[c[c[b>>2]>>2]&2047](b);b=c[d>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0);return}function arS(a){a=a|0;arR(a);return}function arT(a){a=a|0;arR(a);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-116+112>>2]|0);return}function arU(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=22648;d=b+116|0;do{if((c[d>>2]|0)!=0){e=b+120|0;f=c[e>>2]|0;ct[c[c[f>>2]>>2]&2047](f);f=c[e>>2]|0;if((f|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}f=c[d>>2]|0;ct[c[c[f>>2]>>2]&2047](f);f=c[d>>2]|0;if((f|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[f-156+152>>2]|0)}}while(0);d=c[b+96>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}d=c[b+92>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}d=c[b+88>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}d=c[b+68>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-76+72>>2]|0)}if((a[b+108|0]&1)==0){return}d=b+100|0;b=c[d>>2]|0;ct[c[c[b>>2]>>2]&2047](b);b=c[d>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0);return}function arV(a){a=a|0;arU(a);return}function arW(a){a=a|0;arU(a);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-124+120>>2]|0);return}function arX(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=24728;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+12>>2]=0;return}function arY(b){b=b|0;var d=0;c[b>>2]=24728;d=c[b+16>>2]|0;do{if((d|0)!=0){if((a[b+20|0]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-16+12>>2]|0)}if((b|0)!=0){break}return}}while(0);aDB(b);return}function arZ(a){a=a|0;return 17976|0}function ar_(a){a=a|0;return 52}function ar$(a){a=a|0;return 6}function ar0(a){a=a|0;return 8}function ar1(a){a=a|0;return 12}function ar2(a){a=a|0;return 6}function ar3(a){a=a|0;return a+12|0}function ar4(a){a=a|0;return+(+g[a+44>>2])}function ar5(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0;d=+g[b+28>>2];e=+g[b+32>>2];f=+g[c+4>>2]>=0.0?e:-0.0-e;e=+g[b+36>>2];h=+g[c+8>>2]>=0.0?e:-0.0-e;g[a>>2]=+g[c>>2]>=0.0?d:-0.0-d;g[a+4>>2]=f;g[a+8>>2]=h;g[a+12>>2]=0.0;return}function ar6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0;if((d|0)<=0){return}e=a+28|0;f=a+32|0;h=a+36|0;a=0;do{i=+g[e>>2];j=+g[f>>2];k=+g[b+(a<<4)+4>>2]>=0.0?j:-0.0-j;j=+g[h>>2];l=+g[b+(a<<4)+8>>2]>=0.0?j:-0.0-j;g[c+(a<<4)>>2]=+g[b+(a<<4)>>2]>=0.0?i:-0.0-i;g[c+(a<<4)+4>>2]=k;g[c+(a<<4)+8>>2]=l;g[c+(a<<4)+12>>2]=0.0;a=a+1|0;}while((a|0)<(d|0));return}function ar7(a,b,c){a=a|0;b=b|0;c=c|0;switch(b|0){case 3:{g[c>>2]=0.0;g[c+4>>2]=-1.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;return};case 4:{g[c>>2]=0.0;g[c+4>>2]=0.0;g[c+8>>2]=1.0;g[c+12>>2]=0.0;return};case 0:{g[c>>2]=1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;return};case 5:{g[c>>2]=0.0;g[c+4>>2]=0.0;g[c+8>>2]=-1.0;g[c+12>>2]=0.0;return};case 1:{g[c>>2]=-1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;return};case 2:{g[c>>2]=0.0;g[c+4>>2]=1.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;return};default:{return}}}function ar8(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0,i=0;d=+g[a+28>>2];e=+g[a+32>>2];f=+g[a+36>>2];h=+g[b>>2];if(h>d+c){i=0;return i|0}if(h<-0.0-d-c){i=0;return i|0}d=+g[b+4>>2];if(d>e+c){i=0;return i|0}if(d<-0.0-e-c){i=0;return i|0}e=+g[b+8>>2];if(e>f+c){i=0;return i|0}i=e>=-0.0-f-c;return i|0}function ar9(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;d=+g[a+28>>2];e=+g[a+32>>2];f=+g[a+36>>2];switch(c|0){case 3:{g[b>>2]=0.0;g[b+4>>2]=-1.0;g[b+8>>2]=0.0;g[b+12>>2]=-0.0-e;return};case 4:{g[b>>2]=0.0;g[b+4>>2]=0.0;g[b+8>>2]=1.0;g[b+12>>2]=-0.0-f;return};case 0:{g[b>>2]=1.0;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=-0.0-d;return};case 5:{g[b>>2]=0.0;g[b+4>>2]=0.0;g[b+8>>2]=-1.0;g[b+12>>2]=-0.0-f;return};case 1:{g[b>>2]=-1.0;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=-0.0-d;return};case 2:{g[b>>2]=0.0;g[b+4>>2]=1.0;g[b+8>>2]=0.0;g[b+12>>2]=-0.0-e;return};default:{return}}}function asa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;f=+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0);h=f+ +g[a+28>>2];i=f+ +g[a+32>>2];j=f+ +g[a+36>>2];f=+P(+(+g[b>>2]));k=+P(+(+g[b+4>>2]));l=+P(+(+g[b+8>>2]));m=+P(+(+g[b+16>>2]));n=+P(+(+g[b+20>>2]));o=+P(+(+g[b+24>>2]));p=+P(+(+g[b+32>>2]));q=+P(+(+g[b+36>>2]));r=+P(+(+g[b+40>>2]));s=+g[b+48>>2];t=+g[b+52>>2];u=+g[b+56>>2];v=h*f+i*k+j*l;l=h*m+i*n+j*o;o=h*p+i*q+j*r;g[d>>2]=s-v;g[d+4>>2]=t-l;g[d+8>>2]=u-o;g[d+12>>2]=0.0;g[e>>2]=v+s;g[e+4>>2]=l+t;g[e+8>>2]=o+u;g[e+12>>2]=0.0;return}function asb(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];i=a|0;j=a;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=(e+k)*2.0;k=(f+l)*2.0;l=(h+ +dh[c[(c[j>>2]|0)+44>>2]&1023](i))*2.0;h=b/12.0;b=k*k;k=l*l;l=m*m;g[d>>2]=h*(b+k);g[d+4>>2]=h*(l+k);g[d+8>>2]=h*(l+b);g[d+12>>2]=0.0;return}function asc(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0);return}function asd(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function ase(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0;d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);h=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);d=a+28|0;e=a+32|0;j=a+36|0;k=a+12|0;l=(f+ +g[d>>2])/+g[k>>2];m=a+16|0;n=(h+ +g[e>>2])/+g[m>>2];o=a+20|0;p=(i+ +g[j>>2])/+g[o>>2];q=+P(+(+g[b>>2]));r=+P(+(+g[b+4>>2]));s=+P(+(+g[b+8>>2]));g[k>>2]=q;g[m>>2]=r;g[o>>2]=s;g[a+24>>2]=0.0;g[d>>2]=l*q-f;g[e>>2]=n*r-h;g[j>>2]=p*s-i;g[a+40>>2]=0.0;return}function asf(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0;d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);h=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);j=a+28|0;k=f+ +g[j>>2];l=a+32|0;f=h+ +g[l>>2];m=a+36|0;h=i+ +g[m>>2];g[a+44>>2]=b;b=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);n=h- +dh[c[(c[e>>2]|0)+44>>2]&1023](d);g[j>>2]=k-b;g[l>>2]=f-i;g[m>>2]=n;g[a+40>>2]=0.0;return}function asg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];return 16992}function ash(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;e=+g[b+28>>2];f=+g[b+32>>2];h=+g[b+36>>2];i=b|0;j=b;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=e+k;k=f+l;l=h+ +dh[c[(c[j>>2]|0)+44>>2]&1023](i);h=+g[d+4>>2]>=0.0?k:-0.0-k;k=+g[d+8>>2]>=0.0?l:-0.0-l;g[a>>2]=+g[d>>2]>=0.0?m:-0.0-m;g[a+4>>2]=h;g[a+8>>2]=k;g[a+12>>2]=0.0;return}function asi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;switch(b|0){case 6:{f=b;g=2;break};case 7:{f=b;g=3;break};case 8:{f=5;g=4;break};case 9:{f=6;g=4;break};case 10:{f=7;g=5;break};case 11:{f=7;g=6;break};case 2:{f=3;g=1;break};case 3:{f=b;g=2;break};case 5:{f=b;g=1;break};case 0:{f=1;g=0;break};case 1:{f=2;g=0;break};case 4:{f=b;g=0;break};default:{f=0;g=0}}b=a;dA[c[(c[b>>2]|0)+100>>2]&511](a,g,d);dA[c[(c[b>>2]|0)+100>>2]&511](a,f,e);return}function asj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];i=a|0;j=a;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=e+k;k=f+l;l=h+ +dh[c[(c[j>>2]|0)+44>>2]&1023](i);i=b&1;j=b>>>1&1;a=b>>>2&1;g[d>>2]=+(i^1|0)*m- +(i|0)*m;g[d+4>>2]=+(j^1|0)*k- +(j|0)*k;g[d+8>>2]=+(a^1|0)*l- +(a|0)*l;g[d+12>>2]=0.0;return}function ask(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0;f=i;i=i+48|0;h=f|0;j=f+16|0;k=f+32|0;dA[c[(c[a>>2]|0)+116>>2]&511](a,h,e);l=+g[h>>2];m=+g[h+4>>2];n=+g[h+8>>2];g[b>>2]=l;g[b+4>>2]=m;g[b+8>>2]=n;g[b+12>>2]=0.0;b=c[(c[a>>2]|0)+60>>2]|0;g[k>>2]=-0.0-l;g[k+4>>2]=-0.0-m;g[k+8>>2]=-0.0-n;g[k+12>>2]=0.0;dA[b&511](j,a,k);k=d;d=j;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];i=f;return}function asl(a){a=a|0;return 17960|0}function asm(a){a=a|0;return 60}function asn(a){a=a|0;return}function aso(a){a=a|0;return}function asp(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function asq(a){a=a|0;return+(+g[a+12>>2])}function asr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0;aBr(b|0,d);c[b>>2]=21848;d=b+52|0;c[d>>2]=0;c[b+56>>2]=0;h=b+60|0;a[h]=e&1;e=b+61|0;a[e]=0;c[b+4>>2]=21;if(!f){return}c[9806]=(c[9806]|0)+1;f=aDx(191)|0;if((f|0)==0){i=0}else{j=-(f+4|0)&15;c[f+j>>2]=f;i=f+(j+4)|0}c[i+52>>2]=278;a[i+60|0]=0;a[i+80|0]=1;c[i+76>>2]=0;c[i+68>>2]=0;c[i+72>>2]=0;a[i+100|0]=1;c[i+96>>2]=0;c[i+88>>2]=0;c[i+92>>2]=0;a[i+120|0]=1;c[i+116>>2]=0;c[i+108>>2]=0;c[i+112>>2]=0;a[i+140|0]=1;c[i+136>>2]=0;c[i+128>>2]=0;c[i+132>>2]=0;c[i+144>>2]=0;a[i+164|0]=1;c[i+160>>2]=0;c[i+152>>2]=0;c[i+156>>2]=0;c[i+168>>2]=0;g[i+4>>2]=-3.4028234663852886e+38;g[i+8>>2]=-3.4028234663852886e+38;g[i+12>>2]=-3.4028234663852886e+38;g[i+16>>2]=0.0;g[i+20>>2]=3.4028234663852886e+38;g[i+24>>2]=3.4028234663852886e+38;g[i+28>>2]=3.4028234663852886e+38;g[i+32>>2]=0.0;c[i>>2]=25376;c[d>>2]=i;ayv(i,c[b+48>>2]|0,(a[h]&1)!=0,b+16|0,b+32|0);a[e]=1;return}function ass(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0;aBr(b|0,d);c[b>>2]=21848;j=b+52|0;c[j>>2]=0;c[b+56>>2]=0;k=b+60|0;a[k]=e&1;e=b+61|0;a[e]=0;c[b+4>>2]=21;if(!i){return}c[9806]=(c[9806]|0)+1;i=aDx(191)|0;if((i|0)==0){l=0}else{b=-(i+4|0)&15;c[i+b>>2]=i;l=i+(b+4)|0}c[l+52>>2]=278;a[l+60|0]=0;a[l+80|0]=1;c[l+76>>2]=0;c[l+68>>2]=0;c[l+72>>2]=0;a[l+100|0]=1;c[l+96>>2]=0;c[l+88>>2]=0;c[l+92>>2]=0;a[l+120|0]=1;c[l+116>>2]=0;c[l+108>>2]=0;c[l+112>>2]=0;a[l+140|0]=1;c[l+136>>2]=0;c[l+128>>2]=0;c[l+132>>2]=0;c[l+144>>2]=0;a[l+164|0]=1;c[l+160>>2]=0;c[l+152>>2]=0;c[l+156>>2]=0;c[l+168>>2]=0;g[l+4>>2]=-3.4028234663852886e+38;g[l+8>>2]=-3.4028234663852886e+38;g[l+12>>2]=-3.4028234663852886e+38;g[l+16>>2]=0.0;g[l+20>>2]=3.4028234663852886e+38;g[l+24>>2]=3.4028234663852886e+38;g[l+28>>2]=3.4028234663852886e+38;g[l+32>>2]=0.0;c[l>>2]=25376;c[j>>2]=l;ayv(l,d,(a[k]&1)!=0,f,h);a[e]=1;return}function ast(b){b=b|0;var d=0,e=0;c[b>>2]=21848;do{if((a[b+61|0]&1)!=0){d=b+52|0;e=c[d>>2]|0;ct[c[c[e>>2]>>2]&2047](e);e=c[d>>2]|0;if((e|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-172+168>>2]|0)}if((b|0)!=0){break}return}}while(0);c[9804]=(c[9804]|0)+1;aDB(c[b-76+72>>2]|0);return}function asu(b){b=b|0;var d=0;c[b>>2]=21848;if((a[b+61|0]&1)==0){return}d=b+52|0;b=c[d>>2]|0;ct[c[c[b>>2]>>2]&2047](b);b=c[d>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-172+168>>2]|0);return}function asv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+64|0;g=f|0;h=c[a+48>>2]|0;c[g>>2]=18424;c[g+4>>2]=h;c[g+8>>2]=b;azn(c[a+52>>2]|0,g|0,d,e);i=f;return}function asw(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0,l=0;e=b|0;f=cA[c[(c[b>>2]|0)+28>>2]&4095](e)|0;h=+g[f>>2]- +g[d>>2];i=+g[f+4>>2]- +g[d+4>>2];j=+g[f+8>>2]- +g[d+8>>2];if(h*h+i*i+j*j<=1.1920928955078125e-7){return}aBB(e,d);d=b+61|0;e=b+52|0;do{if((a[d]&1)!=0){f=c[e>>2]|0;ct[c[c[f>>2]>>2]&2047](f);f=c[e>>2]|0;if((f|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[f-172+168>>2]|0)}}while(0);c[9806]=(c[9806]|0)+1;f=aDx(191)|0;if((f|0)==0){k=0}else{l=-(f+4|0)&15;c[f+l>>2]=f;k=f+(l+4)|0}c[k+52>>2]=278;a[k+60|0]=0;a[k+80|0]=1;c[k+76>>2]=0;c[k+68>>2]=0;c[k+72>>2]=0;a[k+100|0]=1;c[k+96>>2]=0;c[k+88>>2]=0;c[k+92>>2]=0;a[k+120|0]=1;c[k+116>>2]=0;c[k+108>>2]=0;c[k+112>>2]=0;a[k+140|0]=1;c[k+136>>2]=0;c[k+128>>2]=0;c[k+132>>2]=0;c[k+144>>2]=0;a[k+164|0]=1;c[k+160>>2]=0;c[k+152>>2]=0;c[k+156>>2]=0;c[k+168>>2]=0;g[k+4>>2]=-3.4028234663852886e+38;g[k+8>>2]=-3.4028234663852886e+38;g[k+12>>2]=-3.4028234663852886e+38;g[k+16>>2]=0.0;g[k+20>>2]=3.4028234663852886e+38;g[k+24>>2]=3.4028234663852886e+38;g[k+28>>2]=3.4028234663852886e+38;g[k+32>>2]=0.0;c[k>>2]=25376;c[e>>2]=k;ayv(k,c[b+48>>2]|0,(a[b+60|0]&1)!=0,b+16|0,b+32|0);a[d]=1;return}function asx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];f=c[a+48>>2]|0;cS[c[(c[f>>2]|0)+56>>2]&511](f,b+12|0,d)|0;g[b+52>>2]=+g[a+12>>2];f=a+52|0;do{if((c[f>>2]|0)==0){i=815}else{if(((cA[c[(c[d>>2]|0)+52>>2]&4095](d)|0)&1|0)!=0){i=815;break}h=dj[c[(c[e>>2]|0)+24>>2]&511](d,c[f>>2]|0)|0;if((h|0)==0){c[b+40>>2]=dj[c[(c[e>>2]|0)+28>>2]&511](d,c[f>>2]|0)|0;c[b+44>>2]=0;j=c[f>>2]|0;k=cA[c[(c[j>>2]|0)+12>>2]&4095](j|0)|0;j=cS[c[(c[d>>2]|0)+16>>2]&511](d,k,1)|0;k=c[f>>2]|0;l=cS[c[(c[k>>2]|0)+16>>2]&511](k|0,c[j+8>>2]|0,d)|0;co[c[(c[d>>2]|0)+20>>2]&255](d,j,l,1213612625,c[f>>2]|0);break}else{c[b+40>>2]=h;c[b+44>>2]=0;break}}}while(0);if((i|0)==815){c[b+40>>2]=0;c[b+44>>2]=0}i=a+56|0;do{if((c[i>>2]|0)!=0){if(((cA[c[(c[d>>2]|0)+52>>2]&4095](d)|0)&2|0)!=0){break}a=dj[c[(c[e>>2]|0)+24>>2]&511](d,c[i>>2]|0)|0;if((a|0)==0){c[b+48>>2]=dj[c[(c[e>>2]|0)+28>>2]&511](d,c[i>>2]|0)|0;f=c[i>>2]|0;h=cA[c[(c[f>>2]|0)+8>>2]&4095](f)|0;f=cS[c[(c[d>>2]|0)+16>>2]&511](d,h,1)|0;h=c[i>>2]|0;l=cS[c[(c[h>>2]|0)+12>>2]&511](h,c[f+8>>2]|0,d)|0;co[c[(c[d>>2]|0)+20>>2]&255](d,f,l,1346456916,c[i>>2]|0);return 16968}else{c[b+48>>2]=a;return 16968}}}while(0);c[b+48>>2]=0;return 16968}function asy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+52|0;a=c[d>>2]|0;if((a|0)==0){return}e=cA[c[(c[a>>2]|0)+12>>2]&4095](a|0)|0;a=cS[c[(c[b>>2]|0)+16>>2]&511](b,e,1)|0;e=c[d>>2]|0;f=cS[c[(c[e>>2]|0)+16>>2]&511](e|0,c[a+8>>2]|0,b)|0;co[c[(c[b>>2]|0)+20>>2]&255](b,a,f,1213612625,c[d>>2]|0);return}function asz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+56|0;a=c[d>>2]|0;if((a|0)==0){return}e=cA[c[(c[a>>2]|0)+8>>2]&4095](a)|0;a=cS[c[(c[b>>2]|0)+16>>2]&511](b,e,1)|0;e=c[d>>2]|0;f=cS[c[(c[e>>2]|0)+12>>2]&511](e,c[a+8>>2]|0,b)|0;co[c[(c[b>>2]|0)+20>>2]&255](b,a,f,1346456916,c[d>>2]|0);return}function asA(a,b,d){a=a|0;b=b|0;d=d|0;dA[c[(c[b>>2]|0)+64>>2]&511](a,b,d);return}function asB(a){a=a|0;if((a|0)==0){return}aDB(a);return}function asC(a,b,f){a=a|0;b=b|0;f=f|0;var 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,z=0,A=0,B=0,C=0.0,D=0.0;j=i;i=i+64|0;k=j|0;l=j+16|0;m=j+24|0;n=j+32|0;o=j+40|0;p=j+56|0;q=a+4|0;r=c[q>>2]|0;di[c[(c[r>>2]|0)+16>>2]&63](r,k,j+8|0,l,m,n,o,j+48|0,p,b);r=c[n>>2]|0;n=aa(c[o>>2]|0,f)|0;o=r+n|0;s=o;t=c[q>>2]|0;u=t+4|0;v=t+8|0;w=t+12|0;t=o;o=c[p>>2]|0;p=2;while(1){if((o|0)==2){x=c[s+(p<<2)>>2]|0}else if((o|0)==3){x=e[t+(p<<1)>>1]|0}else{x=d[r+(p+n)|0]|0}y=(c[l>>2]|0)==0;z=c[k>>2]|0;A=aa(c[m>>2]|0,x)|0;B=z+A|0;if(y){C=+g[z+(A+4)>>2]*+g[v>>2];D=+g[z+(A+8)>>2]*+g[w>>2];g[a+12+(p<<4)>>2]=+g[B>>2]*+g[u>>2];g[a+12+(p<<4)+4>>2]=C;g[a+12+(p<<4)+8>>2]=D;g[a+12+(p<<4)+12>>2]=0.0}else{D=+h[z+(A+8)>>3]*+g[v>>2];C=+h[z+(A+16)>>3]*+g[w>>2];g[a+12+(p<<4)>>2]=+h[B>>3]*+g[u>>2];g[a+12+(p<<4)+4>>2]=D;g[a+12+(p<<4)+8>>2]=C;g[a+12+(p<<4)+12>>2]=0.0}if((p|0)>0){p=p-1|0}else{break}}p=c[a+8>>2]|0;dI[c[(c[p>>2]|0)+8>>2]&1023](p,a+12|0,b,f);f=c[q>>2]|0;cv[c[(c[f>>2]|0)+24>>2]&2047](f,b);i=j;return}function asD(a){a=a|0;return}function asE(a){a=a|0;return}function asF(a){a=a|0;return 16760|0}function asG(a){a=a|0;return 60}function asH(a){a=a|0;return 0}function asI(a,b,c){a=a|0;b=b|0;c=c|0;return}function asJ(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0;e=i;i=i+16|0;f=e|0;h=c[a+52>>2]|0;j=+g[a+28+(((h+2|0)%3|0)<<2)>>2];k=f|0;g[k>>2]=j;l=f+4|0;g[l>>2]=j;m=f+8|0;g[m>>2]=j;g[f+12>>2]=0.0;n=f+(h<<2)|0;g[n>>2]=+g[a+28+(h<<2)>>2]+ +g[n>>2];j=(+g[k>>2]+.03999999910593033)*2.0;o=(+g[l>>2]+.03999999910593033)*2.0;p=(+g[m>>2]+.03999999910593033)*2.0;q=j*j;j=o*o;o=p*p;p=b*.0833333283662796;g[d>>2]=p*(j+o);g[d+4>>2]=p*(q+o);g[d+8>>2]=p*(q+j);i=e;return}function asK(a){a=a|0;if((a|0)==0){return}aDB(a);return}function asL(a,b,d){a=a|0;b=b|0;d=d|0;var f=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,z=0,A=0,B=0.0,C=0.0;f=i;i=i+112|0;j=f|0;k=f+48|0;l=f+64|0;m=f+72|0;n=f+80|0;o=f+88|0;p=f+104|0;q=j|0;r=a+4|0;s=c[r>>2]|0;di[c[(c[s>>2]|0)+16>>2]&63](s,k,f+56|0,l,m,n,o,f+96|0,p,b);s=c[n>>2]|0;n=s+(aa(c[o>>2]|0,d)|0)|0;o=n;s=c[r>>2]|0;t=n;n=s+4|0;u=s+8|0;v=s+12|0;s=(c[p>>2]|0)==3;p=2;while(1){if(s){w=e[t+(p<<1)>>1]|0}else{w=c[o+(p<<2)>>2]|0}x=(c[l>>2]|0)==0;y=c[k>>2]|0;z=aa(c[m>>2]|0,w)|0;A=y+z|0;if(x){B=+g[y+(z+4)>>2]*+g[u>>2];C=+g[y+(z+8)>>2]*+g[v>>2];g[j+(p<<4)>>2]=+g[A>>2]*+g[n>>2];g[j+(p<<4)+4>>2]=B;g[j+(p<<4)+8>>2]=C;g[j+(p<<4)+12>>2]=0.0}else{C=+h[y+(z+8)>>3]*+g[u>>2];B=+h[y+(z+16)>>3]*+g[v>>2];g[j+(p<<4)>>2]=+h[A>>3]*+g[n>>2];g[j+(p<<4)+4>>2]=C;g[j+(p<<4)+8>>2]=B;g[j+(p<<4)+12>>2]=0.0}if((p|0)>0){p=p-1|0}else{break}}p=c[a+8>>2]|0;dI[c[(c[p>>2]|0)+8>>2]&1023](p,q,b,d);d=c[r>>2]|0;cv[c[(c[d>>2]|0)+24>>2]&2047](d,b);i=f;return}function asM(a){a=a|0;if((a|0)==0){return}aDB(a);return}function asN(a,b,d){a=a|0;b=b|0;d=d|0;var f=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,z=0,A=0,B=0.0,C=0.0;f=i;i=i+112|0;j=f|0;k=f+48|0;l=f+64|0;m=f+72|0;n=f+80|0;o=f+88|0;p=f+104|0;q=j|0;r=a+4|0;s=c[r>>2]|0;di[c[(c[s>>2]|0)+16>>2]&63](s,k,f+56|0,l,m,n,o,f+96|0,p,b);s=c[n>>2]|0;n=s+(aa(c[o>>2]|0,d)|0)|0;o=n;s=c[r>>2]|0;t=n;n=s+4|0;u=s+8|0;v=s+12|0;s=(c[p>>2]|0)==3;p=2;while(1){if(s){w=e[t+(p<<1)>>1]|0}else{w=c[o+(p<<2)>>2]|0}x=(c[l>>2]|0)==0;y=c[k>>2]|0;z=aa(c[m>>2]|0,w)|0;A=y+z|0;if(x){B=+g[y+(z+4)>>2]*+g[u>>2];C=+g[y+(z+8)>>2]*+g[v>>2];g[j+(p<<4)>>2]=+g[A>>2]*+g[n>>2];g[j+(p<<4)+4>>2]=B;g[j+(p<<4)+8>>2]=C;g[j+(p<<4)+12>>2]=0.0}else{C=+h[y+(z+8)>>3]*+g[u>>2];B=+h[y+(z+16)>>3]*+g[v>>2];g[j+(p<<4)>>2]=+h[A>>3]*+g[n>>2];g[j+(p<<4)+4>>2]=C;g[j+(p<<4)+8>>2]=B;g[j+(p<<4)+12>>2]=0.0}if((p|0)>0){p=p-1|0}else{break}}p=c[a+8>>2]|0;dI[c[(c[p>>2]|0)+8>>2]&1023](p,q,b,d);d=c[r>>2]|0;cv[c[(c[d>>2]|0)+24>>2]&2047](d,b);i=f;return}function asO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0.0,z=0.0,A=0;e=i;i=i+32|0;f=e|0;h=e+16|0;j=a|0;k=a+4|0;l=a+8|0;m=a+12|0;aDD(a|0,0,16);n=+g[d>>2];o=+g[d+4>>2];p=+g[d+8>>2];q=n*n+o*o+p*p;if(q<9999999747378752.0e-20){r=1.0;s=0.0;t=0.0}else{u=1.0/+Q(+q);r=n*u;s=o*u;t=p*u}d=b+52|0;a=c[d>>2]|0;u=+g[b+28+(((a+2|0)%3|0)<<2)>>2];aDD(f|0,0,16);g[f+(a<<2)>>2]=+g[b+28+(a<<2)>>2];a=b|0;v=b+12|0;w=b+16|0;x=b+20|0;p=u*r*+g[v>>2]+ +g[f>>2];o=u*s*+g[w>>2]+ +g[f+4>>2];n=u*t*+g[x>>2]+ +g[f+8>>2];f=b;q=+dh[c[(c[f>>2]|0)+44>>2]&1023](a);y=p-r*q;p=o-s*q;o=n-t*q;q=t*o+(r*y+s*p);if(q>-999999984306749400.0){g[j>>2]=y;g[k>>2]=p;g[l>>2]=o;g[m>>2]=0.0;z=q}else{z=-999999984306749400.0}aDD(h|0,0,16);A=c[d>>2]|0;g[h+(A<<2)>>2]=-0.0- +g[b+28+(A<<2)>>2];q=u*r*+g[v>>2]+ +g[h>>2];o=u*s*+g[w>>2]+ +g[h+4>>2];p=u*t*+g[x>>2]+ +g[h+8>>2];u=+dh[c[(c[f>>2]|0)+44>>2]&1023](a);y=q-r*u;q=o-s*u;o=p-t*u;if(t*o+(r*y+s*q)<=z){i=e;return}g[j>>2]=y;g[k>>2]=q;g[l>>2]=o;g[m>>2]=0.0;i=e;return}function asP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0.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,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0;f=i;i=i+32|0;h=f|0;j=f+16|0;k=a+52|0;l=c[k>>2]|0;m=+g[a+28+(((l+2|0)%3|0)<<2)>>2];if((e|0)<=0){i=f;return}n=h|0;o=h+4|0;p=h+8|0;q=a|0;r=a+12|0;s=a+16|0;t=a+20|0;u=a;v=j|0;w=j+4|0;x=j+8|0;y=h;z=j;A=0;B=l;while(1){aDD(y|0,0,16);g[h+(B<<2)>>2]=+g[a+28+(B<<2)>>2];l=b+(A<<4)|0;C=b+(A<<4)+4|0;D=b+(A<<4)+8|0;E=m*+g[l>>2]*+g[r>>2]+ +g[n>>2];F=m*+g[C>>2]*+g[s>>2]+ +g[o>>2];G=m*+g[D>>2]*+g[t>>2]+ +g[p>>2];H=+dh[c[(c[u>>2]|0)+44>>2]&1023](q);I=+g[l>>2];J=+g[C>>2];K=+g[D>>2];L=E-H*I;E=F-H*J;F=G-H*K;H=I*L+J*E+K*F;if(H>-999999984306749400.0){g[d+(A<<4)>>2]=L;g[d+(A<<4)+4>>2]=E;g[d+(A<<4)+8>>2]=F;g[d+(A<<4)+12>>2]=0.0;M=H;N=+g[l>>2];O=+g[C>>2];P=+g[D>>2]}else{M=-999999984306749400.0;N=I;O=J;P=K}aDD(z|0,0,16);Q=c[k>>2]|0;g[j+(Q<<2)>>2]=-0.0- +g[a+28+(Q<<2)>>2];K=m*N*+g[r>>2]+ +g[v>>2];J=m*O*+g[s>>2]+ +g[w>>2];I=m*P*+g[t>>2]+ +g[x>>2];H=+dh[c[(c[u>>2]|0)+44>>2]&1023](q);F=+g[l>>2];E=+g[C>>2];L=+g[D>>2];G=K-H*F;K=J-H*E;J=I-H*L;if(F*G+E*K+L*J>M){g[d+(A<<4)>>2]=G;g[d+(A<<4)+4>>2]=K;g[d+(A<<4)+8>>2]=J;g[d+(A<<4)+12>>2]=0.0}D=A+1|0;if((D|0)>=(e|0)){break}A=D;B=c[k>>2]|0}i=f;return}function asQ(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function asR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;f=i;i=i+16|0;h=f|0;j=c[a+52>>2]|0;k=+g[a+28+(((j+2|0)%3|0)<<2)>>2];l=h|0;g[l>>2]=k;m=h+4|0;g[m>>2]=k;n=h+8|0;g[n>>2]=k;g[h+12>>2]=0.0;g[h+(j<<2)>>2]=k+ +g[a+28+(j<<2)>>2];j=a|0;h=a;k=+dh[c[(c[h>>2]|0)+44>>2]&1023](j);o=+dh[c[(c[h>>2]|0)+44>>2]&1023](j);p=+dh[c[(c[h>>2]|0)+44>>2]&1023](j);q=k+ +g[l>>2];g[l>>2]=q;k=o+ +g[m>>2];g[m>>2]=k;o=p+ +g[n>>2];p=+P(+(+g[b>>2]));r=+P(+(+g[b+4>>2]));s=+P(+(+g[b+8>>2]));t=+P(+(+g[b+16>>2]));u=+P(+(+g[b+20>>2]));v=+P(+(+g[b+24>>2]));w=+P(+(+g[b+32>>2]));x=+P(+(+g[b+36>>2]));y=+P(+(+g[b+40>>2]));z=+g[b+48>>2];A=+g[b+52>>2];B=+g[b+56>>2];C=o*s+(p*q+r*k);r=o*v+(t*q+u*k);u=o*y+(w*q+x*k);g[d>>2]=z-C;g[d+4>>2]=A-r;g[d+8>>2]=B-u;g[d+12>>2]=0.0;g[e>>2]=z+C;g[e+4>>2]=A+r;g[e+8>>2]=B+u;g[e+12>>2]=0.0;i=f;return}function asS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0;d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);h=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);d=a+28|0;e=a+32|0;j=a+36|0;k=a+12|0;l=(f+ +g[d>>2])/+g[k>>2];m=a+16|0;n=(h+ +g[e>>2])/+g[m>>2];o=a+20|0;p=(i+ +g[j>>2])/+g[o>>2];q=+P(+(+g[b>>2]));r=+P(+(+g[b+4>>2]));s=+P(+(+g[b+8>>2]));g[k>>2]=q;g[m>>2]=r;g[o>>2]=s;g[a+24>>2]=0.0;g[d>>2]=l*q-f;g[e>>2]=n*r-h;g[j>>2]=p*s-i;g[a+40>>2]=0.0;return}function asT(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0;d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);h=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);j=a+28|0;k=f+ +g[j>>2];l=a+32|0;f=h+ +g[l>>2];m=a+36|0;h=i+ +g[m>>2];g[a+44>>2]=b;b=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);n=h- +dh[c[(c[e>>2]|0)+44>>2]&1023](d);g[j>>2]=k-b;g[l>>2]=f-i;g[m>>2]=n;g[a+40>>2]=0.0;return}function asU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17424}function asV(a){a=a|0;return}function asW(a){a=a|0;return 17944|0}function asX(a){a=a|0;return}function asY(a){a=a|0;return 16952|0}function asZ(a){a=a|0;return}function as_(a){a=a|0;return}function as$(a){a=a|0;return}function as0(a,b){a=a|0;b=b|0;var d=0;a=b+1116|0;b=c[a>>2]|0;if((b|0)>0){d=0}else{c[a>>2]=0;return}do{d=d+1|0;}while((d|0)<(b|0));c[a>>2]=0;return}function as1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+204>>2]|0;do{if((a&4|0)==0){b=c[d+204>>2]|0;if((b&4|0)!=0){e=0;break}if((a&3|0)==0){e=1;break}e=(b&3|0)==0}else{e=0}}while(0);return e|0}function as2(a){a=a|0;return c[a+12>>2]|0}function as3(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function as4(a){a=a|0;return c[a+20>>2]|0}function as5(a){a=a|0;return c[a+196>>2]|0}function as6(a){a=a|0;return c[a+196>>2]|0}function as7(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function as8(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function as9(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ata(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;e=i;i=i+160|0;f=e|0;h=c[c[a>>2]>>2]|0;j=h;k=c[c[a+4>>2]>>2]|0;l=k;if(!(cS[c[(c[b>>2]|0)+24>>2]&511](b,j,l)|0)){i=e;return}m=a+8|0;a=c[m>>2]|0;do{if((a|0)==0){n=dE[c[(c[b>>2]|0)+8>>2]&127](b,j,l,0)|0;c[m>>2]=n;if((n|0)!=0){o=n;break}i=e;return}else{o=a}}while(0);c[f>>2]=24e3;c[f+4>>2]=0;c[f+136>>2]=j;c[f+140>>2]=l;a=h+4|0;m=f+8|0;aDD(f+144|0,-1|0,16);c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];a=h+20|0;m=f+24|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];a=h+36|0;m=f+40|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];a=h+52|0;h=f+56|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=k+4|0;h=f+72|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=k+20|0;h=f+88|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=k+36|0;h=f+104|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=k+52|0;k=f+120|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];if((c[d+8>>2]|0)==1){co[c[(c[o>>2]|0)+8>>2]&255](o,j,l,d,f);i=e;return}p=+db[c[(c[o>>2]|0)+12>>2]&127](o,j,l,d,f);f=d+12|0;if(+g[f>>2]<=p){i=e;return}g[f>>2]=p;i=e;return}function atb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=22392;d=b+12|0;e=b+20|0;f=c[e>>2]|0;g=b+24|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+16>>2]=0;h=b;aDB(h);return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+16>>2]=0;h=b;aDB(h);return}function atc(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=22392;d=b+12|0;e=b+20|0;f=c[e>>2]|0;g=b+24|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+16>>2]=0;return}function atd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=i;i=i+16|0;h=f|0;j=f+8|0;c[9796]=(c[9796]|0)+1;k=b+4|0;if((c[k>>2]&2|0)==0){l=16024}else{m=c[d+192>>2]|0;n=+cU[c[(c[m>>2]|0)+20>>2]&127](m,.019999999552965164);g[h>>2]=n;m=c[e+192>>2]|0;o=+cU[c[(c[m>>2]|0)+20>>2]&127](m,.019999999552965164);g[j>>2]=o;l=n>2];n=+g[d+184>>2];p=+g[e+184>>2];q=n>2]|0;j=l+8|0;h=c[j>>2]|0;do{if((h|0)==0){if((c[k>>2]&4|0)!=0){r=0;i=f;return r|0}c[9806]=(c[9806]|0)+1;m=aDx(1159)|0;if((m|0)==0){s=0;break}t=-(m+4|0)&15;c[m+t>>2]=m;s=m+(t+4)|0}else{t=l+12|0;m=c[t>>2]|0;c[t>>2]=c[m>>2];c[j>>2]=h-1;s=m}}while(0);h=s;c[s>>2]=1025;c[s+112>>2]=0;g[s+116>>2]=0.0;a[s+120|0]=0;aDD(s+124|0,0,28);c[s+388>>2]=0;g[s+392>>2]=0.0;a[s+396|0]=0;aDD(s+400|0,0,28);c[s+664>>2]=0;g[s+668>>2]=0.0;a[s+672|0]=0;aDD(s+676|0,0,28);c[s+940>>2]=0;g[s+944>>2]=0.0;a[s+948|0]=0;aDD(s+952|0,0,28);c[s+1108>>2]=d;c[s+1112>>2]=e;c[s+1116>>2]=0;g[s+1120>>2]=o;g[s+1124>>2]=q;e=b+12|0;c[s+1136>>2]=c[e>>2];s=c[e>>2]|0;d=b+16|0;do{if((s|0)==(c[d>>2]|0)){j=(s|0)==0?1:s<<1;if((s|0)>=(j|0)){u=s;break}if((j|0)==0){v=0;w=s}else{c[9806]=(c[9806]|0)+1;l=aDx((j<<2)+19|0)|0;if((l|0)==0){x=0}else{k=-(l+4|0)&15;c[l+k>>2]=l;x=l+(k+4)|0}v=x;w=c[e>>2]|0}k=b+20|0;if((w|0)>0){l=0;do{m=v+(l<<2)|0;if((m|0)!=0){c[m>>2]=c[(c[k>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(w|0))}l=c[k>>2]|0;m=b+24|0;if((l|0)!=0){if((a[m]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[k>>2]=0}a[m]=1;c[k>>2]=v;c[d>>2]=j;u=c[e>>2]|0}else{u=s}}while(0);s=(c[b+20>>2]|0)+(u<<2)|0;if((s|0)==0){y=u}else{c[s>>2]=h;y=c[e>>2]|0}c[e>>2]=y+1;r=h;i=f;return r|0}function ate(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[9796]=(c[9796]|0)-1;cv[c[(c[a>>2]|0)+20>>2]&2047](a,b);d=c[b+1136>>2]|0;e=a+12|0;f=(c[e>>2]|0)-1|0;g=a+20|0;h=c[g>>2]|0;i=h+(d<<2)|0;j=c[i>>2]|0;c[i>>2]=c[h+(f<<2)>>2];c[(c[g>>2]|0)+(f<<2)>>2]=j;c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+1136>>2]=d;c[e>>2]=(c[e>>2]|0)-1;e=c[a+196>>2]|0;a=b;if((b|0)==0){return}d=c[e+16>>2]|0;do{if(d>>>0<=a>>>0){if((d+(aa(c[e>>2]|0,c[e+4>>2]|0)|0)|0)>>>0<=a>>>0){break}g=e+12|0;c[b>>2]=c[g>>2];c[g>>2]=a;g=e+8|0;c[g>>2]=(c[g>>2]|0)+1;return}}while(0);c[9804]=(c[9804]|0)+1;aDB(c[b-1140+1136>>2]|0);return}function atf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+8|0;g=f|0;c[g>>2]=a;c[g+4>>2]=e;e=c[a+200+((c[(c[b+192>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+192>>2]|0)+4>>2]<<2)>>2]|0;a=dE[c[(c[e>>2]|0)+8>>2]&127](e,g,b,d)|0;i=f;return a|0}function atg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[b+216>>2]|0;do{if((a|0)==5|(a|0)==2){e=c[d+216>>2]|0;if((e|0)==5|(e|0)==2){f=0}else{break}return f|0}}while(0);if((c[b+252>>2]|0)==0){f=1;return f|0}f=dj[c[c[b>>2]>>2]&511](b,d)|0;return f|0}function ath(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f|0;c[g>>2]=21696;c[g+4>>2]=d;c[g+8>>2]=a;dA[c[(c[b>>2]|0)+48>>2]&511](b,g|0,e);i=f;return}function ati(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+192>>2]|0;a=d+8|0;e=c[a>>2]|0;if((e|0)!=0){f=d+12|0;d=c[f>>2]|0;c[f>>2]=c[d>>2];c[a>>2]=e-1;g=d;return g|0}c[9806]=(c[9806]|0)+1;d=aDx(b+19|0)|0;if((d|0)==0){g=0;return g|0}b=-(d+4|0)&15;c[d+b>>2]=d;g=d+(b+4)|0;return g|0}function atj(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+192>>2]|0;if((b|0)==0){return}a=c[d+16>>2]|0;do{if(a>>>0<=b>>>0){if((a+(aa(c[d>>2]|0,c[d+4>>2]|0)|0)|0)>>>0<=b>>>0){break}e=d+12|0;c[b>>2]=c[e>>2];c[e>>2]=b;e=d+8|0;c[e>>2]=(c[e>>2]|0)+1;return}}while(0);c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0);return}function atk(a){a=a|0;if((a|0)==0){return}aDB(a);return}function atl(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;dA[c[d+188>>2]&511](b,d,c[a+4>>2]|0);return 0}function atm(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-256+252>>2]|0);return}function atn(a,b){a=a|0;b=b|0;return 1}function ato(a){a=a|0;return 248}function atp(a){a=a|0;return 12}function atq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0;g[b+16>>2]=+g[a+4>>2];g[b+20>>2]=+g[a+8>>2];g[b+24>>2]=+g[a+12>>2];g[b+28>>2]=+g[a+16>>2];g[b+32>>2]=+g[a+20>>2];g[b+36>>2]=+g[a+24>>2];g[b+40>>2]=+g[a+28>>2];g[b+44>>2]=+g[a+32>>2];g[b+48>>2]=+g[a+36>>2];g[b+52>>2]=+g[a+40>>2];g[b+56>>2]=+g[a+44>>2];g[b+60>>2]=+g[a+48>>2];g[b+64>>2]=+g[a+52>>2];g[b+68>>2]=+g[a+56>>2];g[b+72>>2]=+g[a+60>>2];g[b+76>>2]=+g[a+64>>2];g[b+80>>2]=+g[a+68>>2];g[b+84>>2]=+g[a+72>>2];g[b+88>>2]=+g[a+76>>2];g[b+92>>2]=+g[a+80>>2];g[b+96>>2]=+g[a+84>>2];g[b+100>>2]=+g[a+88>>2];g[b+104>>2]=+g[a+92>>2];g[b+108>>2]=+g[a+96>>2];g[b+112>>2]=+g[a+100>>2];g[b+116>>2]=+g[a+104>>2];g[b+120>>2]=+g[a+108>>2];g[b+124>>2]=+g[a+112>>2];g[b+128>>2]=+g[a+116>>2];g[b+132>>2]=+g[a+120>>2];g[b+136>>2]=+g[a+124>>2];g[b+140>>2]=+g[a+128>>2];g[b+144>>2]=+g[a+132>>2];g[b+148>>2]=+g[a+136>>2];g[b+152>>2]=+g[a+140>>2];g[b+156>>2]=+g[a+144>>2];g[b+160>>2]=+g[a+148>>2];g[b+164>>2]=+g[a+152>>2];g[b+168>>2]=+g[a+156>>2];g[b+172>>2]=+g[a+160>>2];g[b+176>>2]=+g[a+164>>2];g[b+180>>2]=+g[a+168>>2];g[b+184>>2]=+g[a+172>>2];g[b+188>>2]=+g[a+176>>2];c[b+220>>2]=c[a+180>>2];g[b+192>>2]=+g[a+184>>2];c[b>>2]=0;e=d;c[b+4>>2]=dj[c[(c[e>>2]|0)+28>>2]&511](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+224>>2]=c[a+204>>2];c[b+228>>2]=c[a+208>>2];c[b+232>>2]=c[a+212>>2];f=a+216|0;h=b+236|0;c[h>>2]=c[f>>2];c[h>>2]=c[f>>2];g[b+196>>2]=+g[a+220>>2];g[b+200>>2]=+g[a+224>>2];g[b+204>>2]=+g[a+228>>2];c[b+240>>2]=c[a+232>>2];f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b+12>>2]=h;if((h|0)==0){i=a+240|0;j=+g[i>>2];k=b+208|0;l=k;g[l>>2]=j;m=a+244|0;n=+g[m>>2];o=b+212|0;p=o;g[p>>2]=n;q=a+248|0;r=+g[q>>2];s=b+216|0;t=s;g[t>>2]=r;u=+g[q>>2];g[t>>2]=u;v=a+252|0;w=c[v>>2]|0;x=b+244|0;y=x;c[y>>2]=w;return 16872}cv[c[(c[d>>2]|0)+48>>2]&2047](d,f);i=a+240|0;j=+g[i>>2];k=b+208|0;l=k;g[l>>2]=j;m=a+244|0;n=+g[m>>2];o=b+212|0;p=o;g[p>>2]=n;q=a+248|0;r=+g[q>>2];s=b+216|0;t=s;g[t>>2]=r;u=+g[q>>2];g[t>>2]=u;v=a+252|0;w=c[v>>2]|0;x=b+244|0;y=x;c[y>>2]=w;return 16872}function atr(a,b){a=a|0;b=b|0;var d=0,e=0;d=cA[c[(c[a>>2]|0)+16>>2]&4095](a)|0;e=cS[c[(c[b>>2]|0)+16>>2]&511](b,d,1)|0;d=cS[c[(c[a>>2]|0)+20>>2]&511](a,c[e+8>>2]|0,b)|0;co[c[(c[b>>2]|0)+20>>2]&255](b,e,d,1245859651,a);return}function ats(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=i;i=i+96|0;f=e|0;h=e+64|0;j=e+80|0;g[f>>2]=1.0;aDD(f+4|0,0,16);g[f+20>>2]=1.0;aDD(f+24|0,0,16);g[f+40>>2]=1.0;aDD(f+44|0,0,20);dI[c[(c[a>>2]|0)+8>>2]&1023](a,f,h,j);k=+g[j>>2];l=+g[h>>2];m=k-l;n=+g[j+4>>2];o=+g[h+4>>2];p=n-o;q=+g[j+8>>2];r=+g[h+8>>2];s=q-r;g[d>>2]=+Q(+(m*m+p*p+s*s))*.5;g[b>>2]=(l+k)*.5;g[b+4>>2]=(o+n)*.5;g[b+8>>2]=(r+q)*.5;g[b+12>>2]=0.0;i=e;return}function att(a,b){a=a|0;b=+b;return+(+dh[c[(c[a>>2]|0)+16>>2]&1023](a)*b)}function atu(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0,j=0.0,k=0.0;b=i;i=i+24|0;d=b|0;e=b+16|0;dA[c[(c[a>>2]|0)+12>>2]&511](a,d,e);f=+g[d>>2];h=+g[d+4>>2];j=+g[d+8>>2];k=+Q(+(f*f+h*h+j*j));i=b;return+(k+ +g[e>>2])}function atv(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;i=i|0;var j=0.0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,h,i);b=i|0;j=+g[b>>2];k=i+4|0;l=+g[k>>2];m=i+8|0;n=+g[m>>2];o=h|0;p=+g[o>>2];q=h+4|0;r=+g[q>>2];s=h+8|0;t=+g[s>>2];u=+g[d>>2]*f;v=+g[d+4>>2]*f;w=+g[d+8>>2]*f;if(u>0.0){x=p;y=j+u}else{x=p+u;y=j}if(v>0.0){z=r;A=l+v}else{z=r+v;A=l}if(w>0.0){B=t;C=n+w}else{B=t+w;C=n}n=+g[e>>2];w=+g[e+4>>2];t=+g[e+8>>2];l=+Q(+(n*n+w*w+t*t));t=l*+dh[c[(c[a>>2]|0)+16>>2]&1023](a)*f;g[o>>2]=x;g[q>>2]=z;g[s>>2]=B;g[h+12>>2]=0.0;g[b>>2]=y;g[k>>2]=A;g[m>>2]=C;g[i+12>>2]=0.0;g[o>>2]=+g[o>>2]-t;g[q>>2]=+g[q>>2]-t;g[s>>2]=+g[s>>2]-t;g[b>>2]=t+ +g[b>>2];g[k>>2]=t+ +g[k>>2];g[m>>2]=t+ +g[m>>2];return}function atw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;g=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=g;if((g|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];return 16832}function atx(a,b){a=a|0;b=b|0;var d=0,e=0;d=cA[c[(c[a>>2]|0)+48>>2]&4095](a)|0;e=cS[c[(c[b>>2]|0)+16>>2]&511](b,d,1)|0;d=cS[c[(c[a>>2]|0)+52>>2]&511](a,c[e+8>>2]|0,b)|0;co[c[(c[b>>2]|0)+20>>2]&255](b,e,d,1346455635,a);return}function aty(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=24360;a[b+20|0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;g[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;g[b+40>>2]=1.0;a[b+44|0]=1;c[b+48>>2]=0;a[b+52|0]=0;a[b+53|0]=1;a[b+54|0]=1;g[b+56>>2]=.03999999910593033;a[b+60|0]=0;g[b+64>>2]=0.0;d=b+68|0;c[d>>2]=0;c[b+76>>2]=e;c[b+80>>2]=0;a[b+84|0]=1;e=cA[c[(c[f>>2]|0)+16>>2]&4095](f)|0;c[b+72>>2]=e;c[d>>2]=e;return}function atz(a){a=a|0;atA(a);if((a|0)==0){return}aDB(a);return}function atA(b){b=b|0;var 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;c[b>>2]=24360;d=b+8|0;e=c[d>>2]|0;f=b+16|0;g=c[f>>2]|0;if((e|0)>0){h=b+76|0;i=b+24|0;j=0;k=g;l=e;while(1){e=(c[k+(j<<2)>>2]|0)+188|0;m=c[e>>2]|0;if((m|0)==0){n=l;o=k}else{p=c[h>>2]|0;q=cA[c[(c[p>>2]|0)+36>>2]&4095](p)|0;dA[c[(c[q>>2]|0)+40>>2]&511](q,m,c[i>>2]|0);q=c[h>>2]|0;dA[c[(c[q>>2]|0)+12>>2]&511](q,m,c[i>>2]|0);c[e>>2]=0;n=c[d>>2]|0;o=c[f>>2]|0}e=j+1|0;if((e|0)<(n|0)){j=e;k=o;l=n}else{r=o;break}}}else{r=g}g=b+20|0;if((r|0)==0){a[g]=1;c[f>>2]=0;c[d>>2]=0;s=b+12|0;c[s>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[r-4>>2]|0)}c[f>>2]=0;a[g]=1;c[f>>2]=0;c[d>>2]=0;s=b+12|0;c[s>>2]=0;return}function atB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;g=i;i=i+96|0;h=g|0;j=g+64|0;k=g+80|0;l=b+8|0;m=c[l>>2]|0;n=b+12|0;do{if((m|0)==(c[n>>2]|0)){o=(m|0)==0?1:m<<1;if((m|0)>=(o|0)){p=m;break}if((o|0)==0){q=0;r=m}else{c[9806]=(c[9806]|0)+1;s=aDx((o<<2)+19|0)|0;if((s|0)==0){t=0}else{u=-(s+4|0)&15;c[s+u>>2]=s;t=s+(u+4)|0}q=t;r=c[l>>2]|0}u=b+16|0;if((r|0)>0){s=0;do{v=q+(s<<2)|0;if((v|0)!=0){c[v>>2]=c[(c[u>>2]|0)+(s<<2)>>2]}s=s+1|0;}while((s|0)<(r|0))}s=c[u>>2]|0;v=b+20|0;if((s|0)!=0){if((a[v]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[s-4>>2]|0)}c[u>>2]=0}a[v]=1;c[u>>2]=q;c[n>>2]=o;p=c[l>>2]|0}else{p=m}}while(0);m=(c[b+16>>2]|0)+(p<<2)|0;if((m|0)==0){w=p}else{c[m>>2]=d;w=c[l>>2]|0}c[l>>2]=w+1;w=h;l=d+4|0;c[w>>2]=c[l>>2];c[w+4>>2]=c[l+4>>2];c[w+8>>2]=c[l+8>>2];c[w+12>>2]=c[l+12>>2];l=h+16|0;w=d+20|0;c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[l+12>>2]=c[w+12>>2];w=h+32|0;l=d+36|0;c[w>>2]=c[l>>2];c[w+4>>2]=c[l+4>>2];c[w+8>>2]=c[l+8>>2];c[w+12>>2]=c[l+12>>2];l=h+48|0;w=d+52|0;c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[l+12>>2]=c[w+12>>2];w=d+192|0;l=c[w>>2]|0;dI[c[(c[l>>2]|0)+8>>2]&1023](l,h,j,k);h=c[b+76>>2]|0;c[d+188>>2]=c5[c[(c[h>>2]|0)+8>>2]&63](h,j,k,c[(c[w>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;i=g;return}function atC(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;e=i;i=i+64|0;f=e|0;h=e+16|0;j=e+32|0;k=e+48|0;l=d+192|0;m=c[l>>2]|0;dI[c[(c[m>>2]|0)+8>>2]&1023](m,d+4|0,f,h);m=f|0;n=+g[m>>2]+-.019999999552965164;g[m>>2]=n;o=f+4|0;p=+g[o>>2]+-.019999999552965164;g[o>>2]=p;q=f+8|0;r=+g[q>>2]+-.019999999552965164;g[q>>2]=r;s=h|0;t=+g[s>>2]+.019999999552965164;g[s>>2]=t;u=h+4|0;v=+g[u>>2]+.019999999552965164;g[u>>2]=v;w=h+8|0;x=+g[w>>2]+.019999999552965164;g[w>>2]=x;do{if((a[b+44|0]&1)==0){y=t;z=n;A=v;B=p;C=x;D=r}else{if((c[d+232>>2]|0)!=2){y=t;z=n;A=v;B=p;C=x;D=r;break}E=c[l>>2]|0;dI[c[(c[E>>2]|0)+8>>2]&1023](E,d+68|0,j,k);E=j|0;F=+g[E>>2]+-.019999999552965164;g[E>>2]=F;E=j+4|0;G=+g[E>>2]+-.019999999552965164;g[E>>2]=G;E=j+8|0;H=+g[E>>2]+-.019999999552965164;g[E>>2]=H;E=k|0;I=+g[E>>2]+.019999999552965164;g[E>>2]=I;E=k+4|0;J=+g[E>>2]+.019999999552965164;g[E>>2]=J;E=k+8|0;K=+g[E>>2]+.019999999552965164;g[E>>2]=K;L=+g[m>>2];if(F>2]=F;M=F}else{M=L}L=+g[o>>2];if(G>2]=G;N=G}else{N=L}L=+g[q>>2];if(H>2]=H;O=H}else{O=L}E=f+12|0;L=+g[j+12>>2];if(L<+g[E>>2]){g[E>>2]=L}L=+g[s>>2];if(L>2]=I;P=I}else{P=L}L=+g[u>>2];if(L>2]=J;Q=J}else{Q=L}L=+g[w>>2];if(L>2]=K;R=K}else{R=L}E=h+12|0;L=+g[k+12>>2];if(+g[E>>2]>=L){y=P;z=M;A=Q;B=N;C=R;D=O;break}g[E>>2]=L;y=P;z=M;A=Q;B=N;C=R;D=O}}while(0);k=c[b+76>>2]|0;do{if((c[d+204>>2]&1|0)==0){O=y-z;R=A-B;N=C-D;if(O*O+R*R+N*N<999999995904.0){break}w=d+216|0;if(((c[w>>2]|0)-4|0)>>>0>=2){c[w>>2]=5}if(a[18312]|0){i=e;return}w=b+80|0;u=c[w>>2]|0;if((u|0)==0){i=e;return}a[18312]=1;cv[c[(c[u>>2]|0)+36>>2]&2047](u,16776);u=c[w>>2]|0;cv[c[(c[u>>2]|0)+36>>2]&2047](u,17872);u=c[w>>2]|0;cv[c[(c[u>>2]|0)+36>>2]&2047](u,17312);u=c[w>>2]|0;cv[c[(c[u>>2]|0)+36>>2]&2047](u,17024);i=e;return}}while(0);co[c[(c[k>>2]|0)+16>>2]&255](k,c[d+188>>2]|0,f,h,c[b+24>>2]|0);i=e;return}function atD(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+16|0;e=d|0;aDo(16744);f=b+8|0;h=c[f>>2]|0;if((h|0)>0){j=b+16|0;k=b+84|0;l=0;m=h;while(1){h=c[(c[j>>2]|0)+(l<<2)>>2]|0;if((a[k]&1)==0){n=c[h+216>>2]|0;if((n|0)==5|(n|0)==2){o=m}else{p=1171}}else{p=1171}if((p|0)==1171){p=0;atC(b,h);o=c[f>>2]|0}h=l+1|0;if((h|0)<(o|0)){l=h;m=o}else{break}}}o=c[9152]|0;m=o+16|0;l=(c[m>>2]|0)-1|0;c[m>>2]=l;if((l|0)!=0){i=d;return}do{if((c[o+4>>2]|0)==0){q=o}else{b3(e|0,0)|0;l=c[10742]|0;f=o+8|0;g[f>>2]=+(((c[e+4>>2]|0)-(c[l+4>>2]|0)+(((c[e>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[o+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[f>>2];if((c[m>>2]|0)==0){q=c[9152]|0;break}else{i=d;return}}}while(0);c[9152]=c[q+20>>2];i=d;return}function atE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+188|0;e=c[d>>2]|0;if((e|0)!=0){f=a+76|0;g=c[f>>2]|0;h=cA[c[(c[g>>2]|0)+36>>2]&4095](g)|0;g=a+24|0;dA[c[(c[h>>2]|0)+40>>2]&511](h,e,c[g>>2]|0);h=c[f>>2]|0;dA[c[(c[h>>2]|0)+12>>2]&511](h,e,c[g>>2]|0);c[d>>2]=0}d=a+8|0;g=c[d>>2]|0;e=a+16|0;a=0;while(1){if((a|0)>=(g|0)){i=1198;break}j=c[e>>2]|0;k=j+(a<<2)|0;if((c[k>>2]|0)==(b|0)){break}else{a=a+1|0}}if((i|0)==1198){return}i=g-1|0;c[k>>2]=c[j+(i<<2)>>2];c[(c[e>>2]|0)+(i<<2)>>2]=b;c[d>>2]=(c[d>>2]|0)-1;return}function atF(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=i;i=i+48|0;d=b+8|0;e=b+16|0;f=b+40|0;aDo(16592);h=a+28|0;ct[c[(c[a>>2]|0)+8>>2]&2047](a);aDo(16472);j=a+76|0;k=c[j>>2]|0;l=a+24|0;cv[c[(c[k>>2]|0)+32>>2]&2047](k,c[l>>2]|0);k=c[9152]|0;a=k+16|0;m=(c[a>>2]|0)-1|0;c[a>>2]=m;do{if((m|0)==0){if((c[k+4>>2]|0)==0){n=k}else{b3(f|0,0)|0;o=c[10742]|0;p=k+8|0;g[p>>2]=+(((c[f+4>>2]|0)-(c[o+4>>2]|0)+(((c[f>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[k+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[p>>2];if((c[a>>2]|0)!=0){break}n=c[9152]|0}c[9152]=c[n+20>>2]}}while(0);n=c[l>>2]|0;aDo(16288);if((n|0)!=0){a=c[(c[n>>2]|0)+32>>2]|0;k=c[j>>2]|0;j=cA[c[(c[k>>2]|0)+36>>2]&4095](k)|0;dI[a&1023](n,j,h,c[l>>2]|0)}l=c[9152]|0;h=l+16|0;j=(c[h>>2]|0)-1|0;c[h>>2]=j;do{if((j|0)==0){if((c[l+4>>2]|0)==0){q=l}else{b3(e|0,0)|0;n=c[10742]|0;a=l+8|0;g[a>>2]=+(((c[e+4>>2]|0)-(c[n+4>>2]|0)+(((c[e>>2]|0)-(c[n>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[a>>2];a=c[9152]|0;if((c[h>>2]|0)==0){q=a}else{r=a;break}}a=c[q+20>>2]|0;c[9152]=a;r=a}else{r=l}}while(0);l=r+16|0;q=(c[l>>2]|0)-1|0;c[l>>2]=q;if((q|0)!=0){i=b;return}do{if((c[r+4>>2]|0)==0){s=r}else{b3(d|0,0)|0;q=c[10742]|0;h=r+8|0;g[h>>2]=+(((c[d+4>>2]|0)-(c[q+4>>2]|0)+(((c[d>>2]|0)-(c[q>>2]|0)|0)*1e6|0)-(c[r+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[h>>2];if((c[l>>2]|0)==0){s=c[9152]|0;break}else{i=b;return}}}while(0);c[9152]=c[s+20>>2];i=b;return}function atG(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var 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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0.0,at=0.0,au=0.0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0;l=i;i=i+1408|0;m=l|0;n=l+48|0;o=l+96|0;p=l+112|0;q=l+128|0;r=l+144|0;s=l+176|0;t=l+224|0;u=l+288|0;v=l+320|0;w=l+376|0;x=l+552|0;y=l+912|0;z=l+928|0;A=l+960|0;B=l+976|0;C=l+1096|0;D=l+1216|0;E=l+1232|0;F=l+1248|0;G=l+1280|0;H=l+1344|0;c[v+8>>2]=0;g[v+12>>2]=1.0;g[v+16>>2]=1.0;g[v+20>>2]=1.0;g[v+24>>2]=0.0;c[v>>2]=25528;c[v+4>>2]=8;g[v+28>>2]=0.0;g[v+44>>2]=0.0;I=c[h+4>>2]|0;if((I|0)<20){c[w>>2]=19544;J=w+164|0;c[w+168>>2]=0;g[w+172>>2]=0.0;K=k+4|0;g[J>>2]=+g[K>>2];g[x+308>>2]=9999999747378752.0e-20;b[x+332>>1]=0;c[y>>2]=21768;c[y+4>>2]=x;c[y+8>>2]=v;c[y+12>>2]=h;if(!(aA0(y,d,e,j,j,w)|0)){i=l;return}y=w+132|0;v=y|0;L=+g[v>>2];x=w+136|0;M=+g[x>>2];N=w+140|0;O=+g[N>>2];if(L*L+M*M+O*O<=9999999747378752.0e-20){i=l;return}P=+g[J>>2];if(P>=+g[K>>2]){i=l;return}R=L*+g[d>>2]+M*+g[d+4>>2]+O*+g[d+8>>2];S=L*+g[d+16>>2]+M*+g[d+20>>2]+O*+g[d+24>>2];T=L*+g[d+32>>2]+M*+g[d+36>>2]+O*+g[d+40>>2];g[w+144>>2]=0.0;O=1.0/+Q(+(R*R+S*S+T*T));g[v>>2]=R*O;g[x>>2]=S*O;g[N>>2]=T*O;c[z>>2]=f;c[z+4>>2]=0;N=z+8|0;x=y;c[N>>2]=c[x>>2];c[N+4>>2]=c[x+4>>2];c[N+8>>2]=c[x+8>>2];c[N+12>>2]=c[x+12>>2];g[z+24>>2]=P;x=c[(c[k>>2]|0)+12>>2]|0;+c4[x&127](k,z,1);i=l;return}if((I-21|0)>>>0<9){if((I|0)==21){P=+g[j>>2];O=+g[j+16>>2];T=+g[j+32>>2];S=+g[j+4>>2];R=+g[j+20>>2];M=+g[j+36>>2];L=+g[j+8>>2];U=+g[j+24>>2];V=+g[j+40>>2];W=-0.0- +g[j+48>>2];X=-0.0- +g[j+52>>2];Y=-0.0- +g[j+56>>2];Z=P*W+O*X+T*Y;_=S*W+R*X+M*Y;$=L*W+U*X+V*Y;Y=+g[d+48>>2];X=+g[d+52>>2];W=+g[d+56>>2];g[A>>2]=Z+(P*Y+O*X+T*W);g[A+4>>2]=_+(S*Y+R*X+M*W);g[A+8>>2]=$+(L*Y+U*X+V*W);g[A+12>>2]=0.0;W=+g[e+48>>2];X=+g[e+52>>2];Y=+g[e+56>>2];aa=Z+(P*W+O*X+T*Y);T=_+(S*W+R*X+M*Y);M=$+(L*W+U*X+V*Y);z=c[k+16>>2]|0;x=B+4|0;N=A;c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];g[B+20>>2]=aa;g[B+24>>2]=T;g[B+28>>2]=M;g[B+32>>2]=0.0;c[B+36>>2]=z;c[B>>2]=18968;c[B+44>>2]=k;c[B+48>>2]=f;c[B+52>>2]=h;z=B+56|0;N=j;c[z>>2]=c[N>>2];c[z+4>>2]=c[N+4>>2];c[z+8>>2]=c[N+8>>2];c[z+12>>2]=c[N+12>>2];N=B+72|0;z=j+16|0;c[N>>2]=c[z>>2];c[N+4>>2]=c[z+4>>2];c[N+8>>2]=c[z+8>>2];c[N+12>>2]=c[z+12>>2];z=B+88|0;N=j+32|0;c[z>>2]=c[N>>2];c[z+4>>2]=c[N+4>>2];c[z+8>>2]=c[N+8>>2];c[z+12>>2]=c[N+12>>2];N=B+104|0;z=j+48|0;c[N>>2]=c[z>>2];c[N+4>>2]=c[z+4>>2];c[N+8>>2]=c[z+8>>2];c[N+12>>2]=c[z+12>>2];g[B+40>>2]=+g[k+4>>2];z=c[h+48>>2]|0;c[q>>2]=18760;c[q+4>>2]=z;c[q+8>>2]=B;B=c[h+52>>2]|0;z=B|0;N=q|0;aDD(o|0,0,16);aDD(p|0,0,16);if((a[B+60|0]&1)==0){azp(z,N,A,aa,T,M,o,p);i=l;return}else{azq(z,N,A,aa,T,M,o,p,c[B+56>>2]|0);i=l;return}}B=h;M=+g[j>>2];T=+g[j+16>>2];aa=+g[j+32>>2];Y=+g[j+4>>2];V=+g[j+20>>2];X=+g[j+36>>2];U=+g[j+8>>2];W=+g[j+24>>2];L=+g[j+40>>2];$=-0.0- +g[j+48>>2];R=-0.0- +g[j+52>>2];S=-0.0- +g[j+56>>2];_=M*$+T*R+aa*S;O=Y*$+V*R+X*S;P=U*$+W*R+L*S;S=+g[d+48>>2];R=+g[d+52>>2];$=+g[d+56>>2];Z=_+(M*S+T*R+aa*$);ab=O+(Y*S+V*R+X*$);ac=P+(U*S+W*R+L*$);$=+g[e+48>>2];R=+g[e+52>>2];S=+g[e+56>>2];ad=_+(M*$+T*R+aa*S);aa=O+(Y*$+V*R+X*S);X=P+(U*$+W*R+L*S);p=c[k+16>>2]|0;g[C+4>>2]=Z;g[C+8>>2]=ab;g[C+12>>2]=ac;g[C+16>>2]=0.0;g[C+20>>2]=ad;g[C+24>>2]=aa;g[C+28>>2]=X;g[C+32>>2]=0.0;c[C+36>>2]=p;c[C>>2]=18936;c[C+44>>2]=k;c[C+48>>2]=f;c[C+52>>2]=B;p=C+56|0;o=j;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=C+72|0;p=j+16|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];p=C+88|0;o=j+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=C+104|0;p=j+48|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];g[C+40>>2]=+g[k+4>>2];p=D|0;g[p>>2]=Z;o=D+4|0;g[o>>2]=ab;A=D+8|0;g[A>>2]=ac;g[D+12>>2]=0.0;if(ad>2]=ad}if(aa>2]=aa}if(X>2]=X}A=E|0;g[A>>2]=Z;o=E+4|0;g[o>>2]=ab;p=E+8|0;g[p>>2]=ac;g[E+12>>2]=0.0;if(Z>2]=ad}if(ab>2]=aa}if(ac>2]=X}dI[c[(c[h>>2]|0)+60>>2]&1023](B,C|0,D,E);i=l;return}if((I|0)!=31){i=l;return}I=h;E=c[h+64>>2]|0;c[F>>2]=18888;D=F+4|0;c[D>>2]=f;f=F+8|0;c[f>>2]=I;C=F+12|0;c[C>>2]=j;B=F+16|0;c[B>>2]=d;p=F+20|0;c[p>>2]=e;o=F+24|0;c[o>>2]=k;if((E|0)==0){k=c[h+16>>2]|0;if((k|0)<=0){i=l;return}h=t;A=u|0;N=u+4|0;z=u+8|0;q=u+12|0;x=u+14|0;y=u+16|0;v=u+20|0;w=u+24|0;K=u|0;u=s;J=t|0;ae=t+48|0;af=t+16|0;ag=s+16|0;ah=t+32|0;ai=s+32|0;aj=t+48|0;ak=t+52|0;al=t+56|0;am=t+60|0;an=0;ao=I;I=j;while(1){ap=c[ao+24>>2]|0;aq=c[ap+(an*80|0)+64>>2]|0;anx(s,I|0,ap+(an*80|0)|0);X=+g[ap+(an*80|0)+48>>2];ac=+g[ap+(an*80|0)+52>>2];aa=+g[ap+(an*80|0)+56>>2];ab=+g[I>>2]*X+ +g[I+4>>2]*ac+ +g[I+8>>2]*aa+ +g[I+48>>2];ad=+g[I+16>>2]*X+ +g[I+20>>2]*ac+ +g[I+24>>2]*aa+ +g[I+52>>2];Z=+g[I+32>>2]*X+ +g[I+36>>2]*ac+ +g[I+40>>2]*aa+ +g[I+56>>2];ap=J;do{ap=ap+16|0;}while((ap|0)!=(ae|0));c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[h+12>>2]=c[u+12>>2];c[af>>2]=c[ag>>2];c[af+4>>2]=c[ag+4>>2];c[af+8>>2]=c[ag+8>>2];c[af+12>>2]=c[ag+12>>2];c[ah>>2]=c[ai>>2];c[ah+4>>2]=c[ai+4>>2];c[ah+8>>2]=c[ai+8>>2];c[ah+12>>2]=c[ai+12>>2];g[aj>>2]=ab;g[ak>>2]=ad;g[al>>2]=Z;g[am>>2]=0.0;ap=(c[D>>2]|0)+192|0;ar=c[ap>>2]|0;c[ap>>2]=aq;ap=c[o>>2]|0;g[N>>2]=1.0;c[z>>2]=0;b[q>>1]=1;b[x>>1]=-1;c[y>>2]=0;c[A>>2]=19e3;c[v>>2]=ap;c[w>>2]=an;g[N>>2]=+g[ap+4>>2];atG(c[B>>2]|0,c[p>>2]|0,c[D>>2]|0,aq,t,K);c[(c[D>>2]|0)+192>>2]=ar;ar=an+1|0;if((ar|0)>=(k|0)){break}an=ar;ao=c[f>>2]|0;I=c[C>>2]|0}i=l;return}C=n;I=j+48|0;aa=+g[d+48>>2]- +g[I>>2];f=j+52|0;ac=+g[d+52>>2]- +g[f>>2];ao=j+56|0;X=+g[d+56>>2]- +g[ao>>2];an=j|0;ea(n,an,d|0);d=j|0;k=j+16|0;D=j+32|0;S=+g[d>>2]*aa+ +g[k>>2]*ac+ +g[D>>2]*X;K=j+4|0;t=j+20|0;p=j+36|0;L=+g[K>>2]*aa+ +g[t>>2]*ac+ +g[p>>2]*X;B=j+8|0;N=j+24|0;w=j+40|0;R=+g[B>>2]*aa+ +g[N>>2]*ac+ +g[w>>2]*X;j=G+48|0;v=G|0;do{v=v+16|0;}while((v|0)!=(j|0));j=G;c[j>>2]=c[C>>2];c[j+4>>2]=c[C+4>>2];c[j+8>>2]=c[C+8>>2];c[j+12>>2]=c[C+12>>2];C=G+16|0;j=n+16|0;c[C>>2]=c[j>>2];c[C+4>>2]=c[j+4>>2];c[C+8>>2]=c[j+8>>2];c[C+12>>2]=c[j+12>>2];j=G+32|0;C=n+32|0;c[j>>2]=c[C>>2];c[j+4>>2]=c[C+4>>2];c[j+8>>2]=c[C+8>>2];c[j+12>>2]=c[C+12>>2];g[G+48>>2]=S;g[G+52>>2]=L;g[G+56>>2]=R;g[G+60>>2]=0.0;G=m;X=+g[e+48>>2]- +g[I>>2];ac=+g[e+52>>2]- +g[f>>2];aa=+g[e+56>>2]- +g[ao>>2];ea(m,an,e|0);W=+g[d>>2]*X+ +g[k>>2]*ac+ +g[D>>2]*aa;$=+g[K>>2]*X+ +g[t>>2]*ac+ +g[p>>2]*aa;U=+g[B>>2]*X+ +g[N>>2]*ac+ +g[w>>2]*aa;w=H+48|0;N=H|0;do{N=N+16|0;}while((N|0)!=(w|0));w=H;c[w>>2]=c[G>>2];c[w+4>>2]=c[G+4>>2];c[w+8>>2]=c[G+8>>2];c[w+12>>2]=c[G+12>>2];G=H+16|0;w=m+16|0;c[G>>2]=c[w>>2];c[G+4>>2]=c[w+4>>2];c[G+8>>2]=c[w+8>>2];c[G+12>>2]=c[w+12>>2];w=H+32|0;G=m+32|0;c[w>>2]=c[G>>2];c[w+4>>2]=c[G+4>>2];c[w+8>>2]=c[G+8>>2];c[w+12>>2]=c[G+12>>2];g[H+48>>2]=W;g[H+52>>2]=$;g[H+56>>2]=U;g[H+60>>2]=0.0;H=c[E>>2]|0;E=F|0;G=r;if((H|0)==0){i=l;return}aa=W-S;W=$-L;$=U-R;U=1.0/+Q(+(aa*aa+W*W+$*$));ac=aa*U;X=W*U;P=$*U;if(ac==0.0){as=999999984306749400.0}else{as=1.0/ac}if(X==0.0){at=999999984306749400.0}else{at=1.0/X}if(P==0.0){au=999999984306749400.0}else{au=1.0/P}w=as<0.0|0;m=at<0.0|0;N=au<0.0|0;U=ac*aa+X*W+P*$;c[9806]=(c[9806]|0)+1;B=aDx(531)|0;if((B|0)==0){av=0}else{p=-(B+4|0)&15;c[B+p>>2]=B;av=B+(p+4)|0}p=0;do{B=av+(p<<2)|0;if((B|0)!=0){c[B>>2]=0}p=p+1|0;}while((p|0)<128);c[av>>2]=H;H=r+16|0;p=r+(w<<4)|0;B=r+((w^1)<<4)|0;w=r+(m<<4)+4|0;t=r+((m^1)<<4)+4|0;m=r+(N<<4)+8|0;K=r+((N^1)<<4)+8|0;N=F;F=1;r=126;D=128;k=128;d=av;while(1){av=F-1|0;e=c[d+(av<<2)>>2]|0;an=e;c[G>>2]=c[an>>2];c[G+4>>2]=c[an+4>>2];c[G+8>>2]=c[an+8>>2];c[G+12>>2]=c[an+12>>2];an=e+16|0;c[H>>2]=c[an>>2];c[H+4>>2]=c[an+4>>2];c[H+8>>2]=c[an+8>>2];c[H+12>>2]=c[an+12>>2];$=as*(+g[p>>2]-S);P=as*(+g[B>>2]-S);W=at*(+g[w>>2]-L);X=at*(+g[t>>2]-L);do{if($>X|W>P){aw=av;ax=r;ay=D;az=k;aA=d}else{aa=W>$?W:$;ac=X>2]-R);Y=au*(+g[K>>2]-R);if(aa>Y|V>ac){aw=av;ax=r;ay=D;az=k;aA=d;break}if((V>aa?V:aa)>=U){aw=av;ax=r;ay=D;az=k;aA=d;break}if((Y>2]|0)==0){cv[c[(c[N>>2]|0)+12>>2]&2047](E,e);aw=av;ax=r;ay=D;az=k;aA=d;break}if((av|0)>(r|0)){ao=D<<1;if((D|0)<(ao|0)){do{if((k|0)<(ao|0)){do{if((ao|0)==0){aB=0}else{c[9806]=(c[9806]|0)+1;f=aDx((D<<3|4)+15|0)|0;if((f|0)==0){aB=0;break}I=-(f+4|0)&15;c[f+I>>2]=f;aB=f+(I+4)|0}}while(0);if((D|0)>0){I=0;do{f=aB+(I<<2)|0;if((f|0)!=0){c[f>>2]=c[d+(I<<2)>>2]}I=I+1|0;}while((I|0)<(D|0))}if((d|0)==0){aC=ao;aD=aB;break}c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0);aC=ao;aD=aB}else{aC=k;aD=d}}while(0);I=D;while(1){f=aD+(I<<2)|0;if((f|0)!=0){c[f>>2]=0}f=I+1|0;if((f|0)<(ao|0)){I=f}else{aE=aC;aF=aD;break}}}else{aE=k;aF=d}aG=ao-2|0;aH=ao;aI=aE;aJ=aF}else{aG=r;aH=D;aI=k;aJ=d}c[aJ+(av<<2)>>2]=c[e+36>>2];c[aJ+(F<<2)>>2]=c[an>>2];aw=F+1|0;ax=aG;ay=aH;az=aI;aA=aJ}}while(0);if((aw|0)==0){break}else{F=aw;r=ax;D=ay;k=az;d=aA}}if((aA|0)==0){i=l;return}c[9804]=(c[9804]|0)+1;aDB(c[aA-4>>2]|0);i=l;return}function atH(a){a=a|0;return}function atI(d,e,f,h,j,k,l,m){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=+m;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0.0,P=0.0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0,aI=0.0,aJ=0.0,aK=0.0,aL=0.0,aM=0.0,aN=0.0,aO=0.0,aP=0.0,aQ=0.0,aR=0.0,aS=0.0,aT=0.0,aU=0,aV=0.0,aW=0.0,aX=0.0,aY=0.0,aZ=0.0,a_=0.0;n=i;i=i+1672|0;o=n|0;p=n+24|0;q=n+32|0;r=n+208|0;s=n+568|0;t=n+576|0;u=n+600|0;v=n+648|0;w=n+664|0;x=n+728|0;y=n+952|0;z=n+968|0;A=n+984|0;B=n+1160|0;C=n+1184|0;D=n+1232|0;E=n+1296|0;F=n+1520|0;G=n+1536|0;H=n+1552|0;I=n+1568|0;J=n+1584|0;K=n+1648|0;L=c[j+4>>2]|0;if((L|0)<20){c[q>>2]=19544;M=q+164|0;c[q+168>>2]=0;g[q+172>>2]=m;N=l+4|0;g[M>>2]=+g[N>>2];g[r+308>>2]=9999999747378752.0e-20;b[r+332>>1]=0;c[s>>2]=19960;c[t>>2]=20336;c[t+4>>2]=r;c[t+8>>2]=s;c[t+12>>2]=d;c[t+16>>2]=j;c[t+20>>2]=0;if(!(ava(t,e,f,k,k,q)|0)){i=n;return}t=q+132|0;s=t|0;O=+g[s>>2];r=q+136|0;P=+g[r>>2];R=q+140|0;S=+g[R>>2];T=O*O+P*P+S*S;if(T<=9999999747378752.0e-20){i=n;return}U=+g[M>>2];if(U>=+g[N>>2]){i=n;return}V=1.0/+Q(+T);g[s>>2]=O*V;g[r>>2]=P*V;g[R>>2]=S*V;c[u>>2]=h;c[u+4>>2]=0;R=u+8|0;r=t;c[R>>2]=c[r>>2];c[R+4>>2]=c[r+4>>2];c[R+8>>2]=c[r+8>>2];c[R+12>>2]=c[r+12>>2];r=u+24|0;R=q+148|0;c[r>>2]=c[R>>2];c[r+4>>2]=c[R+4>>2];c[r+8>>2]=c[R+8>>2];c[r+12>>2]=c[R+12>>2];g[u+40>>2]=U;R=c[(c[l>>2]|0)+12>>2]|0;+c4[R&127](l,u,1);i=n;return}if((L-21|0)>>>0>=9){if((L|0)!=31){i=n;return}aDo(16160);u=j+16|0;if((c[u>>2]|0)>0){R=j+24|0;r=k|0;q=k+4|0;t=k+8|0;s=k+16|0;N=k+20|0;M=k+24|0;W=k+32|0;X=k+36|0;Y=k+40|0;Z=k+48|0;_=k+52|0;$=k+56|0;aa=J|0;ab=J+4|0;ac=J+8|0;ad=J+12|0;ae=J+16|0;af=J+20|0;ag=J+24|0;ah=J+28|0;ai=J+32|0;aj=J+36|0;ak=J+40|0;al=J+44|0;am=J+48|0;an=J+52|0;ao=J+56|0;ap=J+60|0;aq=h+192|0;ar=K|0;as=K+4|0;at=K+8|0;au=K+10|0;av=K+12|0;aw=K+16|0;ax=l+4|0;ay=K|0;K=c[aq>>2]|0;az=0;do{aA=c[R>>2]|0;U=+g[aA+(az*80|0)>>2];V=+g[aA+(az*80|0)+4>>2];S=+g[aA+(az*80|0)+8>>2];P=+g[aA+(az*80|0)+16>>2];O=+g[aA+(az*80|0)+20>>2];T=+g[aA+(az*80|0)+24>>2];aB=+g[aA+(az*80|0)+32>>2];aC=+g[aA+(az*80|0)+36>>2];aD=+g[aA+(az*80|0)+40>>2];aE=+g[aA+(az*80|0)+48>>2];aF=+g[aA+(az*80|0)+52>>2];aG=+g[aA+(az*80|0)+56>>2];aH=c[aA+(az*80|0)+64>>2]|0;aI=+g[r>>2];aJ=+g[q>>2];aK=+g[t>>2];aL=+g[s>>2];aM=+g[N>>2];aN=+g[M>>2];aO=+g[W>>2];aP=+g[X>>2];aQ=+g[Y>>2];aR=aE*aI+aF*aJ+aG*aK+ +g[Z>>2];aS=aE*aL+aF*aM+aG*aN+ +g[_>>2];aT=aE*aO+aF*aP+aG*aQ+ +g[$>>2];g[aa>>2]=U*aI+P*aJ+aB*aK;g[ab>>2]=V*aI+O*aJ+aC*aK;g[ac>>2]=S*aI+T*aJ+aD*aK;g[ad>>2]=0.0;g[ae>>2]=U*aL+P*aM+aB*aN;g[af>>2]=V*aL+O*aM+aC*aN;g[ag>>2]=S*aL+T*aM+aD*aN;g[ah>>2]=0.0;g[ai>>2]=U*aO+P*aP+aB*aQ;g[aj>>2]=V*aO+O*aP+aC*aQ;g[ak>>2]=S*aO+T*aP+aD*aQ;g[al>>2]=0.0;g[am>>2]=aR;g[an>>2]=aS;g[ao>>2]=aT;g[ap>>2]=0.0;c[aq>>2]=aH;b[at>>1]=1;b[au>>1]=-1;c[ar>>2]=18856;c[av>>2]=l;c[aw>>2]=az;g[as>>2]=+g[ax>>2];atI(d,e,f,h,aH,J,ay,m);c[aq>>2]=K;az=az+1|0;}while((az|0)<(c[u>>2]|0))}u=c[9152]|0;az=u+16|0;K=(c[az>>2]|0)-1|0;c[az>>2]=K;if((K|0)!=0){i=n;return}do{if((c[u+4>>2]|0)==0){aU=u}else{b3(p|0,0)|0;K=c[10742]|0;aq=u+8|0;g[aq>>2]=+(((c[p+4>>2]|0)-(c[K+4>>2]|0)+(((c[p>>2]|0)-(c[K>>2]|0)|0)*1e6|0)-(c[u+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[aq>>2];if((c[az>>2]|0)==0){aU=c[9152]|0;break}else{i=n;return}}}while(0);c[9152]=c[aU+20>>2];i=n;return}if((L|0)==21){aT=+g[k>>2];aS=+g[k+16>>2];aR=+g[k+32>>2];aQ=+g[k+4>>2];aD=+g[k+20>>2];aP=+g[k+36>>2];T=+g[k+8>>2];aO=+g[k+24>>2];S=+g[k+40>>2];aC=-0.0- +g[k+48>>2];O=-0.0- +g[k+52>>2];V=-0.0- +g[k+56>>2];aB=aT*aC+aS*O+aR*V;P=aQ*aC+aD*O+aP*V;U=T*aC+aO*O+S*V;V=+g[e+48>>2];O=+g[e+52>>2];aC=+g[e+56>>2];g[v>>2]=aB+(aT*V+aS*O+aR*aC);g[v+4>>2]=P+(aQ*V+aD*O+aP*aC);g[v+8>>2]=U+(T*V+aO*O+S*aC);g[v+12>>2]=0.0;aC=+g[f+48>>2];O=+g[f+52>>2];V=+g[f+56>>2];aN=aB+(aT*aC+aS*O+aR*V);aB=P+(aQ*aC+aD*O+aP*V);P=U+(T*aC+aO*O+S*V);V=+g[f>>2];O=+g[f+16>>2];aC=+g[f+32>>2];U=+g[f+4>>2];aM=+g[f+20>>2];aL=+g[f+36>>2];aK=+g[f+8>>2];aJ=+g[f+24>>2];aI=+g[f+40>>2];g[w>>2]=aT*V+aS*O+aR*aC;g[w+4>>2]=aT*U+aS*aM+aR*aL;g[w+8>>2]=aT*aK+aS*aJ+aR*aI;g[w+12>>2]=0.0;g[w+16>>2]=aQ*V+aD*O+aP*aC;g[w+20>>2]=aQ*U+aD*aM+aP*aL;g[w+24>>2]=aQ*aK+aD*aJ+aP*aI;g[w+28>>2]=0.0;g[w+32>>2]=T*V+aO*O+S*aC;g[w+36>>2]=T*U+aO*aM+S*aL;g[w+40>>2]=T*aK+aO*aJ+S*aI;aDD(w+44|0,0,20);aI=+dh[c[(c[j>>2]|0)+44>>2]&1023](j);c[x+4>>2]=d;aU=x+8|0;az=e;c[aU>>2]=c[az>>2];c[aU+4>>2]=c[az+4>>2];c[aU+8>>2]=c[az+8>>2];c[aU+12>>2]=c[az+12>>2];az=x+24|0;aU=e+16|0;c[az>>2]=c[aU>>2];c[az+4>>2]=c[aU+4>>2];c[az+8>>2]=c[aU+8>>2];c[az+12>>2]=c[aU+12>>2];aU=x+40|0;az=e+32|0;c[aU>>2]=c[az>>2];c[aU+4>>2]=c[az+4>>2];c[aU+8>>2]=c[az+8>>2];c[aU+12>>2]=c[az+12>>2];az=x+56|0;aU=e+48|0;c[az>>2]=c[aU>>2];c[az+4>>2]=c[aU+4>>2];c[az+8>>2]=c[aU+8>>2];c[az+12>>2]=c[aU+12>>2];aU=x+72|0;az=f;c[aU>>2]=c[az>>2];c[aU+4>>2]=c[az+4>>2];c[aU+8>>2]=c[az+8>>2];c[aU+12>>2]=c[az+12>>2];az=x+88|0;aU=f+16|0;c[az>>2]=c[aU>>2];c[az+4>>2]=c[aU+4>>2];c[az+8>>2]=c[aU+8>>2];c[az+12>>2]=c[aU+12>>2];aU=x+104|0;az=f+32|0;c[aU>>2]=c[az>>2];c[aU+4>>2]=c[az+4>>2];c[aU+8>>2]=c[az+8>>2];c[aU+12>>2]=c[az+12>>2];az=x+120|0;aU=f+48|0;c[az>>2]=c[aU>>2];c[az+4>>2]=c[aU+4>>2];c[az+8>>2]=c[aU+8>>2];c[az+12>>2]=c[aU+12>>2];aU=x+136|0;az=k;c[aU>>2]=c[az>>2];c[aU+4>>2]=c[az+4>>2];c[aU+8>>2]=c[az+8>>2];c[aU+12>>2]=c[az+12>>2];az=x+152|0;aU=k+16|0;c[az>>2]=c[aU>>2];c[az+4>>2]=c[aU+4>>2];c[az+8>>2]=c[aU+8>>2];c[az+12>>2]=c[aU+12>>2];aU=x+168|0;az=k+32|0;c[aU>>2]=c[az>>2];c[aU+4>>2]=c[az+4>>2];c[aU+8>>2]=c[az+8>>2];c[aU+12>>2]=c[az+12>>2];az=x+184|0;aU=k+48|0;c[az>>2]=c[aU>>2];c[az+4>>2]=c[aU+4>>2];c[az+8>>2]=c[aU+8>>2];c[az+12>>2]=c[aU+12>>2];g[x+204>>2]=aI;c[x>>2]=18824;c[x+212>>2]=l;c[x+216>>2]=h;c[x+220>>2]=j;g[x+200>>2]=+g[l+4>>2];g[x+208>>2]=m;dI[c[(c[d>>2]|0)+8>>2]&1023](d,w,y,z);w=c[j+48>>2]|0;c[o>>2]=18728;c[o+4>>2]=w;c[o+8>>2]=x;x=c[j+52>>2]|0;w=x|0;aU=o|0;if((a[x+60|0]&1)==0){azp(w,aU,v,aN,aB,P,y,z);i=n;return}else{azq(w,aU,v,aN,aB,P,y,z,c[x+56>>2]|0);i=n;return}}else if((L|0)==28){c[A>>2]=19544;L=A+164|0;c[A+168>>2]=0;g[A+172>>2]=m;x=l+4|0;g[L>>2]=+g[x>>2];c[B>>2]=20336;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=d;c[B+16>>2]=0;c[B+20>>2]=j;if(!(ava(B,e,f,k,k,A)|0)){i=n;return}B=A+132|0;z=B|0;P=+g[z>>2];y=A+136|0;aB=+g[y>>2];v=A+140|0;aN=+g[v>>2];aI=P*P+aB*aB+aN*aN;if(aI<=9999999747378752.0e-20){i=n;return}S=+g[L>>2];if(S>=+g[x>>2]){i=n;return}aJ=1.0/+Q(+aI);g[z>>2]=P*aJ;g[y>>2]=aB*aJ;g[v>>2]=aN*aJ;c[C>>2]=h;c[C+4>>2]=0;v=C+8|0;y=B;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];y=C+24|0;v=A+148|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];g[C+40>>2]=S;+c4[c[(c[l>>2]|0)+12>>2]&127](l,C,1);i=n;return}else{C=j;S=+g[k>>2];aJ=+g[k+16>>2];aN=+g[k+32>>2];aB=+g[k+4>>2];P=+g[k+20>>2];aI=+g[k+36>>2];aO=+g[k+8>>2];aK=+g[k+24>>2];T=+g[k+40>>2];aL=-0.0- +g[k+48>>2];aM=-0.0- +g[k+52>>2];U=-0.0- +g[k+56>>2];aC=S*aL+aJ*aM+aN*U;O=aB*aL+P*aM+aI*U;V=aO*aL+aK*aM+T*U;U=+g[e+48>>2];aM=+g[e+52>>2];aL=+g[e+56>>2];aP=aC+(S*U+aJ*aM+aN*aL);aD=O+(aB*U+P*aM+aI*aL);aQ=V+(aO*U+aK*aM+T*aL);aL=+g[f+48>>2];aM=+g[f+52>>2];U=+g[f+56>>2];aR=aC+(S*aL+aJ*aM+aN*U);aC=O+(aB*aL+P*aM+aI*U);O=V+(aO*aL+aK*aM+T*U);U=+g[f>>2];aM=+g[f+16>>2];aL=+g[f+32>>2];V=+g[f+4>>2];aS=+g[f+20>>2];aT=+g[f+36>>2];aG=+g[f+8>>2];aF=+g[f+24>>2];aE=+g[f+40>>2];g[D>>2]=S*U+aJ*aM+aN*aL;g[D+4>>2]=S*V+aJ*aS+aN*aT;g[D+8>>2]=S*aG+aJ*aF+aN*aE;g[D+12>>2]=0.0;g[D+16>>2]=aB*U+P*aM+aI*aL;g[D+20>>2]=aB*V+P*aS+aI*aT;g[D+24>>2]=aB*aG+P*aF+aI*aE;g[D+28>>2]=0.0;g[D+32>>2]=aO*U+aK*aM+T*aL;g[D+36>>2]=aO*V+aK*aS+T*aT;g[D+40>>2]=aO*aG+aK*aF+T*aE;aDD(D+44|0,0,20);aE=+dh[c[(c[j>>2]|0)+44>>2]&1023](C);c[E+4>>2]=d;v=E+8|0;y=e;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];y=E+24|0;v=e+16|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];v=E+40|0;y=e+32|0;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];y=E+56|0;v=e+48|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];v=E+72|0;y=f;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];y=E+88|0;v=f+16|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];v=E+104|0;y=f+32|0;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];y=E+120|0;v=f+48|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];v=E+136|0;y=k;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];y=E+152|0;v=k+16|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];v=E+168|0;y=k+32|0;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];y=E+184|0;v=k+48|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];g[E+204>>2]=aE;c[E>>2]=18792;c[E+212>>2]=l;c[E+216>>2]=h;c[E+220>>2]=C;g[E+200>>2]=+g[l+4>>2];g[E+208>>2]=m;dI[c[(c[d>>2]|0)+8>>2]&1023](d,D,F,G);D=H|0;g[D>>2]=aP;d=H+4|0;g[d>>2]=aD;l=H+8|0;g[l>>2]=aQ;g[H+12>>2]=0.0;if(aR>2]=aR;aV=aR}else{aV=aP}if(aC>2]=aC;aW=aC}else{aW=aD}if(O>2]=O;aX=O}else{aX=aQ}h=I|0;g[h>>2]=aP;v=I+4|0;g[v>>2]=aD;y=I+8|0;g[y>>2]=aQ;g[I+12>>2]=0.0;if(aP>2]=aR;aY=aR}else{aY=aP}if(aD>2]=aC;aZ=aC}else{aZ=aD}if(aQ>2]=O;a_=O}else{a_=aQ}g[D>>2]=+g[F>>2]+aV;g[d>>2]=+g[F+4>>2]+aW;g[l>>2]=+g[F+8>>2]+aX;g[h>>2]=+g[G>>2]+aY;g[v>>2]=+g[G+4>>2]+aZ;g[y>>2]=+g[G+8>>2]+a_;dI[c[(c[j>>2]|0)+60>>2]&1023](C,E|0,H,I);i=n;return}}function atJ(a){a=a|0;return}function atK(a){a=a|0;return}function atL(a){a=a|0;return}function atM(a){a=a|0;return}function atN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;f=i;i=i+256|0;h=f|0;j=f+224|0;k=f+240|0;c[h>>2]=22856;l=h+36|0;m=l;n=b;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];n=h+52|0;o=n;p=d;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[h+212>>2]=a;c[h+216>>2]=e;g[h+68>>2]=1.0;aDD(h+72|0,0,16);g[h+88>>2]=1.0;aDD(h+92|0,0,16);g[h+108>>2]=1.0;c[h+112>>2]=0;e=h+116|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];g[h+132>>2]=1.0;aDD(h+136|0,0,16);g[h+152>>2]=1.0;aDD(h+156|0,0,16);g[h+172>>2]=1.0;c[h+176>>2]=0;m=h+180|0;c[m>>2]=c[p>>2];c[m+4>>2]=c[p+4>>2];c[m+8>>2]=c[p+8>>2];c[m+12>>2]=c[p+12>>2];q=+g[d>>2]- +g[b>>2];r=+g[d+4>>2]- +g[b+4>>2];s=+g[d+8>>2]- +g[b+8>>2];t=1.0/+Q(+(q*q+r*r+s*s));u=q*t;q=r*t;r=s*t;if(u==0.0){v=999999984306749400.0}else{v=1.0/u}g[h+4>>2]=v;if(q==0.0){w=999999984306749400.0}else{w=1.0/q}g[h+8>>2]=w;if(r==0.0){x=999999984306749400.0}else{x=1.0/r}g[h+12>>2]=x;c[h+20>>2]=v<0.0;c[h+24>>2]=w<0.0;c[h+28>>2]=x<0.0;g[h+32>>2]=u*(+g[n>>2]- +g[l>>2])+q*(+g[h+56>>2]- +g[h+40>>2])+r*(+g[h+60>>2]- +g[h+44>>2]);l=c[a+76>>2]|0;a=c[(c[l>>2]|0)+24>>2]|0;aDD(j|0,0,16);aDD(k|0,0,16);c_[a&127](l,b,d,h|0,j,k);i=f;return}function atO(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var 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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0;j=i;i=i+512|0;k=j+8|0;l=j+16|0;m=j+32|0;n=j+40|0;o=j+104|0;p=j+168|0;q=j+184|0;r=j+200|0;s=j+216|0;t=j+232|0;u=j+296|0;v=j+312|0;aDo(16032);w=n;x=d;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];w=n+16|0;y=d+16|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];w=n+32|0;z=d+32|0;c[w>>2]=c[z>>2];c[w+4>>2]=c[z+4>>2];c[w+8>>2]=c[z+8>>2];c[w+12>>2]=c[z+12>>2];w=n+48|0;A=w;B=d+48|0;c[A>>2]=c[B>>2];c[A+4>>2]=c[B+4>>2];c[A+8>>2]=c[B+8>>2];c[A+12>>2]=c[B+12>>2];A=o;d=e;c[A>>2]=c[d>>2];c[A+4>>2]=c[d+4>>2];c[A+8>>2]=c[d+8>>2];c[A+12>>2]=c[d+12>>2];A=o+16|0;C=e+16|0;c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];c[A+8>>2]=c[C+8>>2];c[A+12>>2]=c[C+12>>2];A=o+32|0;D=e+32|0;c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];c[A+8>>2]=c[D+8>>2];c[A+12>>2]=c[D+12>>2];A=o+48|0;E=A;F=e+48|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];an6(n,o,l,m);G=+g[m>>2];H=G*+g[l+4>>2];I=G*+g[l+8>>2];g[r>>2]=+g[l>>2]*G;g[r+4>>2]=H;g[r+8>>2]=I;g[r+12>>2]=0.0;aDD(s|0,0,16);l=t+4|0;m=l;c[m>>2]=0;c[m+4>>2]=0;m=t+24|0;o=m;c[o>>2]=0;c[o+4>>2]=0;o=t+44|0;aDD(o|0,0,20);ec(n|0,u);I=+g[u>>2];H=+g[u+4>>2];G=+g[u+8>>2];J=+g[u+12>>2];K=2.0/(I*I+H*H+G*G+J*J);L=I*K;M=H*K;N=G*K;K=J*L;O=J*M;P=J*N;J=I*L;L=I*M;R=I*N;I=H*M;M=H*N;H=G*N;g[t>>2]=1.0-(I+H);g[l>>2]=L-P;g[t+8>>2]=R+O;g[t+12>>2]=0.0;g[t+16>>2]=L+P;g[t+20>>2]=1.0-(J+H);g[m>>2]=M-K;g[t+28>>2]=0.0;g[t+32>>2]=R-O;g[t+36>>2]=M+K;g[t+40>>2]=1.0-(J+I);g[o>>2]=0.0;atv(b|0,t,s,r,1.0,p,q);c[v>>2]=22144;r=v+36|0;c[r>>2]=c[x>>2];c[r+4>>2]=c[x+4>>2];c[r+8>>2]=c[x+8>>2];c[r+12>>2]=c[x+12>>2];x=v+52|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];y=v+68|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];z=v+84|0;y=z;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];B=v+100|0;c[B>>2]=c[d>>2];c[B+4>>2]=c[d+4>>2];c[B+8>>2]=c[d+8>>2];c[B+12>>2]=c[d+12>>2];d=v+116|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];C=v+132|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];D=v+148|0;C=D;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];c[v+180>>2]=a;c[v+184>>2]=f;g[v+188>>2]=h;c[v+192>>2]=b;h=+g[D>>2]- +g[z>>2];I=+g[v+152>>2]- +g[v+88>>2];J=+g[v+156>>2]- +g[v+92>>2];K=1.0/+Q(+(h*h+I*I+J*J));M=h*K;O=I*K;R=J*K;if(M==0.0){S=999999984306749400.0}else{S=1.0/M}g[v+4>>2]=S;if(O==0.0){T=999999984306749400.0}else{T=1.0/O}g[v+8>>2]=T;if(R==0.0){U=999999984306749400.0}else{U=1.0/R}g[v+12>>2]=U;c[v+20>>2]=S<0.0;c[v+24>>2]=T<0.0;c[v+28>>2]=U<0.0;g[v+32>>2]=J*R+(h*M+I*O);z=c[a+76>>2]|0;c_[c[(c[z>>2]|0)+24>>2]&127](z,w,A,v|0,p,q);q=c[9152]|0;p=q+16|0;v=(c[p>>2]|0)-1|0;c[p>>2]=v;if((v|0)!=0){i=j;return}do{if((c[q+4>>2]|0)==0){V=q}else{b3(k|0,0)|0;v=c[10742]|0;A=q+8|0;g[A>>2]=+(((c[k+4>>2]|0)-(c[v+4>>2]|0)+(((c[k>>2]|0)-(c[v>>2]|0)|0)*1e6|0)-(c[q+12>>2]|0)|0)>>>0>>>0)/1.0e3+ +g[A>>2];if((c[p>>2]|0)==0){V=c[9152]|0;break}else{i=j;return}}}while(0);c[9152]=c[V+20>>2];i=j;return}function atP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.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,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0.0,aI=0.0,aJ=0,aK=0,aL=0.0,aM=0.0,aN=0.0;f=i;i=i+576|0;h=f|0;j=f+64|0;k=f+80|0;l=f+96|0;m=f+160|0;n=f+176|0;o=f+192|0;p=f+208|0;q=f+304|0;r=f+320|0;s=f+336|0;t=f+432|0;u=f+448|0;v=f+464|0;w=f+480|0;x=f+496|0;y=f+512|0;z=f+528|0;A=f+544|0;B=f+560|0;C=a;D=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;dF[c[(c[D>>2]|0)+56>>2]&255](D,b,1.0);D=d+4|0;E=c[D>>2]|0;switch(E|0){case 28:{F=+g[d+64>>2];G=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;cr[c[(c[G>>2]|0)+88>>2]&63](G,d+48|0,F,b,e);i=f;return};case 8:{F=+dh[c[(c[d>>2]|0)+44>>2]&1023](d);G=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;dg[c[(c[G>>2]|0)+16>>2]&63](G,F,b,e);i=f;return};case 10:{G=d;H=c[d+52>>2]|0;F=+g[G+28+(((H+2|0)%3|0)<<2)>>2];I=+g[G+28+(H<<2)>>2];G=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;cK[c[(c[G>>2]|0)+76>>2]&63](G,F,I,H,b,e);i=f;return};case 31:{H=c[d+16>>2]|0;if((H|0)<=0){i=f;return}G=d+24|0;J=a;K=b|0;L=b+4|0;M=b+8|0;N=b+16|0;O=b+20|0;P=b+24|0;Q=b+32|0;R=b+36|0;S=b+40|0;T=b+48|0;U=b+52|0;V=b+56|0;W=h|0;X=h+4|0;Y=h+8|0;Z=h+12|0;_=h+16|0;$=h+20|0;aa=h+24|0;ab=h+28|0;ac=h+32|0;ad=h+36|0;ae=h+40|0;af=h+44|0;ag=h+48|0;ah=h+52|0;ai=h+56|0;aj=h+60|0;ak=H;do{ak=ak-1|0;H=c[G>>2]|0;I=+g[H+(ak*80|0)>>2];F=+g[H+(ak*80|0)+4>>2];al=+g[H+(ak*80|0)+8>>2];am=+g[H+(ak*80|0)+16>>2];an=+g[H+(ak*80|0)+20>>2];ao=+g[H+(ak*80|0)+24>>2];ap=+g[H+(ak*80|0)+32>>2];aq=+g[H+(ak*80|0)+36>>2];ar=+g[H+(ak*80|0)+40>>2];as=+g[H+(ak*80|0)+48>>2];at=+g[H+(ak*80|0)+52>>2];au=+g[H+(ak*80|0)+56>>2];av=c[H+(ak*80|0)+64>>2]|0;H=c[(c[J>>2]|0)+24>>2]|0;aw=+g[K>>2];ax=+g[L>>2];ay=+g[M>>2];az=+g[N>>2];aA=+g[O>>2];aB=+g[P>>2];aC=+g[Q>>2];aD=+g[R>>2];aE=+g[S>>2];aF=as*aw+at*ax+au*ay+ +g[T>>2];aG=as*az+at*aA+au*aB+ +g[U>>2];aH=as*aC+at*aD+au*aE+ +g[V>>2];g[W>>2]=I*aw+am*ax+ap*ay;g[X>>2]=F*aw+an*ax+aq*ay;g[Y>>2]=al*aw+ao*ax+ar*ay;g[Z>>2]=0.0;g[_>>2]=I*az+am*aA+ap*aB;g[$>>2]=F*az+an*aA+aq*aB;g[aa>>2]=al*az+ao*aA+ar*aB;g[ab>>2]=0.0;g[ac>>2]=I*aC+am*aD+ap*aE;g[ad>>2]=F*aC+an*aD+aq*aE;g[ae>>2]=al*aC+ao*aD+ar*aE;g[af>>2]=0.0;g[ag>>2]=aF;g[ah>>2]=aG;g[ai>>2]=aH;g[aj>>2]=0.0;dI[H&1023](a,h,av,e);}while((ak|0)>0);i=f;return};case 11:{aH=+g[d+56>>2];aG=+g[d+60>>2];ak=c[d+68>>2]|0;h=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;cK[c[(c[h>>2]|0)+84>>2]&63](h,aH,aG,ak,b,e);i=f;return};case 9:{ak=c[d+92>>2]|0;if((ak|0)<=0){i=f;return}h=d+100|0;aj=d+120|0;ai=b|0;ah=b+4|0;ag=b+8|0;af=b+16|0;ae=b+20|0;ad=b+24|0;ac=b+32|0;ab=b+36|0;aa=b+40|0;$=b+48|0;_=b+52|0;Z=b+56|0;Y=l|0;X=l+4|0;W=l+8|0;V=l+12|0;U=l+16|0;T=l+20|0;S=l+24|0;R=l+28|0;Q=l+32|0;P=l+36|0;O=l+40|0;N=l+44|0;M=l+48|0;L=l+52|0;K=l+56|0;J=l+60|0;G=ak;do{G=G-1|0;ak=c[h>>2]|0;aG=+g[ak+(G<<4)>>2];aH=+g[ak+(G<<4)+4>>2];aF=+g[ak+(G<<4)+8>>2];ak=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;av=c[(c[ak>>2]|0)+16>>2]|0;aE=+g[(c[aj>>2]|0)+(G<<2)>>2];ar=+g[ai>>2];aD=+g[ah>>2];ao=aD*0.0;aC=+g[ag>>2];al=aC*0.0;aq=ar*0.0;an=+g[af>>2];F=+g[ae>>2];ap=F*0.0;am=+g[ad>>2];I=am*0.0;aB=an*0.0;aA=+g[ac>>2];az=+g[ab>>2];ay=az*0.0;ax=+g[aa>>2];aw=ax*0.0;au=aA*0.0;at=aG*ar+aH*aD+aF*aC+ +g[$>>2];as=aG*an+aH*F+aF*am+ +g[_>>2];aI=aG*aA+aH*az+aF*ax+ +g[Z>>2];g[Y>>2]=ar+ao+al;g[X>>2]=aq+aD+al;g[W>>2]=aC+(aq+ao);g[V>>2]=0.0;g[U>>2]=an+ap+I;g[T>>2]=aB+F+I;g[S>>2]=am+(aB+ap);g[R>>2]=0.0;g[Q>>2]=aA+ay+aw;g[P>>2]=au+az+aw;g[O>>2]=ax+(au+ay);g[N>>2]=0.0;g[M>>2]=at;g[L>>2]=as;g[K>>2]=aI;g[J>>2]=0.0;dg[av&63](ak,aE,l,e);}while((G|0)>0);i=f;return};case 13:{G=c[d+52>>2]|0;aE=+dh[c[(c[d>>2]|0)+84>>2]&1023](d);l=m;J=d+28|0;c[l>>2]=c[J>>2];c[l+4>>2]=c[J+4>>2];c[l+8>>2]=c[J+8>>2];c[l+12>>2]=c[J+12>>2];J=d;l=d;aI=+dh[c[(c[l>>2]|0)+44>>2]&1023](J);as=+dh[c[(c[l>>2]|0)+44>>2]&1023](J);at=+dh[c[(c[l>>2]|0)+44>>2]&1023](J);J=m|0;g[J>>2]=aI+ +g[J>>2];J=m+4|0;g[J>>2]=as+ +g[J>>2];J=m+8|0;g[J>>2]=at+ +g[J>>2];at=+g[m+(G<<2)>>2];m=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;cK[c[(c[m>>2]|0)+80>>2]&63](m,aE,at,G,b,e);i=f;return};case 0:{G=j;m=d+28|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];m=d;G=d;at=+dh[c[(c[G>>2]|0)+44>>2]&1023](m);aE=+dh[c[(c[G>>2]|0)+44>>2]&1023](m);as=+dh[c[(c[G>>2]|0)+44>>2]&1023](m);m=j|0;aI=at+ +g[m>>2];g[m>>2]=aI;m=j+4|0;at=aE+ +g[m>>2];g[m>>2]=at;m=j+8|0;aE=as+ +g[m>>2];g[m>>2]=aE;m=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;G=c[(c[m>>2]|0)+72>>2]|0;g[k>>2]=-0.0-aI;g[k+4>>2]=-0.0-at;g[k+8>>2]=-0.0-aE;g[k+12>>2]=0.0;co[G&255](m,k,j,b,e);i=f;return};default:{if((E-21|0)>>>0<9){g[n>>2]=999999984306749400.0;g[n+4>>2]=999999984306749400.0;g[n+8>>2]=999999984306749400.0;g[n+12>>2]=0.0;g[o>>2]=-999999984306749400.0;g[o+4>>2]=-999999984306749400.0;g[o+8>>2]=-999999984306749400.0;g[o+12>>2]=0.0;j=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;c[p>>2]=23856;c[p+4>>2]=23880;c[p+8>>2]=j;j=p+12|0;k=e;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=p+28|0;j=b;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=p+44|0;k=b+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=p+60|0;j=b+32|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];j=p+76|0;k=b+48|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];dI[c[(c[d>>2]|0)+60>>2]&1023](d,p|0,o,n);aJ=c[D>>2]|0}else{aJ=E}if((aJ|0)==3){g[q>>2]=999999984306749400.0;g[q+4>>2]=999999984306749400.0;g[q+8>>2]=999999984306749400.0;g[q+12>>2]=0.0;g[r>>2]=-999999984306749400.0;g[r+4>>2]=-999999984306749400.0;g[r+8>>2]=-999999984306749400.0;g[r+12>>2]=0.0;E=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;c[s>>2]=23856;c[s+4>>2]=23880;c[s+8>>2]=E;E=s+12|0;n=e;c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2];n=s+28|0;E=b;c[n>>2]=c[E>>2];c[n+4>>2]=c[E+4>>2];c[n+8>>2]=c[E+8>>2];c[n+12>>2]=c[E+12>>2];E=s+44|0;n=b+16|0;c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2];n=s+60|0;E=b+32|0;c[n>>2]=c[E>>2];c[n+4>>2]=c[E+4>>2];c[n+8>>2]=c[E+8>>2];c[n+12>>2]=c[E+12>>2];E=s+76|0;n=b+48|0;c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2];n=c[d+92>>2]|0;dI[c[(c[n>>2]|0)+8>>2]&1023](n,s+4|0,r,q);aK=c[D>>2]|0}else{aK=aJ}if((aK|0)>=7){i=f;return}aK=d;aJ=c[d+52>>2]|0;if((aJ|0)==0){D=d;if((cA[c[(c[D>>2]|0)+92>>2]&4095](aK)|0)<=0){i=f;return}q=d;d=b|0;r=y|0;s=b+4|0;n=y+4|0;E=b+8|0;o=y+8|0;p=b+48|0;k=b+16|0;j=b+20|0;m=b+24|0;G=b+52|0;J=b+32|0;l=b+36|0;K=b+40|0;L=b+56|0;M=A|0;N=A+4|0;O=A+8|0;P=A+12|0;Q=z|0;R=z+4|0;S=z+8|0;T=B|0;U=B+4|0;V=B+8|0;W=B+12|0;X=0;do{dI[c[(c[q>>2]|0)+96>>2]&1023](aK,X,y,z);aE=+g[d>>2];at=+g[r>>2];aI=+g[s>>2];as=+g[n>>2];ay=+g[E>>2];au=+g[o>>2];ax=+g[p>>2];aw=+g[k>>2];az=+g[j>>2];aA=+g[m>>2];ap=+g[G>>2];aB=+g[J>>2];am=+g[l>>2];I=+g[K>>2];F=+g[L>>2];g[M>>2]=ax+(aE*at+aI*as+ay*au);g[N>>2]=ap+(at*aw+as*az+au*aA);g[O>>2]=F+(at*aB+as*am+au*I);g[P>>2]=0.0;au=+g[Q>>2];as=+g[R>>2];at=+g[S>>2];g[T>>2]=ax+(aE*au+aI*as+ay*at);g[U>>2]=ap+(au*aw+as*az+at*aA);g[V>>2]=F+(au*aB+as*am+at*I);g[W>>2]=0.0;Y=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;dI[c[(c[Y>>2]|0)+8>>2]&1023](Y,A,B,e);X=X+1|0;}while((X|0)<(cA[c[(c[D>>2]|0)+92>>2]&4095](aK)|0));i=f;return}aK=aJ+28|0;if((c[aK>>2]|0)<=0){i=f;return}D=aJ+36|0;X=v|0;B=v+4|0;A=v+8|0;W=v+12|0;V=b|0;U=b+4|0;T=b+8|0;S=b+48|0;R=b+16|0;Q=b+20|0;P=b+24|0;O=b+52|0;N=b+32|0;M=b+36|0;L=b+40|0;K=b+56|0;b=w|0;l=w+4|0;J=w+8|0;G=w+12|0;m=x|0;j=x+4|0;k=x+8|0;p=x+12|0;o=aJ+16|0;aJ=t|0;E=t+4|0;n=t+8|0;s=t+12|0;r=u|0;d=u+4|0;z=u+8|0;y=u+12|0;q=0;do{Y=c[D>>2]|0;Z=c[Y+(q*56|0)+4>>2]|0;L1758:do{if((Z|0)>0){_=c[Y+(q*56|0)+12>>2]|0;I=0.0;at=0.0;am=0.0;$=c[_+(Z-1<<2)>>2]|0;aa=0;ab=_;while(1){_=c[ab+(aa<<2)>>2]|0;ac=c[o>>2]|0;as=am+ +g[ac+(_<<4)>>2];aB=at+ +g[ac+(_<<4)+4>>2];au=I+ +g[ac+(_<<4)+8>>2];ac=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;ad=c[(c[ac>>2]|0)+8>>2]|0;ae=c[o>>2]|0;F=+g[V>>2];aA=+g[ae+($<<4)>>2];az=+g[U>>2];aw=+g[ae+($<<4)+4>>2];ap=+g[T>>2];ay=+g[ae+($<<4)+8>>2];aI=+g[S>>2];aE=+g[R>>2];ax=+g[Q>>2];an=+g[P>>2];ao=+g[O>>2];aq=+g[N>>2];aC=+g[M>>2];al=+g[L>>2];aD=+g[K>>2];g[aJ>>2]=aI+(F*aA+az*aw+ap*ay);g[E>>2]=ao+(aA*aE+aw*ax+ay*an);g[n>>2]=aD+(aA*aq+aw*aC+ay*al);g[s>>2]=0.0;ae=c[o>>2]|0;ay=+g[ae+(_<<4)>>2];aw=+g[ae+(_<<4)+4>>2];aA=+g[ae+(_<<4)+8>>2];g[r>>2]=aI+(F*ay+az*aw+ap*aA);g[d>>2]=ao+(ay*aE+aw*ax+aA*an);g[z>>2]=aD+(ay*aq+aw*aC+aA*al);g[y>>2]=0.0;dI[ad&1023](ac,t,u,e);ac=aa+1|0;ad=c[D>>2]|0;if((ac|0)>=(c[ad+(q*56|0)+4>>2]|0)){aL=as;aM=aB;aN=au;break L1758}I=au;at=aB;am=as;$=_;aa=ac;ab=c[ad+(q*56|0)+12>>2]|0}}else{aL=0.0;aM=0.0;aN=0.0}}while(0);am=1.0/+(Z|0);at=aL*am;I=aM*am;as=aN*am;g[X>>2]=1.0;g[B>>2]=1.0;g[A>>2]=0.0;g[W>>2]=0.0;Y=c[D>>2]|0;am=+g[Y+(q*56|0)+40>>2];aB=+g[Y+(q*56|0)+44>>2];au=+g[Y+(q*56|0)+48>>2];Y=cA[c[(c[C>>2]|0)+16>>2]&4095](a)|0;ab=c[(c[Y>>2]|0)+8>>2]|0;al=+g[V>>2];aA=+g[U>>2];aC=+g[T>>2];aw=+g[S>>2];aq=+g[R>>2];ay=+g[Q>>2];aD=+g[P>>2];an=+g[O>>2];ax=+g[N>>2];aE=+g[M>>2];ao=+g[L>>2];ap=+g[K>>2];g[b>>2]=aw+(at*al+I*aA+as*aC);g[l>>2]=an+(at*aq+I*ay+as*aD);g[J>>2]=ap+(at*ax+I*aE+as*ao);g[G>>2]=0.0;az=at+am;am=I+aB;aB=as+au;g[m>>2]=aw+(az*al+am*aA+aB*aC);g[j>>2]=an+(az*aq+am*ay+aB*aD);g[k>>2]=ap+(az*ax+am*aE+aB*ao);g[p>>2]=0.0;dI[ab&1023](Y,w,x,v);q=q+1|0;}while((q|0)<(c[aK>>2]|0));i=f;return}}}function atQ(a){a=a|0;return}function atR(a){a=a|0;var b=0,d=0,e=0,f=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;b=i;i=i+112|0;d=b|0;e=b+16|0;f=b+32|0;h=b+48|0;j=b+64|0;k=b+80|0;l=b+96|0;m=a;do{if((cA[c[(c[m>>2]|0)+16>>2]&4095](a)|0)!=0){n=cA[c[(c[m>>2]|0)+16>>2]&4095](a)|0;if(((cA[c[(c[n>>2]|0)+48>>2]&4095](n)|0)&8|0)==0){break}n=a+24|0;o=c[n>>2]|0;p=cA[c[(c[o>>2]|0)+36>>2]&4095](o)|0;aDD(d|0,0,16);if((p|0)>0){q=0}else{break}do{o=c[n>>2]|0;r=dj[c[(c[o>>2]|0)+40>>2]&511](o,q)|0;o=c[r+1116>>2]|0;if((o|0)>0){s=0;do{t=cA[c[(c[m>>2]|0)+16>>2]&4095](a)|0;cw[c[(c[t>>2]|0)+32>>2]&63](t,r+4+(s*276|0)+32|0,r+4+(s*276|0)+64|0,+g[r+4+(s*276|0)+80>>2],c[r+4+(s*276|0)+144>>2]|0,d);s=s+1|0;}while((s|0)<(o|0))}q=q+1|0;}while((q|0)<(p|0))}}while(0);if((cA[c[(c[m>>2]|0)+16>>2]&4095](a)|0)==0){i=b;return}q=cA[c[(c[m>>2]|0)+16>>2]&4095](a)|0;if(((cA[c[(c[q>>2]|0)+48>>2]&4095](q)|0)&3|0)==0){i=b;return}q=a+8|0;if((c[q>>2]|0)<=0){i=b;return}d=a+16|0;p=a+80|0;n=j|0;o=j+4|0;s=j+8|0;r=j+12|0;t=f|0;u=f+4|0;v=f+8|0;w=h|0;x=h+4|0;y=h+8|0;z=k|0;A=k+4|0;B=k+8|0;C=l|0;D=l+4|0;E=l+8|0;F=f+12|0;G=k+12|0;H=h+12|0;I=l+12|0;J=e|0;K=e+4|0;L=e+8|0;M=e+12|0;N=a;O=0;do{P=c[(c[d>>2]|0)+(O<<2)>>2]|0;do{if((c[P+204>>2]&32|0)==0){do{if((cA[c[(c[m>>2]|0)+16>>2]&4095](a)|0)!=0){Q=cA[c[(c[m>>2]|0)+16>>2]&4095](a)|0;if(((cA[c[(c[Q>>2]|0)+48>>2]&4095](Q)|0)&1|0)==0){break}g[J>>2]=1.0;g[K>>2]=1.0;g[L>>2]=1.0;g[M>>2]=0.0;switch(c[P+216>>2]|0){case 1:{g[J>>2]=1.0;g[K>>2]=1.0;g[L>>2]=1.0;g[M>>2]=0.0;break};case 2:{g[J>>2]=0.0;g[K>>2]=1.0;g[L>>2]=0.0;g[M>>2]=0.0;break};case 3:{g[J>>2]=0.0;g[K>>2]=1.0;g[L>>2]=1.0;g[M>>2]=0.0;break};case 4:{g[J>>2]=1.0;g[K>>2]=0.0;g[L>>2]=0.0;g[M>>2]=0.0;break};case 5:{g[J>>2]=1.0;g[K>>2]=1.0;g[L>>2]=0.0;g[M>>2]=0.0;break};default:{g[J>>2]=1.0;g[K>>2]=0.0;g[L>>2]=0.0;g[M>>2]=0.0}}dI[c[(c[N>>2]|0)+24>>2]&1023](a,P+4|0,c[P+192>>2]|0,e)}}while(0);Q=c[p>>2]|0;if((Q|0)==0){break}if(((cA[c[(c[Q>>2]|0)+48>>2]&4095](Q)|0)&2|0)==0){break}g[n>>2]=1.0;g[o>>2]=0.0;g[s>>2]=0.0;g[r>>2]=0.0;Q=P+192|0;R=c[Q>>2]|0;dI[c[(c[R>>2]|0)+8>>2]&1023](R,P+4|0,f,h);g[t>>2]=+g[t>>2]+-.019999999552965164;g[u>>2]=+g[u>>2]+-.019999999552965164;g[v>>2]=+g[v>>2]+-.019999999552965164;g[w>>2]=+g[w>>2]+.019999999552965164;g[x>>2]=+g[x>>2]+.019999999552965164;g[y>>2]=+g[y>>2]+.019999999552965164;do{if((c[P+232>>2]|0)==2){R=c[Q>>2]|0;dI[c[(c[R>>2]|0)+8>>2]&1023](R,P+68|0,k,l);S=+g[z>>2]+-.019999999552965164;g[z>>2]=S;T=+g[A>>2]+-.019999999552965164;g[A>>2]=T;U=+g[B>>2]+-.019999999552965164;g[B>>2]=U;V=+g[C>>2]+.019999999552965164;g[C>>2]=V;W=+g[D>>2]+.019999999552965164;g[D>>2]=W;X=+g[E>>2]+.019999999552965164;g[E>>2]=X;if(S<+g[t>>2]){g[t>>2]=S}if(T<+g[u>>2]){g[u>>2]=T}if(U<+g[v>>2]){g[v>>2]=U}U=+g[G>>2];if(U<+g[F>>2]){g[F>>2]=U}if(+g[w>>2]>2]=V}if(+g[x>>2]>2]=W}if(+g[y>>2]>2]=X}X=+g[I>>2];if(+g[H>>2]>=X){break}g[H>>2]=X}}while(0);Q=c[p>>2]|0;dI[c[(c[Q>>2]|0)+52>>2]&1023](Q,f,h,j)}}while(0);O=O+1|0;}while((O|0)<(c[q>>2]|0));i=b;return}function atS(a){a=a|0;return}function atT(a,b){a=a|0;b=b|0;var d=0;d=b;ct[c[(c[d>>2]|0)+32>>2]&2047](b);atW(a,b);ct[c[(c[d>>2]|0)+36>>2]&2047](b);return}function atU(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b+64|0;e=b+72|0;f=c[e>>2]|0;g=b+76|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-8+4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+68>>2]=0;d=b+44|0;e=b+52|0;g=c[e>>2]|0;f=b+56|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+48>>2]=0;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0;d=b+4|0;e=b+12|0;g=c[e>>2]|0;f=b+16|0;if((g|0)==0){a[f]=1;c[e>>2]=0;c[d>>2]=0;h=b+8|0;c[h>>2]=0;return}if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0;a[f]=1;c[e>>2]=0;c[d>>2]=0;h=b+8|0;c[h>>2]=0;return}function atV(a){a=a|0;if((a|0)==0){return}aDB(a);return}function atW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0;e=i;i=i+80|0;f=e|0;g=b+8|0;h=c[g>>2]|0;if((h|0)>0){j=b+16|0;k=0;l=h;while(1){m=c[(c[j>>2]|0)+(k<<2)>>2]|0;if((c[m+232>>2]|0)==1){cv[c[(c[m>>2]|0)+24>>2]&2047](m,d);n=c[g>>2]|0}else{n=l}m=k+1|0;if((m|0)<(n|0)){k=m;l=n}else{o=n;break}}}else{o=h}h=f+16|0;a[h]=1;n=f+12|0;c[n>>2]=0;l=f+4|0;c[l>>2]=0;k=f+8|0;c[k>>2]=0;j=f+36|0;a[j]=1;m=f+32|0;c[m>>2]=0;p=f+24|0;c[p>>2]=0;q=f+28|0;c[q>>2]=0;r=f+56|0;a[r]=1;s=f+52|0;c[s>>2]=0;t=f+44|0;c[t>>2]=0;u=f+48|0;c[u>>2]=0;v=f+76|0;a[v]=1;w=f+72|0;c[w>>2]=0;x=f+64|0;c[x>>2]=0;y=f+68|0;c[y>>2]=0;if((o|0)<=0){atU(f);i=e;return}z=b+16|0;b=0;A=-1;B=0;C=o;o=0;D=0;E=0;while(1){F=c[(c[(c[z>>2]|0)+(b<<2)>>2]|0)+192>>2]|0;G=F;H=G+~(G<<15)|0;I=(H>>10^H)*9|0;H=I>>6^I;I=H+~(H<<11)|0;H=I>>16^I;I=H&A;J=F;L1902:do{if(I>>>0>>0){K=c[o+(I<<2)>>2]|0;if((K|0)==-1){L=1594;break}M=c[w>>2]|0;N=K;while(1){if((J|0)==(c[M+(N<<3)>>2]|0)){break}K=c[D+(N<<2)>>2]|0;if((K|0)==-1){L=1594;break L1902}else{N=K}}if((N|0)==-1){L=1594;break}if(((c[s>>2]|0)+(N<<2)|0)==0){L=1594}else{O=C;P=o;Q=D;R=E}}else{L=1594}}while(0);if((L|0)==1594){L=0;I=H&E-1;L1912:do{if(I>>>0>>0){M=c[o+(I<<2)>>2]|0;if((M|0)==-1){L=1601;break}K=c[w>>2]|0;S=M;while(1){if((J|0)==(c[K+(S<<3)>>2]|0)){break}M=c[D+(S<<2)>>2]|0;if((M|0)==-1){L=1601;break L1912}else{S=M}}if((S|0)==-1){L=1601;break}c[(c[s>>2]|0)+(S<<2)>>2]=F;T=o;U=D;V=E}else{L=1601}}while(0);if((L|0)==1601){L=0;J=c[t>>2]|0;do{if((J|0)==(E|0)){K=(E|0)==0?1:E<<1;if((E|0)>=(K|0)){W=E;break}do{if((K|0)==0){X=0}else{c[9806]=(c[9806]|0)+1;N=aDx((K<<2)+19|0)|0;if((N|0)==0){X=0;break}M=-(N+4|0)&15;c[N+M>>2]=N;X=N+(M+4)|0}}while(0);if((E|0)>0){S=0;do{M=X+(S<<2)|0;if((M|0)!=0){c[M>>2]=c[(c[s>>2]|0)+(S<<2)>>2]}S=S+1|0;}while((S|0)<(E|0))}S=c[s>>2]|0;if((S|0)!=0){if((a[r]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[S-4>>2]|0)}c[s>>2]=0}a[r]=1;c[s>>2]=X;c[u>>2]=K;W=c[t>>2]|0}else{W=J}}while(0);S=(c[s>>2]|0)+(W<<2)|0;if((S|0)!=0){c[S>>2]=F}c[t>>2]=W+1;S=c[x>>2]|0;do{if((S|0)==(c[y>>2]|0)){M=(S|0)==0?1:S<<1;if((S|0)>=(M|0)){Y=S;break}do{if((M|0)==0){Z=0}else{c[9806]=(c[9806]|0)+1;N=aDx((M<<3|4)+15|0)|0;if((N|0)==0){Z=0;break}_=-(N+4|0)&15;c[N+_>>2]=N;Z=N+(_+4)|0}}while(0);if((S|0)>0){K=0;do{_=Z+(K<<3)|0;if((_|0)!=0){N=(c[w>>2]|0)+(K<<3)|0;$=_;_=c[N+4>>2]|0;c[$>>2]=c[N>>2];c[$+4>>2]=_}K=K+1|0;}while((K|0)<(S|0))}K=c[w>>2]|0;if((K|0)!=0){if((a[v]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[K-8+4>>2]|0)}c[w>>2]=0}a[v]=1;c[w>>2]=Z;c[y>>2]=M;Y=c[x>>2]|0}else{Y=S}}while(0);S=(c[w>>2]|0)+(Y<<3)|0;if((S|0)!=0){K=S;c[K>>2]=G;c[K+4>>2]=0}c[x>>2]=Y+1;K=c[u>>2]|0;if((E|0)<(K|0)){S=c[l>>2]|0;do{if((S|0)<(K|0)){if((S|0)<=(K|0)){if((c[k>>2]|0)<(K|0)){do{if((K|0)==0){aa=0}else{c[9806]=(c[9806]|0)+1;_=aDx((K<<2)+19|0)|0;if((_|0)==0){aa=0;break}$=-(_+4|0)&15;c[_+$>>2]=_;aa=_+($+4)|0}}while(0);if((S|0)>0){M=0;do{$=aa+(M<<2)|0;if(($|0)!=0){c[$>>2]=c[(c[n>>2]|0)+(M<<2)>>2]}M=M+1|0;}while((M|0)<(S|0))}M=c[n>>2]|0;if((M|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[M-4>>2]|0)}c[n>>2]=0}a[h]=1;c[n>>2]=aa;c[k>>2]=K;ab=aa}else{ab=c[n>>2]|0}M=S;do{$=ab+(M<<2)|0;if(($|0)!=0){c[$>>2]=0}M=M+1|0;}while((M|0)<(K|0))}c[l>>2]=K;M=c[p>>2]|0;if((M|0)<(K|0)){if((c[q>>2]|0)<(K|0)){do{if((K|0)==0){ac=0}else{c[9806]=(c[9806]|0)+1;$=aDx((K<<2)+19|0)|0;if(($|0)==0){ac=0;break}_=-($+4|0)&15;c[$+_>>2]=$;ac=$+(_+4)|0}}while(0);if((M|0)>0){_=0;do{$=ac+(_<<2)|0;if(($|0)!=0){c[$>>2]=c[(c[m>>2]|0)+(_<<2)>>2]}_=_+1|0;}while((_|0)<(M|0))}_=c[m>>2]|0;if((_|0)!=0){if((a[j]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[_-4>>2]|0)}c[m>>2]=0}a[j]=1;c[m>>2]=ac;c[q>>2]=K;ad=ac}else{ad=c[m>>2]|0}_=M;do{$=ad+(_<<2)|0;if(($|0)!=0){c[$>>2]=0}_=_+1|0;}while((_|0)<(K|0))}c[p>>2]=K;if((K|0)>0){_=c[n>>2]|0;M=0;do{c[_+(M<<2)>>2]=-1;M=M+1|0;}while((M|0)<(K|0));M=c[m>>2]|0;_=0;do{c[M+(_<<2)>>2]=-1;_=_+1|0;}while((_|0)<(K|0))}if((S|0)<=0){break}_=c[w>>2]|0;M=c[u>>2]|0;$=c[n>>2]|0;N=c[m>>2]|0;ae=0;do{af=c[_+(ae<<3)>>2]|0;ag=af+~(af<<15)|0;af=(ag>>10^ag)*9|0;ag=af>>6^af;af=ag+~(ag<<11)|0;ag=$+(((af>>16^af)&M-1)<<2)|0;c[N+(ae<<2)>>2]=c[ag>>2];c[ag>>2]=ae;ae=ae+1|0;}while((ae|0)<(S|0))}}while(0);S=c[u>>2]|0;ah=H&S-1;ai=S}else{ah=I;ai=K}S=c[n>>2]|0;G=S+(ah<<2)|0;ae=c[m>>2]|0;c[ae+(J<<2)>>2]=c[G>>2];c[G>>2]=J;T=S;U=ae;V=ai}cv[c[(c[F>>2]|0)+56>>2]&2047](F,d);O=c[g>>2]|0;P=T;Q=U;R=V}ae=b+1|0;if((ae|0)>=(O|0)){break}b=ae;A=R-1|0;B=c[l>>2]|0;C=O;o=P;D=Q;E=R}atU(f);i=e;return}function atX(a){a=a|0;return}function atY(a){a=a|0;return}function atZ(a){a=a|0;return}function at_(a,b,d){a=a|0;b=b|0;d=d|0;c[a+144>>2]=b;c[a+152>>2]=d;return}function at$(a,b,d){a=a|0;b=b|0;d=d|0;c[a+148>>2]=b;c[a+156>>2]=d;return}function at0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0;e=i;i=i+96|0;d=e|0;f=e+16|0;h=e+32|0;j=e+48|0;k=e+64|0;l=e+80|0;m=+g[a+28>>2];n=+g[b>>2];o=+g[a+32>>2];p=+g[b+4>>2];q=+g[a+36>>2];r=+g[b+8>>2];s=+g[a+76>>2];t=s+(m*n+o*p+q*r);u=+g[a+44>>2];v=+g[a+48>>2];w=+g[a+52>>2];x=+g[a+80>>2];y=x+(n*u+p*v+r*w);z=+g[a+60>>2];A=+g[a+64>>2];B=+g[a+68>>2];C=+g[a+84>>2];D=C+(n*z+p*A+r*B);g[d>>2]=t;g[d+4>>2]=y;g[d+8>>2]=D;g[d+12>>2]=0.0;r=+g[b+16>>2];p=+g[b+20>>2];n=+g[b+24>>2];E=s+(m*r+o*p+q*n);F=x+(r*u+p*v+n*w);G=C+(r*z+p*A+n*B);g[f>>2]=E;g[f+4>>2]=F;g[f+8>>2]=G;g[f+12>>2]=0.0;n=+g[b+32>>2];p=+g[b+36>>2];r=+g[b+40>>2];H=s+(m*n+o*p+q*r);q=x+(n*u+p*v+r*w);w=C+(n*z+p*A+r*B);g[h>>2]=H;g[h+4>>2]=q;g[h+8>>2]=w;g[h+12>>2]=0.0;B=(t+E+H)*.3333333432674408;r=(y+F+q)*.3333333432674408;A=(D+G+w)*.3333333432674408;g[j>>2]=B;g[j+4>>2]=r;g[j+8>>2]=A;g[j+12>>2]=0.0;p=E-t;E=F-y;F=G-D;G=H-t;t=q-y;y=w-D;D=E*y-F*t;w=F*G-p*y;y=p*t-E*G;G=1.0/+Q(+(y*y+(D*D+w*w)));g[k>>2]=1.0;g[k+4>>2]=1.0;g[k+8>>2]=0.0;g[k+12>>2]=0.0;b=a+8|0;I=c[b>>2]|0;J=c[(c[I>>2]|0)+8>>2]|0;g[l>>2]=G*D+B;g[l+4>>2]=G*w+r;g[l+8>>2]=G*y+A;g[l+12>>2]=0.0;dI[J&1023](I,j,l,k);k=c[b>>2]|0;l=a+12|0;dI[c[(c[k>>2]|0)+8>>2]&1023](k,d,f,l);k=c[b>>2]|0;dI[c[(c[k>>2]|0)+8>>2]&1023](k,f,h,l);f=c[b>>2]|0;dI[c[(c[f>>2]|0)+8>>2]&1023](f,h,d,l);i=e;return}function at1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);return}function at2(a){a=a|0;var b=0;b=a-92+88|0;if((b|0)==0){return}aDB(b);return}function at3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a-92+88|0;dI[c[(c[f>>2]|0)+8>>2]&1023](f,b,d,e);return}function at4(a){a=a|0;if((a|0)==0){return}aDB(a);return}function at5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.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,V=0.0;h=i;i=i+280|0;j=h|0;k=b+136|0;l=(c[(c[b+4>>2]|0)+1108>>2]|0)!=(c[k>>2]|0);m=+g[e>>2];n=+g[d>>2]*f+m;o=+g[e+4>>2];p=+g[d+4>>2]*f+o;q=+g[e+8>>2];r=+g[d+8>>2]*f+q;if(l){s=n- +g[b+120>>2];t=p- +g[b+124>>2];u=r- +g[b+128>>2];v=m- +g[b+56>>2];w=o- +g[b+60>>2];x=q- +g[b+64>>2];y=v*+g[b+8>>2]+w*+g[b+24>>2]+x*+g[b+40>>2];z=v*+g[b+12>>2]+w*+g[b+28>>2]+x*+g[b+44>>2];A=v*+g[b+16>>2]+w*+g[b+32>>2]+x*+g[b+48>>2];B=s*+g[b+72>>2]+t*+g[b+88>>2]+u*+g[b+104>>2];C=s*+g[b+76>>2]+t*+g[b+92>>2]+u*+g[b+108>>2];D=s*+g[b+80>>2]+t*+g[b+96>>2]+u*+g[b+112>>2]}else{u=n- +g[b+56>>2];t=p- +g[b+60>>2];s=r- +g[b+64>>2];x=m- +g[b+120>>2];m=o- +g[b+124>>2];o=q- +g[b+128>>2];y=x*+g[b+72>>2]+m*+g[b+88>>2]+o*+g[b+104>>2];z=x*+g[b+76>>2]+m*+g[b+92>>2]+o*+g[b+108>>2];A=x*+g[b+80>>2]+m*+g[b+96>>2]+o*+g[b+112>>2];B=u*+g[b+8>>2]+t*+g[b+24>>2]+s*+g[b+40>>2];C=u*+g[b+12>>2]+t*+g[b+28>>2]+s*+g[b+44>>2];D=u*+g[b+16>>2]+t*+g[b+32>>2]+s*+g[b+48>>2]}g[j>>2]=B;g[j+4>>2]=C;g[j+8>>2]=D;g[j+12>>2]=0.0;g[j+16>>2]=y;g[j+20>>2]=z;g[j+24>>2]=A;g[j+28>>2]=0.0;E=j+64|0;F=d;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];g[j+80>>2]=f;g[j+84>>2]=0.0;g[j+88>>2]=0.0;c[j+108>>2]=0;g[j+112>>2]=0.0;a[j+116|0]=0;g[j+208>>2]=0.0;g[j+240>>2]=0.0;g[j+272>>2]=0.0;aDD(j+120|0,0,28);g[j+48>>2]=n;g[j+52>>2]=p;g[j+56>>2]=r;g[j+60>>2]=0.0;F=j+32|0;E=e;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];if(l){E=c[b+148>>2]|0;c[j+92>>2]=E;F=c[b+144>>2]|0;c[j+96>>2]=F;e=c[b+156>>2]|0;c[j+100>>2]=e;d=c[b+152>>2]|0;c[j+104>>2]=d;G=E;H=e;I=F;J=d;K=b+140|0;L=l?K:k;M=c[L>>2]|0;N=l?k:K;O=c[N>>2]|0;P=b+160|0;Q=c[P>>2]|0;R=Q;S=c[R>>2]|0;T=S+12|0;U=c[T>>2]|0;V=+dq[U&63](Q,j,M,G,H,O,I,J);i=h;return}else{d=c[b+144>>2]|0;c[j+92>>2]=d;F=c[b+148>>2]|0;c[j+96>>2]=F;e=c[b+152>>2]|0;c[j+100>>2]=e;E=c[b+156>>2]|0;c[j+104>>2]=E;G=d;H=e;I=F;J=E;K=b+140|0;L=l?K:k;M=c[L>>2]|0;N=l?k:K;O=c[N>>2]|0;P=b+160|0;Q=c[P>>2]|0;R=Q;S=c[R>>2]|0;T=S+12|0;U=c[T>>2]|0;V=+dq[U&63](Q,j,M,G,H,O,I,J);i=h;return}}function at6(a){a=a|0;if((a|0)==0){return}aDB(a);return}function at7(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+168|0;e=d|0;f=c[b>>2]|0;b=f;g=a+4|0;if((b|0)==(c[g>>2]|0)){i=d;return 1}h=a+12|0;j=c[h>>2]|0;if(!(dj[c[(c[j>>2]|0)+8>>2]&511](j,c[f+188>>2]|0)|0)){i=d;return 1}j=a+8|0;a=c[(c[j>>2]|0)+24>>2]|0;k=dE[c[(c[a>>2]|0)+8>>2]&127](a,c[g>>2]|0,b,0)|0;if((k|0)==0){i=d;return 1}a=c[g>>2]|0;g=c[h>>2]|0;h=e|0;c[h>>2]=24e3;c[e+4>>2]=0;c[e+136>>2]=a;c[e+140>>2]=b;l=e+8|0;m=a+4|0;aDD(e+144|0,-1|0,16);c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];m=e+24|0;l=a+20|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];l=e+40|0;m=a+36|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];m=e+56|0;l=a+52|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];l=f+4|0;m=e+72|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];l=f+20|0;m=e+88|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];l=f+36|0;m=e+104|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];l=f+52|0;f=e+120|0;c[f>>2]=c[l>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[f+12>>2]=c[l+12>>2];c[h>>2]=21728;c[e+160>>2]=g;co[c[(c[k>>2]|0)+8>>2]&255](k,a,b,(c[j>>2]|0)+28|0,e|0);ct[c[c[k>>2]>>2]&2047](k);e=c[(c[j>>2]|0)+24>>2]|0;cv[c[(c[e>>2]|0)+60>>2]&2047](e,k);i=d;return 1}function at8(a){a=a|0;if((a|0)==0){return}aDB(a);return}function at9(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;d=a+184|0;e=c[d>>2]|0;if(+g[e+4>>2]==0.0){f=0;return f|0}h=c[b>>2]|0;if(!(dj[c[(c[e>>2]|0)+8>>2]&511](e,c[h+188>>2]|0)|0)){f=1;return f|0}atI(c[a+192>>2]|0,a+36|0,a+100|0,h,c[h+192>>2]|0,h+4|0,c[d>>2]|0,+g[a+188>>2]);f=1;return f|0}function aua(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aub(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;d=a+216|0;e=c[d>>2]|0;if(+g[e+4>>2]==0.0){f=0;return f|0}h=c[b>>2]|0;if(!(dj[c[(c[e>>2]|0)+8>>2]&511](e,c[h+188>>2]|0)|0)){f=1;return f|0}atG(a+68|0,a+132|0,h,c[h+192>>2]|0,h+4|0,c[d>>2]|0);f=1;return f|0}function auc(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aud(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;return dj[c[(c[d>>2]|0)+8>>2]&511](d,b)|0}function aue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0;e=i;i=i+8|0;f=e|0;c[f>>2]=-1;c[f+4>>2]=c[a+16>>2];h=b+4|0;if((c[h>>2]|0)==0){c[h>>2]=f}f=a+12|0;h=c[f>>2]|0;j=+c4[c[(c[h>>2]|0)+12>>2]&127](h,b,d);g[a+4>>2]=+g[(c[f>>2]|0)+4>>2];i=e;return+j}function auf(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aug(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0,k=0,l=0,m=0.0;j=i;i=i+56|0;k=j|0;l=j+8|0;c[k>>2]=f;c[k+4>>2]=h;h=c[a+212>>2]|0;if(+g[h+4>>2]>2]=c[a+216>>2];c[l+4>>2]=k;k=l+8|0;a=b;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];a=l+24|0;k=d;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];g[l+40>>2]=e;m=+c4[c[(c[h>>2]|0)+12>>2]&127](h,l,0);i=j;return+m}function auh(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aui(a){a=a|0;return}function auj(a){a=a|0;return}function auk(a,b,c){a=a|0;b=b|0;c=c|0;return}function aul(a,b){a=a|0;b=b|0;return 1}function aum(a,b){a=a|0;b=b|0;return 1}function aun(a){a=a|0;return}function auo(a){a=a|0;return}function aup(a,b){a=a|0;b=+b;return}function auq(a,b){a=a|0;b=b|0;return}function aur(a,b,c){a=a|0;b=b|0;c=c|0;return}function aus(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var j=0,k=0,l=0,m=0.0;j=i;i=i+56|0;k=j|0;l=j+8|0;c[k>>2]=f;c[k+4>>2]=h;h=c[a+212>>2]|0;if(+g[h+4>>2]>2]=c[a+216>>2];c[l+4>>2]=k;k=l+8|0;a=b;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];a=l+24|0;k=d;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];g[l+40>>2]=e;m=+c4[c[(c[h>>2]|0)+12>>2]&127](h,l,1);i=j;return+m}function aut(a){a=a|0;if((a|0)==0){return}aDB(a);return}function auu(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;return dj[c[(c[d>>2]|0)+8>>2]&511](d,b)|0}function auv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0;e=i;i=i+8|0;f=e|0;c[f>>2]=-1;c[f+4>>2]=c[a+24>>2];h=b+4|0;if((c[h>>2]|0)==0){c[h>>2]=f}f=a+20|0;h=c[f>>2]|0;j=+c4[c[(c[h>>2]|0)+12>>2]&127](h,b,d);g[a+4>>2]=+g[(c[f>>2]|0)+4>>2];i=e;return+j}function auw(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aux(a,d){a=a|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;e=i;i=i+144|0;f=e|0;h=e+48|0;j=e+112|0;k=c[d+36>>2]|0;d=h;l=c[(c[a+8>>2]|0)+24>>2]|0;m=c[l+(k*80|0)+64>>2]|0;n=c[a+12>>2]|0;o=f;anx(f,n|0,l+(k*80|0)|0);p=+g[l+(k*80|0)+48>>2];q=+g[l+(k*80|0)+52>>2];r=+g[l+(k*80|0)+56>>2];s=+g[n>>2]*p+ +g[n+4>>2]*q+ +g[n+8>>2]*r+ +g[n+48>>2];t=+g[n+16>>2]*p+ +g[n+20>>2]*q+ +g[n+24>>2]*r+ +g[n+52>>2];u=+g[n+32>>2]*p+ +g[n+36>>2]*q+ +g[n+40>>2]*r+ +g[n+56>>2];n=h+48|0;l=h|0;do{l=l+16|0;}while((l|0)!=(n|0));c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];o=h+16|0;d=f+16|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];d=h+32|0;o=f+32|0;c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];g[h+48>>2]=s;g[h+52>>2]=t;g[h+56>>2]=u;g[h+60>>2]=0.0;o=a+4|0;d=(c[o>>2]|0)+192|0;f=c[d>>2]|0;c[d>>2]=m;d=c[a+24>>2]|0;n=j+4|0;g[n>>2]=1.0;c[j+8>>2]=0;b[j+12>>1]=1;b[j+14>>1]=-1;c[j+16>>2]=0;c[j>>2]=19e3;c[j+20>>2]=d;c[j+24>>2]=k;g[n>>2]=+g[d+4>>2];atG(c[a+16>>2]|0,c[a+20>>2]|0,c[o>>2]|0,m,h,j|0);c[(c[o>>2]|0)+192>>2]=f;i=e;return}function auy(a,b,d){a=a|0;b=b|0;d=+d;cv[c[(c[a>>2]|0)+12>>2]&2047](a,b);return}function auz(a){a=a|0;if((a|0)==0){return}aDB(a);return}function auA(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;h=i;i=i+40|0;j=h|0;k=h+8|0;c[j>>2]=e;c[j+4>>2]=f;l=+g[b>>2];m=+g[b+4>>2];n=+g[b+8>>2];o=+g[a+56>>2]*l+ +g[a+60>>2]*m+ +g[a+64>>2]*n;p=l*+g[a+72>>2]+m*+g[a+76>>2]+n*+g[a+80>>2];q=l*+g[a+88>>2]+m*+g[a+92>>2]+n*+g[a+96>>2];c[k>>2]=c[a+48>>2];c[k+4>>2]=j;g[k+8>>2]=o;g[k+12>>2]=p;g[k+16>>2]=q;g[k+20>>2]=0.0;g[k+24>>2]=d;j=c[a+44>>2]|0;d=+c4[c[(c[j>>2]|0)+12>>2]&127](j,k,1);i=h;return+d}function auB(a){a=a|0;if((a|0)==0){return}aDB(a);return}function auC(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;h=i;i=i+40|0;j=h|0;k=h+8|0;c[j>>2]=e;c[j+4>>2]=f;l=+g[b>>2];m=+g[b+4>>2];n=+g[b+8>>2];o=+g[a+56>>2]*l+ +g[a+60>>2]*m+ +g[a+64>>2]*n;p=l*+g[a+72>>2]+m*+g[a+76>>2]+n*+g[a+80>>2];q=l*+g[a+88>>2]+m*+g[a+92>>2]+n*+g[a+96>>2];c[k>>2]=c[a+48>>2];c[k+4>>2]=j;g[k+8>>2]=o;g[k+12>>2]=p;g[k+16>>2]=q;g[k+20>>2]=0.0;g[k+24>>2]=d;j=c[a+44>>2]|0;d=+c4[c[(c[j>>2]|0)+12>>2]&127](j,k,1);i=h;return+d}function auD(a){a=a|0;if((a|0)==0){return}aDB(a);return}function auE(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;c[b+8>>2]=0;c[b>>2]=24952;a[b+28|0]=1;c[b+24>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;g[b+32>>2]=999999984306749400.0;g[b+36>>2]=999999984306749400.0;g[b+40>>2]=999999984306749400.0;g[b+44>>2]=0.0;g[b+48>>2]=-999999984306749400.0;g[b+52>>2]=-999999984306749400.0;g[b+56>>2]=-999999984306749400.0;g[b+60>>2]=0.0;e=b+64|0;c[e>>2]=0;c[b+68>>2]=1;g[b+72>>2]=0.0;g[b+76>>2]=1.0;g[b+80>>2]=1.0;g[b+84>>2]=1.0;g[b+88>>2]=0.0;c[b+4>>2]=31;if(!d){return}c[9806]=(c[9806]|0)+1;d=aDx(59)|0;do{if((d|0)==0){f=0}else{b=-(d+4|0)&15;h=d+(b+4)|0;c[d+b>>2]=d;if((h|0)==0){f=0;break}a[d+(b+40)|0]=1;c[d+(b+36)>>2]=0;c[d+(b+28)>>2]=0;c[d+(b|32)>>2]=0;c[h>>2]=0;c[d+(b+8)>>2]=0;c[d+(b+12)>>2]=-1;c[d+(b|16)>>2]=0;c[d+(b+20)>>2]=0;f=h}}while(0);c[e>>2]=f;return}function auF(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=24952;d=b+64|0;e=c[d>>2]|0;do{if((e|0)!=0){awp(e);f=c[d>>2]|0;if((f|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[f-40+36>>2]|0)}}while(0);d=b+16|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-80+76>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+20>>2]=0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-92+88>>2]|0);return}function auG(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=24952;d=b+64|0;e=c[d>>2]|0;do{if((e|0)!=0){awp(e);f=c[d>>2]|0;if((f|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[f-40+36>>2]|0)}}while(0);d=b+16|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+20|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-80+76>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+20|0;c[h>>2]=0;return}function auH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=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.0,y=0,z=0,A=0,B=0,C=0;d=i;i=i+64|0;e=d|0;f=d+16|0;h=d+32|0;j=d+48|0;k=a+68|0;c[k>>2]=(c[k>>2]|0)+1;k=a+64|0;l=c[k>>2]|0;m=a+24|0;if((l|0)!=0){n=c[(c[m>>2]|0)+(b*80|0)+76>>2]|0;aww(l,n)|0;o=l+4|0;p=c[o>>2]|0;if((p|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-44+40>>2]|0)}c[o>>2]=n;n=l+12|0;c[n>>2]=(c[n>>2]|0)-1}n=a+16|0;a=(c[n>>2]|0)-1|0;l=e;e=f;f=h;h=j;j=c[m>>2]|0;o=j+(b*80|0)|0;c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[l+12>>2]=c[o+12>>2];p=j+(b*80|0)+16|0;c[e>>2]=c[p>>2];c[e+4>>2]=c[p+4>>2];c[e+8>>2]=c[p+8>>2];c[e+12>>2]=c[p+12>>2];q=j+(b*80|0)+32|0;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];r=j+(b*80|0)+48|0;c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[h+12>>2]=c[r+12>>2];s=j+(b*80|0)+64|0;t=c[s>>2]|0;u=j+(b*80|0)+68|0;v=c[u>>2]|0;w=j+(b*80|0)+72|0;x=+g[w>>2];y=j+(b*80|0)+76|0;z=c[y>>2]|0;A=j+(a*80|0)|0;c[o>>2]=c[A>>2];c[o+4>>2]=c[A+4>>2];c[o+8>>2]=c[A+8>>2];c[o+12>>2]=c[A+12>>2];A=j+(a*80|0)+16|0;c[p>>2]=c[A>>2];c[p+4>>2]=c[A+4>>2];c[p+8>>2]=c[A+8>>2];c[p+12>>2]=c[A+12>>2];A=j+(a*80|0)+32|0;c[q>>2]=c[A>>2];c[q+4>>2]=c[A+4>>2];c[q+8>>2]=c[A+8>>2];c[q+12>>2]=c[A+12>>2];A=j+(a*80|0)+48|0;c[r>>2]=c[A>>2];c[r+4>>2]=c[A+4>>2];c[r+8>>2]=c[A+8>>2];c[r+12>>2]=c[A+12>>2];c[s>>2]=c[j+(a*80|0)+64>>2];c[u>>2]=c[j+(a*80|0)+68>>2];g[w>>2]=+g[j+(a*80|0)+72>>2];c[y>>2]=c[j+(a*80|0)+76>>2];j=c[m>>2]|0;y=j+(a*80|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=c[l+4>>2];c[y+8>>2]=c[l+8>>2];c[y+12>>2]=c[l+12>>2];l=j+(a*80|0)+16|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];e=j+(a*80|0)+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=j+(a*80|0)+48|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[j+(a*80|0)+64>>2]=t;c[j+(a*80|0)+68>>2]=v;g[j+(a*80|0)+72>>2]=x;c[j+(a*80|0)+76>>2]=z;if((c[k>>2]|0)==0){B=c[n>>2]|0;C=B-1|0;c[n>>2]=C;i=d;return}c[(c[(c[m>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;B=c[n>>2]|0;C=B-1|0;c[n>>2]=C;i=d;return}function auI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+68|0;c[d>>2]=(c[d>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0){e=a+24|0;f=d;do{f=f-1|0;if((c[(c[e>>2]|0)+(f*80|0)+64>>2]|0)==(b|0)){auH(a,f)}}while((f|0)>0)}ct[c[(c[a>>2]|0)+64>>2]&2047](a);return}function auJ(a){a=a|0;return 17296|0}function auK(a){a=a|0;return 24}function auL(a){a=a|0;return}function auM(a){a=a|0;return a+76|0}function auN(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function auO(a){a=a|0;return+(+g[a+72>>2])}function auP(a){a=a|0;var b=0,d=0,e=0,f=0,h=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.0;b=i;i=i+32|0;d=b|0;e=b+16|0;f=a+32|0;g[f>>2]=999999984306749400.0;h=a+36|0;g[h>>2]=999999984306749400.0;j=a+40|0;g[j>>2]=999999984306749400.0;g[a+44>>2]=0.0;k=a+48|0;g[k>>2]=-999999984306749400.0;l=a+52|0;g[l>>2]=-999999984306749400.0;m=a+56|0;g[m>>2]=-999999984306749400.0;g[a+60>>2]=0.0;n=a+16|0;if((c[n>>2]|0)<=0){i=b;return}o=a+24|0;a=d|0;p=e|0;q=d+4|0;r=e+4|0;s=d+8|0;t=e+8|0;u=0;do{v=c[o>>2]|0;w=c[v+(u*80|0)+64>>2]|0;dI[c[(c[w>>2]|0)+8>>2]&1023](w,v+(u*80|0)|0,d,e);x=+g[a>>2];if(+g[f>>2]>x){g[f>>2]=x}x=+g[p>>2];if(+g[k>>2]>2]=x}x=+g[q>>2];if(+g[h>>2]>x){g[h>>2]=x}x=+g[r>>2];if(+g[l>>2]>2]=x}x=+g[s>>2];if(+g[j>>2]>x){g[j>>2]=x}x=+g[t>>2];if(+g[m>>2]>2]=x}u=u+1|0;}while((u|0)<(c[n>>2]|0));i=b;return}function auQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;f=+g[a+48>>2];h=+g[a+32>>2];i=+g[a+52>>2];j=+g[a+36>>2];k=+g[a+56>>2];l=+g[a+40>>2];m=(c[a+16>>2]|0)==0;n=m?0.0:(k+l)*.5;o=m?0.0:(i+j)*.5;p=m?0.0:(f+h)*.5;q=a;r=+dh[c[(c[q>>2]|0)+44>>2]&1023](a);s=+dh[c[(c[q>>2]|0)+44>>2]&1023](a);t=(m?0.0:(f-h)*.5)+r;r=(m?0.0:(i-j)*.5)+s;s=(m?0.0:(k-l)*.5)+ +dh[c[(c[q>>2]|0)+44>>2]&1023](a);l=+g[b>>2];k=+P(+l);j=+g[b+4>>2];i=+P(+j);h=+g[b+8>>2];f=+P(+h);u=+g[b+16>>2];v=+P(+u);w=+g[b+20>>2];x=+P(+w);y=+g[b+24>>2];z=+P(+y);A=+g[b+32>>2];B=+P(+A);C=+g[b+36>>2];D=+P(+C);E=+g[b+40>>2];F=+P(+E);G=+g[b+48>>2]+(p*l+o*j+n*h);h=+g[b+52>>2]+(p*u+o*w+n*y);y=+g[b+56>>2]+(p*A+o*C+n*E);E=t*k+r*i+s*f;f=t*v+r*x+s*z;z=t*B+r*D+s*F;g[d>>2]=G-E;g[d+4>>2]=h-f;g[d+8>>2]=y-z;g[d+12>>2]=0.0;g[e>>2]=E+G;g[e+4>>2]=f+h;g[e+8>>2]=z+y;g[e+12>>2]=0.0;return}function auR(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0;e=i;i=i+96|0;f=e|0;h=e+64|0;j=e+80|0;g[f>>2]=1.0;aDD(f+4|0,0,16);g[f+20>>2]=1.0;aDD(f+24|0,0,16);g[f+40>>2]=1.0;aDD(f+44|0,0,20);dI[c[(c[a>>2]|0)+8>>2]&1023](a,f,h,j);k=(+g[j>>2]- +g[h>>2])*.5*2.0;l=(+g[j+4>>2]- +g[h+4>>2])*.5*2.0;m=(+g[j+8>>2]- +g[h+8>>2])*.5*2.0;n=b/12.0;b=l*l;l=m*m;g[d>>2]=n*(b+l);m=k*k;g[d+4>>2]=n*(m+l);g[d+8>>2]=n*(m+b);i=e;return}function auS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=i;i=i+128|0;e=d|0;f=d+16|0;h=d+48|0;j=d+112|0;k=a+16|0;if((c[k>>2]|0)<=0){l=a+76|0;m=l;n=b;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];o=a;p=c[o>>2]|0;q=p+64|0;r=c[q>>2]|0;ct[r&2047](a);i=d;return}s=a+24|0;t=h;u=h+16|0;v=h+32|0;w=h+48|0;x=w;y=j;z=j|0;A=b|0;B=j+4|0;C=b+4|0;D=j+8|0;E=b+8|0;F=a+76|0;G=a+80|0;H=a+84|0;I=j+12|0;J=w|0;w=h+52|0;K=h+56|0;L=h+48|0;M=h+60|0;N=e;O=f;P=a+64|0;Q=f|0;R=f+16|0;f=0;do{S=c[s>>2]|0;T=S+(f*80|0)|0;c[t>>2]=c[T>>2];c[t+4>>2]=c[T+4>>2];c[t+8>>2]=c[T+8>>2];c[t+12>>2]=c[T+12>>2];T=S+(f*80|0)+16|0;c[u>>2]=c[T>>2];c[u+4>>2]=c[T+4>>2];c[u+8>>2]=c[T+8>>2];c[u+12>>2]=c[T+12>>2];T=S+(f*80|0)+32|0;c[v>>2]=c[T>>2];c[v+4>>2]=c[T+4>>2];c[v+8>>2]=c[T+8>>2];c[v+12>>2]=c[T+12>>2];T=S+(f*80|0)+48|0;c[x>>2]=c[T>>2];c[x+4>>2]=c[T+4>>2];c[x+8>>2]=c[T+8>>2];c[x+12>>2]=c[T+12>>2];T=c[S+(f*80|0)+64>>2]|0;S=cA[c[(c[T>>2]|0)+28>>2]&4095](T)|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];U=+g[B>>2]*+g[C>>2]/+g[G>>2];V=+g[D>>2]*+g[E>>2]/+g[H>>2];g[z>>2]=+g[z>>2]*+g[A>>2]/+g[F>>2];g[B>>2]=U;g[D>>2]=V;g[I>>2]=0.0;S=c[(c[s>>2]|0)+(f*80|0)+64>>2]|0;cv[c[(c[S>>2]|0)+24>>2]&2047](S,j);V=+g[w>>2]*+g[C>>2];U=+g[K>>2]*+g[E>>2];g[L>>2]=+g[J>>2]*+g[A>>2];g[w>>2]=V;g[K>>2]=U;g[M>>2]=0.0;S=c[s>>2]|0;T=S+(f*80|0)|0;c[T>>2]=c[t>>2];c[T+4>>2]=c[t+4>>2];c[T+8>>2]=c[t+8>>2];c[T+12>>2]=c[t+12>>2];T=S+(f*80|0)+16|0;c[T>>2]=c[u>>2];c[T+4>>2]=c[u+4>>2];c[T+8>>2]=c[u+8>>2];c[T+12>>2]=c[u+12>>2];T=S+(f*80|0)+32|0;c[T>>2]=c[v>>2];c[T+4>>2]=c[v+4>>2];c[T+8>>2]=c[v+8>>2];c[T+12>>2]=c[v+12>>2];T=S+(f*80|0)+48|0;c[T>>2]=c[x>>2];c[T+4>>2]=c[x+4>>2];c[T+8>>2]=c[x+8>>2];c[T+12>>2]=c[x+12>>2];if((c[P>>2]|0)!=0){T=c[(c[s>>2]|0)+(f*80|0)+64>>2]|0;dI[c[(c[T>>2]|0)+8>>2]&1023](T,h,Q,e);c[R>>2]=c[N>>2];c[R+4>>2]=c[N+4>>2];c[R+8>>2]=c[N+8>>2];c[R+12>>2]=c[N+12>>2];T=c[P>>2]|0;S=c[(c[s>>2]|0)+(f*80|0)+76>>2]|0;W=aww(T,S)|0;L2296:do{if((W|0)==0){X=0}else{Y=c[T+8>>2]|0;if((Y|0)>-1){Z=0;_=W}else{X=c[T>>2]|0;break}while(1){if((Z|0)>=(Y|0)){X=_;break L2296}$=c[_+32>>2]|0;if(($|0)==0){X=_;break}else{Z=Z+1|0;_=$}}}}while(0);W=S;aDC(W|0,O|0,32)|0;awv(T,X,S)}f=f+1|0;}while((f|0)<(c[k>>2]|0));l=a+76|0;m=l;n=b;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];o=a;p=c[o>>2]|0;q=p+64|0;r=c[q>>2]|0;ct[r&2047](a);i=d;return}function auT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];g[b+20>>2]=+g[a+72>>2];f=c[a+16>>2]|0;h=b+16|0;c[h>>2]=f;i=b+12|0;c[i>>2]=0;if((f|0)==0){return 17848}b=d;j=cS[c[(c[b>>2]|0)+16>>2]&511](d,76,f)|0;f=j+8|0;k=c[f>>2]|0;c[i>>2]=dj[c[(c[e>>2]|0)+28>>2]&511](d,k)|0;if((c[h>>2]|0)>0){i=a+24|0;a=d;l=0;m=k;while(1){g[m+72>>2]=+g[(c[i>>2]|0)+(l*80|0)+72>>2];c[m+64>>2]=dj[c[(c[e>>2]|0)+28>>2]&511](d,c[(c[i>>2]|0)+(l*80|0)+64>>2]|0)|0;if((dj[c[(c[e>>2]|0)+24>>2]&511](d,c[(c[i>>2]|0)+(l*80|0)+64>>2]|0)|0)==0){k=c[(c[b>>2]|0)+16>>2]|0;n=c[(c[i>>2]|0)+(l*80|0)+64>>2]|0;o=cA[c[(c[n>>2]|0)+48>>2]&4095](n)|0;n=cS[k&511](d,o,1)|0;o=c[(c[i>>2]|0)+(l*80|0)+64>>2]|0;k=cS[c[(c[o>>2]|0)+52>>2]&511](o,c[n+8>>2]|0,d)|0;co[c[(c[a>>2]|0)+20>>2]&255](d,n,k,1346455635,c[(c[i>>2]|0)+(l*80|0)+64>>2]|0)}c[m+68>>2]=c[(c[i>>2]|0)+(l*80|0)+68>>2];k=c[i>>2]|0;g[m>>2]=+g[k+(l*80|0)>>2];g[m+4>>2]=+g[k+(l*80|0)+4>>2];g[m+8>>2]=+g[k+(l*80|0)+8>>2];g[m+12>>2]=+g[k+(l*80|0)+12>>2];g[m+16>>2]=+g[k+(l*80|0)+16>>2];g[m+20>>2]=+g[k+(l*80|0)+20>>2];g[m+24>>2]=+g[k+(l*80|0)+24>>2];g[m+28>>2]=+g[k+(l*80|0)+28>>2];g[m+32>>2]=+g[k+(l*80|0)+32>>2];g[m+36>>2]=+g[k+(l*80|0)+36>>2];g[m+40>>2]=+g[k+(l*80|0)+40>>2];g[m+44>>2]=+g[k+(l*80|0)+44>>2];g[m+48>>2]=+g[k+(l*80|0)+48>>2];g[m+52>>2]=+g[k+(l*80|0)+52>>2];g[m+56>>2]=+g[k+(l*80|0)+56>>2];g[m+60>>2]=+g[k+(l*80|0)+60>>2];k=l+1|0;if((k|0)<(c[h>>2]|0)){l=k;m=m+76|0}else{p=a;break}}}else{p=d}co[c[(c[p>>2]|0)+20>>2]&255](d,j,16696,1497453121,c[f>>2]|0);return 17848}function auU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;e=i;i=i+48|0;f=e|0;h=e+16|0;j=e+32|0;k=+g[b+60>>2]*.5;l=c[b+68>>2]|0;m=+g[d+(l<<2)>>2];n=+g[d>>2];o=+g[d+4>>2];p=+g[d+8>>2];q=+Q(+(n*n+o*o+p*p));r=c[b+64>>2]|0;if(m>q*+g[b+52>>2]){g[f+(r<<2)>>2]=0.0;g[f+(l<<2)>>2]=k;g[f+(c[b+72>>2]<<2)>>2]=0.0;s=a;t=f;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];i=e;return}q=+g[d+(r<<2)>>2];t=c[b+72>>2]|0;m=+g[d+(t<<2)>>2];p=+Q(+(q*q+m*m));if(p>1.1920928955078125e-7){o=+g[b+56>>2]/p;g[h+(r<<2)>>2]=q*o;g[h+(l<<2)>>2]=-0.0-k;g[h+(t<<2)>>2]=o*m;b=a;d=h;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];i=e;return}else{g[j+(r<<2)>>2]=0.0;g[j+(l<<2)>>2]=-0.0-k;g[j+(t<<2)>>2]=0.0;t=a;a=j;c[t>>2]=c[a>>2];c[t+4>>2]=c[a+4>>2];c[t+8>>2]=c[a+8>>2];c[t+12>>2]=c[a+12>>2];i=e;return}}function auV(a,b,c){a=a|0;b=b|0;c=c|0;auU(a,b,c);return}function auW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f|0;if((e|0)<=0){i=f;return}h=g;j=0;do{auU(g,a,b+(j<<4)|0);k=d+(j<<4)|0;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];j=j+1|0;}while((j|0)<(e|0));i=f;return}function auX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;auU(a,b,d);e=b|0;f=b;if(+dh[c[(c[f>>2]|0)+44>>2]&1023](e)==0.0){return}h=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];d=h*h+i*i+j*j<1.4210854715202004e-14;k=d?-1.0:j;j=d?-1.0:i;i=d?-1.0:h;h=1.0/+Q(+(k*k+(i*i+j*j)));l=+dh[c[(c[f>>2]|0)+44>>2]&1023](e);e=a|0;g[e>>2]=h*i*l+ +g[e>>2];e=a+4|0;g[e>>2]=l*h*j+ +g[e>>2];e=a+8|0;g[e>>2]=l*h*k+ +g[e>>2];return}function auY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0.0;d=c[a+68>>2]|0;e=c[a+64>>2]|0;f=c[a+72>>2]|0;h=a+60|0;i=+g[b+(d<<2)>>2]/+g[a+12+(d<<2)>>2]*+g[h>>2];g[h>>2]=i;h=a+56|0;j=+g[h>>2]*(+g[b+(e<<2)>>2]/+g[a+12+(e<<2)>>2]+ +g[b+(f<<2)>>2]/+g[a+12+(f<<2)>>2])*.5;g[h>>2]=j;g[a+52>>2]=j/+Q(+(i*i+j*j));j=+P(+(+g[b>>2]));i=+P(+(+g[b+4>>2]));k=+P(+(+g[b+8>>2]));g[a+12>>2]=j;g[a+16>>2]=i;g[a+20>>2]=k;g[a+24>>2]=0.0;return}function auZ(a){a=a|0;return 17840|0}function au_(a){a=a|0;return}function au$(a){a=a|0;return}function au0(a){a=a|0;return}function au1(a){a=a|0;return}function au2(a,b,c){a=a|0;b=b|0;c=c|0;return}function au3(a,b,c){a=a|0;b=b|0;c=c|0;return}function au4(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-76+72>>2]|0);return}function au5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a,b,d,e);return}function au6(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;e=i;i=i+96|0;f=e|0;h=e+64|0;j=e+80|0;g[f>>2]=1.0;aDD(f+4|0,0,16);g[f+20>>2]=1.0;aDD(f+24|0,0,16);g[f+40>>2]=1.0;aDD(f+44|0,0,20);k=a|0;dI[c[(c[a>>2]|0)+8>>2]&1023](k,f,h,j);l=(+g[j>>2]- +g[h>>2])*.5;m=(+g[j+4>>2]- +g[h+4>>2])*.5;n=(+g[j+8>>2]- +g[h+8>>2])*.5;o=+dh[c[(c[a>>2]|0)+44>>2]&1023](k);p=(l+o)*2.0;l=(m+o)*2.0;m=(n+o)*2.0;o=p*p;p=l*l;l=m*m;m=b*.0833333283662796;g[d>>2]=m*(p+l);g[d+4>>2]=m*(o+l);g[d+8>>2]=m*(o+p);g[d+12>>2]=0.0;i=e;return}function au7(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-76+72>>2]|0);return}function au8(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-76+72>>2]|0);return}function au9(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0.0,Z=0,_=0.0,$=0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0,aj=0,ak=0,al=0;j=i;i=i+280|0;k=j|0;l=j+80|0;m=j+216|0;n=j+232|0;o=j+248|0;p=j+264|0;q=d+16|0;if((c[q>>2]|0)==0){r=c[d+12>>2]|0;s=c[d+20>>2]|0;t=+g[e>>2];u=+g[e+4>>2];v=+g[e+8>>2];w=+g[e+16>>2];x=+g[e+20>>2];y=+g[e+24>>2];z=+g[e+32>>2];A=+g[e+36>>2];B=+g[e+40>>2];C=+g[e+48>>2];D=+g[e+52>>2];E=+g[e+56>>2];F=f|0;G=f+16|0;H=f+32|0;I=f+4|0;J=f+20|0;K=f+36|0;L=f+8|0;M=f+24|0;N=f+40|0;O=+g[F>>2];P=+g[G>>2];Q=+g[H>>2];R=+g[I>>2];S=+g[J>>2];T=+g[K>>2];U=+g[L>>2];V=+g[M>>2];W=+g[N>>2];X=f+48|0;Y=-0.0- +g[X>>2];Z=f+52|0;_=-0.0- +g[Z>>2];$=f+56|0;aa=-0.0- +g[$>>2];ab=t*O+w*P+z*Q;ac=u*O+x*P+A*Q;ad=v*O+y*P+B*Q;ae=t*R+w*S+z*T;af=u*R+x*S+A*T;ag=v*R+y*S+B*T;ah=t*U+w*V+z*W;z=u*U+x*V+A*W;A=v*U+y*V+B*W;ai=c[(c[r>>2]|0)+60>>2]|0;aj=s+48|0;B=-0.0- +g[aj>>2];ak=s+52|0;y=-0.0- +g[ak>>2];al=s+56|0;v=-0.0- +g[al>>2];g[n>>2]=ab*B+ae*y+ah*v;g[n+4>>2]=ac*B+af*y+z*v;g[n+8>>2]=ad*B+ag*y+A*v;g[n+12>>2]=0.0;dA[ai&511](m,r,n);v=+g[m>>2];y=+g[m+4>>2];B=+g[m+8>>2];x=C*O+D*P+E*Q+(O*Y+P*_+Q*aa)+(ab*v+ac*y+ad*B);ad=C*R+D*S+E*T+(R*Y+S*_+T*aa)+(ae*v+af*y+ag*B);ag=C*U+D*V+E*W+(U*Y+V*_+W*aa)+(ah*v+z*y+A*B);B=+g[aj>>2];A=+g[ak>>2];y=+g[al>>2];z=y*ag+(B*x+A*ad)- +g[s+64>>2];v=x-B*z;B=ad-A*z;A=ag-y*z;y=+g[F>>2];ag=+g[I>>2];ad=+g[L>>2];x=+g[G>>2];ah=+g[J>>2];aa=+g[M>>2];W=+g[Z>>2]+(v*x+B*ah+A*aa);_=+g[H>>2];V=+g[K>>2];Y=+g[N>>2];U=+g[$>>2]+(v*_+B*V+A*Y);g[o>>2]=+g[X>>2]+(ad*A+(y*v+ag*B));g[o+4>>2]=W;g[o+8>>2]=U;g[o+12>>2]=0.0;U=+g[aj>>2];W=+g[ak>>2];B=+g[al>>2];g[p>>2]=y*U+ag*W+ad*B;g[p+4>>2]=U*x+W*ah+B*aa;g[p+8>>2]=U*_+W*V+B*Y;g[p+12>>2]=0.0;dw[c[(c[h>>2]|0)+16>>2]&127](h,p,o,z);i=j;return}else{o=d+4|0;p=c[o>>2]|0;a[p+312|0]=0;c[p>>2]=0;a[p+356|0]=1;g[p+292>>2]=999999984306749400.0;g[p+296>>2]=999999984306749400.0;g[p+300>>2]=999999984306749400.0;g[p+304>>2]=0.0;al=p+332|0;aDD(p+336|0,0,17);b[al>>1]=b[al>>1]&-16;al=c[d+12>>2]|0;p=c[q>>2]|0;ak=c[al+4>>2]|0;aj=c[p+4>>2]|0;z=+dh[c[(c[al>>2]|0)+44>>2]&1023](al);X=c[q>>2]|0;Y=+dh[c[(c[X>>2]|0)+44>>2]&1023](X);X=c[o>>2]|0;o=c[d+8>>2]|0;c[k>>2]=23568;g[k+4>>2]=0.0;g[k+8>>2]=1.0;g[k+12>>2]=0.0;g[k+16>>2]=0.0;c[k+20>>2]=o;c[k+24>>2]=X;c[k+28>>2]=al;c[k+32>>2]=p;c[k+36>>2]=ak;c[k+40>>2]=aj;g[k+44>>2]=z;g[k+48>>2]=Y;a[k+52|0]=0;c[k+60>>2]=-1;c[k+72>>2]=1;g[l+128>>2]=999999984306749400.0;c[l+132>>2]=0;aj=l;ak=e;c[aj>>2]=c[ak>>2];c[aj+4>>2]=c[ak+4>>2];c[aj+8>>2]=c[ak+8>>2];c[aj+12>>2]=c[ak+12>>2];ak=l+16|0;aj=e+16|0;c[ak>>2]=c[aj>>2];c[ak+4>>2]=c[aj+4>>2];c[ak+8>>2]=c[aj+8>>2];c[ak+12>>2]=c[aj+12>>2];aj=l+32|0;ak=e+32|0;c[aj>>2]=c[ak>>2];c[aj+4>>2]=c[ak+4>>2];c[aj+8>>2]=c[ak+8>>2];c[aj+12>>2]=c[ak+12>>2];ak=l+48|0;aj=e+48|0;c[ak>>2]=c[aj>>2];c[ak+4>>2]=c[aj+4>>2];c[ak+8>>2]=c[aj+8>>2];c[ak+12>>2]=c[aj+12>>2];aj=l+64|0;ak=f;c[aj>>2]=c[ak>>2];c[aj+4>>2]=c[ak+4>>2];c[aj+8>>2]=c[ak+8>>2];c[aj+12>>2]=c[ak+12>>2];ak=l+80|0;aj=f+16|0;c[ak>>2]=c[aj>>2];c[ak+4>>2]=c[aj+4>>2];c[ak+8>>2]=c[aj+8>>2];c[ak+12>>2]=c[aj+12>>2];aj=l+96|0;ak=f+32|0;c[aj>>2]=c[ak>>2];c[aj+4>>2]=c[ak+4>>2];c[aj+8>>2]=c[ak+8>>2];c[aj+12>>2]=c[ak+12>>2];ak=l+112|0;aj=f+48|0;c[ak>>2]=c[aj>>2];c[ak+4>>2]=c[aj+4>>2];c[ak+8>>2]=c[aj+8>>2];c[ak+12>>2]=c[aj+12>>2];axX(k,l,h|0,0,0);i=j;return}}function ava(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var 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.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0.0,ae=0,af=0,ag=0.0,ah=0.0,ai=0;k=i;i=i+352|0;l=k|0;m=k+16|0;n=k+24|0;o=k+40|0;p=k+48|0;q=k+64|0;r=k+80|0;s=k+96|0;t=k+144|0;u=k+160|0;v=k+224|0;w=k+288|0;x=k+304|0;y=+g[e+48>>2]- +g[d+48>>2];z=+g[e+52>>2]- +g[d+52>>2];A=+g[e+56>>2]- +g[d+56>>2];an6(d,e,n,o);B=+g[o>>2];C=+g[n>>2]*B;D=B*+g[n+4>>2];E=B*+g[n+8>>2];g[p>>2]=C;g[p+4>>2]=D;g[p+8>>2]=E;g[p+12>>2]=0.0;B=+g[h+48>>2]- +g[f+48>>2];F=+g[h+52>>2]- +g[f+52>>2];G=+g[h+56>>2]- +g[f+56>>2];an6(f,h,l,m);H=+g[m>>2];I=+g[l>>2]*H;J=H*+g[l+4>>2];K=H*+g[l+8>>2];g[q>>2]=I;g[q+4>>2]=J;g[q+8>>2]=K;g[q+12>>2]=0.0;l=c[b+12>>2]|0;H=+dh[c[(c[l>>2]|0)+16>>2]&1023](l|0);l=c[b+16>>2]|0;if((l|0)==0){L=0.0}else{L=+dh[c[(c[l>>2]|0)+16>>2]&1023](l|0)}M=H*+Q(+(C*C+D*D+E*E));E=M+L*+Q(+(I*I+J*J+K*K));K=B-y;J=F-z;I=G-A;if(E+ +Q(+(K*K+J*J+I*I))==0.0){N=0;i=k;return N|0}c[s>>2]=23960;l=s+36|0;g[l>>2]=999999984306749400.0;m=s+40|0;a[m]=0;au9(b,d,f,s);h=(a[m]&1)==0;m=r;n=s+20|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];if(h){N=0;i=k;return N|0}h=j+172|0;L=+g[s+4>>2];M=+g[s+8>>2];D=+g[s+12>>2];if(E+(K*L+J*M+I*D)<=1.1920928955078125e-7){N=0;i=k;return N|0}n=j+168|0;o=j;e=x|0;O=x+36|0;P=x+40|0;R=x+20|0;S=x+4|0;T=x+8|0;U=x+12|0;V=x+16|0;W=u+48|0;X=w|0;Y=w+4|0;Z=w+8|0;_=w+12|0;$=t|0;aa=t+4|0;ab=t+8|0;ac=t+12|0;C=+g[l>>2]+ +g[h>>2];l=0;H=0.0;ad=L;L=M;M=D;D=+g[s+16>>2];while(1){if(C<=.0010000000474974513){ae=2020;break}s=c[n>>2]|0;if((s|0)!=0){af=c[(c[s>>2]|0)+20>>2]|0;g[$>>2]=1.0;g[aa>>2]=1.0;g[ab>>2]=1.0;g[ac>>2]=0.0;cE[af&127](s,r,.20000000298023224,t)}ag=E+(I*M+(J*L+K*ad));if(ag<=1.1920928955078125e-7){N=0;ae=2024;break}ah=H+C/ag;if(!(ah>=0.0&ah<=1.0&ah>H)){N=0;ae=2030;break}anY(d,y,z,A,p,ah,u);anY(f,B,F,G,q,ah,v);s=c[n>>2]|0;if((s|0)!=0){af=c[(c[s>>2]|0)+20>>2]|0;g[X>>2]=1.0;g[Y>>2]=0.0;g[Z>>2]=0.0;g[_>>2]=0.0;cE[af&127](s,W,.20000000298023224,w)}cq[c[c[o>>2]>>2]&1023](j,ah);c[e>>2]=23960;g[O>>2]=999999984306749400.0;a[P]=0;au9(b,u,v,x);if((a[P]&1)==0){ae=2018;break}ag=+g[O>>2]+ +g[h>>2];c[m>>2]=c[R>>2];c[m+4>>2]=c[R+4>>2];c[m+8>>2]=c[R+8>>2];c[m+12>>2]=c[R+12>>2];ai=l+1|0;if((ai|0)>64){ae=2019;break}else{C=ag;l=ai;H=ah;ad=+g[S>>2];L=+g[T>>2];M=+g[U>>2];D=+g[V>>2]}}if((ae|0)==2024){i=k;return N|0}else if((ae|0)==2030){i=k;return N|0}else if((ae|0)==2019){dA[c[(c[j>>2]|0)+8>>2]&511](j,-2,ai);N=0;i=k;return N|0}else if((ae|0)==2020){g[j+164>>2]=H;g[j+132>>2]=ad;g[j+136>>2]=L;g[j+140>>2]=M;g[j+144>>2]=D;ai=j+148|0;c[ai>>2]=c[m>>2];c[ai+4>>2]=c[m+4>>2];c[ai+8>>2]=c[m+8>>2];c[ai+12>>2]=c[m+12>>2];N=1;i=k;return N|0}else if((ae|0)==2018){dA[c[(c[j>>2]|0)+8>>2]&511](j,-1,l);N=0;i=k;return N|0}return 0}function avb(a){a=a|0;if((a|0)==0){return}aDB(a);return}function avc(a){a=a|0;if((a|0)==0){return}aDB(a);return}function avd(a){a=a|0;return 0}function ave(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function avf(a,b,c){a=a|0;b=b|0;c=+c;return 0}function avg(a){a=a|0;return 17288|0}function avh(a){a=a|0;return 68}function avi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0;f=(e|0)>0;if(f){h=0;do{g[d+(h<<4)+12>>2]=-999999984306749400.0;h=h+1|0;}while((h|0)<(e|0))}h=a+96|0;i=c[h>>2]|0;if((i|0)<=0){return}j=a+104|0;k=a+12|0;l=a+16|0;m=a+20|0;if(f){n=0}else{f=0;do{f=f+1|0;}while((f|0)<(i|0));return}do{i=c[j>>2]|0;o=+g[i+(n<<4)>>2]*+g[k>>2];p=+g[i+(n<<4)+4>>2]*+g[l>>2];q=+g[i+(n<<4)+8>>2]*+g[m>>2];i=0;do{r=o*+g[b+(i<<4)>>2]+p*+g[b+(i<<4)+4>>2]+q*+g[b+(i<<4)+8>>2];f=d+(i<<4)+12|0;if(r>+g[f>>2]){g[d+(i<<4)>>2]=o;g[d+(i<<4)+4>>2]=p;g[d+(i<<4)+8>>2]=q;g[f>>2]=r}i=i+1|0;}while((i|0)<(e|0));n=n+1|0;}while((n|0)<(c[h>>2]|0));return}function avj(a){a=a|0;return c[a+96>>2]|0}function avk(a){a=a|0;return c[a+96>>2]|0}function avl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0;f=c[a+96>>2]|0;h=(b|0)%(f|0)|0;i=(b+1|0)%(f|0)|0;f=a+104|0;b=c[f>>2]|0;j=a+12|0;k=a+16|0;l=+g[b+(h<<4)+4>>2]*+g[k>>2];m=a+20|0;n=+g[b+(h<<4)+8>>2]*+g[m>>2];g[d>>2]=+g[b+(h<<4)>>2]*+g[j>>2];g[d+4>>2]=l;g[d+8>>2]=n;g[d+12>>2]=0.0;d=c[f>>2]|0;n=+g[d+(i<<4)+4>>2]*+g[k>>2];l=+g[d+(i<<4)+8>>2]*+g[m>>2];g[e>>2]=+g[d+(i<<4)>>2]*+g[j>>2];g[e+4>>2]=n;g[e+8>>2]=l;g[e+12>>2]=0.0;return}function avm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0;e=c[a+104>>2]|0;f=+g[e+(b<<4)+4>>2]*+g[a+16>>2];h=+g[e+(b<<4)+8>>2]*+g[a+20>>2];g[d>>2]=+g[e+(b<<4)>>2]*+g[a+12>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;return}function avn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0;h=b+36|0;if(+g[h>>2]<=f){return}a[b+40|0]=1;i=b+4|0;j=d;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];j=b+20|0;b=e;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];g[h>>2]=f;return}function avo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=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.0,v=0.0;h=i;i=i+16|0;j=h|0;k=b|0;c[b+8>>2]=0;g[b+12>>2]=1.0;g[b+16>>2]=1.0;g[b+20>>2]=1.0;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;g[b+56>>2]=1.0;g[b+60>>2]=1.0;g[b+64>>2]=1.0;g[b+68>>2]=0.0;g[b+72>>2]=-1.0;g[b+76>>2]=-1.0;g[b+80>>2]=-1.0;g[b+84>>2]=0.0;a[b+88|0]=0;c[b>>2]=23600;l=b+108|0;a[l]=1;m=b+104|0;c[m>>2]=0;n=b+96|0;c[n>>2]=0;o=b+100|0;c[o>>2]=0;c[b+4>>2]=4;L2460:do{if((e|0)>0){c[9806]=(c[9806]|0)+1;b=aDx((e<<4|4)+15|0)|0;if((b|0)==0){p=0}else{q=-(b+4|0)&15;c[b+q>>2]=b;p=b+(q+4)|0}q=c[n>>2]|0;if((q|0)>0){b=0;do{r=p+(b<<4)|0;if((r|0)!=0){s=r;r=(c[m>>2]|0)+(b<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2]}b=b+1|0;}while((b|0)<(q|0))}q=c[m>>2]|0;if((q|0)!=0){if((a[l]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[q-16+12>>2]|0)}c[m>>2]=0}a[l]=1;c[m>>2]=p;c[o>>2]=e;q=j;b=0;r=p;while(1){s=r+(b<<4)|0;if((s|0)!=0){t=s;c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2]}t=b+1|0;if((t|0)>=(e|0)){break}b=t;r=c[m>>2]|0}c[n>>2]=e;r=d;b=0;while(1){q=c[m>>2]|0;u=+g[r+4>>2];v=+g[r+8>>2];g[q+(b<<4)>>2]=+g[r>>2];g[q+(b<<4)+4>>2]=u;g[q+(b<<4)+8>>2]=v;g[q+(b<<4)+12>>2]=0.0;q=b+1|0;if((q|0)>=(e|0)){break L2460}r=r+f|0;b=q}}else{c[n>>2]=e}}while(0);aze(k);i=h;return}function avp(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];aze(a|0);return}function avq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;e=a|0;f=a+4|0;h=a+8|0;i=a+12|0;aDD(a|0,0,16);a=c[b+96>>2]|0;if((a|0)<=0){return}j=c[b+104>>2]|0;k=+g[b+12>>2];l=+g[b+16>>2];m=+g[b+20>>2];n=+g[d>>2];o=+g[d+4>>2];p=+g[d+8>>2];q=-999999984306749400.0;d=0;while(1){r=+g[j+(d<<4)>>2]*k;s=+g[j+(d<<4)+4>>2]*l;t=+g[j+(d<<4)+8>>2]*m;u=r*n+s*o+t*p;if(u>q){g[e>>2]=r;g[f>>2]=s;g[h>>2]=t;g[i>>2]=0.0;v=u}else{v=q}b=d+1|0;if((b|0)<(a|0)){q=v;d=b}else{break}}return}function avr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;dA[c[(c[b>>2]|0)+64>>2]&511](a,b,d);e=b|0;f=b;if(+dh[c[(c[f>>2]|0)+44>>2]&1023](e)==0.0){return}h=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];d=h*h+i*i+j*j<1.4210854715202004e-14;k=d?-1.0:j;j=d?-1.0:i;i=d?-1.0:h;h=1.0/+Q(+(k*k+(i*i+j*j)));l=+dh[c[(c[f>>2]|0)+44>>2]&1023](e);e=a|0;g[e>>2]=h*i*l+ +g[e>>2];e=a+4|0;g[e>>2]=l*h*j+ +g[e>>2];e=a+8|0;g[e>>2]=l*h*k+ +g[e>>2];return}function avs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if((f|0)==0){c[b+52>>2]=0;c[b+56>>2]=0;return 17784}h=a+104|0;c[b+52>>2]=dj[c[(c[e>>2]|0)+28>>2]&511](d,c[h>>2]|0)|0;c[b+56>>2]=0;b=cS[c[(c[d>>2]|0)+16>>2]&511](d,16,f)|0;if((f|0)>0){e=c[b+8>>2]|0;a=0;while(1){i=c[h>>2]|0;g[e>>2]=+g[i+(a<<4)>>2];g[e+4>>2]=+g[i+(a<<4)+4>>2];g[e+8>>2]=+g[i+(a<<4)+8>>2];g[e+12>>2]=+g[i+(a<<4)+12>>2];i=a+1|0;if((i|0)<(f|0)){e=e+16|0;a=i}else{break}}}co[c[(c[d>>2]|0)+20>>2]&255](d,b,16904,1497453121,c[h>>2]|0);return 17784}function avt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b|0;c[d>>2]=23600;e=b+96|0;f=b+104|0;g=c[f>>2]|0;h=b+108|0;if((g|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-16+12>>2]|0)}c[f>>2]=0}a[h]=1;c[f>>2]=0;c[e>>2]=0;c[b+100>>2]=0;c[d>>2]=21200;d=c[b+52>>2]|0;if((d|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[d-80+76>>2]|0);return}function avu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b|0;c[d>>2]=23600;e=b+96|0;f=b+104|0;g=c[f>>2]|0;h=b+108|0;if((g|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-16+12>>2]|0)}c[f>>2]=0}a[h]=1;c[f>>2]=0;c[e>>2]=0;c[b+100>>2]=0;c[d>>2]=21200;d=c[b+52>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-80+76>>2]|0)}if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-112+108>>2]|0);return}function avv(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+P(+(+g[b>>2]));d=+P(+(+g[b+4>>2]));e=+P(+(+g[b+8>>2]));g[a+12>>2]=c;g[a+16>>2]=d;g[a+20>>2]=e;g[a+24>>2]=0.0;return}function avw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0;f=i;i=i+96|0;h=f|0;j=f+16|0;k=f+32|0;l=f+48|0;m=f+64|0;n=f+80|0;o=+dh[c[(c[a>>2]|0)+44>>2]&1023](a);p=h|0;q=h+4|0;r=h+8|0;s=a;t=b|0;u=b+16|0;v=b+32|0;w=b+4|0;x=b+20|0;y=b+36|0;z=b+8|0;A=b+24|0;B=b+40|0;C=k|0;D=k+4|0;E=k+8|0;F=k+12|0;G=j|0;H=j+4|0;I=j+8|0;J=b+48|0;K=b+52|0;L=b+56|0;b=l|0;M=l+4|0;N=l+8|0;O=l+12|0;P=n|0;Q=n+4|0;R=n+8|0;S=n+12|0;T=m|0;U=m+4|0;V=m+8|0;W=h;X=0;do{Y=h+(X<<2)|0;aDD(W|0,0,16);g[Y>>2]=1.0;Z=c[(c[s>>2]|0)+60>>2]|0;_=+g[p>>2];$=+g[q>>2];aa=+g[r>>2];ab=_*+g[w>>2]+$*+g[x>>2]+aa*+g[y>>2];ac=_*+g[z>>2]+$*+g[A>>2]+aa*+g[B>>2];g[C>>2]=+g[t>>2]*_+ +g[u>>2]*$+ +g[v>>2]*aa;g[D>>2]=ab;g[E>>2]=ac;g[F>>2]=0.0;dA[Z&511](j,a,k);ac=+g[G>>2];ab=+g[H>>2];aa=+g[I>>2];$=+g[K>>2]+(ac*+g[u>>2]+ab*+g[x>>2]+aa*+g[A>>2]);_=+g[L>>2]+(ac*+g[v>>2]+ab*+g[y>>2]+aa*+g[B>>2]);g[b>>2]=+g[J>>2]+(+g[t>>2]*ac+ +g[w>>2]*ab+ +g[z>>2]*aa);g[M>>2]=$;g[N>>2]=_;g[O>>2]=0.0;Z=l+(X<<2)|0;g[e+(X<<2)>>2]=o+ +g[Z>>2];g[Y>>2]=-1.0;Y=c[(c[s>>2]|0)+60>>2]|0;_=+g[p>>2];$=+g[q>>2];aa=+g[r>>2];ab=_*+g[w>>2]+$*+g[x>>2]+aa*+g[y>>2];ac=_*+g[z>>2]+$*+g[A>>2]+aa*+g[B>>2];g[P>>2]=+g[t>>2]*_+ +g[u>>2]*$+ +g[v>>2]*aa;g[Q>>2]=ab;g[R>>2]=ac;g[S>>2]=0.0;dA[Y&511](m,a,n);ac=+g[T>>2];ab=+g[U>>2];aa=+g[V>>2];$=+g[K>>2]+(ac*+g[u>>2]+ab*+g[x>>2]+aa*+g[A>>2]);_=+g[L>>2]+(ac*+g[v>>2]+ab*+g[y>>2]+aa*+g[B>>2]);g[b>>2]=+g[J>>2]+(+g[t>>2]*ac+ +g[w>>2]*ab+ +g[z>>2]*aa);g[M>>2]=$;g[N>>2]=_;g[O>>2]=0.0;g[d+(X<<2)>>2]=+g[Z>>2]-o;X=X+1|0;}while((X|0)<3);i=f;return}function avx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;dA[c[(c[b>>2]|0)+64>>2]&511](a,b|0,d);e=b;if(+dh[c[(c[e>>2]|0)+44>>2]&1023](b)==0.0){return}f=+g[d>>2];h=+g[d+4>>2];i=+g[d+8>>2];d=f*f+h*h+i*i<1.4210854715202004e-14;j=d?-1.0:i;i=d?-1.0:h;h=d?-1.0:f;f=1.0/+Q(+(j*j+(h*h+i*i)));k=+dh[c[(c[e>>2]|0)+44>>2]&1023](b);b=a|0;g[b>>2]=f*h*k+ +g[b>>2];b=a+4|0;g[b>>2]=k*f*i+ +g[b>>2];b=a+8|0;g[b>>2]=k*f*j+ +g[b>>2];return}function avy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;f=+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0);h=+g[a+68>>2];i=+g[a+52>>2];j=+g[a+72>>2];k=+g[a+56>>2];l=+g[a+76>>2];m=+g[a+60>>2];n=f+(h-i)*.5;o=f+(j-k)*.5;p=f+(l-m)*.5;f=(h+i)*.5;i=(j+k)*.5;k=(l+m)*.5;m=+g[b>>2];l=+P(+m);j=+g[b+4>>2];h=+P(+j);q=+g[b+8>>2];r=+P(+q);s=+g[b+16>>2];t=+P(+s);u=+g[b+20>>2];v=+P(+u);w=+g[b+24>>2];x=+P(+w);y=+g[b+32>>2];z=+P(+y);A=+g[b+36>>2];B=+P(+A);C=+g[b+40>>2];D=+P(+C);E=f*m+i*j+k*q+ +g[b+48>>2];q=f*s+i*u+k*w+ +g[b+52>>2];w=f*y+i*A+k*C+ +g[b+56>>2];C=n*l+o*h+p*r;r=n*t+o*v+p*x;x=n*z+o*B+p*D;g[d>>2]=E-C;g[d+4>>2]=q-r;g[d+8>>2]=w-x;g[d+12>>2]=0.0;g[e>>2]=C+E;g[e+4>>2]=r+q;g[e+8>>2]=x+w;g[e+12>>2]=0.0;return}function avz(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+P(+(+g[b>>2]));d=+P(+(+g[b+4>>2]));e=+P(+(+g[b+8>>2]));g[a+12>>2]=c;g[a+16>>2]=d;g[a+20>>2]=e;g[a+24>>2]=0.0;avA(a);return}function avA(b){b=b|0;var d=0,e=0,f=0.0;d=i;i=i+96|0;e=d|0;a[b+84|0]=1;do{if((a[43008]|0)==0){if((b1(43008)|0)==0){break}g[10356]=1.0;aDD(41428,0,16);g[10361]=1.0;aDD(41448,0,16);g[10366]=1.0;g[10367]=0.0;g[10368]=-1.0;aDD(41476,0,16);g[10373]=-1.0;aDD(41496,0,16);g[10378]=-1.0;g[10379]=0.0}}while(0);aDD(e|0,0,96);dI[c[(c[b>>2]|0)+68>>2]&1023](b|0,41424,e|0,6);f=+g[b+44>>2];g[b+68>>2]=+g[e>>2]+f;g[b+52>>2]=+g[e+48>>2]-f;g[b+72>>2]=+g[e+20>>2]+f;g[b+56>>2]=+g[e+68>>2]-f;g[b+76>>2]=+g[e+40>>2]+f;g[b+60>>2]=+g[e+88>>2]-f;i=d;return}function avB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,R=0.0,S=0.0,T=0.0,U=0;e=i;i=i+80|0;f=e|0;h=e+16|0;j=e+32|0;k=e+48|0;l=e+64|0;switch(c[b+4>>2]|0){case 8:{aDD(a|0,0,16);i=e;return};case 0:{m=b+28|0;n=+g[m>>2];o=+g[m+4>>2];p=+g[d+4>>2]>=0.0?o:-0.0-o;o=+g[m+8>>2];q=+g[d+8>>2]>=0.0?o:-0.0-o;g[a>>2]=+g[d>>2]>=0.0?n:-0.0-n;g[a+4>>2]=p;g[a+8>>2]=q;g[a+12>>2]=0.0;i=e;return};case 4:{m=c[b+104>>2]|0;r=c[b+96>>2]|0;q=+g[b+12>>2];p=+g[b+16>>2];n=+g[b+20>>2];o=+g[d>>2]*q;s=+g[d+4>>2]*p;t=+g[d+8>>2]*n;if((r|0)>0){u=-999999984306749400.0;v=-1;w=0;while(1){x=o*+g[m+(w<<4)>>2]+s*+g[m+(w<<4)+4>>2]+t*+g[m+(w<<4)+8>>2];y=x>u;z=y?w:v;A=w+1|0;if((A|0)<(r|0)){u=y?x:u;v=z;w=A}else{B=z;break}}}else{B=-1}u=p*+g[m+(B<<4)+4>>2];p=n*+g[m+(B<<4)+8>>2];g[a>>2]=q*+g[m+(B<<4)>>2];g[a+4>>2]=u;g[a+8>>2]=p;g[a+12>>2]=0.0;i=e;return};case 10:{p=+g[d>>2];u=+g[d+4>>2];q=+g[d+8>>2];B=b;m=c[b+52>>2]|0;n=+g[B+28+(m<<2)>>2];t=+g[B+28+(((m+2|0)%3|0)<<2)>>2];s=p*p+u*u+q*q;if(s<9999999747378752.0e-20){C=1.0;D=0.0;E=0.0}else{o=1.0/+Q(+s);C=p*o;D=u*o;E=q*o}aDD(k|0,0,16);g[k+(m<<2)>>2]=n;o=t*C*+g[b+12>>2];q=t*D*+g[b+16>>2];u=t*E*+g[b+20>>2];t=+g[b+44>>2];p=C*t;s=D*t;x=E*t;t=o+ +g[k>>2]-p;F=q+ +g[k+4>>2]-s;G=u+ +g[k+8>>2]-x;H=E*G+(C*t+D*F);if(H>-999999984306749400.0){I=H;J=t;K=F;L=G}else{I=-999999984306749400.0;J=0.0;K=0.0;L=0.0}aDD(l|0,0,16);g[l+(m<<2)>>2]=-0.0-n;n=o+ +g[l>>2]-p;p=q+ +g[l+4>>2]-s;s=u+ +g[l+8>>2]-x;l=E*s+(C*n+D*p)>I;g[a>>2]=l?n:J;g[a+4>>2]=l?p:K;g[a+8>>2]=l?s:L;g[a+12>>2]=0.0;i=e;return};case 5:{l=c[b+92>>2]|0;m=c[b+96>>2]|0;L=+g[b+12>>2];s=+g[b+16>>2];K=+g[b+20>>2];p=+g[d>>2]*L;J=+g[d+4>>2]*s;n=+g[d+8>>2]*K;if((m|0)>0){I=-999999984306749400.0;k=-1;B=0;while(1){D=p*+g[l+(B<<4)>>2]+J*+g[l+(B<<4)+4>>2]+n*+g[l+(B<<4)+8>>2];w=D>I;v=w?B:k;r=B+1|0;if((r|0)<(m|0)){I=w?D:I;k=v;B=r}else{M=v;break}}}else{M=-1}I=s*+g[l+(M<<4)+4>>2];s=K*+g[l+(M<<4)+8>>2];g[a>>2]=L*+g[l+(M<<4)>>2];g[a+4>>2]=I;g[a+8>>2]=s;g[a+12>>2]=0.0;i=e;return};case 13:{M=f;l=b+28|0;c[M>>2]=c[l>>2];c[M+4>>2]=c[l+4>>2];c[M+8>>2]=c[l+8>>2];c[M+12>>2]=c[l+12>>2];g[h>>2]=+g[d>>2];s=+g[d+4>>2];g[h+4>>2]=s;I=+g[d+8>>2];g[h+8>>2]=I;g[h+12>>2]=0.0;l=c[b+52>>2]|0;if((l|0)==1){N=0;O=l;P=2;R=I}else if((l|0)==2){N=0;O=l;P=1;R=s}else{N=1;O=0;P=2;R=I}I=+g[f+(N<<2)>>2];s=+g[f+(l<<2)>>2];L=+g[h+(N<<2)>>2];K=+Q(+(L*L+R*R));if(K!=0.0){n=I/K;g[j+(N<<2)>>2]=L*n;if(+g[h+(O<<2)>>2]<0.0){S=-0.0-s}else{S=s}g[j+(O<<2)>>2]=S;g[j+(P<<2)>>2]=n*R;g[a>>2]=+g[j>>2];g[a+4>>2]=+g[j+4>>2];g[a+8>>2]=+g[j+8>>2];g[a+12>>2]=0.0;i=e;return}else{g[j+(N<<2)>>2]=I;if(+g[h+(O<<2)>>2]<0.0){T=-0.0-s}else{T=s}g[j+(O<<2)>>2]=T;g[j+(P<<2)>>2]=0.0;g[a>>2]=+g[j>>2];g[a+4>>2]=+g[j+4>>2];g[a+8>>2]=+g[j+8>>2];g[a+12>>2]=0.0;i=e;return}break};case 1:{T=+g[d>>2];s=+g[d+4>>2];I=+g[d+8>>2];j=b+56|0;P=j;R=T*+g[j>>2]+s*+g[j+4>>2]+I*+g[j+8>>2];n=T*+g[j+16>>2]+s*+g[j+20>>2]+I*+g[j+24>>2];S=T*+g[j+32>>2]+s*+g[j+36>>2]+I*+g[j+40>>2];if(R>2];R=+g[P+(U<<4)+8>>2];g[a>>2]=+g[P+(U<<4)>>2];g[a+4>>2]=S;g[a+8>>2]=R;g[a+12>>2]=0.0;i=e;return};default:{dA[c[(c[b>>2]|0)+64>>2]&511](a,b,d);i=e;return}}}function avC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;e=i;i=i+32|0;f=e|0;h=e+16|0;j=f;k=d;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=f|0;l=+g[k>>2];j=f+4|0;m=+g[j>>2];d=f+8|0;n=+g[d>>2];if(l*l+m*m+n*n<1.4210854715202004e-14){g[k>>2]=-1.0;g[j>>2]=-1.0;g[d>>2]=-1.0;g[f+12>>2]=0.0;o=-1.0;p=-1.0;q=-1.0}else{o=l;p=m;q=n}n=1.0/+Q(+(o*o+p*p+q*q));g[k>>2]=o*n;g[j>>2]=p*n;g[d>>2]=q*n;avB(h,b,f);switch(c[b+4>>2]|0){case 0:{r=+g[b+44>>2];break};case 13:{r=+g[b+44>>2];break};case 1:{r=+g[b+44>>2];break};case 5:case 4:{r=+g[b+44>>2];break};case 8:{r=+g[b+28>>2]*+g[b+12>>2];break};case 10:{r=+g[b+44>>2];break};default:{r=+dh[c[(c[b>>2]|0)+44>>2]&1023](b)}}n=r*+g[j>>2]+ +g[h+4>>2];q=r*+g[d>>2]+ +g[h+8>>2];g[a>>2]=r*+g[k>>2]+ +g[h>>2];g[a+4>>2]=n;g[a+8>>2]=q;g[a+12>>2]=0.0;i=e;return}function avD(a){a=a|0;return}function avE(a){a=a|0;return 0}function avF(a){a=a|0;return 0}function avG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function avH(a,b,c){a=a|0;b=b|0;c=c|0;return}function avI(a){a=a|0;return 0}function avJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function avK(a,b,c){a=a|0;b=b|0;c=+c;return 0}function avL(a){a=a|0;return 17768|0}function avM(a){a=a|0;return}function avN(a){a=a|0;return}function avO(a){a=a|0;return(c[a+92>>2]|0)+4|0}function avP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0;f=i;i=i+112|0;h=f|0;j=f+16|0;k=f+32|0;l=f+48|0;m=f+64|0;n=f+80|0;o=f+96|0;p=c[a+4>>2]|0;switch(p|0){case 10:{q=a;r=c[a+52>>2]|0;s=+g[q+28+(((r+2|0)%3|0)<<2)>>2];t=o|0;g[t>>2]=s;u=o+4|0;g[u>>2]=s;v=o+8|0;g[v>>2]=s;g[o+12>>2]=0.0;g[o+(r<<2)>>2]=s+ +g[q+28+(r<<2)>>2];s=+g[a+44>>2];w=s+ +g[t>>2];g[t>>2]=w;x=s+ +g[u>>2];g[u>>2]=x;y=s+ +g[v>>2];g[v>>2]=y;s=+P(+(+g[b>>2]));z=+P(+(+g[b+4>>2]));A=+P(+(+g[b+8>>2]));B=+P(+(+g[b+16>>2]));C=+P(+(+g[b+20>>2]));D=+P(+(+g[b+24>>2]));E=+P(+(+g[b+32>>2]));F=+P(+(+g[b+36>>2]));G=+P(+(+g[b+40>>2]));H=+g[b+48>>2];I=+g[b+52>>2];J=+g[b+56>>2];K=y*A+(s*w+z*x);z=y*D+(B*w+C*x);C=y*G+(E*w+F*x);g[d>>2]=H-K;g[d+4>>2]=I-z;g[d+8>>2]=J-C;g[d+12>>2]=0.0;g[e>>2]=H+K;g[e+4>>2]=I+z;g[e+8>>2]=J+C;g[e+12>>2]=0.0;i=f;return};case 0:case 13:{C=+g[a+44>>2];J=C+ +g[a+28>>2];z=C+ +g[a+32>>2];I=C+ +g[a+36>>2];C=+P(+(+g[b>>2]));K=+P(+(+g[b+4>>2]));H=+P(+(+g[b+8>>2]));x=+P(+(+g[b+16>>2]));F=+P(+(+g[b+20>>2]));w=+P(+(+g[b+24>>2]));E=+P(+(+g[b+32>>2]));G=+P(+(+g[b+36>>2]));y=+P(+(+g[b+40>>2]));B=+g[b+48>>2];D=+g[b+52>>2];s=+g[b+56>>2];A=J*C+z*K+I*H;H=J*x+z*F+I*w;w=J*E+z*G+I*y;g[d>>2]=B-A;g[d+4>>2]=D-H;g[d+8>>2]=s-w;g[d+12>>2]=0.0;g[e>>2]=A+B;g[e+4>>2]=H+D;g[e+8>>2]=w+s;g[e+12>>2]=0.0;i=f;return};case 8:{s=+g[a+28>>2];w=s+s*+g[a+12>>2];v=b+48|0;u=b+52|0;s=+g[u>>2]-w;t=b+56|0;D=+g[t>>2]-w;g[d>>2]=+g[v>>2]-w;g[d+4>>2]=s;g[d+8>>2]=D;g[d+12>>2]=0.0;D=w+ +g[u>>2];s=w+ +g[t>>2];g[e>>2]=w+ +g[v>>2];g[e+4>>2]=D;g[e+8>>2]=s;g[e+12>>2]=0.0;i=f;return};case 1:{s=+g[a+44>>2];v=h|0;t=h+4|0;u=h+8|0;r=b|0;q=b+16|0;o=b+32|0;L=b+4|0;M=b+20|0;N=b+36|0;O=b+8|0;Q=b+24|0;R=b+40|0;S=k|0;T=k+4|0;U=k+8|0;V=k+12|0;W=j|0;X=j+4|0;Y=j+8|0;Z=b+48|0;_=b+52|0;$=b+56|0;aa=l|0;ab=l+4|0;ac=l+8|0;ad=l+12|0;ae=n|0;af=n+4|0;ag=n+8|0;ah=n+12|0;ai=m|0;aj=m+4|0;ak=m+8|0;al=h;am=0;do{an=h+(am<<2)|0;aDD(al|0,0,16);g[an>>2]=1.0;D=+g[v>>2];w=+g[t>>2];H=+g[u>>2];B=D*+g[L>>2]+w*+g[M>>2]+H*+g[N>>2];A=D*+g[O>>2]+w*+g[Q>>2]+H*+g[R>>2];g[S>>2]=+g[r>>2]*D+ +g[q>>2]*w+ +g[o>>2]*H;g[T>>2]=B;g[U>>2]=A;g[V>>2]=0.0;avB(j,a,k);A=+g[W>>2];B=+g[X>>2];H=+g[Y>>2];w=+g[_>>2]+(A*+g[q>>2]+B*+g[M>>2]+H*+g[Q>>2]);D=+g[$>>2]+(A*+g[o>>2]+B*+g[N>>2]+H*+g[R>>2]);g[aa>>2]=+g[Z>>2]+(+g[r>>2]*A+ +g[L>>2]*B+ +g[O>>2]*H);g[ab>>2]=w;g[ac>>2]=D;g[ad>>2]=0.0;ao=l+(am<<2)|0;g[e+(am<<2)>>2]=s+ +g[ao>>2];g[an>>2]=-1.0;D=+g[v>>2];w=+g[t>>2];H=+g[u>>2];B=D*+g[L>>2]+w*+g[M>>2]+H*+g[N>>2];A=D*+g[O>>2]+w*+g[Q>>2]+H*+g[R>>2];g[ae>>2]=+g[r>>2]*D+ +g[q>>2]*w+ +g[o>>2]*H;g[af>>2]=B;g[ag>>2]=A;g[ah>>2]=0.0;avB(m,a,n);A=+g[ai>>2];B=+g[aj>>2];H=+g[ak>>2];w=+g[_>>2]+(A*+g[q>>2]+B*+g[M>>2]+H*+g[Q>>2]);D=+g[$>>2]+(A*+g[o>>2]+B*+g[N>>2]+H*+g[R>>2]);g[aa>>2]=+g[Z>>2]+(+g[r>>2]*A+ +g[L>>2]*B+ +g[O>>2]*H);g[ab>>2]=w;g[ac>>2]=D;g[ad>>2]=0.0;g[d+(am<<2)>>2]=+g[ao>>2]-s;am=am+1|0;}while((am|0)<3);i=f;return};case 4:case 5:{if((p-4|0)>>>0<2){ap=+g[a+44>>2]}else{ap=+dh[c[(c[a>>2]|0)+44>>2]&1023](a)}s=+g[a+72>>2];D=+g[a+56>>2];w=+g[a+76>>2];H=+g[a+60>>2];B=+g[a+80>>2];A=+g[a+64>>2];y=ap+(s-D)*.5;I=ap+(w-H)*.5;G=ap+(B-A)*.5;ap=(s+D)*.5;D=(w+H)*.5;H=(B+A)*.5;A=+g[b>>2];B=+P(+A);w=+g[b+4>>2];s=+P(+w);z=+g[b+8>>2];E=+P(+z);J=+g[b+16>>2];F=+P(+J);x=+g[b+20>>2];K=+P(+x);C=+g[b+24>>2];aq=+P(+C);ar=+g[b+32>>2];as=+P(+ar);at=+g[b+36>>2];au=+P(+at);av=+g[b+40>>2];aw=+P(+av);ax=ap*A+D*w+H*z+ +g[b+48>>2];z=ap*J+D*x+H*C+ +g[b+52>>2];C=ap*ar+D*at+H*av+ +g[b+56>>2];av=y*B+I*s+G*E;E=y*F+I*K+G*aq;aq=y*as+I*au+G*aw;g[d>>2]=ax-av;g[d+4>>2]=z-E;g[d+8>>2]=C-aq;g[d+12>>2]=0.0;g[e>>2]=av+ax;g[e+4>>2]=E+z;g[e+8>>2]=aq+C;g[e+12>>2]=0.0;i=f;return};default:{dI[c[(c[a>>2]|0)+8>>2]&1023](a,b,d,e);i=f;return}}}function avQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;e=i;i=i+72|0;f=e|0;h=e+40|0;j=e+56|0;k=a;aDD(k|0,0,16);l=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];o=l*l+m*m+n*n;if(o<9999999747378752.0e-20){p=1.0;q=0.0;r=0.0;s=0.0}else{t=+g[d+12>>2];u=1.0/+Q(+o);p=l*u;q=m*u;r=n*u;s=t}c[f>>2]=20488;aDD(f+4|0,0,16);g[f+20>>2]=-999999984306749400.0;g[f+24>>2]=p;g[f+28>>2]=q;g[f+32>>2]=r;g[f+36>>2]=s;g[h>>2]=999999984306749400.0;g[h+4>>2]=999999984306749400.0;g[h+8>>2]=999999984306749400.0;g[h+12>>2]=0.0;d=c[b+92>>2]|0;b=c[(c[d>>2]|0)+8>>2]|0;g[j>>2]=-999999984306749400.0;g[j+4>>2]=-999999984306749400.0;g[j+8>>2]=-999999984306749400.0;g[j+12>>2]=0.0;dI[b&1023](d,f|0,j,h);h=f+4|0;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];i=e;return}function avR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=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,z=0,A=0;f=i;i=i+72|0;h=f|0;j=f+40|0;k=f+56|0;if((e|0)>0){l=0}else{i=f;return}do{g[d+(l<<4)+12>>2]=-999999984306749400.0;l=l+1|0;}while((l|0)<(e|0));l=h|0;m=h+20|0;n=h+4|0;o=h+24|0;p=j|0;q=j+4|0;r=j+8|0;s=j+12|0;t=a+92|0;a=k|0;u=k+4|0;v=k+8|0;w=k+12|0;x=h|0;y=h+4|0;h=0;do{c[l>>2]=20488;aDD(n|0,0,16);g[m>>2]=-999999984306749400.0;z=b+(h<<4)|0;c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];g[p>>2]=999999984306749400.0;g[q>>2]=999999984306749400.0;g[r>>2]=999999984306749400.0;g[s>>2]=0.0;z=c[t>>2]|0;A=c[(c[z>>2]|0)+8>>2]|0;g[a>>2]=-999999984306749400.0;g[u>>2]=-999999984306749400.0;g[v>>2]=-999999984306749400.0;g[w>>2]=0.0;dI[A&1023](z,x,k,j);z=d+(h<<4)|0;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];h=h+1|0;}while((h|0)<(e|0));i=f;return}function avS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;dA[c[(c[b>>2]|0)+64>>2]&511](a,b,d);e=b|0;f=b;if(+dh[c[(c[f>>2]|0)+44>>2]&1023](e)==0.0){return}h=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];d=h*h+i*i+j*j<1.4210854715202004e-14;k=d?-1.0:j;j=d?-1.0:i;i=d?-1.0:h;h=1.0/+Q(+(k*k+(i*i+j*j)));l=+dh[c[(c[f>>2]|0)+44>>2]&1023](e);e=a|0;g[e>>2]=h*i*l+ +g[e>>2];e=a+4|0;g[e>>2]=l*h*j+ +g[e>>2];e=a+8|0;g[e>>2]=l*h*k+ +g[e>>2];return}function avT(a,b){a=a|0;b=b|0;var d=0,e=0;d=(c[a+92>>2]|0)+4|0;e=b;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];aze(a|0);return}function avU(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0);return}function avV(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[a-96+92>>2]|0);return}function avW(a){a=a|0;if((a|0)==0){return}aDB(a);return}function avX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0.0;d=i;i=i+96|0;c=d|0;e=d+48|0;f=d+64|0;h=d+80|0;j=+g[a+52>>2];k=+g[b>>2]-j;l=+g[a+56>>2];m=+g[b+4>>2]-l;n=+g[a+60>>2];o=+g[b+8>>2]-n;g[e>>2]=k;g[e+4>>2]=m;g[e+8>>2]=o;g[e+12>>2]=0.0;p=+g[b+16>>2]-j;q=+g[b+20>>2]-l;r=+g[b+24>>2]-n;g[f>>2]=p;g[f+4>>2]=q;g[f+8>>2]=r;g[f+12>>2]=0.0;s=+g[b+32>>2]-j;j=+g[b+36>>2]-l;l=+g[b+40>>2]-n;g[h>>2]=s;g[h+4>>2]=j;g[h+8>>2]=l;g[h+12>>2]=0.0;n=+P(+(o*(j*p-q*s)+(k*(q*l-r*j)+m*(r*s-l*p))))*-.1666666716337204;t=k*p;u=k*s;v=p*s;b=c|0;g[b>>2]=n*((k*k+p*p+s*s)*.10000000149011612+(v+(v+(u+(t+t+u))))*.05000000074505806);w=0;u=k;t=p;v=s;while(1){x=n*((m*u+q*t+j*v)*.10000000149011612+(t*j+(q*v+(u*j+(u*q+m*t+m*v))))*.05000000074505806);g[c+(w<<4)+4>>2]=x;g[c+16+(w<<2)>>2]=x;y=w+1|0;if((w|0)>0){z=0;A=k;B=p;C=s;break}w=y;u=+g[e+(y<<2)>>2];t=+g[f+(y<<2)>>2];v=+g[h+(y<<2)>>2]}while(1){v=n*((o*A+r*B+l*C)*.10000000149011612+(B*l+(r*C+(A*l+(A*r+o*B+o*C))))*.05000000074505806);g[c+(z<<4)+8>>2]=v;g[c+32+(z<<2)>>2]=v;w=z+1|0;if((w|0)>2){break}z=w;A=+g[e+(w<<2)>>2];B=+g[f+(w<<2)>>2];C=+g[h+(w<<2)>>2]}C=+g[b>>2];h=c+20|0;B=+g[h>>2];f=c+40|0;A=+g[f>>2];o=-0.0-A-B;g[b>>2]=o;r=-0.0-C-A;g[h>>2]=r;A=-0.0-B-C;g[f>>2]=A;f=a+4|0;g[f>>2]=o+ +g[f>>2];f=a+8|0;g[f>>2]=+g[c+4>>2]+ +g[f>>2];f=a+12|0;g[f>>2]=+g[c+8>>2]+ +g[f>>2];f=a+20|0;g[f>>2]=+g[c+16>>2]+ +g[f>>2];f=a+24|0;g[f>>2]=r+ +g[f>>2];f=a+28|0;g[f>>2]=+g[c+24>>2]+ +g[f>>2];f=a+36|0;g[f>>2]=+g[c+32>>2]+ +g[f>>2];f=a+40|0;g[f>>2]=+g[c+36>>2]+ +g[f>>2];f=a+44|0;g[f>>2]=A+ +g[f>>2];i=d;return}function avY(a){a=a|0;if((a|0)==0){return}aDB(a);return}function avZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0;f=b+4|0;e=b+8|0;if((a[f]&1)==0){h=+g[d>>2];i=+g[e>>2];j=+g[d+4>>2];k=+g[b+12>>2];l=+g[d+8>>2];m=+g[b+16>>2];n=+g[d+16>>2];o=n-i;p=+g[d+20>>2];q=p-k;r=+g[d+24>>2];s=r-m;t=+g[d+32>>2];u=t-i;v=+g[d+36>>2];w=v-k;x=+g[d+40>>2];y=x-m;z=+P(+((l-m)*(o*w-q*u)+((h-i)*(q*y-s*w)+(j-k)*(s*u-o*y))));y=z*.25;A=b+24|0;g[A>>2]=+g[A>>2]+(i+(h+n+t))*y;A=b+28|0;g[A>>2]=(k+(j+p+v))*y+ +g[A>>2];A=b+32|0;g[A>>2]=y*(m+(l+r+x))+ +g[A>>2];A=b+40|0;g[A>>2]=z+ +g[A>>2];return}else{A=e;e=d;c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];a[f]=0;return}}function av_(a){a=a|0;if((a|0)==0){return}aDB(a);return}function av$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;e=a+20|0;d=a+4|0;f=+g[a+24>>2];h=+g[a+28>>2];i=+g[a+32>>2];j=f*+g[b>>2]+h*+g[b+4>>2]+i*+g[b+8>>2];k=+g[e>>2];if(j>k){g[e>>2]=j;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];l=j}else{l=k}a=b+16|0;k=f*+g[a>>2]+h*+g[b+20>>2]+i*+g[b+24>>2];if(k>l){g[e>>2]=k;m=a;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];n=k}else{n=l}m=b+32|0;l=f*+g[m>>2]+h*+g[b+36>>2]+i*+g[b+40>>2];if(l<=n){return}g[e>>2]=l;e=m;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function av0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;f=+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0);h=f+ +g[a+28>>2];i=f+ +g[a+32>>2];j=f+ +g[a+36>>2];f=+P(+(+g[b>>2]));k=+P(+(+g[b+4>>2]));l=+P(+(+g[b+8>>2]));m=+P(+(+g[b+16>>2]));n=+P(+(+g[b+20>>2]));o=+P(+(+g[b+24>>2]));p=+P(+(+g[b+32>>2]));q=+P(+(+g[b+36>>2]));r=+P(+(+g[b+40>>2]));s=+g[b+48>>2];t=+g[b+52>>2];u=+g[b+56>>2];v=h*f+i*k+j*l;l=h*m+i*n+j*o;o=h*p+i*q+j*r;g[d>>2]=s-v;g[d+4>>2]=t-l;g[d+8>>2]=u-o;g[d+12>>2]=0.0;g[e>>2]=v+s;g[e+4>>2]=l+t;g[e+8>>2]=o+u;g[e+12>>2]=0.0;return}function av1(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];i=a|0;j=a;k=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);l=+dh[c[(c[j>>2]|0)+44>>2]&1023](i);m=k+e;e=l+f;f=+dh[c[(c[j>>2]|0)+44>>2]&1023](i)+h;h=b/12.0;l=b*.25;k=b*.5;i=c[a+52>>2]|0;if((i|0)==0){b=e*e;n=l*b+h*m*m*4.0;g[d>>2]=k*b;g[d+4>>2]=n;g[d+8>>2]=n;g[d+12>>2]=0.0;return}else if((i|0)==2){n=m*m;b=l*n+h*f*f*4.0;g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=k*n;g[d+12>>2]=0.0;return}else{n=m*m;m=l*n+h*e*e*4.0;g[d>>2]=m;g[d+4>>2]=k*n;g[d+8>>2]=m;g[d+12>>2]=0.0;return}}function av2(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=+g[b+32>>2];e=+g[b+28>>2];b=c|0;f=+g[c+4>>2];h=+g[c+8>>2];i=+Q(+(f*f+h*h));if(i!=0.0){j=d/i;g[a+4>>2]=f*j;if(+g[b>>2]<0.0){k=-0.0-e}else{k=e}g[a>>2]=k;g[a+8>>2]=h*j;return}else{g[a+4>>2]=d;if(+g[b>>2]<0.0){l=-0.0-e}else{l=e}g[a>>2]=l;g[a+8>>2]=0.0;return}}function av3(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=+g[b+28>>2];e=+g[b+36>>2];f=+g[c>>2];h=+g[c+4>>2];i=+Q(+(f*f+h*h));if(i!=0.0){j=d/i;g[a>>2]=f*j;if(+g[c+8>>2]<0.0){k=-0.0-e}else{k=e}g[a+8>>2]=k;g[a+4>>2]=h*j;return}else{g[a>>2]=d;if(+g[c+8>>2]<0.0){l=-0.0-e}else{l=e}g[a+8>>2]=l;g[a+4>>2]=0.0;return}}function av4(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=+g[b+28>>2];e=+g[b+32>>2];f=+g[c>>2];h=+g[c+8>>2];i=+Q(+(f*f+h*h));if(i!=0.0){j=d/i;g[a>>2]=f*j;if(+g[c+4>>2]<0.0){k=-0.0-e}else{k=e}g[a+4>>2]=k;g[a+8>>2]=h*j;return}else{g[a>>2]=d;if(+g[c+4>>2]<0.0){l=-0.0-e}else{l=e}g[a+4>>2]=l;g[a+8>>2]=0.0;return}}function av5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;if((d|0)<=0){return}e=a+28|0;f=a+32|0;a=0;do{h=+g[e>>2];i=+g[f>>2];j=+g[b+(a<<4)>>2];k=+g[b+(a<<4)+8>>2];l=+Q(+(j*j+k*k));do{if(l!=0.0){m=h/l;if(+g[b+(a<<4)+4>>2]<0.0){n=-0.0-i}else{n=i}o=j*m;p=n;q=k*m}else{if(+g[b+(a<<4)+4>>2]>=0.0){o=h;p=i;q=0.0;break}o=h;p=-0.0-i;q=0.0}}while(0);g[c+(a<<4)>>2]=o;g[c+(a<<4)+4>>2]=p;g[c+(a<<4)+8>>2]=q;a=a+1|0;}while((a|0)<(d|0));return}function av6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;if((d|0)<=0){return}e=a+28|0;f=a+36|0;a=0;do{h=+g[e>>2];i=+g[f>>2];j=+g[b+(a<<4)>>2];k=+g[b+(a<<4)+4>>2];l=+Q(+(j*j+k*k));do{if(l!=0.0){m=h/l;if(+g[b+(a<<4)+8>>2]<0.0){n=-0.0-i}else{n=i}o=j*m;p=k*m;q=n}else{if(+g[b+(a<<4)+8>>2]>=0.0){o=h;p=0.0;q=i;break}o=h;p=0.0;q=-0.0-i}}while(0);g[c+(a<<4)>>2]=o;g[c+(a<<4)+4>>2]=p;g[c+(a<<4)+8>>2]=q;a=a+1|0;}while((a|0)<(d|0));return}function av7(a){a=a|0;return}function av8(a){a=a|0;return 16728|0}function av9(a){a=a|0;return 60}function awa(a){a=a|0;return}function awb(a){a=a|0;return 17752|0}function awc(a){a=a|0;return}function awd(a){a=a|0;return 16632|0}function awe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;if((d|0)<=0){return}e=a+28|0;f=a+32|0;a=0;do{h=+g[f>>2];i=+g[e>>2];j=b+(a<<4)|0;k=+g[b+(a<<4)+4>>2];l=+g[b+(a<<4)+8>>2];m=+Q(+(k*k+l*l));do{if(m!=0.0){n=h/m;if(+g[j>>2]<0.0){o=-0.0-i}else{o=i}p=o;q=k*n;r=l*n}else{if(+g[j>>2]>=0.0){p=i;q=h;r=0.0;break}p=-0.0-i;q=h;r=0.0}}while(0);g[c+(a<<4)>>2]=p;g[c+(a<<4)+4>>2]=q;g[c+(a<<4)+8>>2]=r;a=a+1|0;}while((a|0)<(d|0));return}function awf(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function awg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0;d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);h=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);d=a+28|0;e=a+32|0;j=a+36|0;k=a+12|0;l=(f+ +g[d>>2])/+g[k>>2];m=a+16|0;n=(h+ +g[e>>2])/+g[m>>2];o=a+20|0;p=(i+ +g[j>>2])/+g[o>>2];q=+P(+(+g[b>>2]));r=+P(+(+g[b+4>>2]));s=+P(+(+g[b+8>>2]));g[k>>2]=q;g[m>>2]=r;g[o>>2]=s;g[a+24>>2]=0.0;g[d>>2]=l*q-f;g[e>>2]=n*r-h;g[j>>2]=p*s-i;g[a+40>>2]=0.0;return}function awh(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0;d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);h=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);j=a+28|0;k=f+ +g[j>>2];l=a+32|0;f=h+ +g[l>>2];m=a+36|0;h=i+ +g[m>>2];g[a+44>>2]=b;b=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);i=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);n=h- +dh[c[(c[e>>2]|0)+44>>2]&1023](d);g[j>>2]=k-b;g[l>>2]=f-i;g[m>>2]=n;g[a+40>>2]=0.0;return}function awi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+52>>2];return 17264}function awj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;dA[c[(c[b>>2]|0)+64>>2]&511](a,b,d);e=b|0;f=b;if(+dh[c[(c[f>>2]|0)+44>>2]&1023](e)==0.0){return}h=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];d=h*h+i*i+j*j<1.4210854715202004e-14;k=d?-1.0:j;j=d?-1.0:i;i=d?-1.0:h;h=1.0/+Q(+(k*k+(i*i+j*j)));l=+dh[c[(c[f>>2]|0)+44>>2]&1023](e);e=a|0;g[e>>2]=h*i*l+ +g[e>>2];e=a+4|0;g[e>>2]=l*h*j+ +g[e>>2];e=a+8|0;g[e>>2]=l*h*k+ +g[e>>2];return}function awk(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;b=+g[a+28>>2];d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);+dh[c[(c[e>>2]|0)+44>>2]&1023](d);+dh[c[(c[e>>2]|0)+44>>2]&1023](d);return+(b+f)}function awl(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function awm(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;b=+g[a+32>>2];d=a|0;e=a;+dh[c[(c[e>>2]|0)+44>>2]&1023](d);f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);+dh[c[(c[e>>2]|0)+44>>2]&1023](d);return+(b+f)}function awn(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function awo(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;b=+g[a+28>>2];d=a|0;e=a;f=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);+dh[c[(c[e>>2]|0)+44>>2]&1023](d);+dh[c[(c[e>>2]|0)+44>>2]&1023](d);return+(b+f)}function awp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]|0;if((d|0)!=0){awq(b,d)}d=b+4|0;e=c[d>>2]|0;if((e|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-44+40>>2]|0)}c[d>>2]=0;c[b+8>>2]=-1;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if((f|0)==0){h=b+28|0;i=b+16|0;c[i>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-8+4>>2]|0)}c[e>>2]=0;h=b+28|0;i=b+16|0;c[i>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;c[h>>2]=0;return}function awq(a,b){a=a|0;b=b|0;var d=0;d=b+40|0;if((c[d>>2]|0)!=0){awq(a,c[b+36>>2]|0);awq(a,c[d>>2]|0)}d=a|0;if((c[d>>2]|0)==(b|0)){c[d>>2]=0}d=a+4|0;a=c[d>>2]|0;if((a|0)==0){c[d>>2]=b;return}c[9804]=(c[9804]|0)+1;aDB(c[a-44+40>>2]|0);c[d>>2]=b;return}function awr(b,d,e,f){b=b|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;g=d+40|0;if(!((c[g>>2]|0)==0|(f|0)==0)){h=f-1|0;awr(b,c[d+36>>2]|0,e,h);awr(b,c[g>>2]|0,e,h);h=b+4|0;b=c[h>>2]|0;if((b|0)==0){c[h>>2]=d;return}c[9804]=(c[9804]|0)+1;aDB(c[b-44+40>>2]|0);c[h>>2]=d;return}h=e+4|0;b=c[h>>2]|0;g=e+8|0;do{if((b|0)==(c[g>>2]|0)){f=(b|0)==0?1:b<<1;if((b|0)>=(f|0)){i=b;break}if((f|0)==0){j=0;k=b}else{c[9806]=(c[9806]|0)+1;l=aDx((f<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[h>>2]|0}n=e+12|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=e+16|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=f;i=c[h>>2]|0}else{i=b}}while(0);b=(c[e+12>>2]|0)+(i<<2)|0;if((b|0)==0){p=i;q=p+1|0;c[h>>2]=q;return}c[b>>2]=d;p=c[h>>2]|0;q=p+1|0;c[h>>2]=q;return}function aws(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+24|0;e=d|0;f=b|0;g=c[f>>2]|0;if((g|0)==0){i=d;return}h=e+16|0;a[h]=1;j=e+12|0;c[j>>2]=0;k=e+4|0;c[k>>2]=0;l=e+8|0;c[l>>2]=0;m=c[b+12>>2]|0;if((m|0)>0){c[9806]=(c[9806]|0)+1;n=aDx((m<<2)+19|0)|0;if((n|0)==0){o=0}else{p=-(n+4|0)&15;c[n+p>>2]=n;o=n+(p+4)|0}p=c[k>>2]|0;if((p|0)>0){n=0;do{q=o+(n<<2)|0;if((q|0)!=0){c[q>>2]=c[(c[j>>2]|0)+(n<<2)>>2]}n=n+1|0;}while((n|0)<(p|0))}p=c[j>>2]|0;if((p|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-4>>2]|0)}c[j>>2]=0}a[h]=1;c[j>>2]=o;c[l>>2]=m;r=c[f>>2]|0}else{r=g}awr(b,r,e,-1);c[f>>2]=awt(b,e)|0;e=c[j>>2]|0;if((e|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-4>>2]|0)}c[j>>2]=0}a[h]=1;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;i=d;return}function awt(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0;e=i;i=i+64|0;f=e|0;h=e+40|0;do{if((a[43056]|0)==0){if((b1(43056)|0)==0){break}g[10716]=1.0;aDD(42868,0,16);g[10721]=1.0;aDD(42888,0,16);g[10726]=1.0;g[10727]=0.0}}while(0);j=d+4|0;k=c[j>>2]|0;if((k|0)<=1){l=c[c[d+12>>2]>>2]|0;i=e;return l|0}m=d+12|0;if((k|0)<=128){d=b+4|0;n=k;while(1){L2956:do{if((n|0)>0){o=0;p=-1;q=-1;r=3.4028234663852886e+38;L2957:while(1){s=o+1|0;if((s|0)>=(n|0)){t=p;u=q;break L2956}v=c[m>>2]|0;w=c[v+(o<<2)>>2]|0;x=+g[w>>2];y=+g[w+16>>2];z=+g[w+4>>2];A=+g[w+20>>2];B=+g[w+8>>2];C=+g[w+24>>2];w=s;D=p;E=q;F=r;while(1){G=c[v+(w<<2)>>2]|0;H=+g[G>>2];I=+g[G+16>>2];J=+g[G+4>>2];K=+g[G+20>>2];L=+g[G+8>>2];M=+g[G+24>>2];N=(y>I?y:I)-(xK?A:K)-(zM?C:M)-(B>2]|0;p=c[q+(t<<2)>>2]|0;o=c[q+(u<<2)>>2]|0;q=c[d>>2]|0;do{if((q|0)==0){c[9806]=(c[9806]|0)+1;s=aDx(63)|0;if((s|0)==0){R=0;break}E=-(s+4|0)&15;D=s+(E+4)|0;c[s+E>>2]=s;if((D|0)==0){R=0;break}aDD(D|0,0,44);R=D}else{c[d>>2]=0;R=q}}while(0);c[R+32>>2]=0;q=R+36|0;c[q>>2]=0;D=R+40|0;c[D>>2]=0;r=+g[p>>2];F=+g[o>>2];g[R>>2]=r>2];r=+g[o+16>>2];g[R+16>>2]=F>r?F:r;r=+g[p+4>>2];F=+g[o+4>>2];g[R+4>>2]=r>2];r=+g[o+20>>2];g[R+20>>2]=F>r?F:r;r=+g[p+8>>2];F=+g[o+8>>2];g[R+8>>2]=r>2];r=+g[o+24>>2];g[R+24>>2]=F>r?F:r;c[q>>2]=p;c[D>>2]=o;c[p+32>>2]=R;c[o+32>>2]=R;c[(c[m>>2]|0)+(t<<2)>>2]=R;D=(c[j>>2]|0)-1|0;q=c[m>>2]|0;s=q+(u<<2)|0;E=c[s>>2]|0;c[s>>2]=c[q+(D<<2)>>2];c[(c[m>>2]|0)+(D<<2)>>2]=E;n=(c[j>>2]|0)-1|0;c[j>>2]=n;if((n|0)<=1){break}}l=c[c[m>>2]>>2]|0;i=e;return l|0}n=c[m>>2]|0;u=c[n>>2]|0;r=+g[u+12>>2];F=+g[u+28>>2];B=+g[u+24>>2];C=+g[u+20>>2];z=+g[u+16>>2];A=+g[u+8>>2];x=+g[u+4>>2];y=+g[u>>2];u=1;do{R=c[n+(u<<2)>>2]|0;J=+g[R>>2];y=y>2];z=z>J?z:J;J=+g[R+4>>2];x=x>2];C=C>J?C:J;J=+g[R+8>>2];A=A>2];B=B>J?B:J;u=u+1|0;}while((u|0)<(k|0));J=(x+C)*.5;u=f|0;R=f+16|0;a[R]=1;t=f+12|0;c[t>>2]=0;d=f+4|0;c[d>>2]=0;E=f+8|0;c[E>>2]=0;D=f+36|0;a[D]=1;q=f+32|0;c[q>>2]=0;s=f+24|0;c[s>>2]=0;w=f+28|0;c[w>>2]=0;L=(y+z)*.5;H=(A+B)*.5;aDD(h|0,0,24);do{if((k|0)>0){N=+g[10716];M=+g[10717];K=+g[10718];I=+g[10720];S=+g[10721];T=+g[10722];U=+g[10724];V=+g[10725];W=+g[10726];v=0;do{Q=c[n+(v<<2)>>2]|0;X=(+g[Q>>2]+ +g[Q+16>>2])*.5-L;Y=(+g[Q+4>>2]+ +g[Q+20>>2])*.5-J;Z=(+g[Q+8>>2]+ +g[Q+24>>2])*.5-H;Q=h+((X*N+Y*M+Z*K>0.0)<<2)|0;c[Q>>2]=(c[Q>>2]|0)+1;Q=h+8+((X*I+Y*S+Z*T>0.0)<<2)|0;c[Q>>2]=(c[Q>>2]|0)+1;Q=h+16+((X*U+Y*V+Z*W>0.0)<<2)|0;c[Q>>2]=(c[Q>>2]|0)+1;v=v+1|0;}while((v|0)<(k|0));v=c[h>>2]|0;if((v|0)<=0){_=-1;$=k;break}o=c[h+4>>2]|0;if((o|0)<=0){_=-1;$=k;break}p=~~+P(+(+(v-o|0)));o=(p|0)<(k|0);_=(o^1)<<31>>31;$=o?p:k}else{_=-1;$=k}}while(0);n=c[h+8>>2]|0;do{if((n|0)>0){p=c[h+12>>2]|0;if((p|0)<=0){aa=_;ab=$;break}o=~~+P(+(+(n-p|0)));p=(o|0)<($|0);aa=p?1:_;ab=p?o:$}else{aa=_;ab=$}}while(0);$=c[h+16>>2]|0;do{if(($|0)>0){_=c[h+20>>2]|0;if((_|0)<=0){ac=aa;break}ac=(~~+P(+(+($-_|0)))|0)<(ab|0)?2:aa}else{ac=aa}}while(0);do{if((ac|0)>-1){aa=c[h+(ac<<3)>>2]|0;if((aa|0)>0){c[9806]=(c[9806]|0)+1;ab=aDx((aa<<2)+19|0)|0;if((ab|0)==0){ad=0}else{$=-(ab+4|0)&15;c[ab+$>>2]=ab;ad=ab+($+4)|0}a[R]=1;c[t>>2]=ad;c[E>>2]=aa}aa=c[h+(ac<<3)+4>>2]|0;if((aa|0)>0){c[9806]=(c[9806]|0)+1;$=aDx((aa<<2)+19|0)|0;if(($|0)==0){ae=0}else{ab=-($+4|0)&15;c[$+ab>>2]=$;ae=$+(ab+4)|0}a[D]=1;c[q>>2]=ae;c[w>>2]=aa}c[d>>2]=0;c[s>>2]=0;aa=c[j>>2]|0;if((aa|0)<=0){break}ab=42864+(ac<<4)|0;$=42868+(ac<<4)|0;_=42872+(ac<<4)|0;n=0;do{o=(c[m>>2]|0)+(n<<2)|0;p=c[o>>2]|0;if(((+g[p>>2]+ +g[p+16>>2])*.5-L)*+g[ab>>2]+((+g[p+4>>2]+ +g[p+20>>2])*.5-J)*+g[$>>2]+((+g[p+8>>2]+ +g[p+24>>2])*.5-H)*+g[_>>2]<0.0){p=c[d>>2]|0;do{if((p|0)==(c[E>>2]|0)){v=(p|0)==0?1:p<<1;if((p|0)>=(v|0)){af=p;break}do{if((v|0)==0){ag=0}else{c[9806]=(c[9806]|0)+1;Q=aDx((v<<2)+19|0)|0;if((Q|0)==0){ag=0;break}O=-(Q+4|0)&15;c[Q+O>>2]=Q;ag=Q+(O+4)|0}}while(0);if((p|0)>0){O=0;do{Q=ag+(O<<2)|0;if((Q|0)!=0){c[Q>>2]=c[(c[t>>2]|0)+(O<<2)>>2]}O=O+1|0;}while((O|0)<(p|0))}O=c[t>>2]|0;if((O|0)!=0){if((a[R]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[O-4>>2]|0)}c[t>>2]=0}a[R]=1;c[t>>2]=ag;c[E>>2]=v;af=c[d>>2]|0}else{af=p}}while(0);p=(c[t>>2]|0)+(af<<2)|0;if((p|0)==0){ah=af}else{c[p>>2]=c[o>>2];ah=c[d>>2]|0}c[d>>2]=ah+1}else{p=c[s>>2]|0;do{if((p|0)==(c[w>>2]|0)){O=(p|0)==0?1:p<<1;if((p|0)>=(O|0)){ai=p;break}do{if((O|0)==0){aj=0}else{c[9806]=(c[9806]|0)+1;Q=aDx((O<<2)+19|0)|0;if((Q|0)==0){aj=0;break}G=-(Q+4|0)&15;c[Q+G>>2]=Q;aj=Q+(G+4)|0}}while(0);if((p|0)>0){v=0;do{G=aj+(v<<2)|0;if((G|0)!=0){c[G>>2]=c[(c[q>>2]|0)+(v<<2)>>2]}v=v+1|0;}while((v|0)<(p|0))}v=c[q>>2]|0;if((v|0)!=0){if((a[D]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[v-4>>2]|0)}c[q>>2]=0}a[D]=1;c[q>>2]=aj;c[w>>2]=O;ai=c[s>>2]|0}else{ai=p}}while(0);p=(c[q>>2]|0)+(ai<<2)|0;if((p|0)==0){ak=ai}else{c[p>>2]=c[o>>2];ak=c[s>>2]|0}c[s>>2]=ak+1}n=n+1|0;}while((n|0)<(aa|0))}else{aa=((k|0)/2|0)+1|0;if((aa|0)>0){c[9806]=(c[9806]|0)+1;n=aDx((aa<<2)+19|0)|0;if((n|0)==0){al=0}else{_=-(n+4|0)&15;c[n+_>>2]=n;al=n+(_+4)|0}_=c[d>>2]|0;if((_|0)>0){n=0;do{$=al+(n<<2)|0;if(($|0)!=0){c[$>>2]=c[(c[t>>2]|0)+(n<<2)>>2]}n=n+1|0;}while((n|0)<(_|0))}_=c[t>>2]|0;if((_|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[_-4>>2]|0);c[t>>2]=0}a[R]=1;c[t>>2]=al;c[E>>2]=aa;am=c[j>>2]|0}else{am=k}_=(am|0)/2|0;if((am|0)>1){do{if((am+1|0)>>>0<3){an=0}else{c[9806]=(c[9806]|0)+1;n=aDx((_<<2)+19|0)|0;if((n|0)==0){an=0;break}$=-(n+4|0)&15;c[n+$>>2]=n;an=n+($+4)|0}}while(0);a[D]=1;c[q>>2]=an;c[w>>2]=_;ao=c[j>>2]|0}else{ao=am}if((ao|0)>0){ap=0}else{break}do{aa=ap&1;$=(c[m>>2]|0)+(ap<<2)|0;n=f+(aa*20|0)+4|0;ab=c[n>>2]|0;p=f+(aa*20|0)+8|0;do{if((ab|0)==(c[p>>2]|0)){v=(ab|0)==0?1:ab<<1;if((ab|0)>=(v|0)){aq=ab;break}do{if((v|0)==0){ar=0}else{c[9806]=(c[9806]|0)+1;G=aDx((v<<2)+19|0)|0;if((G|0)==0){ar=0;break}Q=-(G+4|0)&15;c[G+Q>>2]=G;ar=G+(Q+4)|0}}while(0);O=f+(aa*20|0)+12|0;if((ab|0)>0){Q=0;do{G=ar+(Q<<2)|0;if((G|0)!=0){c[G>>2]=c[(c[O>>2]|0)+(Q<<2)>>2]}Q=Q+1|0;}while((Q|0)<(ab|0))}Q=c[O>>2]|0;G=f+(aa*20|0)+16|0;if((Q|0)!=0){if((a[G]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[Q-4>>2]|0)}c[O>>2]=0}a[G]=1;c[O>>2]=ar;c[p>>2]=v;aq=c[n>>2]|0}else{aq=ab}}while(0);ab=(c[f+(aa*20|0)+12>>2]|0)+(aq<<2)|0;if((ab|0)!=0){c[ab>>2]=c[$>>2]}c[n>>2]=aq+1;ap=ap+1|0;}while((ap|0)<(ao|0))}}while(0);ao=b+4|0;ap=c[ao>>2]|0;do{if((ap|0)==0){c[9806]=(c[9806]|0)+1;aq=aDx(63)|0;if((aq|0)==0){as=0;break}ar=-(aq+4|0)&15;m=aq+(ar+4)|0;c[aq+ar>>2]=aq;if((m|0)==0){as=0;break}aDD(m|0,0,44);as=m}else{c[ao>>2]=0;as=ap}}while(0);c[as+32>>2]=0;ap=as+36|0;c[ap>>2]=0;ao=as+40|0;c[ao>>2]=0;g[as>>2]=y;g[as+4>>2]=x;g[as+8>>2]=A;g[as+12>>2]=r;g[as+16>>2]=z;g[as+20>>2]=C;g[as+24>>2]=B;g[as+28>>2]=F;c[ap>>2]=awt(b,u)|0;c[ao>>2]=awt(b,f+20|0)|0;c[(c[ap>>2]|0)+32>>2]=as;c[(c[ao>>2]|0)+32>>2]=as;ao=c[q>>2]|0;if((ao|0)!=0){if((a[D]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[ao-4>>2]|0)}c[q>>2]=0}a[D]=1;c[q>>2]=0;c[s>>2]=0;c[w>>2]=0;w=c[t>>2]|0;if((w|0)!=0){if((a[R]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[w-4>>2]|0)}c[t>>2]=0}a[R]=1;c[t>>2]=0;c[d>>2]=0;c[E>>2]=0;l=as;i=e;return l|0}function awu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=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;d=i;i=i+32|0;if((b|0)<0){e=c[a+12>>2]|0}else{e=b}b=a|0;f=c[b>>2]|0;if(!((f|0)!=0&(e|0)>0)){i=d;return}g=a+16|0;h=d|0;j=e;e=f;while(1){f=e+40|0;L3141:do{if((c[f>>2]|0)==0){k=e}else{l=0;m=e;n=f;while(1){o=(c[g>>2]|0)>>>(l>>>0)&1;p=m+32|0;q=c[p>>2]|0;if(q>>>0>m>>>0){r=q+40|0;s=(c[r>>2]|0)==(m|0)|0;t=s^1;u=c[q+36+(t<<2)>>2]|0;v=q+32|0;w=c[v>>2]|0;if((w|0)==0){c[b>>2]=m}else{c[w+36+(((c[w+40>>2]|0)==(q|0))<<2)>>2]=m}c[u+32>>2]=m;c[v>>2]=m;c[p>>2]=w;w=m+36|0;c[q+36>>2]=c[w>>2];c[r>>2]=c[n>>2];c[(c[w>>2]|0)+32>>2]=q;c[(c[n>>2]|0)+32>>2]=q;c[m+36+(s<<2)>>2]=q;c[m+36+(t<<2)>>2]=u;u=q;aDC(h|0,u|0,32)|0;t=m;aDC(u|0,t|0,32)|0;aDC(t|0,h|0,32)|0;x=q}else{x=m}q=c[x+36+(o<<2)>>2]|0;o=q+40|0;if((c[o>>2]|0)==0){k=q;break L3141}l=l+1&31;m=q;n=o}}}while(0);if((aww(a,k)|0)==0){y=0}else{y=c[b>>2]|0}awv(a,y,k);c[g>>2]=(c[g>>2]|0)+1;f=j-1|0;if((f|0)==0){break}j=f;e=c[b>>2]|0}i=d;return}function awv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;e=a|0;if((c[e>>2]|0)==0){c[e>>2]=d;c[d+32>>2]=0;return}f=c[b+40>>2]|0;if((f|0)==0){h=b}else{i=+g[d>>2]+ +g[d+16>>2];j=+g[d+4>>2]+ +g[d+20>>2];k=+g[d+8>>2]+ +g[d+24>>2];l=b;b=f;while(1){f=c[l+36>>2]|0;m=j-(+g[f+4>>2]+ +g[f+20>>2]);n=k-(+g[f+8>>2]+ +g[f+24>>2]);o=+P(+(i-(+g[f>>2]+ +g[f+16>>2])));p=o+ +P(+m);m=p+ +P(+n);n=j-(+g[b+4>>2]+ +g[b+20>>2]);p=k-(+g[b+8>>2]+ +g[b+24>>2]);o=+P(+(i-(+g[b>>2]+ +g[b+16>>2])));q=o+ +P(+n);f=c[l+36+((m>=q+ +P(+p))<<2)>>2]|0;r=c[f+40>>2]|0;if((r|0)==0){h=f;break}else{l=f;b=r}}}b=h+32|0;l=c[b>>2]|0;r=a+4|0;a=c[r>>2]|0;do{if((a|0)==0){c[9806]=(c[9806]|0)+1;f=aDx(63)|0;if((f|0)==0){s=0;break}t=-(f+4|0)&15;u=f+(t+4)|0;c[f+t>>2]=f;if((u|0)==0){s=0;break}aDD(u|0,0,44);s=u}else{c[r>>2]=0;s=a}}while(0);c[s+32>>2]=l;a=s+36|0;c[a>>2]=0;r=s+40|0;c[r>>2]=0;i=+g[d>>2];k=+g[h>>2];u=s|0;g[u>>2]=i>2];i=+g[h+16>>2];g[s+16>>2]=k>i?k:i;i=+g[d+4>>2];k=+g[h+4>>2];g[s+4>>2]=i>2];i=+g[h+20>>2];g[s+20>>2]=k>i?k:i;i=+g[d+8>>2];k=+g[h+8>>2];g[s+8>>2]=i>2];i=+g[h+24>>2];g[s+24>>2]=k>i?k:i;if((l|0)==0){c[a>>2]=h;c[b>>2]=s;c[r>>2]=d;c[d+32>>2]=s;c[e>>2]=s;return}c[l+36+(((c[(c[b>>2]|0)+40>>2]|0)==(h|0))<<2)>>2]=s;c[a>>2]=h;c[b>>2]=s;c[r>>2]=d;c[d+32>>2]=s;d=s;s=l;i=+g[u>>2];L3178:while(1){u=s|0;l=s+4|0;do{if(+g[u>>2]<=i){if(+g[l>>2]>+g[d+4>>2]){break}if(+g[s+8>>2]>+g[d+8>>2]){break}if(+g[s+16>>2]<+g[d+16>>2]){break}if(+g[s+20>>2]<+g[d+20>>2]){break}if(+g[s+24>>2]>=+g[d+24>>2]){v=2664;break L3178}}}while(0);r=c[s+36>>2]|0;b=c[s+40>>2]|0;k=+g[r>>2];j=+g[b>>2];p=k>2]=p;j=+g[r+16>>2];k=+g[b+16>>2];g[s+16>>2]=j>k?j:k;k=+g[r+4>>2];j=+g[b+4>>2];g[l>>2]=k>2];k=+g[b+20>>2];g[s+20>>2]=j>k?j:k;k=+g[r+8>>2];j=+g[b+8>>2];g[s+8>>2]=k>2];k=+g[b+24>>2];g[s+24>>2]=j>k?j:k;b=c[s+32>>2]|0;if((b|0)==0){v=2662;break}else{d=s;s=b;i=p}}if((v|0)==2662){return}else if((v|0)==2664){return}}function aww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;d=a|0;if((c[d>>2]|0)==(b|0)){c[d>>2]=0;e=0;return e|0}f=c[b+32>>2]|0;h=c[f+32>>2]|0;i=c[f+36+(((c[f+40>>2]|0)!=(b|0))<<2)>>2]|0;if((h|0)==0){c[d>>2]=i;c[i+32>>2]=0;b=a+4|0;j=c[b>>2]|0;if((j|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-44+40>>2]|0)}c[b>>2]=f;e=c[d>>2]|0;return e|0}c[h+36+(((c[h+40>>2]|0)==(f|0))<<2)>>2]=i;c[i+32>>2]=h;i=a+4|0;a=c[i>>2]|0;if((a|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[a-44+40>>2]|0)}c[i>>2]=f;f=h;do{h=f|0;k=+g[h>>2];i=f+4|0;l=+g[i>>2];a=f+8|0;m=+g[a>>2];b=f+16|0;n=+g[b>>2];j=f+20|0;o=+g[j>>2];p=f+24|0;q=+g[p>>2];r=c[f+36>>2]|0;s=c[f+40>>2]|0;t=+g[r>>2];u=+g[s>>2];v=t>2]=v;u=+g[r+16>>2];t=+g[s+16>>2];w=u>t?u:t;g[b>>2]=w;t=+g[r+4>>2];u=+g[s+4>>2];x=t>2]=x;u=+g[r+20>>2];t=+g[s+20>>2];y=u>t?u:t;g[j>>2]=y;t=+g[r+8>>2];u=+g[s+8>>2];z=t>2]=z;u=+g[r+24>>2];t=+g[s+24>>2];A=u>t?u:t;g[p>>2]=A;if(!(k!=v|l!=x|m!=z|n!=w)){if(!(o!=y|q!=A)){e=f;B=2680;break}}f=c[f+32>>2]|0;}while((f|0)!=0);if((B|0)==2680){return e|0}e=c[d>>2]|0;return e|0}function awx(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[b>>2]=24080;a[b+40|0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+80|0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b+52>>2]=-1;c[b+56>>2]=0;c[b+60>>2]=0;a[b+153|0]=0;a[b+154|0]=1;e=(d|0)!=0;a[b+152|0]=e&1^1;g[b+100>>2]=0.0;c[b+104>>2]=0;c[b+124>>2]=0;c[b+108>>2]=1;c[b+112>>2]=0;c[b+116>>2]=10;c[b+120>>2]=1;c[b+128>>2]=0;c[b+132>>2]=0;g[b+136>>2]=0.0;if(e){f=d;h=b+96|0;c[h>>2]=f;i=b+148|0;c[i>>2]=0;j=b+140|0;c[j>>2]=0;k=b+144|0;c[k>>2]=0;l=b+84|0;m=l;aDD(m|0,0,12);return}c[9806]=(c[9806]|0)+1;d=aDx(95)|0;do{if((d|0)==0){n=0}else{e=-(d+4|0)&15;o=d+(e+4)|0;c[d+e>>2]=d;if((o|0)==0){n=0;break}e=o;ayI(e);n=e}}while(0);f=n|0;h=b+96|0;c[h>>2]=f;i=b+148|0;c[i>>2]=0;j=b+140|0;c[j>>2]=0;k=b+144|0;c[k>>2]=0;l=b+84|0;m=l;aDD(m|0,0,12);return}function awy(b){b=b|0;var d=0,e=0;c[b>>2]=24080;do{if((a[b+152|0]&1)!=0){d=b+96|0;e=c[d>>2]|0;ct[c[c[e>>2]>>2]&2047](e);e=c[d>>2]|0;if((e|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[e-4>>2]|0)}}while(0);awp(b+44|0);awp(b+4|0);if((b|0)==0){return}aDB(b);return}function awz(b){b=b|0;var d=0,e=0;c[b>>2]=24080;do{if((a[b+152|0]&1)!=0){d=b+96|0;e=c[d>>2]|0;ct[c[c[e>>2]>>2]&2047](e);e=c[d>>2]|0;if((e|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[e-4>>2]|0)}}while(0);awp(b+44|0);awp(b+4|0);return}function awA(a){a=a|0;return}function awB(a){a=a|0;return}function awC(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=i;i=i+48|0;l=m|0;g=m+32|0;c[9806]=(c[9806]|0)+1;n=aDx(83)|0;if((n|0)==0){o=0}else{p=-(n+4|0)&15;c[n+p>>2]=n;o=n+(p+4)|0}p=o;c[o>>2]=h;b[o+4>>1]=j;b[o+6>>1]=k;k=o+16|0;j=e;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];k=o+32|0;e=f;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[o+8>>2]=0;k=o+56|0;c[k>>2]=0;f=o+52|0;c[f>>2]=0;h=l;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];j=l+16|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];e=d+104|0;c[o+60>>2]=c[e>>2];j=d+148|0;n=(c[j>>2]|0)+1|0;c[j>>2]=n;j=o;c[o+12>>2]=n;n=d+4|0;q=n|0;r=d+8|0;s=c[r>>2]|0;do{if((s|0)==0){c[9806]=(c[9806]|0)+1;t=aDx(63)|0;if((t|0)==0){u=0;break}v=-(t+4|0)&15;w=t+(v+4)|0;c[t+v>>2]=t;if((w|0)==0){u=0;break}aDD(w|0,0,44);u=w}else{c[r>>2]=0;u=s}}while(0);c[u+32>>2]=0;c[u+36>>2]=o;c[u+40>>2]=0;s=u;aDC(s|0,h|0,32)|0;h=n|0;awv(q,c[h>>2]|0,u);q=d+16|0;c[q>>2]=(c[q>>2]|0)+1;c[o+48>>2]=u;u=d+84+(c[e>>2]<<2)|0;c[f>>2]=0;c[k>>2]=c[u>>2];k=c[u>>2]|0;if((k|0)!=0){c[k+52>>2]=p}c[u>>2]=p;if((a[d+153|0]&1)!=0){i=m;return j|0}c[g>>2]=23368;c[g+4>>2]=d;c[g+8>>2]=p;p=g|0;awD(c[h>>2]|0,l,p);awD(c[d+44>>2]|0,l,p);i=m;return j|0}function awD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.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,z=0,A=0,B=0,C=0,D=0,E=0;if((a|0)==0){return}e=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=+g[b+16>>2];j=+g[b+20>>2];k=+g[b+24>>2];c[9806]=(c[9806]|0)+1;b=aDx(275)|0;do{if((b|0)==0){l=0}else{m=-(b+4|0)&15;n=b+(m+4)|0;c[b+m>>2]=b;m=n;if((n|0)==0){l=0;break}c[m>>2]=a;l=m}}while(0);a=d;b=1;m=64;n=l;while(1){l=b-1|0;o=c[n+(l<<2)>>2]|0;do{if(+g[o>>2]>i){p=l;q=m;r=n}else{if(+g[o+16>>2]>2]>j){p=l;q=m;r=n;break}if(+g[o+20>>2]>2]>k){p=l;q=m;r=n;break}if(+g[o+24>>2]>2]|0)==0){cv[c[(c[a>>2]|0)+12>>2]&2047](d,o);p=l;q=m;r=n;break}t=c[o+36>>2]|0;do{if((l|0)==(m|0)){u=(m|0)==0?1:m<<1;if((m|0)>=(u|0)){v=m;w=n;break}do{if((u|0)==0){x=0}else{c[9806]=(c[9806]|0)+1;y=aDx((u<<2)+19|0)|0;if((y|0)==0){x=0;break}z=-(y+4|0)&15;c[y+z>>2]=y;x=y+(z+4)|0}}while(0);if((m|0)>0){z=0;do{y=x+(z<<2)|0;if((y|0)!=0){c[y>>2]=c[n+(z<<2)>>2]}z=z+1|0;}while((z|0)<(m|0))}if((n|0)==0){v=u;w=x;break}c[9804]=(c[9804]|0)+1;aDB(c[n-4>>2]|0);v=u;w=x}else{v=m;w=n}}while(0);z=w+(l<<2)|0;if((z|0)!=0){c[z>>2]=t}z=c[s>>2]|0;do{if((b|0)==(v|0)){y=(b|0)==0?1:b<<1;if((b|0)>=(y|0)){A=b;B=w;break}do{if((y|0)==0){C=0}else{c[9806]=(c[9806]|0)+1;D=aDx((y<<2)+19|0)|0;if((D|0)==0){C=0;break}E=-(D+4|0)&15;c[D+E>>2]=D;C=D+(E+4)|0}}while(0);if((b|0)>0){u=0;do{E=C+(u<<2)|0;if((E|0)!=0){c[E>>2]=c[w+(u<<2)>>2]}u=u+1|0;}while((u|0)<(b|0))}if((w|0)==0){A=y;B=C;break}c[9804]=(c[9804]|0)+1;aDB(c[w-4>>2]|0);A=y;B=C}else{A=v;B=w}}while(0);s=B+(b<<2)|0;if((s|0)!=0){c[s>>2]=z}p=b+1|0;q=A;r=B}}while(0);if((p|0)>0){b=p;m=q;n=r}else{break}}if((r|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[r-4>>2]|0);return}function awE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d+60|0;if((c[f>>2]|0)==2){g=b+44|0;h=c[d+48>>2]|0;aww(g,h)|0;g=b+48|0;i=c[g>>2]|0;if((i|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[i-44+40>>2]|0)}c[g>>2]=h;h=b+56|0;c[h>>2]=(c[h>>2]|0)-1}else{h=b+4|0;g=c[d+48>>2]|0;aww(h,g)|0;h=b+8|0;i=c[h>>2]|0;if((i|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[i-44+40>>2]|0)}c[h>>2]=g;g=b+16|0;c[g>>2]=(c[g>>2]|0)-1}g=d+52|0;h=c[g>>2]|0;i=d+56|0;j=c[i>>2]|0;if((h|0)==0){c[b+84+(c[f>>2]<<2)>>2]=j}else{c[h+56>>2]=j}j=c[i>>2]|0;if((j|0)!=0){c[j+52>>2]=c[g>>2]}g=c[b+96>>2]|0;dA[c[(c[g>>2]|0)+16>>2]&511](g|0,d,e);if((d|0)==0){k=b+154|0;a[k]=1;return}c[9804]=(c[9804]|0)+1;aDB(c[d-48+44>>2]|0);k=b+154|0;a[k]=1;return}function awF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=d;d=b+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];d=e;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function awG(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0;d=i;i=i+8|0;j=d|0;c[j>>2]=22928;c[j+4>>2]=e;k=e+4|0;l=e+20|0;m=e+32|0;e=j|0;awH(c[a+4>>2]|0,b,k,l,+g[m>>2],f,h,e);awH(c[a+44>>2]|0,b,k,l,+g[m>>2],f,h,e);i=d;return}function awH(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;k=k|0;var 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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0;l=i;i=i+32|0;m=l|0;if((a|0)==0){i=l;return}c[9806]=(c[9806]|0)+1;n=aDx(531)|0;if((n|0)==0){o=0}else{p=-(n+4|0)&15;c[n+p>>2]=n;o=n+(p+4)|0}p=0;do{n=o+(p<<2)|0;if((n|0)!=0){c[n>>2]=0}p=p+1|0;}while((p|0)<128);c[o>>2]=a;a=j|0;p=j+4|0;n=j+8|0;j=m|0;q=m+4|0;r=m+8|0;s=m+12|0;t=h|0;u=h+4|0;v=h+8|0;h=m+16|0;w=m+20|0;x=m+24|0;y=m+28|0;z=b|0;A=d|0;B=e+4|0;C=b+4|0;D=d+4|0;E=e+8|0;F=b+8|0;b=d+8|0;d=k;G=1;H=126;I=128;J=128;K=o;while(1){o=G-1|0;L=c[K+(o<<2)>>2]|0;M=+g[L+4>>2]- +g[p>>2];N=+g[L+8>>2]- +g[n>>2];g[j>>2]=+g[L>>2]- +g[a>>2];g[q>>2]=M;g[r>>2]=N;g[s>>2]=0.0;N=+g[L+20>>2]- +g[u>>2];M=+g[L+24>>2]- +g[v>>2];g[h>>2]=+g[L+16>>2]- +g[t>>2];g[w>>2]=N;g[x>>2]=M;g[y>>2]=0.0;O=c[e>>2]|0;M=+g[z>>2];N=+g[A>>2];P=(+g[m+(O<<4)>>2]-M)*N;Q=N*(+g[m+(1-O<<4)>>2]-M);O=c[B>>2]|0;M=+g[C>>2];N=+g[D>>2];R=(+g[m+(O<<4)+4>>2]-M)*N;S=N*(+g[m+(1-O<<4)+4>>2]-M);do{if(P>S|R>Q){T=o;U=H;V=I;W=J;X=K}else{M=R>P?R:P;N=S>2]|0;Y=+g[F>>2];Z=+g[b>>2];_=(+g[m+(O<<4)+8>>2]-Y)*Z;$=Z*(+g[m+(1-O<<4)+8>>2]-Y);if(M>$|_>N){T=o;U=H;V=I;W=J;X=K;break}if((_>M?_:M)>=f){T=o;U=H;V=I;W=J;X=K;break}if(($>2]|0)==0){cv[c[(c[d>>2]|0)+12>>2]&2047](k,L);T=o;U=H;V=I;W=J;X=K;break}if((o|0)>(H|0)){aa=I<<1;if((I|0)<(aa|0)){do{if((J|0)<(aa|0)){do{if((aa|0)==0){ab=0}else{c[9806]=(c[9806]|0)+1;ac=aDx((I<<3|4)+15|0)|0;if((ac|0)==0){ab=0;break}ad=-(ac+4|0)&15;c[ac+ad>>2]=ac;ab=ac+(ad+4)|0}}while(0);if((I|0)>0){ad=0;do{ac=ab+(ad<<2)|0;if((ac|0)!=0){c[ac>>2]=c[K+(ad<<2)>>2]}ad=ad+1|0;}while((ad|0)<(I|0))}if((K|0)==0){ae=aa;af=ab;break}c[9804]=(c[9804]|0)+1;aDB(c[K-4>>2]|0);ae=aa;af=ab}else{ae=J;af=K}}while(0);ad=I;while(1){ac=af+(ad<<2)|0;if((ac|0)!=0){c[ac>>2]=0}ac=ad+1|0;if((ac|0)<(aa|0)){ad=ac}else{ag=ae;ah=af;break}}}else{ag=J;ah=K}ai=aa-2|0;aj=aa;ak=ag;al=ah}else{ai=H;aj=I;ak=J;al=K}c[al+(o<<2)>>2]=c[L+36>>2];c[al+(G<<2)>>2]=c[O>>2];T=G+1|0;U=ai;V=aj;W=ak;X=al}}while(0);if((T|0)==0){break}else{G=T;H=U;I=V;J=W;K=X}}if((X|0)==0){i=l;return}c[9804]=(c[9804]|0)+1;aDB(c[X-4>>2]|0);i=l;return}function awI(a){a=a|0;return}function awJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+40|0;g=f|0;h=f+8|0;c[g>>2]=22720;c[g+4>>2]=e;e=h;j=b;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];j=h+16|0;e=d;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];e=g|0;awD(c[a+4>>2]|0,h,e);awD(c[a+44>>2]|0,h,e);i=f;return}function awK(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0.0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0;h=i;i=i+16|0;j=h|0;k=d;l=e;m=e|0;n=+g[m>>2];o=e+4|0;p=+g[o>>2];q=e+8|0;r=+g[q>>2];s=+g[e+12>>2];e=f;t=+g[f>>2];u=+g[f+4>>2];v=+g[f+8>>2];w=+g[f+12>>2];f=d+60|0;L3408:do{if((c[f>>2]|0)==2){x=b+44|0;y=d+48|0;z=c[y>>2]|0;aww(x,z)|0;x=b+48|0;A=c[x>>2]|0;if((A|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[A-44+40>>2]|0)}c[x>>2]=z;z=b+56|0;c[z>>2]=(c[z>>2]|0)-1;z=b+4|0;x=b+8|0;A=c[x>>2]|0;do{if((A|0)==0){c[9806]=(c[9806]|0)+1;B=aDx(63)|0;if((B|0)==0){C=0;break}D=-(B+4|0)&15;E=B+(D+4)|0;c[B+D>>2]=B;if((E|0)==0){C=0;break}aDD(E|0,0,44);C=E}else{c[x>>2]=0;C=A}}while(0);c[C+32>>2]=0;c[C+36>>2]=d;c[C+40>>2]=0;g[C>>2]=n;g[C+4>>2]=p;g[C+8>>2]=r;g[C+12>>2]=s;g[C+16>>2]=t;g[C+20>>2]=u;g[C+24>>2]=v;g[C+28>>2]=w;awv(z,c[z>>2]|0,C);A=b+16|0;c[A>>2]=(c[A>>2]|0)+1;c[y>>2]=C;F=1}else{A=b+128|0;c[A>>2]=(c[A>>2]|0)+1;A=c[d+48>>2]|0;x=A|0;G=+g[x>>2];do{if(G<=t){E=A+16|0;H=+g[E>>2];if(H>2];if(I>u){break}D=A+20|0;J=+g[D>>2];if(J>2];if(L>v){break}M=A+24|0;N=+g[M>>2];if(N>2];P=+g[d+20>>2];Q=+g[d+24>>2];R=+g[b+100>>2];S=(+g[d+32>>2]-O)*.5*R;T=R*(+g[d+36>>2]-P)*.5;U=R*(+g[d+40>>2]-Q)*.5;if(+g[m>>2]-O<0.0){V=-0.0-S}else{V=S}if(+g[o>>2]-P<0.0){W=-0.0-T}else{W=T}if(+g[q>>2]-Q<0.0){X=-0.0-U}else{X=U}Y=b+4|0;if(!(G>n|I>p|L>r|H0.0){Z=N;_=V+L}else{Z=V+N;_=L}if(W>0.0){$=J;aa=W+I}else{$=W+J;aa=I}if(X>0.0){ab=X+U;ac=H}else{ab=U;ac=X+H}ad=aww(Y,A)|0;L3449:do{if((ad|0)==0){ae=0}else{af=c[b+12>>2]|0;if((af|0)>-1){ag=0;ah=ad}else{ae=c[Y>>2]|0;break}while(1){if((ag|0)>=(af|0)){ae=ah;break L3449}ai=c[ah+32>>2]|0;if((ai|0)==0){ae=ah;break}else{ag=ag+1|0;ah=ai}}}}while(0);g[x>>2]=Z;g[B>>2]=$;g[K>>2]=ac;g[A+12>>2]=s;g[E>>2]=_;g[D>>2]=aa;g[M>>2]=ab;g[A+28>>2]=w;awv(Y,ae,A);ad=b+132|0;c[ad>>2]=(c[ad>>2]|0)+1;F=1;break L3408}}while(0);y=b+4|0;z=aww(y,A)|0;L3458:do{if((z|0)==0){aj=0}else{ad=c[b+12>>2]|0;if((ad|0)>-1){ak=0;al=z}else{aj=c[y>>2]|0;break}while(1){if((ak|0)>=(ad|0)){aj=al;break L3458}af=c[al+32>>2]|0;if((af|0)==0){aj=al;break}else{ak=ak+1|0;al=af}}}}while(0);g[x>>2]=n;g[A+4>>2]=p;g[A+8>>2]=r;g[A+12>>2]=s;g[A+16>>2]=t;g[A+20>>2]=u;g[A+24>>2]=v;g[A+28>>2]=w;awv(y,aj,A);z=b+132|0;c[z>>2]=(c[z>>2]|0)+1;F=1}}while(0);aj=d+52|0;al=c[aj>>2]|0;ak=d+56|0;ae=c[ak>>2]|0;if((al|0)==0){c[b+84+(c[f>>2]<<2)>>2]=ae}else{c[al+56>>2]=ae}ae=c[ak>>2]|0;if((ae|0)!=0){c[ae+52>>2]=c[aj>>2]}ae=d+16|0;c[ae>>2]=c[l>>2];c[ae+4>>2]=c[l+4>>2];c[ae+8>>2]=c[l+8>>2];c[ae+12>>2]=c[l+12>>2];l=d+32|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];e=b+104|0;c[f>>2]=c[e>>2];f=b+84+(c[e>>2]<<2)|0;c[aj>>2]=0;c[ak>>2]=c[f>>2];ak=c[f>>2]|0;if((ak|0)!=0){c[ak+52>>2]=k}c[f>>2]=k;if(!F){i=h;return}a[b+154|0]=1;if((a[b+153|0]&1)!=0){i=h;return}c[j>>2]=23368;c[j+4>>2]=b;F=b+44|0;k=d+48|0;d=j|0;awL(F,c[F>>2]|0,c[k>>2]|0,d);F=b+4|0;awL(F,c[F>>2]|0,c[k>>2]|0,d);i=h;return}function awL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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,z=0,A=0,B=0,C=0,D=0,E=0;if((d|0)==0|(e|0)==0){return}h=b+24|0;i=b+28|0;do{if((c[h>>2]|0)<128){if((c[i>>2]|0)>=128){j=i;break}c[9806]=(c[9806]|0)+1;k=aDx(1043)|0;if((k|0)==0){l=0}else{m=-(k+4|0)&15;c[k+m>>2]=k;l=k+(m+4)|0}m=c[h>>2]|0;k=b+32|0;if((m|0)>0){n=0;do{o=l+(n<<3)|0;if((o|0)!=0){p=(c[k>>2]|0)+(n<<3)|0;q=o;o=c[p+4>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=o}n=n+1|0;}while((n|0)<(m|0))}m=c[k>>2]|0;n=b+36|0;if((m|0)!=0){if((a[n]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-8+4>>2]|0)}c[k>>2]=0}a[n]=1;c[k>>2]=l;c[i>>2]=128;j=i}else{j=i}}while(0);c[h>>2]=128;i=b+32|0;l=c[i>>2]|0;c[l>>2]=d;c[l+4>>2]=e;e=b+36|0;b=f;l=1;d=124;while(1){n=l-1|0;m=c[i>>2]|0;o=c[m+(n<<3)>>2]|0;q=c[m+(n<<3)+4>>2]|0;if((n|0)>(d|0)){p=c[h>>2]|0;r=p<<1;do{if((p|0)<(r|0)){if((c[j>>2]|0)>=(r|0)){s=m;break}if((r|0)==0){t=0;u=p}else{c[9806]=(c[9806]|0)+1;v=aDx((p<<4|4)+15|0)|0;if((v|0)==0){w=0}else{x=-(v+4|0)&15;c[v+x>>2]=v;w=v+(x+4)|0}t=w;u=c[h>>2]|0}if((u|0)>0){x=0;do{v=t+(x<<3)|0;if((v|0)!=0){y=(c[i>>2]|0)+(x<<3)|0;z=v;v=c[y+4>>2]|0;c[z>>2]=c[y>>2];c[z+4>>2]=v}x=x+1|0;}while((x|0)<(u|0))}x=c[i>>2]|0;if((x|0)!=0){if((a[e]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[x-8+4>>2]|0)}c[i>>2]=0}a[e]=1;c[i>>2]=t;c[j>>2]=r;s=t}else{s=m}}while(0);c[h>>2]=r;A=r-4|0;B=s}else{A=d;B=m}do{if((o|0)==(q|0)){p=o+40|0;if((c[p>>2]|0)==0){C=n;break}k=o+36|0;x=B+(n<<3)|0;v=c[k>>2]|0;c[x>>2]=v;c[x+4>>2]=v;v=(c[i>>2]|0)+(l<<3)|0;x=c[p>>2]|0;c[v>>2]=x;c[v+4>>2]=x;x=(c[i>>2]|0)+(l+1<<3)|0;v=c[p>>2]|0;c[x>>2]=c[k>>2];c[x+4>>2]=v;C=l+2|0}else{if(+g[o>>2]>+g[q+16>>2]){C=n;break}if(+g[o+16>>2]<+g[q>>2]){C=n;break}if(+g[o+4>>2]>+g[q+20>>2]){C=n;break}if(+g[o+20>>2]<+g[q+4>>2]){C=n;break}if(+g[o+8>>2]>+g[q+24>>2]){C=n;break}if(+g[o+24>>2]<+g[q+8>>2]){C=n;break}v=o+40|0;x=q+40|0;k=(c[x>>2]|0)!=0;if((c[v>>2]|0)==0){if(k){p=B+(n<<3)|0;z=o;y=0;D=c[q+36>>2]|y;c[p>>2]=z;c[p+4>>2]=D;D=(c[i>>2]|0)+(l<<3)|0;p=c[x>>2]|y;c[D>>2]=z;c[D+4>>2]=p;C=l+1|0;break}else{dA[c[(c[b>>2]|0)+8>>2]&511](f,o,q);C=n;break}}else{p=B+(n<<3)|0;D=o+36|0;z=c[D>>2]|0;if(k){k=q+36|0;y=p;E=c[k>>2]|0;c[y>>2]=z;c[y+4>>2]=E;E=(c[i>>2]|0)+(l<<3)|0;y=c[k>>2]|0;c[E>>2]=c[v>>2];c[E+4>>2]=y;y=(c[i>>2]|0)+(l+1<<3)|0;E=c[x>>2]|0;c[y>>2]=c[D>>2];c[y+4>>2]=E;E=(c[i>>2]|0)+(l+2<<3)|0;y=c[x>>2]|0;c[E>>2]=c[v>>2];c[E+4>>2]=y;C=l+3|0;break}else{y=p;p=0;E=q;c[y>>2]=z|p;c[y+4>>2]=E;y=(c[i>>2]|0)+(l<<3)|0;c[y>>2]=c[v>>2]|p;c[y+4>>2]=E;C=l+1|0;break}}}}while(0);if((C|0)==0){break}else{l=C;d=A}}return}function awM(a,b){a=a|0;b=b|0;awR(a,b);awS(a,b);return}function awN(a){a=a|0;return}function awO(a){a=a|0;return c[a+96>>2]|0}function awP(a){a=a|0;return c[a+96>>2]|0}function awQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;e=c[a+4>>2]|0;f=c[a+44>>2]|0;a=(f|0)==0;do{if((e|0)==0){if(a){h=0.0;i=0.0;j=0.0;k=0.0;l=0.0;m=0.0;n=0.0;o=0.0;break}h=+g[f>>2];i=+g[f+4>>2];j=+g[f+8>>2];k=+g[f+12>>2];l=+g[f+16>>2];m=+g[f+20>>2];n=+g[f+24>>2];o=+g[f+28>>2]}else{p=+g[e>>2];if(a){h=p;i=+g[e+4>>2];j=+g[e+8>>2];k=+g[e+12>>2];l=+g[e+16>>2];m=+g[e+20>>2];n=+g[e+24>>2];o=+g[e+28>>2];break}else{q=+g[f>>2];r=+g[e+16>>2];s=+g[f+16>>2];t=+g[e+4>>2];u=+g[f+4>>2];v=+g[e+20>>2];w=+g[f+20>>2];x=+g[e+8>>2];y=+g[f+8>>2];z=+g[e+24>>2];A=+g[f+24>>2];h=ps?r:s;m=v>w?v:w;n=z>A?z:A;o=0.0;break}}}while(0);g[b>>2]=h;g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;g[d>>2]=l;g[d+4>>2]=m;g[d+8>>2]=n;g[d+12>>2]=o;return}function awR(b,d){b=b|0;d=d|0;var e=0,f=0,h=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,z=0,A=0,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;e=i;i=i+48|0;f=e|0;h=e+32|0;j=b+4|0;k=j|0;l=b+16|0;awu(k,((aa(c[b+112>>2]|0,c[l>>2]|0)|0)/100|0)+1|0);m=b+124|0;if((c[m>>2]|0)!=0){n=((aa(c[b+108>>2]|0,c[b+56>>2]|0)|0)/100|0)+1|0;awu(b+44|0,n);o=(c[m>>2]|0)-n|0;c[m>>2]=(o|0)<0?0:o}o=b+104|0;n=((c[o>>2]|0)+1|0)%2|0;c[o>>2]=n;o=c[b+84+(n<<2)>>2]|0;if((o|0)!=0){n=b+92|0;p=f;q=f+16|0;f=b+44|0;r=b+8|0;s=b+48|0;t=f|0;u=b+56|0;v=o;while(1){o=v+56|0;w=c[o>>2]|0;x=v+60|0;y=v+52|0;z=c[y>>2]|0;if((z|0)==0){c[b+84+(c[x>>2]<<2)>>2]=w}else{c[z+56>>2]=w}z=c[o>>2]|0;if((z|0)!=0){c[z+52>>2]=c[y>>2]}c[y>>2]=0;c[o>>2]=c[n>>2];o=c[n>>2]|0;if((o|0)!=0){c[o+52>>2]=v}c[n>>2]=v;o=v+48|0;y=c[o>>2]|0;aww(k,y)|0;z=c[r>>2]|0;if((z|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[z-44+40>>2]|0)}c[r>>2]=y;c[l>>2]=(c[l>>2]|0)-1;y=v+16|0;c[p>>2]=c[y>>2];c[p+4>>2]=c[y+4>>2];c[p+8>>2]=c[y+8>>2];c[p+12>>2]=c[y+12>>2];y=v+32|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=c[s>>2]|0;do{if((y|0)==0){c[9806]=(c[9806]|0)+1;z=aDx(63)|0;if((z|0)==0){A=0;break}B=-(z+4|0)&15;C=z+(B+4)|0;c[z+B>>2]=z;if((C|0)==0){A=0;break}aDD(C|0,0,44);A=C}else{c[s>>2]=0;A=y}}while(0);c[A+32>>2]=0;c[A+36>>2]=v;c[A+40>>2]=0;y=A;aDC(y|0,p|0,32)|0;awv(f,c[t>>2]|0,A);c[u>>2]=(c[u>>2]|0)+1;c[o>>2]=A;c[x>>2]=2;if((w|0)==0){break}else{v=w}}c[m>>2]=c[u>>2];a[b+154|0]=1}c[h>>2]=23368;c[h+4>>2]=b;u=b+153|0;m=a[u]|0;if((m&1)==0){D=m}else{awL(k,c[j>>2]|0,c[b+44>>2]|0,h|0);D=a[u]|0}if((D&1)!=0){D=c[j>>2]|0;awL(k,D,D,h|0)}h=b+154|0;L3605:do{if((a[h]&1)!=0){D=b+96|0;k=c[D>>2]|0;j=cA[c[(c[k>>2]|0)+28>>2]&4095](k)|0;k=j+4|0;u=c[k>>2]|0;if((u|0)<=0){break}m=(aa(c[b+116>>2]|0,u)|0)/100|0;v=c[b+120>>2]|0;A=(v|0)>(m|0)?v:m;m=(u|0)<(A|0)?u:A;A=b+144|0;do{if((m|0)>0){v=j+12|0;t=m;f=0;p=u;while(1){s=((c[A>>2]|0)+f|0)%(p|0)|0;q=c[v>>2]|0;l=c[q+(s<<4)>>2]|0;r=c[q+(s<<4)+4>>2]|0;s=c[l+48>>2]|0;q=c[r+48>>2]|0;do{if(+g[s>>2]>+g[q+16>>2]){E=3013}else{if(+g[s+16>>2]<+g[q>>2]){E=3013;break}if(+g[s+4>>2]>+g[q+20>>2]){E=3013;break}if(+g[s+20>>2]<+g[q+4>>2]){E=3013;break}if(+g[s+8>>2]>+g[q+24>>2]){E=3013;break}if(+g[s+24>>2]<+g[q+8>>2]){E=3013}else{F=f;G=t;H=p}}}while(0);if((E|0)==3013){E=0;q=c[D>>2]|0;s=q|0;n=c[(c[q>>2]|0)+12>>2]|0;dE[n&127](s,l,r,d)|0;F=f-1|0;G=t-1|0;H=c[k>>2]|0}s=F+1|0;if((s|0)<(G|0)){t=G;f=s;p=H}else{break}}if((H|0)>0){I=H;J=G;break}c[A>>2]=0;break L3605}else{I=u;J=m}}while(0);c[A>>2]=((c[A>>2]|0)+J|0)%(I|0)|0}}while(0);I=b+140|0;c[I>>2]=(c[I>>2]|0)+1;c[b+120>>2]=1;a[h]=0;h=b+128|0;I=c[h>>2]|0;if((I|0)==0){g[b+136>>2]=0.0;K=c[b+132>>2]|0;L=b+132|0;M=K>>>1;c[L>>2]=M;N=I>>>1;c[h>>2]=N;i=e;return}else{J=c[b+132>>2]|0;g[b+136>>2]=+(J>>>0>>>0)/+(I>>>0>>>0);K=J;L=b+132|0;M=K>>>1;c[L>>2]=M;N=I>>>1;c[h>>2]=N;i=e;return}}function awS(b,d){b=b|0;d=d|0;var e=0,f=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=b+96|0;b=c[e>>2]|0;if(!(cA[c[(c[b>>2]|0)+56>>2]&4095](b)|0)){return}b=c[e>>2]|0;f=cA[c[(c[b>>2]|0)+28>>2]&4095](b)|0;b=f+4|0;h=c[b>>2]|0;if((h|0)>1){arQ(f,0,h-1|0);i=c[b>>2]|0}else{i=h}do{if((i|0)>0){h=f+12|0;j=0;k=0;l=0;m=0;n=i;while(1){o=c[h>>2]|0;p=o+(l<<4)|0;q=p|0;r=c[q>>2]|0;s=o+(l<<4)+4|0;o=c[s>>2]|0;if((r|0)==(k|0)){if((o|0)==(j|0)){t=k;u=j;v=3037}else{w=k;v=3031}}else{w=r;v=3031}do{if((v|0)==3031){v=0;r=c[w+48>>2]|0;x=c[o+48>>2]|0;if(+g[r>>2]>+g[x+16>>2]){t=w;u=o;v=3037;break}if(+g[r+16>>2]<+g[x>>2]){t=w;u=o;v=3037;break}if(+g[r+4>>2]>+g[x+20>>2]){t=w;u=o;v=3037;break}if(+g[r+20>>2]<+g[x+4>>2]){t=w;u=o;v=3037;break}if(+g[r+8>>2]>+g[x+24>>2]){t=w;u=o;v=3037;break}if(+g[r+24>>2]<+g[x+8>>2]){t=w;u=o;v=3037}else{y=m;z=w;A=o;B=n}}}while(0);if((v|0)==3037){v=0;o=c[e>>2]|0;dA[c[(c[o>>2]|0)+32>>2]&511](o,p,d);c[q>>2]=0;c[s>>2]=0;y=m+1|0;z=t;A=u;B=c[b>>2]|0}o=l+1|0;if((o|0)<(B|0)){j=A;k=z;l=o;m=y;n=B}else{break}}if((B|0)>1){arQ(f,0,B-1|0);C=c[b>>2]|0}else{C=B}n=C-y|0;if((y|0)>=0){D=n;break}m=f+8|0;if((c[m>>2]|0)<(n|0)){if((C|0)==(y|0)){E=0;F=y}else{c[9806]=(c[9806]|0)+1;l=aDx((n<<4|4)+15|0)|0;if((l|0)==0){G=0}else{k=-(l+4|0)&15;c[l+k>>2]=l;G=l+(k+4)|0}E=G;F=c[b>>2]|0}if((F|0)>0){k=0;do{l=c[h>>2]|0;c[E+(k<<4)>>2]=c[l+(k<<4)>>2];c[E+(k<<4)+4>>2]=c[l+(k<<4)+4>>2];c[E+(k<<4)+8>>2]=c[l+(k<<4)+8>>2];c[E+(k<<4)+12>>2]=c[l+(k<<4)+12>>2];k=k+1|0;}while((k|0)<(F|0))}k=c[h>>2]|0;l=f+16|0;if((k|0)!=0){if((a[l]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[k-16+12>>2]|0)}c[h>>2]=0}a[l]=1;c[h>>2]=E;c[m>>2]=n;H=C}else{H=C}while(1){l=H+1|0;aDD((c[h>>2]|0)+(H<<4)|0,0,16);if((l|0)<(n|0)){H=l}else{D=n;break}}}else{D=i}}while(0);c[b>>2]=D;return}function awT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((c[b+16>>2]|0)!=(-(c[b+56>>2]|0)|0)){return}d=b+44|0;e=b+4|0;f=c[e>>2]|0;if((f|0)!=0){awq(e,f)}f=b+8|0;e=c[f>>2]|0;if((e|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-44+40>>2]|0)}c[f>>2]=0;c[b+12>>2]=-1;f=b+28|0;e=b+36|0;g=c[e>>2]|0;h=b+40|0;if((g|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-8+4>>2]|0)}c[e>>2]=0}a[h]=1;c[e>>2]=0;c[f>>2]=0;c[b+32>>2]=0;c[b+20>>2]=0;f=c[d>>2]|0;if((f|0)!=0){awq(d,f)}f=b+48|0;d=c[f>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-44+40>>2]|0)}c[f>>2]=0;c[b+52>>2]=-1;f=b+68|0;d=b+76|0;e=c[d>>2]|0;h=b+80|0;if((e|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-8+4>>2]|0)}c[d>>2]=0}a[h]=1;c[d>>2]=0;c[f>>2]=0;c[b+72>>2]=0;c[b+60>>2]=0;a[b+153|0]=0;a[b+154|0]=1;c[b+104>>2]=0;c[b+124>>2]=0;c[b+108>>2]=1;c[b+112>>2]=0;c[b+116>>2]=10;c[b+120>>2]=1;aDD(b+84|0,0,12);aDD(b+128|0,0,24);return}function awU(a){a=a|0;if((a|0)==0){return}aDB(a);return}function awV(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;dj[c[(c[d>>2]|0)+8>>2]&511](d,c[b+36>>2]|0)|0;return}function awW(a){a=a|0;if((a|0)==0){return}aDB(a);return}function awX(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;dj[c[(c[d>>2]|0)+8>>2]&511](d|0,c[b+36>>2]|0)|0;return}function awY(a){a=a|0;if((a|0)==0){return}aDB(a);return}function awZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0)){return}e=a+4|0;a=c[(c[e>>2]|0)+96>>2]|0;cS[c[(c[a>>2]|0)+8>>2]&511](a|0,c[b+36>>2]|0,c[d+36>>2]|0)|0;d=(c[e>>2]|0)+120|0;c[d>>2]=(c[d>>2]|0)+1;return}function aw_(a,b){a=a|0;b=b|0;dA[c[(c[a>>2]|0)+8>>2]&511](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function aw$(d,e){d=d|0;e=e|0;var f=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[d>>2]=19872;c[9806]=(c[9806]|0)+1;f=aDx(379)|0;do{if((f|0)==0){h=0}else{i=-(f+4|0)&15;j=f+(i+4)|0;c[f+i>>2]=f;if((j|0)==0){h=0;break}g[f+(i+312)>>2]=9999999747378752.0e-20;k=f+(i|336)|0;b[k>>1]=b[k>>1]&-16;h=j}}while(0);f=d+32|0;c[f>>2]=h;h=(c[e+28>>2]|0)==0;c[9806]=(c[9806]|0)+1;j=aDx(23)|0;if((j|0)==0){l=0}else{k=-(j+4|0)&15;c[j+k>>2]=j;l=j+(k+4)|0}k=(l|0)==0;if(h){if(k){m=0}else{c[l>>2]=19760;m=l}c[d+36>>2]=m}else{if(k){n=0}else{c[l>>2]=19960;n=l}c[d+36>>2]=n}c[9806]=(c[9806]|0)+1;n=aDx(43)|0;do{if((n|0)==0){o=0}else{l=-(n+4|0)&15;k=n+(l+4)|0;c[n+l>>2]=n;if((k|0)==0){o=0;break}m=c[f>>2]|0;h=c[d+36>>2]|0;a[n+(l+8)|0]=0;c[k>>2]=19384;c[n+(l+20)>>2]=0;c[n+(l+24)>>2]=3;c[n+(l|16)>>2]=m;c[n+(l+12)>>2]=h;o=k}}while(0);c[d+40>>2]=o;c[9806]=(c[9806]|0)+1;o=aDx(27)|0;do{if((o|0)==0){p=0}else{n=-(o+4|0)&15;f=o+(n+4)|0;c[o+n>>2]=o;if((f|0)==0){p=0;break}a[o+(n+8)|0]=0;c[f>>2]=19192;p=f}}while(0);c[d+44>>2]=p;c[9806]=(c[9806]|0)+1;p=aDx(27)|0;do{if((p|0)==0){q=0}else{o=-(p+4|0)&15;f=p+(o+4)|0;c[p+o>>2]=p;if((f|0)==0){q=0;break}a[p+(o+8)|0]=0;c[f>>2]=19160;q=f}}while(0);c[d+48>>2]=q;c[9806]=(c[9806]|0)+1;q=aDx(27)|0;do{if((q|0)==0){r=0}else{p=-(q+4|0)&15;f=q+(p+4)|0;c[q+p>>2]=q;if((f|0)==0){r=0;break}a[q+(p+8)|0]=0;c[f>>2]=19320;r=f}}while(0);c[d+52>>2]=r;c[9806]=(c[9806]|0)+1;r=aDx(27)|0;do{if((r|0)==0){s=0}else{q=-(r+4|0)&15;f=r+(q+4)|0;c[r+q>>2]=r;if((f|0)==0){s=0;break}a[r+(q+8)|0]=0;c[f>>2]=19288;s=f}}while(0);c[d+56>>2]=s;c[9806]=(c[9806]|0)+1;s=aDx(27)|0;do{if((s|0)==0){t=0}else{r=-(s+4|0)&15;f=s+(r+4)|0;c[s+r>>2]=s;if((f|0)==0){t=0;break}a[s+(r+8)|0]=0;c[f>>2]=19416;t=f}}while(0);c[d+60>>2]=t;c[9806]=(c[9806]|0)+1;t=aDx(27)|0;do{if((t|0)==0){u=0}else{s=-(t+4|0)&15;f=t+(s+4)|0;c[t+s>>2]=t;if((f|0)==0){u=0;break}a[t+(s+8)|0]=0;c[f>>2]=19224;u=f}}while(0);c[d+64>>2]=u;c[9806]=(c[9806]|0)+1;u=aDx(27)|0;do{if((u|0)==0){v=0}else{t=-(u+4|0)&15;f=u+(t+4)|0;c[u+t>>2]=u;if((f|0)==0){v=0;break}a[u+(t+8)|0]=0;c[f>>2]=19128;v=f}}while(0);c[d+72>>2]=v;c[9806]=(c[9806]|0)+1;v=aDx(27)|0;do{if((v|0)==0){w=0}else{u=-(v+4|0)&15;f=v+(u+4)|0;c[v+u>>2]=v;if((f|0)==0){w=0;break}a[v+(u+8)|0]=0;c[f>>2]=19128;w=f}}while(0);c[d+76>>2]=w;a[w+4|0]=1;c[9806]=(c[9806]|0)+1;w=aDx(27)|0;do{if((w|0)==0){x=0}else{v=-(w+4|0)&15;f=w+(v+4)|0;c[w+v>>2]=w;if((f|0)==0){x=0;break}a[w+(v+8)|0]=0;c[f>>2]=19352;x=f}}while(0);c[d+68>>2]=x;c[9806]=(c[9806]|0)+1;x=aDx(35)|0;do{if((x|0)==0){y=0}else{w=-(x+4|0)&15;f=x+(w+4)|0;c[x+w>>2]=x;if((f|0)==0){y=0;break}a[x+(w+8)|0]=0;c[f>>2]=19256;c[x+(w+12)>>2]=1;c[x+(w|16)>>2]=1;y=f}}while(0);c[d+84>>2]=y;c[9806]=(c[9806]|0)+1;y=aDx(35)|0;do{if((y|0)==0){z=0}else{x=-(y+4|0)&15;f=y+(x+4)|0;c[y+x>>2]=y;if((f|0)==0){z=0;break}a[y+(x+8)|0]=0;c[f>>2]=19256;c[y+(x+12)>>2]=1;c[y+(x|16)>>2]=1;z=f}}while(0);c[d+80>>2]=z;a[z+4|0]=1;z=c[e+20>>2]|0;y=(z|0)<36?36:z;z=(y|0)>80?y:80;y=(z|0)>44?z:44;z=e|0;f=d+12|0;if((c[z>>2]|0)==0){a[f]=1;c[9806]=(c[9806]|0)+1;x=aDx(39)|0;do{if((x|0)==0){A=0}else{w=-(x+4|0)&15;v=x+(w+4)|0;c[x+w>>2]=x;if((v|0)==0){A=0;break}u=c[e+24>>2]|0;aDD(v|0,0,17);c[x+(w+12)>>2]=0;c[9806]=(c[9806]|0)+1;t=aDx(u+19|0)|0;if((t|0)==0){B=0}else{s=-(t+4|0)&15;c[t+s>>2]=t;B=t+(s+4)|0}c[v>>2]=B;c[x+(w+8)>>2]=u;A=v}}while(0);c[d+8>>2]=A}else{a[f]=0;c[d+8>>2]=c[z>>2]}z=e+4|0;f=d+20|0;if((c[z>>2]|0)==0){a[f]=1;c[9806]=(c[9806]|0)+1;A=aDx(39)|0;do{if((A|0)==0){C=0}else{x=-(A+4|0)&15;B=A+(x+4)|0;c[A+x>>2]=A;if((B|0)==0){C=0;break}v=B;u=c[e+12>>2]|0;w=B;c[w>>2]=1140;B=A+(x+8)|0;c[B>>2]=u;c[9806]=(c[9806]|0)+1;s=aDx((u*1140|0)+19|0)|0;if((s|0)==0){D=0}else{u=-(s+4|0)&15;c[s+u>>2]=s;D=s+(u+4)|0}c[A+(x+20)>>2]=D;c[A+(x|16)>>2]=D;u=c[B>>2]|0;c[A+(x+12)>>2]=u;x=u-1|0;if((x|0)==0){E=D}else{u=D;B=x;x=c[w>>2]|0;while(1){c[u>>2]=u+x;s=c[w>>2]|0;t=u+s|0;r=B-1|0;if((r|0)==0){E=t;break}else{u=t;B=r;x=s}}}c[E>>2]=0;C=v}}while(0);c[d+16>>2]=C}else{a[f]=0;c[d+16>>2]=c[z>>2]}z=e+8|0;f=d+28|0;if((c[z>>2]|0)!=0){a[f]=0;c[d+24>>2]=c[z>>2];return}a[f]=1;c[9806]=(c[9806]|0)+1;f=aDx(39)|0;do{if((f|0)==0){F=0}else{z=-(f+4|0)&15;C=f+(z+4)|0;c[f+z>>2]=f;if((C|0)==0){F=0;break}E=C;D=c[e+16>>2]|0;A=C;c[A>>2]=y;C=f+(z+8)|0;c[C>>2]=D;x=aa(D,y)|0;c[9806]=(c[9806]|0)+1;D=aDx(x+19|0)|0;if((D|0)==0){G=0}else{x=-(D+4|0)&15;c[D+x>>2]=D;G=D+(x+4)|0}c[f+(z+20)>>2]=G;c[f+(z|16)>>2]=G;x=c[C>>2]|0;c[f+(z+12)>>2]=x;z=x-1|0;if((z|0)==0){H=G}else{x=G;C=z;z=c[A>>2]|0;while(1){c[x>>2]=x+z;D=c[A>>2]|0;B=x+D|0;u=C-1|0;if((u|0)==0){H=B;break}else{x=B;C=u;z=D}}}c[H>>2]=0;F=E}}while(0);c[d+24>>2]=F;return}function aw0(a){a=a|0;axc(a);if((a|0)==0){return}aDB(a);return}function aw1(a){a=a|0;return}function aw2(a){a=a|0;return}function aw3(a){a=a|0;return}function aw4(a){a=a|0;return}function aw5(a){a=a|0;return}function aw6(a){a=a|0;return}function aw7(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=(b|0)==8;f=(d|0)==8;L3855:do{if(e&f){g=a+64|0}else{if(e&(d|0)==1){g=a+72|0;break}if((b|0)==1&f){g=a+76|0;break}if((d|b|0)==0){g=a+68|0;break}h=(b|0)<20;if(h&(d|0)==28){g=a+84|0;break}i=(d|0)<20;if(i&(b|0)==28){g=a+80|0;break}do{if(h){if(i){g=a+40|0;break L3855}if((d-21|0)>>>0>=9){break}g=a+44|0;break L3855}else{if(!i){break}if((b-21|0)>>>0>=9){break}g=a+48|0;break L3855}}while(0);if((b|0)==31){g=a+52|0;break}if((d|0)==31){g=a+56|0;break}else{g=a+60|0;break}}}while(0);return c[g>>2]|0}function aw8(a){a=a|0;return c[a+16>>2]|0}function aw9(a){a=a|0;return c[a+24>>2]|0}function axa(a){a=a|0;return c[a+8>>2]|0}function axb(a){a=a|0;return c[a+32>>2]|0}function axc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=19872;do{if((a[b+12|0]&1)!=0){d=b+8|0;e=c[d>>2]|0;f=e+8|0;do{if((c[f>>2]|0)==0){g=e|0;do{if((a[e+16|0]&1)==0){h=c[g>>2]|0;if((h|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[h-4>>2]|0)}}while(0);c[g>>2]=0;c[f>>2]=0;h=c[d>>2]|0;i=h+8|0;if((c[i>>2]|0)!=0){j=h;break}k=h|0;do{if((a[h+16|0]&1)==0){l=c[k>>2]|0;if((l|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}}while(0);c[k>>2]=0;c[i>>2]=0;j=c[d>>2]|0}else{j=e}}while(0);if((j|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[j-20+16>>2]|0)}}while(0);do{if((a[b+28|0]&1)!=0){j=b+24|0;e=c[j>>2]|0;d=c[e+16>>2]|0;if((d|0)==0){m=e}else{c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0);m=c[j>>2]|0}if((m|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[m-20+16>>2]|0)}}while(0);do{if((a[b+20|0]&1)!=0){m=b+16|0;j=c[m>>2]|0;d=c[j+16>>2]|0;if((d|0)==0){n=j}else{c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0);n=c[m>>2]|0}if((n|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[n-20+16>>2]|0)}}while(0);n=b+40|0;m=c[n>>2]|0;ct[c[c[m>>2]>>2]&2047](m);m=c[n>>2]|0;if((m|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-8+4>>2]|0)}m=b+44|0;n=c[m>>2]|0;ct[c[c[n>>2]>>2]&2047](n);n=c[m>>2]|0;if((n|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-8+4>>2]|0)}n=b+48|0;m=c[n>>2]|0;ct[c[c[m>>2]>>2]&2047](m);m=c[n>>2]|0;if((m|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-8+4>>2]|0)}m=b+52|0;n=c[m>>2]|0;ct[c[c[n>>2]>>2]&2047](n);n=c[m>>2]|0;if((n|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-8+4>>2]|0)}n=b+56|0;m=c[n>>2]|0;ct[c[c[m>>2]>>2]&2047](m);m=c[n>>2]|0;if((m|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-8+4>>2]|0)}m=b+60|0;n=c[m>>2]|0;ct[c[c[n>>2]>>2]&2047](n);n=c[m>>2]|0;if((n|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-8+4>>2]|0)}n=b+64|0;m=c[n>>2]|0;ct[c[c[m>>2]>>2]&2047](m);m=c[n>>2]|0;if((m|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-8+4>>2]|0)}m=b+72|0;n=c[m>>2]|0;ct[c[c[n>>2]>>2]&2047](n);n=c[m>>2]|0;if((n|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-8+4>>2]|0)}n=b+76|0;m=c[n>>2]|0;ct[c[c[m>>2]>>2]&2047](m);m=c[n>>2]|0;if((m|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-8+4>>2]|0)}m=b+68|0;n=c[m>>2]|0;ct[c[c[n>>2]>>2]&2047](n);n=c[m>>2]|0;if((n|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-8+4>>2]|0)}n=b+84|0;m=c[n>>2]|0;ct[c[c[m>>2]>>2]&2047](m);m=c[n>>2]|0;if((m|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-8+4>>2]|0)}m=b+80|0;n=c[m>>2]|0;ct[c[c[n>>2]>>2]&2047](n);n=c[m>>2]|0;if((n|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-8+4>>2]|0)}n=c[b+32>>2]|0;if((n|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-360+356>>2]|0)}n=b+36|0;b=c[n>>2]|0;ct[c[c[b>>2]>>2]&2047](b);b=c[n>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0);return}function axd(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axe(b,d,e,f){b=b|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;g=d|0;d=c[g>>2]|0;h=dj[c[(c[d>>2]|0)+56>>2]&511](d,28)|0;d=(h|0)==0;if((a[b+4|0]&1)==0){if(d){i=0;j=i|0;return j|0}k=h;l=c[b+8>>2]|0;m=c[b+12>>2]|0;n=h;c[n>>2]=22536;o=c[g>>2]|0;p=h+4|0;c[p>>2]=o;c[n>>2]=19920;n=h+8|0;a[n]=0;q=h+12|0;c[q>>2]=0;a[h+16|0]=0;c[h+20>>2]=l;c[h+24>>2]=m;if(!(cS[c[(c[o>>2]|0)+24>>2]&511](o,e,f)|0)){i=k;j=i|0;return j|0}o=c[p>>2]|0;c[q>>2]=cS[c[(c[o>>2]|0)+12>>2]&511](o,e,f)|0;a[n]=1;i=k;j=i|0;return j|0}else{if(d){i=0;j=i|0;return j|0}d=h;k=c[b+8>>2]|0;n=c[b+12>>2]|0;b=h;c[b>>2]=22536;o=c[g>>2]|0;g=h+4|0;c[g>>2]=o;c[b>>2]=19920;b=h+8|0;a[b]=0;q=h+12|0;c[q>>2]=0;a[h+16|0]=1;c[h+20>>2]=k;c[h+24>>2]=n;if(!(cS[c[(c[o>>2]|0)+24>>2]&511](o,f,e)|0)){i=d;j=i|0;return j|0}o=c[g>>2]|0;c[q>>2]=cS[c[(c[o>>2]|0)+12>>2]&511](o,f,e)|0;a[b]=1;i=d;j=i|0;return j|0}return 0}function axf(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;b=d|0;d=c[b>>2]|0;g=dj[c[(c[d>>2]|0)+56>>2]&511](d,16)|0;if((g|0)==0){h=0;i=h|0;return i|0}d=g;j=g;c[j>>2]=22536;k=c[b>>2]|0;b=g+4|0;c[b>>2]=k;c[j>>2]=20448;j=g+8|0;a[j]=0;l=g+12|0;c[l>>2]=0;if(!(cS[c[(c[k>>2]|0)+24>>2]&511](k,e,f)|0)){h=d;i=h|0;return i|0}k=c[b>>2]|0;c[l>>2]=cS[c[(c[k>>2]|0)+12>>2]&511](k,e,f)|0;a[j]=1;h=d;i=h|0;return i|0}function axh(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axi(b,d,e,f){b=b|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;g=d|0;h=c[g>>2]|0;i=dj[c[(c[h>>2]|0)+56>>2]&511](h,20)|0;if((i|0)==0){j=0;k=j|0;return k|0}h=i;l=c[d+4>>2]|0;d=a[b+4|0]&1;b=i;c[b>>2]=22536;m=c[g>>2]|0;c[i+4>>2]=m;c[b>>2]=19688;b=i+8|0;a[b]=0;g=i+12|0;c[g>>2]=l;a[i+16|0]=d;if((l|0)!=0){j=h;k=j|0;return k|0}c[g>>2]=cS[c[(c[m>>2]|0)+12>>2]&511](m,e,f)|0;a[b]=1;j=h;k=j|0;return k|0}function axj(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;b=d|0;d=c[b>>2]|0;g=dj[c[(c[d>>2]|0)+56>>2]&511](d,16)|0;if((g|0)==0){h=0;i=h|0;return i|0}d=g;c[d>>2]=22536;j=c[b>>2]|0;c[g+4>>2]=j;c[d>>2]=19832;d=g+8|0;a[d]=0;b=g+12|0;c[b>>2]=0;c[b>>2]=cS[c[(c[j>>2]|0)+12>>2]&511](j,e,f)|0;a[d]=1;h=g;i=h|0;return i|0}function axl(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;e=b|0;b=c[e>>2]|0;d=dj[c[(c[b>>2]|0)+56>>2]&511](b,8)|0;if((d|0)==0){f=0;g=f|0;return g|0}b=d;c[b>>2]=22536;c[d+4>>2]=c[e>>2];c[b>>2]=24040;f=d;g=f|0;return g|0}function axn(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axo(a){a=a|0;return}function axp(a){a=a|0;return}function axq(a){a=a|0;return}function axr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function axs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+1.0}function axt(a){a=a|0;return}function axu(a,b){a=a|0;b=b|0;return}function axv(a){a=a|0;return}function axw(a,b,c){a=a|0;b=+b;c=c|0;return}function axx(a){a=a|0;return 16568|0}function axy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function axz(a){a=a|0;return a+16|0}function axA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;e=c[b>>2]|0;b=a+260|0;d=c[b>>2]|0;f=a+268|0;a=0;while(1){if((a|0)>=(d|0)){g=3368;break}h=c[f>>2]|0;i=h+(a<<2)|0;if((c[i>>2]|0)==(e|0)){break}else{a=a+1|0}}if((g|0)==3368){return}c[i>>2]=c[h+(d-1<<2)>>2];c[b>>2]=(c[b>>2]|0)-1;return}function axB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;b=d|0;g=c[b>>2]|0;h=dj[c[(c[g>>2]|0)+56>>2]&511](g,44)|0;if((h|0)==0){i=0;j=i|0;return j|0}g=h;k=h;c[k>>2]=22536;c[h+4>>2]=c[b>>2];c[k>>2]=20296;a[h+24|0]=1;c[h+20>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[h+28|0]=1;c[h+32>>2]=c[d+4>>2];a[h+36|0]=0;c[h+40>>2]=c[(c[f+192>>2]|0)+68>>2];aCa(g,e,f);i=g;j=i|0;return j|0}function axC(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;b=d|0;g=c[b>>2]|0;h=dj[c[(c[g>>2]|0)+56>>2]&511](g,44)|0;if((h|0)==0){i=0;j=i|0;return j|0}g=h;k=h;c[k>>2]=22536;c[h+4>>2]=c[b>>2];c[k>>2]=20296;a[h+24|0]=1;c[h+20>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;a[h+28|0]=0;c[h+32>>2]=c[d+4>>2];a[h+36|0]=0;c[h+40>>2]=c[(c[e+192>>2]|0)+68>>2];aCa(g,e,f);i=g;j=i|0;return j|0}function axE(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axF(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;b=d|0;d=c[b>>2]|0;g=dj[c[(c[d>>2]|0)+56>>2]&511](d,80)|0;if((g|0)==0){h=0;i=h|0;return i|0}d=g;c[d>>2]=22536;c[g+4>>2]=c[b>>2];c[d>>2]=19792;a[g+8|0]=1;d=c[b>>2]|0;c[g+12>>2]=21136;b=g+60|0;c[b>>2]=d;c[g+64>>2]=0;c[g+16>>2]=f;c[g+20>>2]=e;j=cS[c[(c[d>>2]|0)+12>>2]&511](d,f,e)|0;c[g+76>>2]=j;e=c[b>>2]|0;cv[c[(c[e>>2]|0)+20>>2]&2047](e,j);h=g;i=h|0;return i|0}function axG(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;b=d|0;d=c[b>>2]|0;g=dj[c[(c[d>>2]|0)+56>>2]&511](d,80)|0;if((g|0)==0){h=0;i=h|0;return i|0}d=g;c[d>>2]=22536;c[g+4>>2]=c[b>>2];c[d>>2]=19792;a[g+8|0]=0;d=c[b>>2]|0;c[g+12>>2]=21136;b=g+60|0;c[b>>2]=d;c[g+64>>2]=0;c[g+16>>2]=e;c[g+20>>2]=f;j=cS[c[(c[d>>2]|0)+12>>2]&511](d,e,f)|0;c[g+76>>2]=j;f=c[b>>2]|0;cv[c[(c[f>>2]|0)+20>>2]&2047](f,j);h=g;i=h|0;return i|0}function axI(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axJ(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;f=a|0;h=a;i=+dh[c[(c[h>>2]|0)+44>>2]&1023](f);j=+dh[c[(c[h>>2]|0)+44>>2]&1023](f);k=+dh[c[(c[h>>2]|0)+44>>2]&1023](f);f=b+48|0;h=b+52|0;l=+g[h>>2]-j;a=b+56|0;m=+g[a>>2]-k;g[d>>2]=+g[f>>2]-i;g[d+4>>2]=l;g[d+8>>2]=m;g[d+12>>2]=0.0;m=j+ +g[h>>2];j=k+ +g[a>>2];g[e>>2]=i+ +g[f>>2];g[e+4>>2]=m;g[e+8>>2]=j;g[e+12>>2]=0.0;return}function axL(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function axM(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=25632;d=b+260|0;e=b+268|0;f=c[e>>2]|0;g=b+272|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+264>>2]=0}else{if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+264>>2]=0}c[9804]=(c[9804]|0)+1;aDB(c[b-276+272>>2]|0);return}function axN(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=25632;d=b+260|0;e=b+268|0;f=c[e>>2]|0;g=b+272|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+264>>2]=0;return}function axO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[d>>2]|0;d=b+260|0;f=c[d>>2]|0;g=b+268|0;h=0;while(1){if((h|0)>=(f|0)){break}if((c[(c[g>>2]|0)+(h<<2)>>2]|0)==(e|0)){i=3440;break}else{h=h+1|0}}do{if((i|0)==3440){if((h|0)==(f|0)){break}return}}while(0);h=b+264|0;do{if((f|0)==(c[h>>2]|0)){i=(f|0)==0?1:f<<1;if((f|0)>=(i|0)){j=f;break}if((i|0)==0){k=0;l=f}else{c[9806]=(c[9806]|0)+1;m=aDx((i<<2)+19|0)|0;if((m|0)==0){n=0}else{o=-(m+4|0)&15;c[m+o>>2]=m;n=m+(o+4)|0}k=n;l=c[d>>2]|0}if((l|0)>0){o=0;do{m=k+(o<<2)|0;if((m|0)!=0){c[m>>2]=c[(c[g>>2]|0)+(o<<2)>>2]}o=o+1|0;}while((o|0)<(l|0))}o=c[g>>2]|0;m=b+272|0;if((o|0)!=0){if((a[m]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[o-4>>2]|0)}c[g>>2]=0}a[m]=1;c[g>>2]=k;c[h>>2]=i;j=c[d>>2]|0}else{j=f}}while(0);f=(c[g>>2]|0)+(j<<2)|0;if((f|0)==0){p=j}else{c[f>>2]=e;p=c[d>>2]|0}c[d>>2]=p+1;return}function axP(a){a=a|0;axQ(a);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-280+276>>2]|0);return}function axQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b|0;c[d>>2]=21080;e=b+276|0;f=c[e>>2]|0;ct[c[c[f>>2]>>2]&2047](f);f=c[e>>2]|0;if((f|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-76+72>>2]|0)}c[d>>2]=25632;d=b+260|0;f=b+268|0;e=c[f>>2]|0;g=b+272|0;if((e|0)==0){a[g]=1;c[f>>2]=0;c[d>>2]=0;h=b+264|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-4>>2]|0)}c[f>>2]=0;a[g]=1;c[f>>2]=0;c[d>>2]=0;h=b+264|0;c[h>>2]=0;return}function axR(b,d,e){b=b|0;d=d|0;e=e|0;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;if((e|0)==0){f=c[b+188>>2]|0}else{f=e}e=c[d>>2]|0;g=b+260|0;h=c[g>>2]|0;i=b+268|0;j=0;while(1){if((j|0)>=(h|0)){break}if((c[(c[i>>2]|0)+(j<<2)>>2]|0)==(e|0)){k=3491;break}else{j=j+1|0}}do{if((k|0)==3491){if((j|0)==(h|0)){break}return}}while(0);j=b+264|0;do{if((h|0)==(c[j>>2]|0)){k=(h|0)==0?1:h<<1;if((h|0)>=(k|0)){l=h;break}if((k|0)==0){m=0;n=h}else{c[9806]=(c[9806]|0)+1;o=aDx((k<<2)+19|0)|0;if((o|0)==0){p=0}else{q=-(o+4|0)&15;c[o+q>>2]=o;p=o+(q+4)|0}m=p;n=c[g>>2]|0}if((n|0)>0){q=0;do{o=m+(q<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[i>>2]|0)+(q<<2)>>2]}q=q+1|0;}while((q|0)<(n|0))}q=c[i>>2]|0;o=b+272|0;if((q|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[q-4>>2]|0)}c[i>>2]=0}a[o]=1;c[i>>2]=m;c[j>>2]=k;l=c[g>>2]|0}else{l=h}}while(0);h=(c[i>>2]|0)+(l<<2)|0;if((h|0)==0){r=l}else{c[h>>2]=e;r=c[g>>2]|0}c[g>>2]=r+1;r=c[b+276>>2]|0;cS[c[(c[r>>2]|0)+8>>2]&511](r,f,d)|0;return}function axS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[b>>2]|0;if((e|0)==0){g=c[a+188>>2]|0}else{g=e}e=a+260|0;h=c[e>>2]|0;i=a+268|0;j=0;while(1){if((j|0)>=(h|0)){k=3520;break}l=c[i>>2]|0;m=l+(j<<2)|0;if((c[m>>2]|0)==(f|0)){break}else{j=j+1|0}}if((k|0)==3520){return}c[m>>2]=c[l+(h-1<<2)>>2];c[e>>2]=(c[e>>2]|0)-1;e=c[a+276>>2]|0;dE[c[(c[e>>2]|0)+12>>2]&127](e,g,b,d)|0;return}function axT(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var 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,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.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.0,Z=0,_=0,$=0,aa=0.0,ab=0.0,ac=0.0,ad=0,ae=0.0,af=0.0,ag=0.0,ah=0.0;j=i;i=i+328|0;k=j|0;l=j+16|0;m=j+24|0;n=j+88|0;o=j+152|0;p=j+168|0;q=j+184|0;r=j+200|0;s=j+216|0;t=j+280|0;u=j+296|0;v=j+312|0;w=m;x=d;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];x=m+16|0;w=d+16|0;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];w=m+32|0;x=d+32|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];x=d+48|0;w=m+48|0;y=x;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];y=n;w=e;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];w=n+16|0;y=e+16|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];y=n+32|0;w=e+32|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];w=e+48|0;y=n+48|0;z=w;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];A=+g[n+52>>2]- +g[m+52>>2];B=+g[n+56>>2]- +g[m+56>>2];g[q>>2]=+g[n+48>>2]- +g[m+48>>2];g[q+4>>2]=A;g[q+8>>2]=B;g[q+12>>2]=0.0;an6(m,n,k,l);B=+g[l>>2];A=B*+g[k+4>>2];C=B*+g[k+8>>2];g[r>>2]=+g[k>>2]*B;g[r+4>>2]=A;g[r+8>>2]=C;g[r+12>>2]=0.0;k=s+4|0;l=k;c[l>>2]=0;c[l+4>>2]=0;l=s+24|0;z=l;c[z>>2]=0;c[z+4>>2]=0;z=s+44|0;aDD(z|0,0,20);ec(m|0,t);C=+g[t>>2];A=+g[t+4>>2];B=+g[t+8>>2];D=+g[t+12>>2];E=2.0/(C*C+A*A+B*B+D*D);F=C*E;G=A*E;H=B*E;E=D*F;I=D*G;J=D*H;D=C*F;F=C*G;K=C*H;C=A*G;G=A*H;A=B*H;g[s>>2]=1.0-(C+A);g[k>>2]=F-J;g[s+8>>2]=K+I;g[s+12>>2]=0.0;g[s+16>>2]=F+J;g[s+20>>2]=1.0-(D+A);g[l>>2]=G-E;g[s+28>>2]=0.0;g[s+32>>2]=K-I;g[s+36>>2]=G+E;g[s+40>>2]=1.0-(D+C);g[z>>2]=0.0;atv(b|0,s,q,r,1.0,o,p);r=a+260|0;if((c[r>>2]|0)<=0){i=j;return}q=a+268|0;a=f;s=u|0;z=o|0;l=u+4|0;k=o+4|0;t=u+8|0;y=o+8|0;o=u+12|0;L=v|0;M=p|0;N=v+4|0;O=p+4|0;P=v+8|0;Q=p+8|0;p=v+12|0;R=x|0;x=d+52|0;S=d+56|0;d=w|0;w=e+52|0;T=e+56|0;e=0;do{U=c[(c[q>>2]|0)+(e<<2)>>2]|0;do{if(dj[c[(c[a>>2]|0)+8>>2]&511](f,c[U+188>>2]|0)|0){V=U+192|0;W=c[V>>2]|0;X=U+4|0;dI[c[(c[W>>2]|0)+8>>2]&1023](W,X,u,v);C=+g[s>>2]+ +g[z>>2];D=+g[l>>2]+ +g[k>>2];E=+g[t>>2]+ +g[y>>2];g[s>>2]=C;g[l>>2]=D;g[t>>2]=E;g[o>>2]=0.0;G=+g[L>>2]+ +g[M>>2];I=+g[N>>2]+ +g[O>>2];K=+g[P>>2]+ +g[Q>>2];g[L>>2]=G;g[N>>2]=I;g[P>>2]=K;g[p>>2]=0.0;A=(G-C)*.5;J=(I-D)*.5;F=(K-E)*.5;H=(G+C)*.5;C=(I+D)*.5;D=(K+E)*.5;E=+g[R>>2]-H;K=+g[x>>2]-C;I=+g[S>>2]-D;G=+g[d>>2]-H;H=+g[w>>2]-C;C=+g[T>>2]-D;D=-0.0-A;B=-0.0-J;Y=-0.0-F;W=EA?8:0)|(K>J?16:0)|(KF?32:0)|(IA?8:0)|(H>J?16:0)|(HF?32:0)|(C=I){aa=B;ab=I;break}aa=B;ab=ac}else{ac=(C-D*A)/Y;if(B>ac){aa=B;ab=I;break}aa=ac;ab=I}}while(0);ad=_<<1;do{if((ad&W|0)==0){if((ad&Z|0)==0){ae=aa;af=ab;break}ac=(E-D*J)/G;if(ac>=ab){ae=aa;af=ab;break}ae=aa;af=ac}else{ac=(E-D*J)/G;if(aa>ac){ae=aa;af=ab;break}ae=ac;af=ab}}while(0);ad=_<<2;do{if((ad&W|0)==0){if((ad&Z|0)==0){ag=ae;ah=af;break}ac=(K-D*F)/H;if(ac>=af){ag=ae;ah=af;break}ag=ae;ah=ac}else{ac=(K-D*F)/H;if(ae>ac){ag=ae;ah=af;break}ag=ac;ah=af}}while(0);ad=$+1|0;if((ad|0)<2){I=ah;B=ag;D=-1.0;_=_<<3;$=ad}else{break}}if(ag>ah){break}atI(b,m,n,U,c[V>>2]|0,X,f,h)}}while(0);e=e+1|0;}while((e|0)<(c[r>>2]|0));i=j;return} +function axU(b,e,f,h,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0.0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0,P=0,R=0.0,S=0,T=0.0,U=0,V=0.0,W=0,X=0.0,Y=0,Z=0.0,_=0,$=0.0,aa=0.0,ab=0,ac=0.0,ad=0,ae=0.0,af=0,ag=0.0,ah=0.0,ai=0,aj=0.0,ak=0,al=0.0,am=0,an=0.0,ao=0.0,ap=0,aq=0,ar=0.0,as=0.0,at=0.0,au=0,av=0,aw=0,ax=0.0,ay=0.0,az=0.0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0.0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0.0,a9=0.0,ba=0.0,bb=0.0,bc=0.0,bd=0.0,be=0,bf=0,bg=0,bh=0,bi=0,bj=0,bk=0.0,bl=0.0,bm=0.0,bn=0.0,bo=0.0,bp=0,bq=0,br=0.0,bs=0.0,bt=0.0,bu=0.0,bv=0.0,bw=0.0,bx=0.0,by=0.0,bz=0.0,bA=0.0,bB=0.0,bC=0.0,bD=0.0,bE=0,bF=0.0,bG=0.0,bH=0.0,bI=0,bJ=0.0,bK=0.0,bL=0.0,bM=0,bN=0.0,bO=0.0,bP=0.0,bQ=0.0,bR=0.0,bS=0.0,bT=0,bU=0;p=i;i=i+10944|0;o=p|0;e=p+16|0;b=p+32|0;q=p+160|0;r=p+544|0;s=p+560|0;t=p+576|0;u=p+704|0;v=p+1088|0;w=p+1104|0;x=p+10912|0;y=p+10928|0;z=j+48|0;A=+g[z>>2];B=k+48|0;C=+g[B>>2];D=A-C;E=j+52|0;F=+g[E>>2];G=k+52|0;H=+g[G>>2];I=F-H;J=j+56|0;K=+g[J>>2];L=k+56|0;M=+g[L>>2];N=K-M;g[y>>2]=D;g[y+4>>2]=I;g[y+8>>2]=N;g[y+12>>2]=0.0;O=t|0;c[O>>2]=f;c[t+4>>2]=h;P=k|0;R=+g[P>>2];S=j|0;T=+g[S>>2];U=k+16|0;V=+g[U>>2];W=j+16|0;X=+g[W>>2];Y=k+32|0;Z=+g[Y>>2];_=j+32|0;$=+g[_>>2];aa=R*T+V*X+Z*$;ab=j+4|0;ac=+g[ab>>2];ad=j+20|0;ae=+g[ad>>2];af=j+36|0;ag=+g[af>>2];ah=R*ac+V*ae+Z*ag;ai=j+8|0;aj=+g[ai>>2];ak=j+24|0;al=+g[ak>>2];am=j+40|0;an=+g[am>>2];ao=R*aj+V*al+Z*an;j=k+4|0;Z=+g[j>>2];ap=k+20|0;V=+g[ap>>2];aq=k+36|0;R=+g[aq>>2];ar=T*Z+X*V+$*R;as=ac*Z+ae*V+ag*R;at=aj*Z+al*V+an*R;au=k+8|0;R=+g[au>>2];av=k+24|0;V=+g[av>>2];aw=k+40|0;Z=+g[aw>>2];ax=T*R+X*V+$*Z;ay=ac*R+ae*V+ag*Z;az=aj*R+al*V+an*Z;g[t+8>>2]=aa;g[t+12>>2]=ah;g[t+16>>2]=ao;g[t+20>>2]=0.0;g[t+24>>2]=ar;g[t+28>>2]=as;g[t+32>>2]=at;g[t+36>>2]=0.0;g[t+40>>2]=ax;g[t+44>>2]=ay;g[t+48>>2]=az;g[t+52>>2]=0.0;Z=C-A;A=H-F;F=M-K;g[t+56>>2]=aa;g[t+60>>2]=ar;g[t+64>>2]=ax;g[t+68>>2]=0.0;g[t+72>>2]=ah;g[t+76>>2]=as;g[t+80>>2]=ay;g[t+84>>2]=0.0;g[t+88>>2]=ao;g[t+92>>2]=at;g[t+96>>2]=az;g[t+100>>2]=0.0;g[t+104>>2]=Z*T+A*X+F*$;g[t+108>>2]=Z*ac+A*ae+F*ag;g[t+112>>2]=Z*aj+A*al+F*an;g[t+116>>2]=0.0;k=t+120|0;c[k>>2]=116;aA=t+124|0;c[aA>>2]=0;c[u+364>>2]=0;aDD(u+128|0,0,16);c[u+376>>2]=2;c[u+368>>2]=0;g[u+144>>2]=0.0;g[v>>2]=-0.0-D;g[v+4>>2]=-0.0-I;g[v+8>>2]=-0.0-N;g[v+12>>2]=0.0;L4263:do{if((aCX(u,t,v)|0)==1){aB=w+9792|0;aC=w+9800|0;aD=w+9804|0;aE=w|0;aDD(aB|0,0,16);c[aE>>2]=9;aF=w+40|0;aG=w+9788|0;c[aG>>2]=0;aDD(aF|0,0,20);aH=0;do{aI=128-aH-1|0;aJ=w+2108+(aI*60|0)|0;c[w+2108+(aI*60|0)+48>>2]=0;c[w+2108+(aI*60|0)+52>>2]=c[aC>>2];aI=c[aC>>2]|0;if((aI|0)!=0){c[aI+48>>2]=aJ}c[aC>>2]=aJ;c[aD>>2]=(c[aD>>2]|0)+1;aH=aH+1|0;}while(aH>>>0<128);aH=c[u+372>>2]|0;do{if((c[aH+32>>2]|0)>>>0>1){if(!(aCY(u)|0)){aK=3601;break}aJ=c[aB>>2]|0;if((aJ|0)!=0){aI=w+9796|0;aL=aJ;do{aJ=aL+52|0;aM=c[aJ>>2]|0;aN=aL+48|0;if((aM|0)!=0){c[aM+48>>2]=c[aN>>2]}aM=c[aN>>2]|0;if((aM|0)!=0){c[aM+52>>2]=c[aJ>>2]}if((c[aB>>2]|0)==(aL|0)){c[aB>>2]=c[aJ>>2]}c[aI>>2]=(c[aI>>2]|0)-1;c[aN>>2]=0;c[aJ>>2]=c[aC>>2];aJ=c[aC>>2]|0;if((aJ|0)!=0){c[aJ+48>>2]=aL}c[aC>>2]=aL;c[aD>>2]=(c[aD>>2]|0)+1;aL=c[aB>>2]|0;}while((aL|0)!=0)}c[aE>>2]=0;c[aG>>2]=0;aL=aH|0;aI=c[aL>>2]|0;aJ=aH+12|0;aN=c[aJ>>2]|0;an=+g[aN+16>>2];F=+g[aI+16>>2]-an;al=+g[aN+20>>2];A=+g[aI+20>>2]-al;aj=+g[aN+24>>2];Z=+g[aI+24>>2]-aj;aN=aH+4|0;aM=c[aN>>2]|0;ag=+g[aM+16>>2]-an;ae=+g[aM+20>>2]-al;ac=+g[aM+24>>2]-aj;aO=aH+8|0;aP=c[aO>>2]|0;$=+g[aP+16>>2]-an;an=+g[aP+20>>2]-al;al=+g[aP+24>>2]-aj;if(F*ae*al+(A*ac*$+Z*ag*an-F*ac*an-A*ag*al)-Z*ae*$<0.0){c[aL>>2]=aM;c[aN>>2]=aI;aQ=aH+16|0;aR=aH+20|0;$=+g[aQ>>2];g[aQ>>2]=+g[aR>>2];g[aR>>2]=$;aS=aM;aT=aI}else{aS=aI;aT=aM}aM=aCZ(w,aS,aT,aP,1)|0;aP=aCZ(w,c[aN>>2]|0,c[aL>>2]|0,c[aJ>>2]|0,1)|0;aI=aCZ(w,c[aO>>2]|0,c[aN>>2]|0,c[aJ>>2]|0,1)|0;aN=aCZ(w,c[aL>>2]|0,c[aO>>2]|0,c[aJ>>2]|0,1)|0;aJ=w+9796|0;if((c[aJ>>2]|0)!=4){aK=3601;break}aO=c[aB>>2]|0;$=+g[aO+16>>2];aL=c[aO+52>>2]|0;if((aL|0)==0){aU=aO;aV=$}else{ae=$*$;$=+g[aO+20>>2];aR=aO;aO=aL;while(1){Z=+g[aO+16>>2];al=Z*Z;Z=+g[aO+20>>2];aL=Z>=$&al>2]|0;if((aQ|0)==0){break}else{ae=aL?al:ae;$=aL?Z:$;aR=aW;aO=aQ}}aU=aW;aV=+g[aW+16>>2]}$=+g[aU>>2];ae=+g[aU+4>>2];Z=+g[aU+8>>2];al=+g[aU+12>>2];ag=+g[aU+20>>2];aO=c[aU+24>>2]|0;aR=c[aU+28>>2]|0;aQ=c[aU+32>>2]|0;a[aM+56|0]=0;c[aM+36>>2]=aP;a[aP+56|0]=0;c[aP+36>>2]=aM;a[aM+57|0]=0;c[aM+40>>2]=aI;a[aI+56|0]=1;c[aI+36>>2]=aM;a[aM+58|0]=0;c[aM+44>>2]=aN;a[aN+56|0]=2;c[aN+36>>2]=aM;a[aP+57|0]=2;c[aP+40>>2]=aN;a[aN+58|0]=1;c[aN+44>>2]=aP;a[aP+58|0]=1;c[aP+44>>2]=aI;a[aI+57|0]=2;c[aI+40>>2]=aP;a[aI+58|0]=1;c[aI+44>>2]=aN;a[aN+57|0]=2;c[aN+40>>2]=aI;c[aE>>2]=0;aL=s|0;aX=s+4|0;aY=s+8|0;aZ=aQ;aQ=aR;aR=aO;A=ag;ag=aV;an=al;al=Z;Z=ae;ae=$;aO=0;a_=1;a$=aU;while(1){a0=c[aG>>2]|0;if(a0>>>0>=64){aK=3598;break}c[aL>>2]=0;c[aX>>2]=0;c[aY>>2]=0;c[aG>>2]=a0+1;a1=w+60+(a0<<5)|0;a[a$+59|0]=a_&255;a2=a$|0;a3=a$+4|0;a4=a$+8|0;aC_(u,+g[a2>>2],+g[a3>>2],+g[a4>>2],a1);if(+g[a2>>2]*+g[w+60+(a0<<5)+16>>2]+ +g[a3>>2]*+g[w+60+(a0<<5)+20>>2]+ +g[a4>>2]*+g[w+60+(a0<<5)+24>>2]- +g[a$+16>>2]>9999999747378752.0e-20){a5=1;a6=0}else{aK=3597;break}do{a5=a5&(aC0(w,a_,a1,c[a$+36+(a6<<2)>>2]|0,d[a$+56+a6|0]|0,s)|0);a6=a6+1|0;}while(!(a6>>>0>2|a5^1));if(!a5){aK=3596;break}if((c[aY>>2]|0)>>>0<=2){aK=3596;break}a1=c[aL>>2]|0;a0=c[aX>>2]|0;a[a1+57|0]=2;c[a1+40>>2]=a0;a[a0+58|0]=1;c[a0+44>>2]=a1;a1=a$+52|0;a0=c[a1>>2]|0;a4=a$+48|0;if((a0|0)!=0){c[a0+48>>2]=c[a4>>2]}a0=c[a4>>2]|0;if((a0|0)!=0){c[a0+52>>2]=c[a1>>2]}if((c[aB>>2]|0)==(a$|0)){c[aB>>2]=c[a1>>2]}c[aJ>>2]=(c[aJ>>2]|0)-1;c[a4>>2]=0;c[a1>>2]=c[aC>>2];a1=c[aC>>2]|0;if((a1|0)!=0){c[a1+48>>2]=a$}c[aC>>2]=a$;c[aD>>2]=(c[aD>>2]|0)+1;a1=c[aB>>2]|0;$=+g[a1+16>>2];a4=c[a1+52>>2]|0;if((a4|0)==0){a7=a1}else{ac=$*$;$=+g[a1+20>>2];a0=a1;a1=a4;while(1){F=+g[a1+16>>2];aj=F*F;F=+g[a1+20>>2];a4=F>=$&aj>2]|0;if((a2|0)==0){a7=a3;break}else{ac=a4?aj:ac;$=a4?F:$;a0=a3;a1=a2}}}$=+g[a7+20>>2];if($>2];a9=+g[a7+4>>2];ba=+g[a7+8>>2];bb=+g[a7+12>>2];bc=+g[a7+16>>2];bd=$;be=c[a7+24>>2]|0;bf=c[a7+28>>2]|0;bg=c[a7+32>>2]|0}a1=aO+1|0;if(a1>>>0<255){aZ=bg;aQ=bf;aR=be;A=bd;ag=bc;an=bb;al=ba;Z=a9;ae=a8;aO=a1;a_=a_+1|0;a$=a7}else{aK=3600;break}}if((aK|0)==3600){bh=bg;bi=bf;bj=be;bk=bc;bl=bb;bm=ba;bn=a9;bo=a8;bp=(c[aE>>2]|0)==9}else if((aK|0)==3596){c[aE>>2]=4;bh=aZ;bi=aQ;bj=aR;bk=ag;bl=an;bm=al;bn=Z;bo=ae;bp=0}else if((aK|0)==3597){c[aE>>2]=7;bh=aZ;bi=aQ;bj=aR;bk=ag;bl=an;bm=al;bn=Z;bo=ae;bp=0}else if((aK|0)==3598){c[aE>>2]=6;bh=aZ;bi=aQ;bj=aR;bk=ag;bl=an;bm=al;bn=Z;bo=ae;bp=0}A=bk*bo;$=bk*bn;ac=bk*bm;g[aF>>2]=bo;g[w+44>>2]=bn;g[w+48>>2]=bm;g[w+52>>2]=bl;g[w+56>>2]=bk;c[w+36>>2]=3;c[w+4>>2]=bj;c[w+8>>2]=bi;c[w+12>>2]=bh;a$=bi+16|0;F=+g[a$>>2]-A;a_=bi+20|0;aj=+g[a_>>2]-$;aO=bi+24|0;X=+g[aO>>2]-ac;aJ=bh+16|0;T=+g[aJ>>2]-A;aX=bh+20|0;az=+g[aX>>2]-$;aL=bh+24|0;at=+g[aL>>2]-ac;ao=aj*at-X*az;ay=X*T-F*at;at=F*az-aj*T;T=+Q(+(at*at+(ao*ao+ay*ay)));aY=w+20|0;g[aY>>2]=T;ay=+g[aJ>>2]-A;ao=+g[aX>>2]-$;at=+g[aL>>2]-ac;aL=bj+16|0;aj=+g[aL>>2]-A;aX=bj+20|0;az=+g[aX>>2]-$;aJ=bj+24|0;F=+g[aJ>>2]-ac;X=ao*F-at*az;as=at*aj-ay*F;F=ay*az-ao*aj;aj=+Q(+(F*F+(X*X+as*as)));aI=w+24|0;g[aI>>2]=aj;as=+g[aL>>2]-A;X=+g[aX>>2]-$;F=+g[aJ>>2]-ac;ao=+g[a$>>2]-A;A=+g[a_>>2]-$;$=+g[aO>>2]-ac;ac=X*$-F*A;az=F*ao-as*$;$=as*A-X*ao;ao=+Q(+($*$+(ac*ac+az*az)));az=ao+(T+aj);g[aY>>2]=T/az;g[aI>>2]=aj/az;g[w+28>>2]=ao/az;if(bp){bq=0;br=0.0;bs=0.0;bt=0.0;bu=0.0;bv=0.0;bw=0.0;bx=0.0;by=0.0;bz=0.0;break L4263}else{bA=bo;bB=bk;bC=bn;bD=bm;bE=bj}}else{aK=3601}}while(0);if((aK|0)==3601){c[aE>>2]=8;g[aF>>2]=D;aB=w+44|0;g[aB>>2]=I;aD=w+48|0;g[aD>>2]=N;aC=w+52|0;g[aC>>2]=0.0;az=+Q(+(D*D+I*I+N*N));if(az>0.0){ao=1.0/az;bF=ao*N;bG=ao*I;bH=ao*D}else{bF=0.0;bG=0.0;bH=1.0}g[aF>>2]=bH;g[aB>>2]=bG;g[aD>>2]=bF;g[aC>>2]=0.0;g[w+56>>2]=0.0;c[w+36>>2]=1;aC=c[aH>>2]|0;c[w+4>>2]=aC;g[w+20>>2]=1.0;bA=bH;bB=0.0;bC=bG;bD=bF;bE=aC}aC=w+36|0;aD=x|0;aB=x+4|0;aG=x+8|0;ao=0.0;az=0.0;aj=0.0;aI=0;aY=bE;while(1){aO=c[k>>2]|0;a_=(c[O>>2]|0)+(c[aA>>2]|0)|0;if((aO&1|0)==0){bI=aO}else{bI=c[(c[a_>>2]|0)+(aO-1)>>2]|0}dA[bI&511](x,a_,aY|0);T=+g[w+20+(aI<<2)>>2];bJ=aj+ +g[aD>>2]*T;bK=az+T*+g[aB>>2];bL=ao+T*+g[aG>>2];a_=aI+1|0;if(a_>>>0>=(c[aC>>2]|0)>>>0){break}ao=bL;az=bK;aj=bJ;aI=a_;aY=c[w+4+(a_<<2)>>2]|0}aj=+g[aF>>2];az=+g[w+56>>2];ao=+g[w+44>>2];T=+g[w+48>>2];ac=+g[S>>2];$=+g[ab>>2];X=+g[ai>>2];A=+g[z>>2];as=+g[W>>2];F=+g[ad>>2];ay=+g[ak>>2];at=+g[E>>2];ah=+g[_>>2];ax=+g[af>>2];ar=+g[am>>2];aa=+g[J>>2];K=bJ-aj*az;M=bK-az*ao;H=bL-az*T;bq=1;br=-0.0-aj;bs=-0.0-ao;bt=-0.0-T;bu=A+(K*ac+M*$+H*X);bv=at+(K*as+M*F+H*ay);bw=aa+(K*ah+M*ax+H*ar);bx=A+(bJ*ac+bK*$+bL*X);by=at+(bJ*as+bK*F+bL*ay);bz=aa+(bJ*ah+bK*ax+bL*ar)}else{bq=0;br=0.0;bs=0.0;bt=0.0;bu=0.0;bv=0.0;bw=0.0;bx=0.0;by=0.0;bz=0.0}}while(0);if(bq){g[m>>2]=bx;g[m+4>>2]=by;g[m+8>>2]=bz;g[m+12>>2]=0.0;g[n>>2]=bu;g[n+4>>2]=bv;g[n+8>>2]=bw;g[n+12>>2]=0.0;g[l>>2]=br;g[l+4>>2]=bs;g[l+8>>2]=bt;g[l+12>>2]=0.0;bM=1;i=p;return bM|0}bq=b|0;c[bq>>2]=f;f=b+4|0;c[f>>2]=h;bt=+g[P>>2];bs=+g[S>>2];br=+g[U>>2];bw=+g[W>>2];bv=+g[Y>>2];bu=+g[_>>2];bz=bt*bs+br*bw+bv*bu;by=+g[ab>>2];bx=+g[ad>>2];bL=+g[af>>2];bK=bt*by+br*bx+bv*bL;bJ=+g[ai>>2];bF=+g[ak>>2];bD=+g[am>>2];bG=bt*bJ+br*bF+bv*bD;bv=+g[j>>2];br=+g[ap>>2];bt=+g[aq>>2];bC=bs*bv+bw*br+bu*bt;bB=by*bv+bx*br+bL*bt;bH=bJ*bv+bF*br+bD*bt;bt=+g[au>>2];br=+g[av>>2];bv=+g[aw>>2];bA=bs*bt+bw*br+bu*bv;D=by*bt+bx*br+bL*bv;I=bJ*bt+bF*br+bD*bv;aw=b+8|0;g[aw>>2]=bz;av=b+12|0;g[av>>2]=bK;au=b+16|0;g[au>>2]=bG;g[b+20>>2]=0.0;aq=b+24|0;g[aq>>2]=bC;ap=b+28|0;g[ap>>2]=bB;j=b+32|0;g[j>>2]=bH;g[b+36>>2]=0.0;Y=b+40|0;g[Y>>2]=bA;U=b+44|0;g[U>>2]=D;P=b+48|0;g[P>>2]=I;g[b+52>>2]=0.0;bv=+g[B>>2]- +g[z>>2];br=+g[G>>2]- +g[E>>2];bt=+g[L>>2]- +g[J>>2];L=b+56|0;g[L>>2]=bz;G=b+60|0;g[G>>2]=bC;B=b+64|0;g[B>>2]=bA;g[b+68>>2]=0.0;h=b+72|0;g[h>>2]=bK;w=b+76|0;g[w>>2]=bB;x=b+80|0;g[x>>2]=D;g[b+84>>2]=0.0;bI=b+88|0;g[bI>>2]=bG;aA=b+92|0;g[aA>>2]=bH;O=b+96|0;g[O>>2]=I;g[b+100>>2]=0.0;k=b+104|0;g[k>>2]=bv*bs+br*bw+bt*bu;bE=b+108|0;g[bE>>2]=bv*by+br*bx+bt*bL;aK=b+112|0;g[aK>>2]=bv*bJ+br*bF+bt*bD;g[b+116>>2]=0.0;bj=b+120|0;c[bj>>2]=322;bp=b+124|0;c[bp>>2]=0;c[q+364>>2]=0;aDD(q+128|0,0,16);c[q+376>>2]=2;c[q+368>>2]=0;g[q+144>>2]=0.0;if((aCX(q,b,y)|0)!=0){bM=0;i=p;return bM|0}y=q+372|0;q=c[y>>2]|0;if((c[q+32>>2]|0)==0){bN=0.0;bO=0.0;bP=0.0;bQ=0.0;bR=0.0;bS=0.0}else{b=r|0;bh=r+4|0;bi=r+8|0;be=e|0;bf=e+4|0;bg=e+8|0;a7=e+12|0;a5=o|0;a6=o+4|0;s=o+8|0;bD=0.0;bt=0.0;bF=0.0;br=0.0;bJ=0.0;bv=0.0;u=0;aU=q;while(1){bL=+g[aU+16+(u<<2)>>2];q=c[bj>>2]|0;aW=(c[bq>>2]|0)+(c[bp>>2]|0)|0;if((q&1|0)==0){bT=q}else{bT=c[(c[aW>>2]|0)+(q-1)>>2]|0}dA[bT&511](r,aW,c[aU+(u<<2)>>2]|0);bx=bF+bL*+g[b>>2];by=bt+bL*+g[bh>>2];bu=bD+bL*+g[bi>>2];aW=c[(c[y>>2]|0)+(u<<2)>>2]|0;bw=-0.0- +g[aW>>2];bs=-0.0- +g[aW+4>>2];I=-0.0- +g[aW+8>>2];aW=c[bj>>2]|0;q=(c[f>>2]|0)+(c[bp>>2]|0)|0;if((aW&1|0)==0){bU=aW}else{bU=c[(c[q>>2]|0)+(aW-1)>>2]|0}bH=+g[aq>>2]*bw+ +g[ap>>2]*bs+ +g[j>>2]*I;bG=+g[Y>>2]*bw+ +g[U>>2]*bs+ +g[P>>2]*I;g[be>>2]=+g[aw>>2]*bw+ +g[av>>2]*bs+ +g[au>>2]*I;g[bf>>2]=bH;g[bg>>2]=bG;g[a7>>2]=0.0;dA[bU&511](o,q,e);bG=+g[a5>>2];bH=+g[a6>>2];I=+g[s>>2];bs=bv+bL*(+g[k>>2]+(+g[L>>2]*bG+ +g[G>>2]*bH+ +g[B>>2]*I));bw=bJ+bL*(+g[bE>>2]+(bG*+g[h>>2]+bH*+g[w>>2]+I*+g[x>>2]));D=br+bL*(+g[aK>>2]+(bG*+g[bI>>2]+bH*+g[aA>>2]+I*+g[O>>2]));q=u+1|0;aW=c[y>>2]|0;if(q>>>0<(c[aW+32>>2]|0)>>>0){bD=bu;bt=by;bF=bx;br=D;bJ=bw;bv=bs;u=q;aU=aW}else{bN=bu;bO=by;bP=bx;bQ=D;bR=bw;bS=bs;break}}}bv=+g[S>>2];bJ=+g[ab>>2];br=+g[ai>>2];bF=+g[z>>2];bt=+g[W>>2];bD=+g[ad>>2];bs=+g[ak>>2];bw=+g[E>>2];D=+g[_>>2];bx=+g[af>>2];by=+g[am>>2];bu=+g[J>>2];I=bP-bS;bH=bO-bR;bG=bN-bQ;bL=+Q(+(I*I+bH*bH+bG*bG));bB=1.0/(bL>9999999747378752.0e-20?bL:1.0);g[m>>2]=bF+(bP*bv+bO*bJ+bN*br);g[m+4>>2]=bw+(bP*bt+bO*bD+bN*bs);g[m+8>>2]=bu+(bP*D+bO*bx+bN*by);g[m+12>>2]=0.0;g[n>>2]=bF+(bS*bv+bR*bJ+bQ*br);g[n+4>>2]=bw+(bS*bt+bR*bD+bQ*bs);g[n+8>>2]=bu+(bS*D+bR*bx+bQ*by);g[n+12>>2]=0.0;g[l>>2]=bB*I;g[l+4>>2]=bB*bH;g[l+8>>2]=bB*bG;g[l+12>>2]=0.0;bM=0;i=p;return bM|0}function axV(a){a=a|0;return}function axW(a){a=a|0;if((a|0)==0){return}aDB(a);return}function axX(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var 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,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0.0,a0=0.0,a1=0.0,a2=0.0,a3=0.0,a4=0.0,a5=0.0,a6=0.0,a7=0.0,a8=0.0,a9=0.0,ba=0,bb=0,bc=0,bd=0,be=0.0,bf=0,bg=0,bh=0.0,bi=0.0,bj=0.0,bk=0,bl=0,bm=0,bn=0,bo=0.0,bp=0.0,bq=0.0,br=0.0,bs=0.0,bt=0.0,bu=0.0,bv=0.0,bw=0.0,bx=0.0,by=0.0,bz=0.0,bA=0,bB=0.0,bC=0.0,bD=0.0,bE=0.0,bF=0.0,bG=0.0,bH=0.0,bI=0.0,bJ=0.0,bK=0,bL=0,bM=0.0,bN=0.0,bO=0.0,bP=0,bQ=0,bR=0,bS=0,bT=0.0,bU=0,bV=0.0,bW=0.0,bX=0.0,bY=0.0,bZ=0.0,b_=0.0,b$=0.0,b0=0.0,b1=0.0;j=i;i=i+256|0;k=j|0;l=j+16|0;m=j+80|0;n=j+144|0;o=j+160|0;p=j+176|0;q=j+192|0;r=j+208|0;s=j+224|0;t=j+240|0;u=k;v=l;w=m;x=d+56|0;g[x>>2]=0.0;y=k|0;z=k+4|0;A=k+8|0;B=k+12|0;C=e;aDD(u|0,0,16);c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];C=l+16|0;v=e+16|0;c[C>>2]=c[v>>2];c[C+4>>2]=c[v+4>>2];c[C+8>>2]=c[v+8>>2];c[C+12>>2]=c[v+12>>2];v=l+32|0;C=e+32|0;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];C=l+48|0;v=C;D=e+48|0;c[v>>2]=c[D>>2];c[v+4>>2]=c[D+4>>2];c[v+8>>2]=c[D+8>>2];c[v+12>>2]=c[D+12>>2];D=e+64|0;v=D;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=m+16|0;w=e+80|0;c[v>>2]=c[w>>2];c[v+4>>2]=c[w+4>>2];c[v+8>>2]=c[w+8>>2];c[v+12>>2]=c[w+12>>2];w=m+32|0;v=e+96|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=m+48|0;w=v;E=e+112|0;c[w>>2]=c[E>>2];c[w+4>>2]=c[E+4>>2];c[w+8>>2]=c[E+8>>2];c[w+12>>2]=c[E+12>>2];E=C|0;F=+g[E>>2];C=v|0;G=+g[C>>2];v=l+52|0;H=+g[v>>2];w=m+52|0;I=+g[w>>2];J=l+56|0;K=+g[J>>2];L=m+56|0;M=+g[L>>2];N=(F+G)*.5;O=(H+I)*.5;P=(K+M)*.5;g[E>>2]=F-N;g[v>>2]=H-O;g[J>>2]=K-P;g[C>>2]=G-N;g[w>>2]=I-O;g[L>>2]=M-P;C=d+28|0;E=d+32|0;if(((c[(c[C>>2]|0)+4>>2]|0)-17|0)>>>0<2){R=((c[(c[E>>2]|0)+4>>2]|0)-17|0)>>>0<2}else{R=0}M=+g[d+44>>2];I=+g[d+48>>2];c[9798]=(c[9798]|0)+1;S=(a[d+52|0]&1)==0;G=S?I:0.0;T=d+64|0;c[T>>2]=0;U=d+4|0;V=U|0;g[V>>2]=0.0;W=d+8|0;g[W>>2]=1.0;X=d+12|0;g[X>>2]=0.0;Y=d+16|0;g[Y>>2]=0.0;Z=d+68|0;c[Z>>2]=0;_=d+60|0;c[_>>2]=-1;I=(S?M:0.0)+G;S=d+24|0;$=c[S>>2]|0;a[$+312|0]=0;c[$>>2]=0;a[$+356|0]=1;g[$+292>>2]=999999984306749400.0;g[$+296>>2]=999999984306749400.0;g[$+300>>2]=999999984306749400.0;g[$+304>>2]=0.0;aa=$+332|0;aDD($+336|0,0,17);b[aa>>1]=b[aa>>1]&-16;aa=e|0;$=e+16|0;ab=e+32|0;ac=e+4|0;ad=e+20|0;ae=e+36|0;af=e+8|0;ag=e+24|0;ah=e+40|0;ai=n|0;aj=n+4|0;ak=n+8|0;al=n+12|0;am=D|0;D=e+80|0;an=e+96|0;ao=e+68|0;ap=e+84|0;aq=e+100|0;ar=e+72|0;as=e+88|0;at=e+104|0;au=o|0;av=o+4|0;aw=o+8|0;ax=o+12|0;ay=l|0;az=p|0;aA=l+4|0;aB=p+4|0;aC=l+8|0;aD=p+8|0;aE=l+48|0;aF=l+16|0;aG=l+20|0;aH=l+24|0;aI=l+32|0;aJ=l+36|0;aK=l+40|0;aL=m|0;aM=q|0;aN=m+4|0;aO=q+4|0;aP=m+8|0;aQ=q+8|0;aR=m+48|0;aS=m+16|0;aT=m+20|0;aU=m+24|0;aV=m+32|0;aW=m+36|0;aX=m+40|0;aY=e+128|0;aZ=U;a_=d+4|0;M=+g[V>>2];K=+g[W>>2];H=+g[X>>2];L4381:do{if(R){F=999999984306749400.0;a$=M;a0=K;a1=H;while(1){a2=-0.0-a$;a3=-0.0-a0;a4=-0.0-a1;a5=+g[ac>>2]*a2+ +g[ad>>2]*a3+ +g[ae>>2]*a4;a6=+g[af>>2]*a2+ +g[ag>>2]*a3+ +g[ah>>2]*a4;g[ai>>2]=+g[aa>>2]*a2+ +g[$>>2]*a3+ +g[ab>>2]*a4;g[aj>>2]=a5;g[ak>>2]=a6;g[al>>2]=0.0;a6=a$*+g[ao>>2]+a0*+g[ap>>2]+a1*+g[aq>>2];a5=a$*+g[ar>>2]+a0*+g[as>>2]+a1*+g[at>>2];g[au>>2]=+g[am>>2]*a$+ +g[D>>2]*a0+ +g[an>>2]*a1;g[av>>2]=a6;g[aw>>2]=a5;g[ax>>2]=0.0;avB(p,c[C>>2]|0,n);avB(q,c[E>>2]|0,o);a5=+g[az>>2];a6=+g[aB>>2];a4=+g[aD>>2];a3=+g[aE>>2]+(+g[ay>>2]*a5+ +g[aA>>2]*a6+ +g[aC>>2]*a4);a2=+g[v>>2]+(a5*+g[aF>>2]+a6*+g[aG>>2]+a4*+g[aH>>2]);a4=+g[aM>>2];a6=+g[aO>>2];a5=+g[aQ>>2];a7=+g[aR>>2]+(+g[aL>>2]*a4+ +g[aN>>2]*a6+ +g[aP>>2]*a5);a8=+g[w>>2]+(a4*+g[aS>>2]+a6*+g[aT>>2]+a5*+g[aU>>2]);a5=a3-a7;a6=a2-a8;a4=+g[V>>2]*a5+ +g[W>>2]*a6+ +g[X>>2]*0.0;if(a4>0.0){if(a4*a4>F*+g[aY>>2]){a9=F;ba=3656;break L4381}}bb=c[S>>2]|0;bc=bb|0;bd=c[bc>>2]|0;if((bd|0)>0){be=+g[bb+308>>2];bf=0;bg=0;while(1){bh=a5- +g[bb+4+(bg<<4)>>2];bi=a6- +g[bb+4+(bg<<4)+4>>2];bj=0.0- +g[bb+4+(bg<<4)+8>>2];bk=bf|bh*bh+bi*bi+bj*bj<=be;bl=bg+1|0;if((bl|0)<(bd|0)){bf=bk;bg=bl}else{bm=bk;break}}}else{bm=0}bg=bb+304|0;do{if(+g[bg>>2]==0.0){if(+g[bb+300>>2]!=0.0){bn=0;break}if(a6!=+g[bb+296>>2]){bn=0;break}bn=a5==+g[bb+292>>2]}else{bn=0}}while(0);if(bn|bm){bo=F;ba=3665;break L4381}be=F-a4;if(be<=F*9.999999974752427e-7){bp=F;bq=be;ba=3667;break L4381}g[bb+292>>2]=a5;g[bb+296>>2]=a6;g[bb+300>>2]=0.0;g[bg>>2]=0.0;a[bb+356|0]=1;g[bb+4+(bd<<4)>>2]=a5;g[bb+4+(bd<<4)+4>>2]=a6;g[bb+4+(bd<<4)+8>>2]=0.0;g[bb+4+(bd<<4)+12>>2]=0.0;bf=c[bc>>2]|0;g[bb+84+(bf<<4)>>2]=a3;g[bb+84+(bf<<4)+4>>2]=a2;g[bb+84+(bf<<4)+8>>2]=0.0;g[bb+84+(bf<<4)+12>>2]=0.0;bf=c[bc>>2]|0;g[bb+164+(bf<<4)>>2]=a7;g[bb+164+(bf<<4)+4>>2]=a8;g[bb+164+(bf<<4)+8>>2]=0.0;g[bb+164+(bf<<4)+12>>2]=0.0;c[bc>>2]=(c[bc>>2]|0)+1;bf=c[S>>2]|0;bk=aBZ(bf)|0;be=+g[bf+276>>2];bj=+g[bf+280>>2];bi=+g[bf+284>>2];bh=+g[bf+288>>2];if(!bk){br=F;ba=3669;break L4381}bs=be*be+bj*bj+bi*bi;if(bs<9.999999974752427e-7){bt=F;bu=be;bv=bj;bw=bi;bx=bh;ba=3671;break L4381}if(F-bs<=F*1.1920928955078125e-7){by=bs;ba=3673;break L4381}g[a_>>2]=be;g[W>>2]=bj;g[X>>2]=bi;g[Y>>2]=bh;bk=c[T>>2]|0;c[T>>2]=bk+1;if((bk|0)>1e3){bz=0.0;bA=0;bB=0.0;bC=0.0;bD=0.0;break L4381}if((c[c[S>>2]>>2]|0)==4){ba=3676;break}else{F=bs;a$=be;a0=bj;a1=bi}}}else{a1=999999984306749400.0;a0=M;a$=K;F=H;while(1){bi=-0.0-a0;bj=-0.0-a$;be=-0.0-F;bs=+g[ac>>2]*bi+ +g[ad>>2]*bj+ +g[ae>>2]*be;bh=+g[af>>2]*bi+ +g[ag>>2]*bj+ +g[ah>>2]*be;g[ai>>2]=+g[aa>>2]*bi+ +g[$>>2]*bj+ +g[ab>>2]*be;g[aj>>2]=bs;g[ak>>2]=bh;g[al>>2]=0.0;bh=a0*+g[ao>>2]+a$*+g[ap>>2]+F*+g[aq>>2];bs=a0*+g[ar>>2]+a$*+g[as>>2]+F*+g[at>>2];g[au>>2]=+g[am>>2]*a0+ +g[D>>2]*a$+ +g[an>>2]*F;g[av>>2]=bh;g[aw>>2]=bs;g[ax>>2]=0.0;avB(p,c[C>>2]|0,n);avB(q,c[E>>2]|0,o);bs=+g[az>>2];bh=+g[aB>>2];be=+g[aD>>2];bj=+g[aE>>2]+(+g[ay>>2]*bs+ +g[aA>>2]*bh+ +g[aC>>2]*be);bi=+g[v>>2]+(bs*+g[aF>>2]+bh*+g[aG>>2]+be*+g[aH>>2]);bE=+g[J>>2]+(bs*+g[aI>>2]+bh*+g[aJ>>2]+be*+g[aK>>2]);be=+g[aM>>2];bh=+g[aO>>2];bs=+g[aQ>>2];bF=+g[aR>>2]+(+g[aL>>2]*be+ +g[aN>>2]*bh+ +g[aP>>2]*bs);bG=+g[w>>2]+(be*+g[aS>>2]+bh*+g[aT>>2]+bs*+g[aU>>2]);bH=+g[L>>2]+(be*+g[aV>>2]+bh*+g[aW>>2]+bs*+g[aX>>2]);bs=bj-bF;bh=bi-bG;be=bE-bH;bI=+g[V>>2]*bs+ +g[W>>2]*bh+ +g[X>>2]*be;if(bI>0.0){if(bI*bI>a1*+g[aY>>2]){a9=a1;ba=3656;break L4381}}bk=c[S>>2]|0;bf=bk|0;bl=c[bf>>2]|0;if((bl|0)>0){bJ=+g[bk+308>>2];bK=0;bL=0;while(1){bM=bs- +g[bk+4+(bL<<4)>>2];bN=bh- +g[bk+4+(bL<<4)+4>>2];bO=be- +g[bk+4+(bL<<4)+8>>2];bP=bK|bM*bM+bN*bN+bO*bO<=bJ;bQ=bL+1|0;if((bQ|0)<(bl|0)){bK=bP;bL=bQ}else{bR=bP;break}}}else{bR=0}bL=bk+304|0;do{if(+g[bL>>2]==0.0){if(be!=+g[bk+300>>2]){bS=0;break}if(bh!=+g[bk+296>>2]){bS=0;break}bS=bs==+g[bk+292>>2]}else{bS=0}}while(0);if(bS|bR){bo=a1;ba=3665;break L4381}bJ=a1-bI;if(bJ<=a1*9.999999974752427e-7){bp=a1;bq=bJ;ba=3667;break L4381}g[bk+292>>2]=bs;g[bk+296>>2]=bh;g[bk+300>>2]=be;g[bL>>2]=0.0;a[bk+356|0]=1;g[bk+4+(bl<<4)>>2]=bs;g[bk+4+(bl<<4)+4>>2]=bh;g[bk+4+(bl<<4)+8>>2]=be;g[bk+4+(bl<<4)+12>>2]=0.0;bK=c[bf>>2]|0;g[bk+84+(bK<<4)>>2]=bj;g[bk+84+(bK<<4)+4>>2]=bi;g[bk+84+(bK<<4)+8>>2]=bE;g[bk+84+(bK<<4)+12>>2]=0.0;bK=c[bf>>2]|0;g[bk+164+(bK<<4)>>2]=bF;g[bk+164+(bK<<4)+4>>2]=bG;g[bk+164+(bK<<4)+8>>2]=bH;g[bk+164+(bK<<4)+12>>2]=0.0;c[bf>>2]=(c[bf>>2]|0)+1;bK=c[S>>2]|0;bc=aBZ(bK)|0;bJ=+g[bK+276>>2];a8=+g[bK+280>>2];a7=+g[bK+284>>2];a2=+g[bK+288>>2];if(!bc){br=a1;ba=3669;break L4381}a3=bJ*bJ+a8*a8+a7*a7;if(a3<9.999999974752427e-7){bt=a1;bu=bJ;bv=a8;bw=a7;bx=a2;ba=3671;break L4381}if(a1-a3<=a1*1.1920928955078125e-7){by=a3;ba=3673;break L4381}g[a_>>2]=bJ;g[W>>2]=a8;g[X>>2]=a7;g[Y>>2]=a2;bc=c[T>>2]|0;c[T>>2]=bc+1;if((bc|0)>1e3){bz=0.0;bA=0;bB=0.0;bC=0.0;bD=0.0;break L4381}if((c[c[S>>2]>>2]|0)==4){ba=3676;break}else{a1=a3;a0=bJ;a$=a8;F=a7}}}}while(0);if((ba|0)==3669){c[Z>>2]=3;bT=br;ba=3677}else if((ba|0)==3671){g[d+4>>2]=bu;g[W>>2]=bv;g[X>>2]=bw;g[Y>>2]=bx;c[Z>>2]=6;bT=bt;ba=3677}else if((ba|0)==3667){c[Z>>2]=bq>0.0?11:2;bT=bp;ba=3677}else if((ba|0)==3673){c[Z>>2]=12;bT=by;ba=3677}else if((ba|0)==3656){c[Z>>2]=10;bT=a9;ba=3677}else if((ba|0)==3676){c[Z>>2]=13;bz=0.0;bA=0;bB=0.0;bC=0.0;bD=0.0}else if((ba|0)==3665){c[Z>>2]=1;bT=bo;ba=3677}do{if((ba|0)==3677){T=c[S>>2]|0;aBZ(T)|0;bo=+g[T+260>>2];a9=+g[T+264>>2];by=+g[T+268>>2];c[u>>2]=c[aZ>>2];c[u+4>>2]=c[aZ+4>>2];c[u+8>>2]=c[aZ+8>>2];c[u+12>>2]=c[aZ+12>>2];bp=+g[V>>2];bq=+g[W>>2];bt=+g[X>>2];bx=bp*bp+bq*bq+bt*bt;if(bx<1.0e-4){c[Z>>2]=5}if(bx>1.4210854715202004e-14){bw=1.0/+Q(+bx);g[y>>2]=bw*+g[y>>2];g[z>>2]=bw*+g[z>>2];g[A>>2]=bw*+g[A>>2];bx=G/+Q(+bT);c[_>>2]=1;bz=1.0/bw-I;bA=1;bB=bx*bp+bo;bC=bx*bq+a9;bD=bx*bt+by;break}else{c[_>>2]=2;bz=0.0;bA=0;bB=bo;bC=a9;bD=by;break}}}while(0);do{if((c[d+72>>2]|0)==0){bU=0}else{if((c[d+20>>2]|0)==0){bU=0;break}if((c[Z>>2]|0)==0){bU=0;break}bU=I+bz<.01}}while(0);Z=bA^1;do{if(bU|Z){T=c[d+20>>2]|0;if((T|0)==0){ba=3700;break}c[9800]=(c[9800]|0)+1;aDD(aZ|0,0,16);if(!(cL[c[(c[T>>2]|0)+8>>2]&63](T,c[S>>2]|0,c[C>>2]|0,c[E>>2]|0,l,m,U,r,s,h,c[e+132>>2]|0)|0)){bT=+g[V>>2];by=+g[W>>2];a9=+g[X>>2];if(bT*bT+by*by+a9*a9<=0.0){ba=3700;break}bo=+g[s>>2];bt=+g[r>>2]-bo;bx=+g[s+4>>2];bq=+g[r+4>>2]-bx;bp=+g[s+8>>2];bw=+g[r+8>>2]-bp;bv=+Q(+(bt*bt+bq*bq+bw*bw))-I;if(bv>2]=c[aZ>>2];c[u+4>>2]=c[aZ+4>>2];c[u+8>>2]=c[aZ+8>>2];c[u+12>>2]=c[aZ+12>>2];bw=+g[y>>2];bq=+g[z>>2];bt=+g[A>>2];bu=1.0/+Q(+(bw*bw+bq*bq+bt*bt));g[y>>2]=bw*bu;g[z>>2]=bq*bu;g[A>>2]=bt*bu;c[_>>2]=6;bV=bv;bW=G*bT+bo;bX=G*by+bx;bY=G*a9+bp;break}c[_>>2]=5;if(bA){bV=bz;bW=bB;bX=bC;bY=bD;break}i=j;return}bp=+g[s>>2];a9=+g[r>>2];bx=bp-a9;by=+g[s+4>>2];bo=+g[r+4>>2];bT=by-bo;bv=+g[s+8>>2];bu=+g[r+8>>2];bt=bv-bu;bq=bx*bx+bT*bT+bt*bt;if(bq>1.4210854715202004e-14){bZ=bq;b_=bx;b$=bT;b0=bt;b1=0.0}else{bt=+g[d+4>>2];bT=+g[W>>2];bx=+g[X>>2];bZ=bt*bt+bT*bT+bx*bx;b_=bt;b$=bT;b0=bx;b1=+g[Y>>2]}if(bZ<=1.4210854715202004e-14){c[_>>2]=9;if(bA){bV=bz;bW=bB;bX=bC;bY=bD;break}i=j;return}bx=1.0/+Q(+bZ);bT=a9-bp;a9=bo-by;bo=bu-bv;bu=-0.0- +Q(+(bT*bT+a9*a9+bo*bo));if(bz>bu|Z){g[y>>2]=b_*bx;g[z>>2]=b$*bx;g[A>>2]=b0*bx;g[B>>2]=b1;c[_>>2]=3;bV=bu;bW=bp;bX=by;bY=bv;break}c[_>>2]=8;if(bA){bV=bz;bW=bB;bX=bC;bY=bD;break}i=j;return}else{ba=3700}}while(0);do{if((ba|0)==3700){if(bA){bV=bz;bW=bB;bX=bC;bY=bD;break}i=j;return}}while(0);do{if(bV>=0.0){if(bV*bV<+g[aY>>2]){break}i=j;return}}while(0);c[aZ>>2]=c[u>>2];c[aZ+4>>2]=c[u+4>>2];c[aZ+8>>2]=c[u+8>>2];c[aZ+12>>2]=c[u+12>>2];g[x>>2]=bV;x=c[(c[f>>2]|0)+16>>2]|0;g[t>>2]=N+bW;g[t+4>>2]=O+bX;g[t+8>>2]=P+bY;g[t+12>>2]=0.0;dw[x&127](f,k,t,bV);i=j;return}function axY(a){a=a|0;return}function axZ(a){a=a|0;return}function ax_(a){a=a|0;return 16552|0}function ax$(b,d,e,f,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=+j;k=k|0;l=l|0;m=m|0;var n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;c[b+4>>2]=24;c[b+64>>2]=d;c[b+68>>2]=e;g[b+72>>2]=i;g[b+76>>2]=j;n=+(d-1|0);g[b+80>>2]=n;o=+(e-1|0);g[b+84>>2]=o;g[b+88>>2]=h;c[b+92>>2]=f;c[b+96>>2]=l;a[b+100|0]=m&1;a[b+101|0]=0;c[b+104>>2]=k;g[b+108>>2]=1.0;g[b+112>>2]=1.0;g[b+116>>2]=1.0;g[b+120>>2]=0.0;if((k|0)==2){g[b+16>>2]=0.0;g[b+20>>2]=0.0;g[b+24>>2]=i;g[b+28>>2]=0.0;g[b+32>>2]=n;g[b+36>>2]=o;g[b+40>>2]=j;g[b+44>>2]=0.0;p=0.0;q=n;r=0.0;s=o;t=i;u=j}else if((k|0)==0){g[b+16>>2]=i;g[b+20>>2]=0.0;g[b+24>>2]=0.0;g[b+28>>2]=0.0;g[b+32>>2]=j;g[b+36>>2]=n;g[b+40>>2]=o;g[b+44>>2]=0.0;p=i;q=j;r=0.0;s=n;t=0.0;u=o}else if((k|0)==1){g[b+16>>2]=0.0;g[b+20>>2]=i;g[b+24>>2]=0.0;g[b+28>>2]=0.0;g[b+32>>2]=n;g[b+36>>2]=j;g[b+40>>2]=o;g[b+44>>2]=0.0;p=0.0;q=n;r=i;s=j;t=0.0;u=o}else{p=+g[b+16>>2];q=+g[b+32>>2];r=+g[b+20>>2];s=+g[b+36>>2];t=+g[b+24>>2];u=+g[b+40>>2]}g[b+48>>2]=(p+q)*.5;g[b+52>>2]=(r+s)*.5;g[b+56>>2]=(t+u)*.5;g[b+60>>2]=0.0;return}function ax0(a,e,f){a=a|0;e=e|0;f=f|0;var h=0,i=0,j=0.0;h=c[a+96>>2]|0;if((h|0)==0){i=(aa(c[a+64>>2]|0,f)|0)+e|0;j=+g[(c[a+92>>2]|0)+(i<<2)>>2];return+j}else if((h|0)==3){i=(aa(c[a+64>>2]|0,f)|0)+e|0;j=+(b[(c[a+92>>2]|0)+(i<<1)>>1]|0)*+g[a+88>>2];return+j}else if((h|0)==5){h=(aa(c[a+64>>2]|0,f)|0)+e|0;j=+g[a+88>>2]*+(d[(c[a+92>>2]|0)+h|0]|0);return+j}else{j=0.0;return+j}return 0.0}function ax1(a){a=a|0;return a+108|0}function ax2(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ax3(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ax4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0;f=(+g[a+32>>2]- +g[a+16>>2])*+g[a+108>>2]*.5;h=(+g[a+36>>2]- +g[a+20>>2])*+g[a+112>>2]*.5;i=(+g[a+40>>2]- +g[a+24>>2])*+g[a+116>>2]*.5;j=+P(+(+g[b>>2]));k=+P(+(+g[b+4>>2]));l=+P(+(+g[b+8>>2]));m=+P(+(+g[b+16>>2]));n=+P(+(+g[b+20>>2]));o=+P(+(+g[b+24>>2]));p=+P(+(+g[b+32>>2]));q=+P(+(+g[b+36>>2]));r=+P(+(+g[b+40>>2]));s=+g[b+48>>2];t=+g[b+52>>2];u=+g[b+56>>2];b=a|0;v=a;w=+dh[c[(c[v>>2]|0)+44>>2]&1023](b);x=+dh[c[(c[v>>2]|0)+44>>2]&1023](b);y=f*j+h*k+i*l+w;w=f*m+h*n+i*o+x;x=f*p+h*q+i*r+ +dh[c[(c[v>>2]|0)+44>>2]&1023](b);g[d>>2]=s-y;g[d+4>>2]=t-w;g[d+8>>2]=u-x;g[d+12>>2]=0.0;g[e>>2]=s+y;g[e+4>>2]=t+w;g[e+8>>2]=u+x;g[e+12>>2]=0.0;return}function ax5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;f=+c4[c[(c[a>>2]|0)+64>>2]&127](a,b,d);h=c[a+104>>2]|0;if((h|0)==1){i=+(b|0)+ +g[a+80>>2]*-.5;j=f- +g[a+52>>2];k=+(d|0)+ +g[a+84>>2]*-.5;g[e>>2]=i;g[e+4>>2]=j;g[e+8>>2]=k;g[e+12>>2]=0.0;l=i;m=j;n=k}else if((h|0)==0){k=f- +g[a+48>>2];j=+(b|0)+ +g[a+80>>2]*-.5;i=+(d|0)+ +g[a+84>>2]*-.5;g[e>>2]=k;g[e+4>>2]=j;g[e+8>>2]=i;g[e+12>>2]=0.0;l=k;m=j;n=i}else if((h|0)==2){i=+(b|0)+ +g[a+80>>2]*-.5;j=+(d|0)+ +g[a+84>>2]*-.5;k=f- +g[a+56>>2];g[e>>2]=i;g[e+4>>2]=j;g[e+8>>2]=k;g[e+12>>2]=0.0;l=i;m=j;n=k}else{l=+g[e>>2];m=+g[e+4>>2];n=+g[e+8>>2]}g[e>>2]=+g[a+108>>2]*l;g[e+4>>2]=+g[a+112>>2]*m;g[e+8>>2]=+g[a+116>>2]*n;return}function ax6(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.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;h=i;i=i+48|0;j=h|0;k=1.0/+g[b+108>>2];l=1.0/+g[b+112>>2];m=1.0/+g[b+116>>2];n=+g[b+48>>2];o=k*+g[e>>2]+n;p=+g[b+52>>2];q=l*+g[e+4>>2]+p;r=+g[b+56>>2];s=m*+g[e+8>>2]+r;t=k*+g[f>>2]+n;n=l*+g[f+4>>2]+p;p=m*+g[f+8>>2]+r;r=+g[b+16>>2];m=o>2];l=q>2];k=s>2];u=s>2];v=m>2];w=l>2]|0)-1|0;I=(c[b+68>>2]|0)-1|0;J=c[b+104>>2]|0;if((J|0)==2){K=(E|0)<(I|0)?E:I;L=(D|0)>0?D:0;M=(e|0)<(H|0)?e:H;N=(f|0)>0?f:0}else if((J|0)==0){K=(G|0)<(I|0)?G:I;L=(F|0)>0?F:0;M=(E|0)<(H|0)?E:H;N=(D|0)>0?D:0}else if((J|0)==1){K=(G|0)<(I|0)?G:I;L=(F|0)>0?F:0;M=(e|0)<(H|0)?e:H;N=(f|0)>0?f:0}else{K=I;L=0;M=H;N=0}if((L|0)>=(K|0)){i=h;return}H=j|0;I=b+100|0;f=b+101|0;e=j+16|0;F=j+32|0;j=d;if((N|0)<(M|0)){O=L}else{i=h;return}while(1){L=O+1|0;G=N;do{do{if((a[I]&1)==0){if((a[f]&1)!=0){if((G+O&1|0)==0){P=3775;break}}ax5(b,G,O,H);ax5(b,G,L,e);J=G+1|0;ax5(b,J,O,F);dI[c[(c[j>>2]|0)+8>>2]&1023](d,H,G,O);ax5(b,J,O,H);ax5(b,G,L,e);ax5(b,J,L,F);dI[c[(c[j>>2]|0)+8>>2]&1023](d,H,G,O)}else{P=3775}}while(0);if((P|0)==3775){P=0;ax5(b,G,O,H);J=G+1|0;ax5(b,J,O,e);ax5(b,J,L,F);dI[c[(c[j>>2]|0)+8>>2]&1023](d,H,G,O);ax5(b,G,O,H);ax5(b,J,L,e);ax5(b,G,L,F);dI[c[(c[j>>2]|0)+8>>2]&1023](d,H,G,O)}G=G+1|0;}while((G|0)<(M|0));if((L|0)<(K|0)){O=L}else{break}}i=h;return}function ax7(a,b,c){a=a|0;b=+b;c=c|0;aDD(c|0,0,16);return}function ax8(a,b){a=a|0;b=b|0;var d=0;d=a+108|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function ax9(a){a=a|0;return}function aya(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=i;i=i+280|0;j=h|0;k=c[b+4>>2]|0;if(+g[k+1124>>2]>2]|0;m=(c[k+1108>>2]|0)!=(l|0);n=+g[e>>2];o=+g[d>>2]*f+n;p=+g[e+4>>2];q=+g[d+4>>2]*f+p;r=+g[e+8>>2];s=+g[d+8>>2]*f+r;if(m){t=o- +g[b+120>>2];u=q- +g[b+124>>2];v=s- +g[b+128>>2];w=n- +g[b+56>>2];x=p- +g[b+60>>2];y=r- +g[b+64>>2];z=w*+g[b+8>>2]+x*+g[b+24>>2]+y*+g[b+40>>2];A=w*+g[b+12>>2]+x*+g[b+28>>2]+y*+g[b+44>>2];B=w*+g[b+16>>2]+x*+g[b+32>>2]+y*+g[b+48>>2];C=t*+g[b+72>>2]+u*+g[b+88>>2]+v*+g[b+104>>2];D=t*+g[b+76>>2]+u*+g[b+92>>2]+v*+g[b+108>>2];E=t*+g[b+80>>2]+u*+g[b+96>>2]+v*+g[b+112>>2]}else{v=o- +g[b+56>>2];u=q- +g[b+60>>2];t=s- +g[b+64>>2];y=n- +g[b+120>>2];n=p- +g[b+124>>2];p=r- +g[b+128>>2];z=y*+g[b+72>>2]+n*+g[b+88>>2]+p*+g[b+104>>2];A=y*+g[b+76>>2]+n*+g[b+92>>2]+p*+g[b+108>>2];B=y*+g[b+80>>2]+n*+g[b+96>>2]+p*+g[b+112>>2];C=v*+g[b+8>>2]+u*+g[b+24>>2]+t*+g[b+40>>2];D=v*+g[b+12>>2]+u*+g[b+28>>2]+t*+g[b+44>>2];E=v*+g[b+16>>2]+u*+g[b+32>>2]+t*+g[b+48>>2]}g[j>>2]=C;g[j+4>>2]=D;g[j+8>>2]=E;g[j+12>>2]=0.0;g[j+16>>2]=z;g[j+20>>2]=A;g[j+24>>2]=B;g[j+28>>2]=0.0;F=j+64|0;G=d;c[F>>2]=c[G>>2];c[F+4>>2]=c[G+4>>2];c[F+8>>2]=c[G+8>>2];c[F+12>>2]=c[G+12>>2];g[j+80>>2]=f;G=j+84|0;g[G>>2]=0.0;F=j+88|0;g[F>>2]=0.0;c[j+108>>2]=0;g[j+112>>2]=0.0;a[j+116|0]=0;g[j+208>>2]=0.0;g[j+240>>2]=0.0;g[j+272>>2]=0.0;aDD(j+120|0,0,28);g[j+48>>2]=o;g[j+52>>2]=q;g[j+56>>2]=s;g[j+60>>2]=0.0;d=j+32|0;H=e;c[d>>2]=c[H>>2];c[d+4>>2]=c[H+4>>2];c[d+8>>2]=c[H+8>>2];c[d+12>>2]=c[H+12>>2];s=+g[k+1120>>2];H=c[k+1116>>2]|0;if((H|0)>0){d=0;e=-1;q=s*s;while(1){s=+g[k+4+(d*276|0)>>2]-C;o=+g[k+4+(d*276|0)+4>>2]-D;f=+g[k+4+(d*276|0)+8>>2]-E;B=s*s+o*o+f*f;I=B>2]|0;q=+g[l+224>>2]*+g[e+224>>2];E=q<-10.0?-10.0:q;g[G>>2]=E>10.0?10.0:E;g[F>>2]=+g[l+228>>2]*+g[e+228>>2];if(m){c[j+92>>2]=c[b+148>>2];c[j+96>>2]=c[b+144>>2];c[j+100>>2]=c[b+156>>2];c[j+104>>2]=c[b+152>>2]}else{c[j+92>>2]=c[b+144>>2];c[j+96>>2]=c[b+148>>2];c[j+100>>2]=c[b+152>>2];c[j+104>>2]=c[b+156>>2]}if((L|0)>-1){b=k+4+(L*276|0)+144|0;m=c[b>>2]|0;e=k+4+(L*276|0)+208|0;E=+g[e>>2];l=k+4+(L*276|0)+240|0;q=+g[l>>2];F=k+4+(L*276|0)+272|0;D=+g[F>>2];G=k+4+(L*276|0)+108|0;d=c[G>>2]|0;H=k+4+(L*276|0)|0;J=j;aDC(H|0,J|0,276)|0;c[G>>2]=d;g[k+4+(L*276|0)+112>>2]=E;g[k+4+(L*276|0)+120>>2]=q;g[k+4+(L*276|0)+124>>2]=D;g[e>>2]=E;g[l>>2]=q;g[F>>2]=D;c[b>>2]=m;i=h;return}else{ay5(k,j)|0;i=h;return}}function ayb(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ayc(b,d,e,f,h,j,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0,aI=0.0,aJ=0.0,aK=0;o=i;i=i+4264|0;b=o|0;p=o+992|0;q=o+1984|0;r=o+2976|0;s=o+3968|0;t=o+3984|0;u=o+4e3|0;v=o+4080|0;w=o+4216|0;x=e+4|0;if(((c[x>>2]|0)-17|0)>>>0<2){y=((c[f+4>>2]|0)-17|0)>>>0<2}else{y=0}z=b|0;A=p|0;B=q|0;C=r|0;D=h|0;E=h+16|0;F=h+32|0;G=h+4|0;H=h+20|0;I=h+36|0;J=h+8|0;K=h+24|0;L=h+40|0;M=j|0;N=j+16|0;O=j+32|0;P=j+4|0;Q=j+20|0;R=j+36|0;S=j+8|0;T=j+24|0;U=j+40|0;V=0;do{ayk();W=+g[40432+(V<<4)>>2];X=+g[40436+(V<<4)>>2];Y=+g[40440+(V<<4)>>2];Z=-0.0-W;_=-0.0-X;$=-0.0-Y;aa=+g[G>>2]*Z+ +g[H>>2]*_+ +g[I>>2]*$;ab=+g[J>>2]*Z+ +g[K>>2]*_+ +g[L>>2]*$;g[q+(V<<4)>>2]=+g[D>>2]*Z+ +g[E>>2]*_+ +g[F>>2]*$;g[q+(V<<4)+4>>2]=aa;g[q+(V<<4)+8>>2]=ab;g[q+(V<<4)+12>>2]=0.0;ab=W*+g[P>>2]+X*+g[Q>>2]+Y*+g[R>>2];aa=W*+g[S>>2]+X*+g[T>>2]+Y*+g[U>>2];g[r+(V<<4)>>2]=W*+g[M>>2]+X*+g[N>>2]+Y*+g[O>>2];g[r+(V<<4)+4>>2]=ab;g[r+(V<<4)+8>>2]=aa;g[r+(V<<4)+12>>2]=0.0;V=V+1|0;}while((V|0)<42);V=cA[c[(c[e>>2]|0)+76>>2]&4095](e)|0;if((V|0)>0){ac=e;ad=s|0;ae=s+4|0;af=s+8|0;ag=s;ah=s+12|0;ai=0;aj=42;while(1){dA[c[(c[ac>>2]|0)+80>>2]&511](e,ai,s);aa=+g[ad>>2];ab=+g[ae>>2];Y=+g[af>>2];X=aa*+g[E>>2]+ab*+g[H>>2]+Y*+g[K>>2];W=aa*+g[F>>2]+ab*+g[I>>2]+Y*+g[L>>2];g[ad>>2]=+g[D>>2]*aa+ +g[G>>2]*ab+ +g[J>>2]*Y;g[ae>>2]=X;g[af>>2]=W;g[ah>>2]=0.0;ayk();ak=40432+(aj<<4)|0;c[ak>>2]=c[ag>>2];c[ak+4>>2]=c[ag+4>>2];c[ak+8>>2]=c[ag+8>>2];c[ak+12>>2]=c[ag+12>>2];W=+g[ad>>2];X=-0.0-W;Y=+g[ae>>2];ab=-0.0-Y;aa=+g[af>>2];$=-0.0-aa;_=+g[G>>2]*X+ +g[H>>2]*ab+ +g[I>>2]*$;Z=+g[J>>2]*X+ +g[K>>2]*ab+ +g[L>>2]*$;g[q+(aj<<4)>>2]=+g[D>>2]*X+ +g[E>>2]*ab+ +g[F>>2]*$;g[q+(aj<<4)+4>>2]=_;g[q+(aj<<4)+8>>2]=Z;g[q+(aj<<4)+12>>2]=0.0;Z=W*+g[P>>2]+Y*+g[Q>>2]+aa*+g[R>>2];_=W*+g[S>>2]+Y*+g[T>>2]+aa*+g[U>>2];g[r+(aj<<4)>>2]=+g[M>>2]*W+ +g[N>>2]*Y+ +g[O>>2]*aa;g[r+(aj<<4)+4>>2]=Z;g[r+(aj<<4)+8>>2]=_;g[r+(aj<<4)+12>>2]=0.0;ak=ai+1|0;if((ak|0)<(V|0)){ai=ak;aj=aj+1|0}else{break}}al=V+42|0}else{al=42}V=cA[c[(c[f>>2]|0)+76>>2]&4095](f)|0;if((V|0)>0){aj=f;ai=t|0;af=t+4|0;ae=t+8|0;ad=t;ag=t+12|0;ah=al;s=0;while(1){dA[c[(c[aj>>2]|0)+80>>2]&511](f,s,t);_=+g[ai>>2];Z=+g[af>>2];aa=+g[ae>>2];Y=_*+g[N>>2]+Z*+g[Q>>2]+aa*+g[T>>2];W=_*+g[O>>2]+Z*+g[R>>2]+aa*+g[U>>2];g[ai>>2]=+g[M>>2]*_+ +g[P>>2]*Z+ +g[S>>2]*aa;g[af>>2]=Y;g[ae>>2]=W;g[ag>>2]=0.0;ayk();ac=40432+(ah<<4)|0;c[ac>>2]=c[ad>>2];c[ac+4>>2]=c[ad+4>>2];c[ac+8>>2]=c[ad+8>>2];c[ac+12>>2]=c[ad+12>>2];W=+g[ai>>2];Y=-0.0-W;aa=+g[af>>2];Z=-0.0-aa;_=+g[ae>>2];$=-0.0-_;ab=+g[G>>2]*Y+ +g[H>>2]*Z+ +g[I>>2]*$;X=+g[J>>2]*Y+ +g[K>>2]*Z+ +g[L>>2]*$;g[q+(ah<<4)>>2]=+g[D>>2]*Y+ +g[E>>2]*Z+ +g[F>>2]*$;g[q+(ah<<4)+4>>2]=ab;g[q+(ah<<4)+8>>2]=X;g[q+(ah<<4)+12>>2]=0.0;X=W*+g[P>>2]+aa*+g[Q>>2]+_*+g[R>>2];ab=W*+g[S>>2]+aa*+g[T>>2]+_*+g[U>>2];g[r+(ah<<4)>>2]=+g[M>>2]*W+ +g[N>>2]*aa+ +g[O>>2]*_;g[r+(ah<<4)+4>>2]=X;g[r+(ah<<4)+8>>2]=ab;g[r+(ah<<4)+12>>2]=0.0;ac=s+1|0;if((ac|0)<(V|0)){ah=ah+1|0;s=ac}else{break}}am=V+al|0}else{am=al}dI[c[(c[e>>2]|0)+68>>2]&1023](e,B,z,am);dI[c[(c[f>>2]|0)+68>>2]&1023](f,C,A,am);if((am|0)>0){A=h+48|0;C=h+52|0;z=h+56|0;B=j+48|0;al=j+52|0;V=j+56|0;if(y){ab=0.0;X=0.0;_=0.0;y=0;aa=999999984306749400.0;while(1){ayk();W=+g[40432+(y<<4)>>2];$=+g[40436+(y<<4)>>2];Z=+g[40444+(y<<4)>>2];do{if(W*W+$*$+0.0>.01){Y=+g[b+(y<<4)>>2];an=+g[b+(y<<4)+4>>2];ao=+g[b+(y<<4)+8>>2];ap=+g[p+(y<<4)>>2];aq=+g[p+(y<<4)+4>>2];ar=+g[p+(y<<4)+8>>2];as=W*(+g[B>>2]+(ap*+g[M>>2]+aq*+g[P>>2]+ar*+g[S>>2])-(+g[A>>2]+(Y*+g[D>>2]+an*+g[G>>2]+ao*+g[J>>2])))+$*(+g[al>>2]+(ap*+g[N>>2]+aq*+g[Q>>2]+ar*+g[T>>2])-(+g[C>>2]+(Y*+g[E>>2]+an*+g[H>>2]+ao*+g[K>>2])))+0.0;if(as>=aa){at=aa;au=_;av=X;aw=ab;break}at=as;au=W;av=$;aw=Z}else{at=aa;au=_;av=X;aw=ab}}while(0);s=y+1|0;if((s|0)<(am|0)){ab=aw;X=av;_=au;y=s;aa=at}else{ax=aw;ay=0.0;az=av;aA=au;aB=at;break}}}else{at=0.0;au=0.0;av=0.0;aw=0.0;y=0;aa=999999984306749400.0;while(1){ayk();_=+g[40432+(y<<4)>>2];X=+g[40436+(y<<4)>>2];ab=+g[40440+(y<<4)>>2];Z=+g[40444+(y<<4)>>2];do{if(_*_+X*X+ab*ab>.01){$=+g[b+(y<<4)>>2];W=+g[b+(y<<4)+4>>2];as=+g[b+(y<<4)+8>>2];ao=+g[p+(y<<4)>>2];an=+g[p+(y<<4)+4>>2];Y=+g[p+(y<<4)+8>>2];ar=_*(+g[B>>2]+(ao*+g[M>>2]+an*+g[P>>2]+Y*+g[S>>2])-(+g[A>>2]+($*+g[D>>2]+W*+g[G>>2]+as*+g[J>>2])))+X*(+g[al>>2]+(ao*+g[N>>2]+an*+g[Q>>2]+Y*+g[T>>2])-(+g[C>>2]+($*+g[E>>2]+W*+g[H>>2]+as*+g[K>>2])))+ab*(+g[V>>2]+(ao*+g[O>>2]+an*+g[R>>2]+Y*+g[U>>2])-(+g[z>>2]+($*+g[F>>2]+W*+g[I>>2]+as*+g[L>>2])));if(ar>=aa){aC=aa;aD=aw;aE=av;aF=au;aG=at;break}aC=ar;aD=_;aE=X;aF=ab;aG=Z}else{aC=aa;aD=aw;aE=av;aF=au;aG=at}}while(0);s=y+1|0;if((s|0)<(am|0)){at=aG;au=aF;av=aE;aw=aD;y=s;aa=aC}else{ax=aG;ay=aF;az=aE;aA=aD;aB=aC;break}}}}else{ax=0.0;ay=0.0;az=0.0;aA=0.0;aB=999999984306749400.0}switch(c[x>>2]|0){case 8:case 0:case 1:case 13:case 10:case 5:case 4:{break};default:{+dh[c[(c[e>>2]|0)+44>>2]&1023](e)}}y=f+4|0;switch(c[y>>2]|0){case 8:case 0:case 1:case 13:case 10:case 5:case 4:{break};default:{+dh[c[(c[f>>2]|0)+44>>2]&1023](f)}}if(aB<0.0){aH=0;i=o;return aH|0}switch(c[x>>2]|0){case 8:{aI=+g[e+28>>2]*+g[e+12>>2];break};case 0:{aI=+g[e+44>>2];break};case 1:{aI=+g[e+44>>2];break};case 13:{aI=+g[e+44>>2];break};case 10:{aI=+g[e+44>>2];break};case 5:case 4:{aI=+g[e+44>>2];break};default:{aI=+dh[c[(c[e>>2]|0)+44>>2]&1023](e)}}am=c[y>>2]|0;switch(am|0){case 5:case 4:{aJ=+g[f+44>>2];aK=am;break};case 13:{aJ=+g[f+44>>2];aK=13;break};case 1:{aJ=+g[f+44>>2];aK=1;break};case 8:{aJ=+g[f+28>>2]*+g[f+12>>2];aK=8;break};case 0:{aJ=+g[f+44>>2];aK=0;break};case 10:{aJ=+g[f+44>>2];aK=10;break};default:{aJ=+dh[c[(c[f>>2]|0)+44>>2]&1023](f);aK=c[y>>2]|0}}aC=aB+(aI+aJ+.5);c[u>>2]=23568;y=u+4|0;g[y>>2]=0.0;am=u+8|0;g[am>>2]=1.0;L=u+12|0;g[L>>2]=0.0;I=u+16|0;g[I>>2]=0.0;c[u+20>>2]=0;c[u+24>>2]=d;c[u+28>>2]=e;c[u+32>>2]=f;c[u+36>>2]=c[x>>2];c[u+40>>2]=aK;g[u+44>>2]=+dh[c[(c[e>>2]|0)+44>>2]&1023](e);g[u+48>>2]=+dh[c[(c[f>>2]|0)+44>>2]&1023](f);a[u+52|0]=0;c[u+60>>2]=-1;c[u+72>>2]=1;c[v+132>>2]=0;aJ=+g[h+48>>2]+aA*aC;aI=+g[h+52>>2]+az*aC;aB=+g[h+56>>2]+ay*aC;f=h;e=v;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=h+16|0;e=h+32|0;h=v+16|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];f=v+32|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];g[v+48>>2]=aJ;g[v+52>>2]=aI;g[v+56>>2]=aB;g[v+60>>2]=0.0;e=v+64|0;f=j;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=v+80|0;e=j+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];e=v+96|0;f=j+32|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=v+112|0;e=j+48|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];g[v+128>>2]=999999984306749400.0;c[w>>2]=18488;e=w+40|0;a[e]=0;g[y>>2]=-0.0-aA;g[am>>2]=-0.0-az;g[L>>2]=-0.0-ay;g[I>>2]=0.0;axX(u,v,w|0,n,0);aB=aC- +g[w+36>>2];n=a[e]&1;if(n<<24>>24!=0){e=w+20|0;aC=+g[w+24>>2]-az*aB;aI=+g[w+28>>2]-ay*aB;g[l>>2]=+g[e>>2]-aA*aB;g[l+4>>2]=aC;g[l+8>>2]=aI;g[l+12>>2]=0.0;l=m;m=e;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];g[k>>2]=aA;g[k+4>>2]=az;g[k+8>>2]=ay;g[k+12>>2]=ax}aH=n<<24>>24!=0;i=o;return aH|0}function ayd(a){a=a|0;return}function aye(a){a=a|0;return}function ayf(a,b,c){a=a|0;b=b|0;c=c|0;return}function ayg(a,b,c){a=a|0;b=b|0;c=c|0;return}function ayh(a){a=a|0;return 17248|0}function ayi(a){a=a|0;return 64}function ayj(a,b,c){a=a|0;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0;d=(+g[a+68>>2]- +g[a+52>>2])*.5*2.0;e=(+g[a+72>>2]- +g[a+56>>2])*.5*2.0;f=(+g[a+76>>2]- +g[a+60>>2])*.5*2.0;h=b/12.0;b=e*e;e=f*f;f=d*d;g[c>>2]=h*(b+e);g[c+4>>2]=h*(f+e);g[c+8>>2]=h*(f+b);g[c+12>>2]=0.0;return}function ayk(){if((a[43e3]|0)!=0){return}if((b1(43e3)|0)==0){return}g[10108]=0.0;g[10109]=-0.0;g[10110]=-1.0;g[10111]=0.0;g[10112]=.7236080169677734;g[10113]=-.5257250070571899;g[10114]=-.44721901416778564;g[10115]=0.0;g[10116]=-.2763879895210266;g[10117]=-.8506489992141724;g[10118]=-.44721901416778564;g[10119]=0.0;g[10120]=-.8944259881973267;g[10121]=-0.0;g[10122]=-.4472160041332245;g[10123]=0.0;g[10124]=-.2763879895210266;g[10125]=.8506489992141724;g[10126]=-.44721999764442444;g[10127]=0.0;g[10128]=.7236080169677734;g[10129]=.5257250070571899;g[10130]=-.44721901416778564;g[10131]=0.0;g[10132]=.2763879895210266;g[10133]=-.8506489992141724;g[10134]=.44721999764442444;g[10135]=0.0;g[10136]=-.7236080169677734;g[10137]=-.5257250070571899;g[10138]=.44721901416778564;g[10139]=0.0;g[10140]=-.7236080169677734;g[10141]=.5257250070571899;g[10142]=.44721901416778564;g[10143]=0.0;g[10144]=.2763879895210266;g[10145]=.8506489992141724;g[10146]=.44721901416778564;g[10147]=0.0;g[10148]=.8944259881973267;g[10149]=0.0;g[10150]=.4472160041332245;g[10151]=0.0;g[10152]=-0.0;g[10153]=0.0;g[10154]=1.0;g[10155]=0.0;g[10156]=.4253230094909668;g[10157]=-.3090110123157501;g[10158]=-.8506540060043335;g[10159]=0.0;g[10160]=-.16245600581169128;g[10161]=-.49999499320983887;g[10162]=-.8506540060043335;g[10163]=0.0;g[10164]=.2628690004348755;g[10165]=-.8090119957923889;g[10166]=-.525738000869751;g[10167]=0.0;g[10168]=.4253230094909668;g[10169]=.3090110123157501;g[10170]=-.8506540060043335;g[10171]=0.0;g[10172]=.8506479859352112;g[10173]=-0.0;g[10174]=-.5257359743118286;g[10175]=0.0;g[10176]=-.5257300138473511;g[10177]=-0.0;g[10178]=-.8506519794464111;g[10179]=0.0;g[10180]=-.6881899833679199;g[10181]=-.49999698996543884;g[10182]=-.5257359743118286;g[10183]=0.0;g[10184]=-.16245600581169128;g[10185]=.49999499320983887;g[10186]=-.8506540060043335;g[10187]=0.0;g[10188]=-.6881899833679199;g[10189]=.49999698996543884;g[10190]=-.5257359743118286;g[10191]=0.0;g[10192]=.2628690004348755;g[10193]=.8090119957923889;g[10194]=-.525738000869751;g[10195]=0.0;g[10196]=.9510579705238342;g[10197]=.3090130090713501;g[10198]=0.0;g[10199]=0.0;g[10200]=.9510579705238342;g[10201]=-.3090130090713501;g[10202]=0.0;g[10203]=0.0;g[10204]=.5877860188484192;g[10205]=-.80901700258255;g[10206]=0.0;g[10207]=0.0;g[10208]=0.0;g[10209]=-1.0;g[10210]=0.0;g[10211]=0.0;g[10212]=-.5877860188484192;g[10213]=-.80901700258255;g[10214]=0.0;g[10215]=0.0;g[10216]=-.9510579705238342;g[10217]=-.3090130090713501;g[10218]=-0.0;g[10219]=0.0;g[10220]=-.9510579705238342;g[10221]=.3090130090713501;g[10222]=-0.0;g[10223]=0.0;g[10224]=-.5877860188484192;g[10225]=.80901700258255;g[10226]=-0.0;g[10227]=0.0;g[10228]=-0.0;g[10229]=1.0;g[10230]=-0.0;g[10231]=0.0;g[10232]=.5877860188484192;g[10233]=.80901700258255;g[10234]=-0.0;g[10235]=0.0;g[10236]=.6881899833679199;g[10237]=-.49999698996543884;g[10238]=.5257359743118286;g[10239]=0.0;g[10240]=-.2628690004348755;g[10241]=-.8090119957923889;g[10242]=.525738000869751;g[10243]=0.0;g[10244]=-.8506479859352112;g[10245]=0.0;g[10246]=.5257359743118286;g[10247]=0.0;g[10248]=-.2628690004348755;g[10249]=.8090119957923889;g[10250]=.525738000869751;g[10251]=0.0;g[10252]=.6881899833679199;g[10253]=.49999698996543884;g[10254]=.5257359743118286;g[10255]=0.0;g[10256]=.5257300138473511;g[10257]=0.0;g[10258]=.8506519794464111;g[10259]=0.0;g[10260]=.16245600581169128;g[10261]=-.49999499320983887;g[10262]=.8506540060043335;g[10263]=0.0;g[10264]=-.4253230094909668;g[10265]=-.3090110123157501;g[10266]=.8506540060043335;g[10267]=0.0;g[10268]=-.4253230094909668;g[10269]=.3090110123157501;g[10270]=.8506540060043335;g[10271]=0.0;g[10272]=.16245600581169128;g[10273]=.49999499320983887;g[10274]=.8506540060043335;g[10275]=0.0;return}function ayl(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aym(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ayn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0;h=b+4|0;i=d;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];i=b+20|0;h=e;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];g[b+36>>2]=f;a[b+40|0]=1;return}function ayo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0;e=a|0;f=a+4|0;h=a+8|0;i=a+12|0;aDD(a|0,0,16);j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=j*j+k*k+l*l;if(m<1.4210854715202004e-14){n=1.0;o=0.0;p=0.0}else{q=1.0/+Q(+m);n=j*q;o=k*q;p=l*q}d=c[b+92>>2]|0;if((d|0)<=0){return}a=b|0;r=b+12|0;s=b+16|0;t=b+20|0;u=b;q=-999999984306749400.0;v=c[b+100>>2]|0;w=c[b+120>>2]|0;b=0;while(1){l=+g[w>>2];k=+g[v>>2]+n*+g[r>>2]*l;j=o*+g[s>>2]*l+ +g[v+4>>2];m=l*p*+g[t>>2]+ +g[v+8>>2];l=+dh[c[(c[u>>2]|0)+44>>2]&1023](a);x=k-n*l;k=j-o*l;j=m-p*l;l=p*j+(n*x+o*k);if(l>q){g[e>>2]=x;g[f>>2]=k;g[h>>2]=j;g[i>>2]=0.0;y=l}else{y=q}z=b+1|0;if((z|0)<(d|0)){q=y;v=v+16|0;w=w+4|0;b=z}else{break}}return}function ayp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;if((e|0)<=0){return}f=a+100|0;h=a+120|0;i=a+92|0;j=a|0;k=a+12|0;l=a+16|0;m=a+20|0;n=a;a=0;do{o=c[i>>2]|0;L4705:do{if((o|0)>0){p=b+(a<<4)|0;q=b+(a<<4)+4|0;r=b+(a<<4)+8|0;s=d+(a<<4)|0;t=d+(a<<4)+4|0;u=d+(a<<4)+8|0;v=d+(a<<4)+12|0;w=-999999984306749400.0;x=c[f>>2]|0;y=c[h>>2]|0;z=1;while(1){A=+g[y>>2];B=+g[x>>2]+ +g[p>>2]*+g[k>>2]*A;C=+g[q>>2]*+g[l>>2]*A+ +g[x+4>>2];D=A*+g[r>>2]*+g[m>>2]+ +g[x+8>>2];A=+dh[c[(c[n>>2]|0)+44>>2]&1023](j);E=+g[p>>2];F=+g[q>>2];G=+g[r>>2];H=B-A*E;B=C-A*F;C=D-A*G;A=E*H+F*B+G*C;if(A>w){g[s>>2]=H;g[t>>2]=B;g[u>>2]=C;g[v>>2]=0.0;I=A}else{I=w}if((z|0)>=(o|0)){break L4705}w=I;x=x+16|0;y=y+4|0;z=z+1|0}}}while(0);a=a+1|0;}while((a|0)<(e|0));return}function ayq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];f=c[a+92>>2]|0;if((f|0)==0){c[b+52>>2]=0;c[b+56>>2]=0;return 17728}h=a+100|0;c[b+52>>2]=dj[c[(c[e>>2]|0)+28>>2]&511](d,c[h>>2]|0)|0;c[b+56>>2]=f;b=cS[c[(c[d>>2]|0)+16>>2]&511](d,20,f)|0;if((f|0)>0){e=a+120|0;a=c[b+8>>2]|0;i=0;while(1){j=c[h>>2]|0;g[a>>2]=+g[j+(i<<4)>>2];g[a+4>>2]=+g[j+(i<<4)+4>>2];g[a+8>>2]=+g[j+(i<<4)+8>>2];g[a+12>>2]=+g[j+(i<<4)+12>>2];g[a+16>>2]=+g[(c[e>>2]|0)+(i<<2)>>2];j=i+1|0;if((j|0)<(f|0)){a=a+20|0;i=j}else{break}}}co[c[(c[d>>2]|0)+20>>2]&255](d,b,16504,1497453121,c[h>>2]|0);return 17728}function ayr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=23192;d=b+112|0;e=b+120|0;f=c[e>>2]|0;g=b+124|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+116>>2]=0;d=b+92|0;e=b+100|0;g=c[e>>2]|0;f=b+104|0;if((g|0)==0){a[f]=1;c[e>>2]=0;c[d>>2]=0;h=b+96|0;c[h>>2]=0;return}if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-16+12>>2]|0)}c[e>>2]=0;a[f]=1;c[e>>2]=0;c[d>>2]=0;h=b+96|0;c[h>>2]=0;return}function ays(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=23192;d=b+112|0;e=b+120|0;f=c[e>>2]|0;g=b+124|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+116>>2]=0;d=b+92|0;e=b+100|0;g=c[e>>2]|0;f=b+104|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-16+12>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+96>>2]=0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-128+124>>2]|0);return}function ayt(a){a=a|0;azm(a|0);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-172+168>>2]|0);return}function ayu(a){a=a|0;azm(a|0);return}function ayv(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,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,O=0,P=0,Q=0;k=i;i=i+168|0;l=k|0;m=k+32|0;n=k+40|0;o=k+56|0;p=k+72|0;q=k+136|0;r=d|0;s=d+60|0;a[s]=f&1;if(f){t=+g[h>>2]+-1.0;u=+g[h+4>>2]+-1.0;v=+g[h+8>>2]+-1.0;g[d+4>>2]=t;g[d+8>>2]=u;g[d+12>>2]=v;g[d+16>>2]=0.0;w=+g[j>>2]+1.0;x=+g[j+4>>2]+1.0;y=+g[j+8>>2]+1.0;g[d+20>>2]=w;g[d+24>>2]=x;g[d+28>>2]=y;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(w-t);g[d+40>>2]=65533.0/(x-u);g[d+44>>2]=65533.0/(y-v);g[d+48>>2]=0.0;a[s]=1;c[l>>2]=19032;c[l+4>>2]=d+104;c[l+8>>2]=r;dI[c[(c[e>>2]|0)+8>>2]&1023](e,l|0,d+4|0,d+20|0);l=c[d+108>>2]|0;j=l<<1;h=k+16|0;aDD(h|0,0,16);f=d+128|0;z=c[f>>2]|0;if((z|0)<(j|0)){A=d+132|0;if((c[A>>2]|0)<(j|0)){if((j|0)==0){B=0;C=z}else{c[9806]=(c[9806]|0)+1;D=aDx((l<<5|4)+15|0)|0;if((D|0)==0){E=0}else{F=-(D+4|0)&15;c[D+F>>2]=D;E=D+(F+4)|0}B=E;C=c[f>>2]|0}E=d+136|0;if((C|0)>0){F=0;do{D=B+(F<<4)|0;G=(c[E>>2]|0)+(F<<4)|0;c[D>>2]=c[G>>2];c[D+4>>2]=c[G+4>>2];c[D+8>>2]=c[G+8>>2];c[D+12>>2]=c[G+12>>2];F=F+1|0;}while((F|0)<(C|0))}C=c[E>>2]|0;F=d+140|0;if((C|0)!=0){if((a[F]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[C-16+12>>2]|0)}c[E>>2]=0}a[F]=1;c[E>>2]=B;c[A>>2]=j;H=E}else{H=d+136|0}E=z;do{z=(c[H>>2]|0)+(E<<4)|0;c[z>>2]=c[h>>2];c[z+4>>2]=c[h+4>>2];c[z+8>>2]=c[h+8>>2];c[z+12>>2]=c[h+12>>2];E=E+1|0;}while((E|0)<(j|0))}c[f>>2]=j;I=l}else{c[m>>2]=19064;c[m+4>>2]=d+64;g[n>>2]=-999999984306749400.0;g[n+4>>2]=-999999984306749400.0;g[n+8>>2]=-999999984306749400.0;g[n+12>>2]=0.0;g[o>>2]=999999984306749400.0;g[o+4>>2]=999999984306749400.0;g[o+8>>2]=999999984306749400.0;g[o+12>>2]=0.0;dI[c[(c[e>>2]|0)+8>>2]&1023](e,m|0,n,o);o=c[d+68>>2]|0;n=p;aDD(n|0,0,64);p=o<<1;m=d+88|0;e=c[m>>2]|0;if((e|0)<(p|0)){l=d+92|0;if((c[l>>2]|0)<(p|0)){if((p|0)==0){J=0;K=e}else{c[9806]=(c[9806]|0)+1;j=aDx((o<<7|4)+15|0)|0;if((j|0)==0){L=0}else{f=-(j+4|0)&15;c[j+f>>2]=j;L=j+(f+4)|0}J=L;K=c[m>>2]|0}L=d+96|0;if((K|0)>0){f=0;do{j=J+(f<<6)|0;E=(c[L>>2]|0)+(f<<6)|0;aDC(j|0,E|0,64)|0;f=f+1|0;}while((f|0)<(K|0))}K=c[L>>2]|0;f=d+100|0;if((K|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[K-64+60>>2]|0)}c[L>>2]=0}a[f]=1;c[L>>2]=J;c[l>>2]=p;M=L}else{M=d+96|0}L=e;do{e=(c[M>>2]|0)+(L<<6)|0;aDC(e|0,n|0,64)|0;L=L+1|0;}while((L|0)<(p|0))}c[m>>2]=p;I=o}c[d+56>>2]=0;azk(r,0,I);I=d+152|0;do{if((a[s]&1)!=0){if((c[I>>2]|0)!=0){break}r=d+156|0;if((c[r>>2]|0)==0){c[9806]=(c[9806]|0)+1;o=aDx(51)|0;if((o|0)==0){N=0}else{p=-(o+4|0)&15;c[o+p>>2]=o;N=o+(p+4)|0}p=c[I>>2]|0;o=d+160|0;if((p|0)>0){m=0;do{L=N+(m<<5)|0;n=(c[o>>2]|0)+(m<<5)|0;aDC(L|0,n|0,32)|0;m=m+1|0;}while((m|0)<(p|0))}p=c[o>>2]|0;m=d+164|0;if((p|0)!=0){if((a[m]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-32+28>>2]|0)}c[o>>2]=0}a[m]=1;c[o>>2]=N;c[r>>2]=1;O=(c[I>>2]|0)+1|0;P=N}else{O=1;P=c[d+160>>2]|0}c[I>>2]=O;m=d+160|0;p=P;n=q;aDC(p|0,n|0,32)|0;n=c[m>>2]|0;m=d+136|0;p=c[m>>2]|0;b[n>>1]=b[p>>1]|0;b[n+2>>1]=b[p+2>>1]|0;b[n+4>>1]=b[p+4>>1]|0;b[n+6>>1]=b[p+6>>1]|0;b[n+8>>1]=b[p+8>>1]|0;b[n+10>>1]=b[p+10>>1]|0;c[n+12>>2]=0;p=c[(c[m>>2]|0)+12>>2]|0;c[n+16>>2]=(p|0)>-1?1:-p|0}}while(0);c[d+168>>2]=c[I>>2];I=d+108|0;q=d+116|0;P=c[q>>2]|0;O=d+120|0;if((P|0)!=0){if((a[O]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[P-16+12>>2]|0)}c[q>>2]=0}a[O]=1;c[q>>2]=0;c[I>>2]=0;c[d+112>>2]=0;I=d+68|0;q=d+76|0;O=c[q>>2]|0;P=d+80|0;if((O|0)==0){a[P]=1;c[q>>2]=0;c[I>>2]=0;Q=d+72|0;c[Q>>2]=0;i=k;return}if((a[P]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[O-64+60>>2]|0)}c[q>>2]=0;a[P]=1;c[q>>2]=0;c[I>>2]=0;Q=d+72|0;c[Q>>2]=0;i=k;return}function ayw(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;i=d+60|0;if((a[i]&1)==0){return}j=+g[f>>2]+-1.0;k=+g[f+4>>2]+-1.0;l=+g[f+8>>2]+-1.0;g[d+4>>2]=j;g[d+8>>2]=k;g[d+12>>2]=l;g[d+16>>2]=0.0;m=+g[h>>2]+1.0;n=+g[h+4>>2]+1.0;o=+g[h+8>>2]+1.0;g[d+20>>2]=m;g[d+24>>2]=n;g[d+28>>2]=o;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(m-j);g[d+40>>2]=65533.0/(n-k);g[d+44>>2]=65533.0/(o-l);g[d+48>>2]=0.0;a[i]=1;ayA(d,e,0,c[d+56>>2]|0);e=d+152|0;if((c[e>>2]|0)<=0){return}i=d+160|0;h=d+136|0;d=0;do{f=c[i>>2]|0;p=c[f+(d<<5)+12>>2]|0;q=c[h>>2]|0;b[f+(d<<5)>>1]=b[q+(p<<4)>>1]|0;b[f+(d<<5)+2>>1]=b[q+(p<<4)+2>>1]|0;b[f+(d<<5)+4>>1]=b[q+(p<<4)+4>>1]|0;b[f+(d<<5)+6>>1]=b[q+(p<<4)+6>>1]|0;b[f+(d<<5)+8>>1]=b[q+(p<<4)+8>>1]|0;b[f+(d<<5)+10>>1]=b[q+(p<<4)+10>>1]|0;d=d+1|0;}while((d|0)<(c[e>>2]|0));return}function ayx(a){a=a|0;return 84}function ayy(a){a=a|0;return}function ayz(a){a=a|0;return}function ayA(a,d,f,j){a=a|0;d=d|0;f=f|0;j=j|0;var 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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ab=0,ac=0,ad=0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0;k=i;i=i+112|0;l=k|0;m=k+8|0;n=k+16|0;o=k+24|0;p=k+32|0;q=k+40|0;r=k+48|0;s=k+56|0;t=k+64|0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=2;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=2;u=j-1|0;if((u|0)<(f|0)){i=k;return}v=a+136|0;w=d+4|0;x=d+8|0;y=d+12|0;z=t|0;A=t+4|0;B=t+8|0;C=t+16|0;D=t+20|0;E=t+24|0;F=t+32|0;G=t+36|0;H=t+40|0;I=a+4|0;J=a+8|0;K=a+12|0;L=a+36|0;M=a+40|0;N=a+44|0;a=d;O=d;P=j;j=-1;Q=u;L4875:while(1){u=P;R=Q;while(1){S=c[v>>2]|0;T=c[S+(R<<4)+12>>2]|0;if((T|0)>-1){break}U=c[S+(u<<4)+12>>2]|0;V=u+((U|0)>-1?1:-U|0)|0;U=b[S+(u<<4)>>1]|0;W=S+(R<<4)|0;b[W>>1]=U;X=b[S+(V<<4)>>1]|0;if((U&65535)>(X&65535)){b[W>>1]=X}X=b[S+(u<<4)+6>>1]|0;W=S+(R<<4)+6|0;b[W>>1]=X;U=b[S+(V<<4)+6>>1]|0;if((X&65535)<(U&65535)){b[W>>1]=U}U=b[S+(u<<4)+2>>1]|0;W=S+(R<<4)+2|0;b[W>>1]=U;X=b[S+(V<<4)+2>>1]|0;if((U&65535)>(X&65535)){b[W>>1]=X}X=b[S+(u<<4)+8>>1]|0;W=S+(R<<4)+8|0;b[W>>1]=X;U=b[S+(V<<4)+8>>1]|0;if((X&65535)<(U&65535)){b[W>>1]=U}U=b[S+(u<<4)+4>>1]|0;W=S+(R<<4)+4|0;b[W>>1]=U;X=b[S+(V<<4)+4>>1]|0;if((U&65535)>(X&65535)){b[W>>1]=X}X=b[S+(u<<4)+10>>1]|0;W=S+(R<<4)+10|0;b[W>>1]=X;U=b[S+(V<<4)+10>>1]|0;if((X&65535)<(U&65535)){b[W>>1]=U}U=R-1|0;if((U|0)<(f|0)){Y=j;break L4875}else{u=R;R=U}}u=T>>21;U=T&2097151;if((u|0)==(j|0)){Z=j}else{if((j|0)>-1){cv[c[(c[a>>2]|0)+24>>2]&2047](d,j)}di[c[(c[O>>2]|0)+16>>2]&63](d,l,m,n,o,p,q,r,s,u);Z=u}u=c[p>>2]|0;W=u+(aa(c[q>>2]|0,U)|0)|0;U=W;u=W;W=(c[s>>2]|0)==3;X=(c[n>>2]|0)==0;V=c[l>>2]|0;_=c[o>>2]|0;$=2;while(1){if(W){ab=e[u+($<<1)>>1]|0}else{ab=c[U+($<<2)>>2]|0}ac=aa(_,ab)|0;ad=V+ac|0;if(X){ae=+g[V+(ac+4)>>2]*+g[x>>2];af=+g[V+(ac+8)>>2]*+g[y>>2];g[t+($<<4)>>2]=+g[ad>>2]*+g[w>>2];g[t+($<<4)+4>>2]=ae;g[t+($<<4)+8>>2]=af;g[t+($<<4)+12>>2]=0.0}else{af=+h[V+(ac+8)>>3]*+g[x>>2];ae=+h[V+(ac+16)>>3]*+g[y>>2];g[t+($<<4)>>2]=+h[ad>>3]*+g[w>>2];g[t+($<<4)+4>>2]=af;g[t+($<<4)+8>>2]=ae;g[t+($<<4)+12>>2]=0.0}if(($|0)>0){$=$-1|0}else{break}}ae=+g[z>>2];af=ae<999999984306749400.0?ae:999999984306749400.0;ag=+g[A>>2];ah=ag<999999984306749400.0?ag:999999984306749400.0;ai=+g[B>>2];aj=ai<999999984306749400.0?ai:999999984306749400.0;ak=ae>-999999984306749400.0?ae:-999999984306749400.0;ae=ag>-999999984306749400.0?ag:-999999984306749400.0;ag=ai>-999999984306749400.0?ai:-999999984306749400.0;ai=+g[C>>2];al=ai>2];am=af>2];an=ah>2];ah=+g[G>>2];af=+g[H>>2];ai=((ah>2])*+g[M>>2];am=((af>2])*+g[N>>2];b[S+(R<<4)>>1]=~~(((ag>2])*+g[L>>2])&-2;b[S+(R<<4)+2>>1]=~~ai&-2;b[S+(R<<4)+4>>1]=~~am&-2;am=((ak>2])*+g[M>>2];ak=((ae>2])*+g[N>>2];b[S+(R<<4)+6>>1]=~~(((aj>2])*+g[L>>2]+1.0)|1;b[S+(R<<4)+8>>1]=~~(am+1.0)|1;b[S+(R<<4)+10>>1]=~~(ak+1.0)|1;$=R-1|0;if(($|0)<(f|0)){Y=Z;break}else{P=R;j=Z;Q=$}}if((Y|0)<=-1){i=k;return}cv[c[(c[a>>2]|0)+24>>2]&2047](d,Y);i=k;return}function ayB(a,d,f,h,i,j,k,l){a=a|0;d=d|0;f=+f;h=+h;i=+i;j=+j;k=+k;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;m=+g[a+4>>2];n=+g[a+8>>2];o=+g[a+12>>2];p=+g[a+36>>2];q=+g[a+40>>2];r=+g[a+44>>2];s=~~((f-m)*p)&-2;t=~~((h-n)*q)&-2;u=~~((i-o)*r)&-2;v=~~(p*(j-m)+1.0)|1;w=~~(q*(k-n)+1.0)|1;x=~~(r*(l-o)+1.0)|1;y=a+152|0;z=c[y>>2]|0;if((z|0)<=0){return}A=a+160|0;B=a+136|0;C=0;D=z;while(1){z=c[A>>2]|0;E=z+(C<<5)|0;F=z+(C<<5)+6|0;G=z+(C<<5)+10|0;H=z+(C<<5)+4|0;I=z+(C<<5)+8|0;J=z+(C<<5)+2|0;if((-((s&65535)<=(e[F>>1]|0)&(v&65535)>=(e[E>>1]|0)&(u&65535)<=(e[G>>1]|0)&(x&65535)>=(e[H>>1]|0)&(t&65535)<=(e[I>>1]|0)&(w&65535)>=(e[J>>1]|0)&1)&1|0)==0){K=D}else{L=z+(C<<5)+12|0;M=c[L>>2]|0;ayA(a,d,M,(c[z+(C<<5)+16>>2]|0)+M|0);M=c[L>>2]|0;L=c[B>>2]|0;b[E>>1]=b[L+(M<<4)>>1]|0;b[J>>1]=b[L+(M<<4)+2>>1]|0;b[H>>1]=b[L+(M<<4)+4>>1]|0;b[F>>1]=b[L+(M<<4)+6>>1]|0;b[I>>1]=b[L+(M<<4)+8>>1]|0;b[G>>1]=b[L+(M<<4)+10>>1]|0;K=c[y>>2]|0}M=C+1|0;if((M|0)<(K|0)){C=M;D=K}else{break}}return}function ayC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;azr(a|0,b,c,d)|0;return 1}function ayD(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ayE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=i;i=i+24|0;j=h|0;k=+g[d>>2];l=k<999999984306749400.0?k:999999984306749400.0;m=+g[d+4>>2];n=m<999999984306749400.0?m:999999984306749400.0;o=+g[d+8>>2];p=o<999999984306749400.0?o:999999984306749400.0;q=+g[d+12>>2];r=q<0.0?q:0.0;s=k>-999999984306749400.0?k:-999999984306749400.0;k=m>-999999984306749400.0?m:-999999984306749400.0;m=o>-999999984306749400.0?o:-999999984306749400.0;o=q>0.0?q:0.0;q=+g[d+16>>2];t=q>2];u=l>2];v=n>2];w=p>2];p=o>2];n=t>2];l=u>2];q=v>2]|0;b=d+4|0;x=c[b>>2]|0;y=d+8|0;do{if((x|0)==(c[y>>2]|0)){z=(x|0)==0?1:x<<1;if((x|0)>=(z|0)){A=x;break}if((z|0)==0){B=0;C=x}else{c[9806]=(c[9806]|0)+1;D=aDx((z<<6|4)+15|0)|0;if((D|0)==0){E=0}else{F=-(D+4|0)&15;c[D+F>>2]=D;E=D+(F+4)|0}B=E;C=c[b>>2]|0}F=d+12|0;if((C|0)>0){D=0;do{G=B+(D<<6)|0;H=(c[F>>2]|0)+(D<<6)|0;aDC(G|0,H|0,64)|0;D=D+1|0;}while((D|0)<(C|0))}D=c[F>>2]|0;H=d+16|0;if((D|0)!=0){if((a[H]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[D-64+60>>2]|0)}c[F>>2]=0}a[H]=1;c[F>>2]=B;c[y>>2]=z;A=c[b>>2]|0}else{A=x}}while(0);x=c[d+12>>2]|0;g[x+(A<<6)>>2]=p;g[x+(A<<6)+4>>2]=n;g[x+(A<<6)+8>>2]=l;g[x+(A<<6)+12>>2]=q;g[x+(A<<6)+16>>2]=w;g[x+(A<<6)+20>>2]=r;g[x+(A<<6)+24>>2]=s;g[x+(A<<6)+28>>2]=k;c[x+(A<<6)+32>>2]=-1;c[x+(A<<6)+36>>2]=e;c[x+(A<<6)+40>>2]=f;f=x+(A<<6)+44|0;A=j;c[f>>2]=c[A>>2];c[f+4>>2]=c[A+4>>2];c[f+8>>2]=c[A+8>>2];c[f+12>>2]=c[A+12>>2];c[f+16>>2]=c[A+16>>2];c[b>>2]=(c[b>>2]|0)+1;i=h;return}function ayF(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ayG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[9808]=(c[9808]|0)+1;e=(c[b+12>>2]|0)>(c[d+12>>2]|0);f=c[(e?d:b)+12>>2]|0;g=c[(e?b:d)+12>>2]|0;d=g<<16|f;b=d+~(d<<15)|0;d=(b>>10^b)*9|0;b=d>>6^d;d=b+~(b<<11)|0;b=(d>>16^d)&(c[a+12>>2]|0)-1;if((b|0)>=(c[a+36>>2]|0)){h=0;return h|0}d=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1){h=0;return h|0}b=c[a+16>>2]|0;e=a+64|0;a=d;while(1){if((c[(c[b+(a<<4)>>2]|0)+12>>2]|0)==(f|0)){if((c[(c[b+(a<<4)+4>>2]|0)+12>>2]|0)==(g|0)){break}}d=c[(c[e>>2]|0)+(a<<2)>>2]|0;if((d|0)==-1){h=0;i=4102;break}else{a=d}}if((i|0)==4102){return h|0}h=b+(a<<4)|0;return h|0}function ayH(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,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;i=+g[e>>2];j=i<999999984306749400.0?i:999999984306749400.0;k=+g[e+4>>2];l=k<999999984306749400.0?k:999999984306749400.0;m=+g[e+8>>2];n=m<999999984306749400.0?m:999999984306749400.0;o=i>-999999984306749400.0?i:-999999984306749400.0;i=k>-999999984306749400.0?k:-999999984306749400.0;k=m>-999999984306749400.0?m:-999999984306749400.0;m=+g[e+16>>2];p=m>2];q=j>2];r=l>2];l=k>2];j=p>2];m=q>2]|0;m=+g[e+4>>2];o=+g[e+8>>2];j=+g[e+12>>2];n=+g[e+36>>2];l=+g[e+40>>2];r=+g[e+44>>2];e=~~((t-m)*n)&-2;y=~~((v-o)*l)&-2;z=~~((x-j)*r)&-2;A=~~((s-m)*n+1.0)|1;B=~~((u-o)*l+1.0)|1;C=~~((w-j)*r+1.0)|1;D=f<<21|h;h=c[d+4>>2]|0;d=h+4|0;f=c[d>>2]|0;E=h+8|0;do{if((f|0)==(c[E>>2]|0)){F=(f|0)==0?1:f<<1;if((f|0)>=(F|0)){G=f;break}if((F|0)==0){H=0;I=f}else{c[9806]=(c[9806]|0)+1;J=aDx((F<<4|4)+15|0)|0;if((J|0)==0){K=0}else{L=-(J+4|0)&15;c[J+L>>2]=J;K=J+(L+4)|0}H=K;I=c[d>>2]|0}L=h+12|0;if((I|0)>0){J=0;do{M=H+(J<<4)|0;N=(c[L>>2]|0)+(J<<4)|0;c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];J=J+1|0;}while((J|0)<(I|0))}J=c[L>>2]|0;N=h+16|0;if((J|0)!=0){if((a[N]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[J-16+12>>2]|0)}c[L>>2]=0}a[N]=1;c[L>>2]=H;c[E>>2]=F;G=c[d>>2]|0}else{G=f}}while(0);f=c[h+12>>2]|0;b[f+(G<<4)>>1]=e;b[f+(G<<4)+2>>1]=y;b[f+(G<<4)+4>>1]=z;b[f+(G<<4)+6>>1]=A;b[f+(G<<4)+8>>1]=B;b[f+(G<<4)+10>>1]=C;c[f+(G<<4)+12>>2]=D;c[d>>2]=(c[d>>2]|0)+1;return}function ayI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=20208;d=b+20|0;a[d]=1;e=b+16|0;c[e>>2]=0;f=b+8|0;c[f>>2]=0;g=b+12|0;c[g>>2]=0;c[b+24>>2]=0;a[b+28|0]=0;a[b+48|0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a[b+68|0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+72>>2]=0;c[9806]=(c[9806]|0)+1;h=aDx(51)|0;if((h|0)==0){i=0}else{j=-(h+4|0)&15;c[h+j>>2]=h;i=h+(j+4)|0}j=c[f>>2]|0;if((j|0)>0){f=0;do{h=c[e>>2]|0;c[i+(f<<4)>>2]=c[h+(f<<4)>>2];c[i+(f<<4)+4>>2]=c[h+(f<<4)+4>>2];c[i+(f<<4)+8>>2]=c[h+(f<<4)+8>>2];c[i+(f<<4)+12>>2]=c[h+(f<<4)+12>>2];f=f+1|0;}while((f|0)<(j|0))}j=c[e>>2]|0;if((j|0)==0){a[d]=1;c[e>>2]=i;c[g>>2]=2;ayJ(b);return}if((a[d]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-16+12>>2]|0)}c[e>>2]=0;a[d]=1;c[e>>2]=i;c[g>>2]=2;ayJ(b);return}function ayJ(b){b=b|0;var 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;d=b+12|0;e=c[d>>2]|0;f=b+36|0;g=c[f>>2]|0;if((g|0)>=(e|0)){return}if((g|0)<=(e|0)){h=b+40|0;if((c[h>>2]|0)<(e|0)){if((e|0)==0){i=0;j=g}else{c[9806]=(c[9806]|0)+1;k=aDx((e<<2)+19|0)|0;if((k|0)==0){l=0}else{m=-(k+4|0)&15;c[k+m>>2]=k;l=k+(m+4)|0}i=l;j=c[f>>2]|0}l=b+44|0;if((j|0)>0){m=0;do{k=i+(m<<2)|0;if((k|0)!=0){c[k>>2]=c[(c[l>>2]|0)+(m<<2)>>2]}m=m+1|0;}while((m|0)<(j|0))}j=c[l>>2]|0;m=b+48|0;if((j|0)!=0){if((a[m]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-4>>2]|0)}c[l>>2]=0}a[m]=1;c[l>>2]=i;c[h>>2]=e;n=l}else{n=b+44|0}l=g;do{h=(c[n>>2]|0)+(l<<2)|0;if((h|0)!=0){c[h>>2]=0}l=l+1|0;}while((l|0)<(e|0))}c[f>>2]=e;f=b+56|0;l=c[f>>2]|0;if((l|0)<(e|0)){n=b+60|0;if((c[n>>2]|0)<(e|0)){if((e|0)==0){o=0;p=l}else{c[9806]=(c[9806]|0)+1;h=aDx((e<<2)+19|0)|0;if((h|0)==0){q=0}else{i=-(h+4|0)&15;c[h+i>>2]=h;q=h+(i+4)|0}o=q;p=c[f>>2]|0}q=b+64|0;if((p|0)>0){i=0;do{h=o+(i<<2)|0;if((h|0)!=0){c[h>>2]=c[(c[q>>2]|0)+(i<<2)>>2]}i=i+1|0;}while((i|0)<(p|0))}p=c[q>>2]|0;i=b+68|0;if((p|0)!=0){if((a[i]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[p-4>>2]|0)}c[q>>2]=0}a[i]=1;c[q>>2]=o;c[n>>2]=e;r=q}else{r=b+64|0}q=l;do{l=(c[r>>2]|0)+(q<<2)|0;if((l|0)!=0){c[l>>2]=0}q=q+1|0;}while((q|0)<(e|0))}c[f>>2]=e;if((e|0)>0){f=b+44|0;q=0;do{c[(c[f>>2]|0)+(q<<2)>>2]=-1;q=q+1|0;}while((q|0)<(e|0));q=b+64|0;f=0;do{c[(c[q>>2]|0)+(f<<2)>>2]=-1;f=f+1|0;}while((f|0)<(e|0))}if((g|0)<=0){return}e=b+16|0;f=b+44|0;q=b+64|0;b=0;do{r=c[e>>2]|0;l=c[(c[r+(b<<4)+4>>2]|0)+12>>2]<<16|c[(c[r+(b<<4)>>2]|0)+12>>2];r=l+~(l<<15)|0;l=(r>>10^r)*9|0;r=l>>6^l;l=r+~(r<<11)|0;r=(l>>16^l)&(c[d>>2]|0)-1;c[(c[q>>2]|0)+(b<<2)>>2]=c[(c[f>>2]|0)+(r<<2)>>2];c[(c[f>>2]|0)+(r<<2)>>2]=b;b=b+1|0;}while((b|0)<(g|0));return}function ayK(a){a=a|0;ayL(a);if((a|0)==0){return}aDB(a);return}function ayL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=20208;d=b+56|0;e=b+64|0;f=c[e>>2]|0;g=b+68|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+60>>2]=0;d=b+36|0;e=b+44|0;g=c[e>>2]|0;f=b+48|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+40>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function ayM(a,b,d){a=a|0;b=b|0;d=d|0;a=b+8|0;b=c[a>>2]|0;if((b|0)==0){return}ct[c[c[b>>2]>>2]&2047](b);cv[c[(c[d>>2]|0)+60>>2]&2047](d,c[a>>2]|0);c[a>>2]=0;return}function ayN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e|0;c[f>>2]=18592;c[f+4>>2]=b;c[f+8>>2]=a;c[f+12>>2]=d;dA[c[(c[a>>2]|0)+48>>2]&511](a,f|0,d);i=e;return}function ayO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+8|0;f=e|0;c[f>>2]=18560;c[f+4>>2]=b;dA[c[(c[a>>2]|0)+48>>2]&511](a,f|0,d);i=e;return}function ayP(a){a=a|0;return 0}function ayQ(a){a=a|0;return}function ayR(a){a=a|0;return}function ayS(a){a=a|0;return c[a+16>>2]|0}function ayT(a){a=a|0;return c[a+16>>2]|0}function ayU(a){a=a|0;return a+4|0}function ayV(a){a=a|0;return c[a+8>>2]|0}function ayW(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function ayX(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function ayY(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if((c[b>>2]|0)==(d|0)){e=1;return e|0}e=(c[b+4>>2]|0)==(d|0);return e|0}function ayZ(b){b=b|0;var 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;d=b+4|0;e=c[d>>2]|0;f=b+8|0;if((e|0)!=(c[f>>2]|0)){g=e;h=g+1|0;c[d>>2]=h;i=b+12|0;j=c[i>>2]|0;k=j+(e<<4)|0;return k|0}l=(e|0)==0?1:e<<1;if((e|0)>=(l|0)){g=e;h=g+1|0;c[d>>2]=h;i=b+12|0;j=c[i>>2]|0;k=j+(e<<4)|0;return k|0}if((l|0)==0){m=0;n=e}else{c[9806]=(c[9806]|0)+1;o=aDx((l<<4|4)+15|0)|0;if((o|0)==0){p=0}else{q=-(o+4|0)&15;c[o+q>>2]=o;p=o+(q+4)|0}m=p;n=c[d>>2]|0}p=b+12|0;if((n|0)>0){q=0;do{o=c[p>>2]|0;c[m+(q<<4)>>2]=c[o+(q<<4)>>2];c[m+(q<<4)+4>>2]=c[o+(q<<4)+4>>2];c[m+(q<<4)+8>>2]=c[o+(q<<4)+8>>2];c[m+(q<<4)+12>>2]=c[o+(q<<4)+12>>2];q=q+1|0;}while((q|0)<(n|0))}n=c[p>>2]|0;q=b+16|0;if((n|0)!=0){if((a[q]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-16+12>>2]|0)}c[p>>2]=0}a[q]=1;c[p>>2]=m;c[f>>2]=l;g=c[d>>2]|0;h=g+1|0;c[d>>2]=h;i=b+12|0;j=c[i>>2]|0;k=j+(e<<4)|0;return k|0}function ay_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;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;c[9790]=(c[9790]|0)+1;f=(c[b+12>>2]|0)>(c[d+12>>2]|0);g=f?d:b;h=f?b:d;d=c[g+12>>2]|0;b=c[h+12>>2]|0;f=b<<16|d;i=f+~(f<<15)|0;f=(i>>10^i)*9|0;i=f>>6^f;f=i+~(i<<11)|0;i=a+12|0;j=(f>>16^f)&(c[i>>2]|0)-1;f=a+44|0;k=c[(c[f>>2]|0)+(j<<2)>>2]|0;if((k|0)==-1){l=0;return l|0}m=a+16|0;n=c[m>>2]|0;o=a+64|0;p=k;while(1){if((c[(c[n+(p<<4)>>2]|0)+12>>2]|0)==(d|0)){if((c[(c[n+(p<<4)+4>>2]|0)+12>>2]|0)==(b|0)){break}}k=c[(c[o>>2]|0)+(p<<2)>>2]|0;if((k|0)==-1){l=0;q=4278;break}else{p=k}}if((q|0)==4278){return l|0}b=n+(p<<4)|0;if((b|0)==0){l=0;return l|0}dA[c[(c[a>>2]|0)+32>>2]&511](a,b,e);d=c[n+(p<<4)+12>>2]|0;p=(b-(c[m>>2]|0)|0)/16|0;b=(c[f>>2]|0)+(j<<2)|0;j=c[b>>2]|0;n=c[o>>2]|0;do{if((j|0)==(p|0)){r=c[n+(p<<2)>>2]|0;q=4263}else{k=j;while(1){s=n+(k<<2)|0;t=c[s>>2]|0;if((t|0)==(p|0)){break}else{k=t}}t=c[n+(p<<2)>>2]|0;if((k|0)==-1){r=t;q=4263;break}c[s>>2]=t}}while(0);if((q|0)==4263){c[b>>2]=r}r=a+8|0;b=(c[r>>2]|0)-1|0;s=c[a+72>>2]|0;if((s|0)!=0){a=c[(c[s>>2]|0)+12>>2]|0;dE[a&127](s,g,h,e)|0}if((b|0)==(p|0)){c[r>>2]=(c[r>>2]|0)-1;l=d;return l|0}e=c[m>>2]|0;h=c[(c[e+(b<<4)+4>>2]|0)+12>>2]<<16|c[(c[e+(b<<4)>>2]|0)+12>>2];e=h+~(h<<15)|0;h=(e>>10^e)*9|0;e=h>>6^h;h=e+~(e<<11)|0;e=(h>>16^h)&(c[i>>2]|0)-1;i=(c[f>>2]|0)+(e<<2)|0;h=c[i>>2]|0;g=c[o>>2]|0;do{if((h|0)==(b|0)){u=c[g+(b<<2)>>2]|0;q=4273}else{s=h;while(1){v=g+(s<<2)|0;a=c[v>>2]|0;if((a|0)==(b|0)){break}else{s=a}}k=c[g+(b<<2)>>2]|0;if((s|0)==-1){u=k;q=4273;break}c[v>>2]=k}}while(0);if((q|0)==4273){c[i>>2]=u}u=c[m>>2]|0;m=u+(p<<4)|0;i=u+(b<<4)|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];c[m+8>>2]=c[i+8>>2];c[m+12>>2]=c[i+12>>2];c[(c[o>>2]|0)+(p<<2)>>2]=c[(c[f>>2]|0)+(e<<2)>>2];c[(c[f>>2]|0)+(e<<2)>>2]=p;c[r>>2]=(c[r>>2]|0)-1;l=d;return l|0}function ay$(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+8|0;if((c[e>>2]|0)<=0){return}f=a+16|0;g=b;h=a;i=0;L5220:while(1){while(1){j=c[f>>2]|0;k=j+(i<<4)|0;if(!(dj[c[(c[g>>2]|0)+8>>2]&511](b,k)|0)){break}dE[c[(c[h>>2]|0)+12>>2]&127](a,c[k>>2]|0,c[j+(i<<4)+4>>2]|0,d)|0;c[9792]=(c[9792]|0)-1;if((i|0)>=(c[e>>2]|0)){l=4288;break L5220}}j=i+1|0;if((j|0)<(c[e>>2]|0)){i=j}else{l=4290;break}}if((l|0)==4288){return}else if((l|0)==4290){return}}function ay0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=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,z=0,A=0,B=0;e=i;i=i+24|0;f=e|0;g=f+16|0;a[g]=1;h=f+12|0;c[h>>2]=0;j=f+4|0;c[j>>2]=0;k=f+8|0;c[k>>2]=0;l=b+8|0;do{if((c[l>>2]|0)>0){m=b+16|0;n=0;o=0;p=0;while(1){q=c[m>>2]|0;do{if((o|0)==(p|0)){r=(p|0)==0?1:p<<1;if((p|0)>=(r|0)){s=p;break}if((r|0)==0){t=0;u=p}else{c[9806]=(c[9806]|0)+1;v=aDx((r<<4|4)+15|0)|0;if((v|0)==0){w=0}else{x=-(v+4|0)&15;c[v+x>>2]=v;w=v+(x+4)|0}t=w;u=c[j>>2]|0}if((u|0)>0){x=0;do{v=c[h>>2]|0;c[t+(x<<4)>>2]=c[v+(x<<4)>>2];c[t+(x<<4)+4>>2]=c[v+(x<<4)+4>>2];c[t+(x<<4)+8>>2]=c[v+(x<<4)+8>>2];c[t+(x<<4)+12>>2]=c[v+(x<<4)+12>>2];x=x+1|0;}while((x|0)<(u|0))}x=c[h>>2]|0;if((x|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[x-16+12>>2]|0)}c[h>>2]=0}a[g]=1;c[h>>2]=t;c[k>>2]=r;s=c[j>>2]|0}else{s=o}}while(0);x=c[h>>2]|0;c[x+(s<<4)>>2]=c[q+(n<<4)>>2];c[x+(s<<4)+4>>2]=c[q+(n<<4)+4>>2];c[x+(s<<4)+8>>2]=c[q+(n<<4)+8>>2];c[x+(s<<4)+12>>2]=c[q+(n<<4)+12>>2];y=(c[j>>2]|0)+1|0;c[j>>2]=y;x=n+1|0;if((x|0)>=(c[l>>2]|0)){break}n=x;o=y;p=c[k>>2]|0}if((y|0)<=0){z=y;break}p=b;o=0;while(1){n=c[h>>2]|0;dE[c[(c[p>>2]|0)+12>>2]&127](b,c[n+(o<<4)>>2]|0,c[n+(o<<4)+4>>2]|0,d)|0;n=o+1|0;m=c[j>>2]|0;if((n|0)<(m|0)){o=n}else{z=m;break}}}else{z=0}}while(0);d=b+56|0;if((c[d>>2]|0)>0){y=b+64|0;k=0;do{c[(c[y>>2]|0)+(k<<2)>>2]=-1;k=k+1|0;}while((k|0)<(c[d>>2]|0));A=c[j>>2]|0}else{A=z}if((A|0)>1){arQ(f,0,A-1|0);B=c[j>>2]|0}else{B=A}if((B|0)>0){B=b;A=0;do{f=c[h>>2]|0;cS[c[(c[B>>2]|0)+8>>2]&511](b,c[f+(A<<4)>>2]|0,c[f+(A<<4)+4>>2]|0)|0;A=A+1|0;}while((A|0)<(c[j>>2]|0))}j=c[h>>2]|0;if((j|0)==0){i=e;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-16+12>>2]|0)}c[h>>2]=0;i=e;return}function ay1(a,d,e){a=a|0;d=d|0;e=e|0;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;c[9812]=(c[9812]|0)+1;f=c[a+24>>2]|0;do{if((f|0)==0){if((b[e+6>>1]&b[d+4>>1])<<16>>16==0){g=0;return g|0}if((b[d+6>>1]&b[e+4>>1])<<16>>16==0){g=0}else{break}return g|0}else{if(cS[c[(c[f>>2]|0)+8>>2]&511](f,d,e)|0){break}else{g=0}return g|0}}while(0);f=(c[d+12>>2]|0)>(c[e+12>>2]|0);h=f?e:d;i=f?d:e;e=h+12|0;d=c[e>>2]|0;f=i+12|0;j=c[f>>2]|0;k=j<<16|d;l=k+~(k<<15)|0;k=(l>>10^l)*9|0;l=k>>6^k;k=l+~(l<<11)|0;l=k>>16^k;k=a+4|0;m=a+12|0;n=c[m>>2]|0;o=l&n-1;p=a+44|0;q=c[(c[p>>2]|0)+(o<<2)>>2]|0;L5293:do{if((q|0)!=-1){r=c[a+16>>2]|0;s=a+64|0;t=q;while(1){if((c[(c[r+(t<<4)>>2]|0)+12>>2]|0)==(d|0)){if((c[(c[r+(t<<4)+4>>2]|0)+12>>2]|0)==(j|0)){break}}u=c[(c[s>>2]|0)+(t<<2)>>2]|0;if((u|0)==-1){break L5293}else{t=u}}s=r+(t<<4)|0;if((s|0)==0){break}else{g=s}return g|0}}while(0);j=c[a+8>>2]|0;d=ayZ(k)|0;k=c[a+72>>2]|0;if((k|0)!=0){q=c[(c[k>>2]|0)+8>>2]|0;cS[q&511](k,h,i)|0}if((n|0)<(c[m>>2]|0)){ayJ(a);v=(c[m>>2]|0)-1&l}else{v=o}o=d|0;if((c[e>>2]|0)<(c[f>>2]|0)){c[o>>2]=h;c[d+4>>2]=i}else{c[o>>2]=i;c[d+4>>2]=h}h=d+8|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[a+64>>2]|0)+(j<<2)>>2]=c[(c[p>>2]|0)+(v<<2)>>2];c[(c[p>>2]|0)+(v<<2)>>2]=j;g=d;return g|0}function ay2(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ay3(a){a=a|0;if((a|0)==0){return}aDB(a);return}function ay4(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;do{if((c[b>>2]|0)!=(d|0)){if((c[b+4>>2]|0)==(d|0)){break}return 0}}while(0);d=c[a+8>>2]|0;dA[c[(c[d>>2]|0)+32>>2]&511](d,b,c[a+12>>2]|0);return 0}function ay5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0;d=a+1116|0;e=c[d>>2]|0;if((e|0)!=4){c[d>>2]=e+1;f=e;h=(f|0)<0;i=h?0:f;j=a+4+(i*276|0)|0;k=j;l=b;aDC(k|0,l|0,276)|0;return i|0}m=+g[b+80>>2];n=+g[a+84>>2];e=n>2];d=m>2];p=o>2]<(p?o:n);r=q?3:p?2:d?1:(e^1)<<31>>31;n=+g[b>>2];do{if((r|0)==0){s=0.0;t=+g[b+4>>2];u=+g[b+8>>2];v=+g[a+832>>2];w=+g[a+556>>2];x=+g[a+836>>2];y=+g[a+560>>2];z=+g[a+840>>2];A=+g[a+564>>2];B=+g[a+280>>2];C=+g[a+284>>2];D=+g[a+288>>2];E=4381}else{o=+g[a+280>>2];m=n-o;F=+g[b+4>>2];G=+g[a+284>>2];H=F-G;I=+g[b+8>>2];J=+g[a+288>>2];K=I-J;L=+g[a+832>>2];M=+g[a+556>>2];N=L-M;O=+g[a+836>>2];Q=+g[a+560>>2];R=O-Q;S=+g[a+840>>2];T=+g[a+564>>2];U=S-T;V=H*U-K*R;W=K*N-m*U;U=m*R-H*N;N=U*U+(V*V+W*W);if((r|0)!=1){s=N;t=F;u=I;v=L;w=M;x=O;y=Q;z=S;A=T;B=o;C=G;D=J;E=4381;break}X=0.0;Y=N;Z=M;_=Q;$=T;aa=F;ab=I;ac=L;ad=O;ae=S;af=+g[a+4>>2];ag=+g[a+8>>2];ah=+g[a+12>>2];ai=o;aj=G;ak=J;E=4382}}while(0);if((E|0)==4381){J=+g[a+4>>2];G=n-J;o=+g[a+8>>2];S=t-o;O=+g[a+12>>2];L=u-O;I=v-w;F=x-y;T=z-A;Q=S*T-L*F;M=L*I-G*T;T=G*F-S*I;I=T*T+(Q*Q+M*M);if((r|0)==2){al=0.0;am=I;an=s;ao=J;ap=t;aq=o;ar=u;as=O;at=w;au=y;av=A;aw=B;ax=C;ay=D;E=4383}else{X=I;Y=s;Z=w;_=y;$=A;aa=t;ab=u;ac=v;ad=x;ae=z;af=J;ag=o;ah=O;ai=B;aj=C;ak=D;E=4382}}if((E|0)==4382){D=n-af;C=aa-ag;B=ab-ah;O=ac-ai;ac=ad-aj;ad=ae-ak;ae=C*ad-B*ac;o=B*O-D*ad;ad=D*ac-C*O;O=ad*ad+(ae*ae+o*o);if(q){az=0.0;aA=O;aB=X;aC=Y}else{al=O;am=X;an=Y;ao=af;ap=aa;aq=ag;ar=ab;as=ah;at=Z;au=_;av=$;aw=ai;ax=aj;ay=ak;E=4383}}if((E|0)==4383){ak=n-ao;ao=ap-aq;aq=ar-as;as=at-aw;aw=au-ax;ax=av-ay;ay=ao*ax-aq*aw;av=aq*as-ak*ax;ax=ak*aw-ao*as;az=ax*ax+(ay*ay+av*av);aA=al;aB=am;aC=an}an=+P(+aC);aC=+P(+aB);aB=+P(+aA);E=an>-999999984306749400.0;aA=E?an:-999999984306749400.0;q=aC>aA;an=q?aC:aA;r=aB>an;f=+P(+az)>(r?aB:an)?3:r?2:q?1:(E^1)<<31>>31;h=(f|0)<0;i=h?0:f;j=a+4+(i*276|0)|0;k=j;l=b;aDC(k|0,l|0,276)|0;return i|0}function ay6(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0;f=b+1116|0;h=c[f>>2]|0;if((h|0)<=0){return}i=d|0;j=d+4|0;k=d+8|0;l=d+48|0;m=d+16|0;n=d+20|0;o=d+24|0;p=d+52|0;q=d+32|0;r=d+36|0;s=d+40|0;t=d+56|0;d=e|0;u=e+4|0;v=e+8|0;w=e+48|0;x=e+16|0;y=e+20|0;z=e+24|0;A=e+52|0;B=e+32|0;C=e+36|0;D=e+40|0;E=e+56|0;e=h;do{e=e-1|0;F=+g[b+4+(e*276|0)>>2];G=+g[b+4+(e*276|0)+4>>2];H=+g[b+4+(e*276|0)+8>>2];I=+g[l>>2]+(+g[i>>2]*F+ +g[j>>2]*G+ +g[k>>2]*H);J=+g[p>>2]+(F*+g[m>>2]+G*+g[n>>2]+H*+g[o>>2]);K=+g[t>>2]+(F*+g[q>>2]+G*+g[r>>2]+H*+g[s>>2]);g[b+4+(e*276|0)+48>>2]=I;g[b+4+(e*276|0)+52>>2]=J;g[b+4+(e*276|0)+56>>2]=K;g[b+4+(e*276|0)+60>>2]=0.0;H=+g[b+4+(e*276|0)+16>>2];G=+g[b+4+(e*276|0)+20>>2];F=+g[b+4+(e*276|0)+24>>2];L=+g[w>>2]+(+g[d>>2]*H+ +g[u>>2]*G+ +g[v>>2]*F);M=+g[A>>2]+(H*+g[x>>2]+G*+g[y>>2]+F*+g[z>>2]);N=+g[E>>2]+(H*+g[B>>2]+G*+g[C>>2]+F*+g[D>>2]);g[b+4+(e*276|0)+32>>2]=L;g[b+4+(e*276|0)+36>>2]=M;g[b+4+(e*276|0)+40>>2]=N;g[b+4+(e*276|0)+44>>2]=0.0;g[b+4+(e*276|0)+80>>2]=(I-L)*+g[b+4+(e*276|0)+64>>2]+(J-M)*+g[b+4+(e*276|0)+68>>2]+(K-N)*+g[b+4+(e*276|0)+72>>2];h=b+4+(e*276|0)+144|0;c[h>>2]=(c[h>>2]|0)+1;}while((e|0)>0);e=c[f>>2]|0;if((e|0)<=0){return}D=b+1120|0;C=b+1124|0;B=e;E=e;while(1){e=B-1|0;z=b+4+(e*276|0)|0;N=+g[b+4+(e*276|0)+80>>2];do{if(N>+g[((c[b+4+(e*276|0)+144>>2]|0)>1?D:C)>>2]){y=E-1|0;if((y|0)==(e|0)){O=E}else{x=z;A=b+4+(y*276|0)|0;aDC(x|0,A|0,276)|0;c[b+4+(y*276|0)+108>>2]=0;g[b+4+(y*276|0)+208>>2]=0.0;g[b+4+(y*276|0)+240>>2]=0.0;g[b+4+(y*276|0)+272>>2]=0.0;g[b+4+(y*276|0)+112>>2]=0.0;a[b+4+(y*276|0)+116|0]=0;g[b+4+(y*276|0)+120>>2]=0.0;g[b+4+(y*276|0)+124>>2]=0.0;c[b+4+(y*276|0)+144>>2]=0;O=c[f>>2]|0}y=O-1|0;c[f>>2]=y;P=y}else{K=+g[b+4+(e*276|0)+32>>2]-(+g[b+4+(e*276|0)+48>>2]- +g[b+4+(e*276|0)+64>>2]*N);M=+g[b+4+(e*276|0)+36>>2]-(+g[b+4+(e*276|0)+52>>2]-N*+g[b+4+(e*276|0)+68>>2]);J=+g[b+4+(e*276|0)+40>>2]-(+g[b+4+(e*276|0)+56>>2]-N*+g[b+4+(e*276|0)+72>>2]);L=+g[D>>2];if(K*K+M*M+J*J<=L*L){P=E;break}y=E-1|0;if((y|0)==(e|0)){Q=E}else{A=z;x=b+4+(y*276|0)|0;aDC(A|0,x|0,276)|0;c[b+4+(y*276|0)+108>>2]=0;g[b+4+(y*276|0)+208>>2]=0.0;g[b+4+(y*276|0)+240>>2]=0.0;g[b+4+(y*276|0)+272>>2]=0.0;g[b+4+(y*276|0)+112>>2]=0.0;a[b+4+(y*276|0)+116|0]=0;g[b+4+(y*276|0)+120>>2]=0.0;g[b+4+(y*276|0)+124>>2]=0.0;c[b+4+(y*276|0)+144>>2]=0;Q=c[f>>2]|0}y=Q-1|0;c[f>>2]=y;P=y}}while(0);if((e|0)>0){B=e;E=P}else{break}}return}function ay7(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[a-56+52>>2]|0);return}function ay8(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0);return}function ay9(d){d=d|0;var f=0,h=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,x=0,y=0,z=0,A=0,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,O=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0,aq=0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0.0,aI=0.0,aJ=0.0,aK=0,aL=0,aM=0,aN=0,aO=0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,ba=0,bb=0,bc=0,bd=0,be=0,bf=0.0,bg=0,bh=0,bi=0,bj=0,bk=0,bl=0,bm=0,bn=0,bo=0,bp=0,bq=0,br=0,bs=0,bt=0,bu=0,bv=0,bw=0,bx=0,by=0,bz=0,bA=0,bB=0,bC=0,bD=0,bE=0,bF=0,bG=0,bH=0,bI=0,bJ=0,bK=0,bL=0,bM=0,bN=0,bO=0,bP=0,bQ=0,bR=0,bS=0,bT=0,bU=0,bV=0,bW=0,bX=0,bY=0,bZ=0,b_=0,b$=0,b0=0,b1=0,b2=0,b3=0.0,b4=0,b5=0,b6=0,b7=0,b8=0,b9=0,ca=0,cb=0,cc=0,cd=0,ce=0,cf=0,cg=0,ch=0,ci=0,cj=0,ck=0,cl=0,cm=0,cn=0,co=0,cp=0,cq=0,cr=0,cs=0,ct=0,cu=0,cv=0,cw=0,cx=0,cy=0,cz=0,cB=0,cC=0,cD=0,cE=0,cF=0,cG=0,cH=0,cI=0,cJ=0,cK=0,cL=0,cM=0,cN=0,cO=0,cP=0,cQ=0,cR=0,cS=0,cT=0,cU=0,cV=0.0,cW=0,cX=0,cY=0,cZ=0,c_=0,c$=0,c0=0,c1=0,c2=0,c3=0,c4=0.0,c5=0.0,c6=0.0;f=i;i=i+544|0;h=f|0;j=f+8|0;k=f+16|0;l=f+32|0;m=f+56|0;n=f+72|0;o=f+88|0;p=f+104|0;q=f+232|0;r=f+248|0;s=f+264|0;t=f+280|0;u=f+296|0;v=f+312|0;x=f+376|0;y=f+392|0;z=f+448|0;A=f+464|0;B=f+512|0;C=f+528|0;D=d+52|0;E=c[D>>2]|0;if((E|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[E-80+76>>2]|0)}c[9806]=(c[9806]|0)+1;E=aDx(99)|0;do{if((E|0)==0){F=0}else{G=-(E+4|0)&15;H=E+(G+4)|0;c[E+G>>2]=E;if((H|0)==0){F=0;break}c[H>>2]=23416;a[E+(G+24)|0]=1;c[E+(G+20)>>2]=0;c[E+(G+12)>>2]=0;c[E+(G|16)>>2]=0;a[E+(G+44)|0]=1;c[E+(G+40)>>2]=0;c[E+(G|32)>>2]=0;c[E+(G+36)>>2]=0;a[E+(G|64)|0]=1;c[E+(G+60)>>2]=0;c[E+(G+52)>>2]=0;c[E+(G+56)>>2]=0;F=H}}while(0);c[D>>2]=F;F=d;E=d;H=u;u=0;G=0;I=0;while(1){if((u|0)>=(cA[c[(c[F>>2]|0)+88>>2]&4095](d)|0)){break}do{if((u|0)==(G|0)){J=(G|0)==0?1:G<<1;if((G|0)>=(J|0)){K=G;L=I;break}do{if((J|0)==0){M=0}else{c[9806]=(c[9806]|0)+1;N=aDx((J<<4|4)+15|0)|0;if((N|0)==0){M=0;break}O=-(N+4|0)&15;c[N+O>>2]=N;M=N+(O+4)|0}}while(0);if((G|0)>0){O=0;do{N=M+(O<<4)|0;if((N|0)!=0){R=N;N=I+(O<<4)|0;c[R>>2]=c[N>>2];c[R+4>>2]=c[N+4>>2];c[R+8>>2]=c[N+8>>2];c[R+12>>2]=c[N+12>>2]}O=O+1|0;}while((O|0)<(G|0))}if((I|0)==0){K=J;L=M;break}c[9804]=(c[9804]|0)+1;aDB(c[I-16+12>>2]|0);K=J;L=M}else{K=G;L=I}}while(0);O=L+(u<<4)|0;if((O|0)!=0){N=O;c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2]}dA[c[(c[E>>2]|0)+100>>2]&511](d,u,O);u=u+1|0;G=K;I=L}L=v+16|0;a[L]=1;K=v+12|0;c[K>>2]=0;G=v+4|0;c[G>>2]=0;E=v+8|0;c[E>>2]=0;H=v+36|0;a[H]=1;M=v+32|0;c[M>>2]=0;F=v+24|0;c[F>>2]=0;O=v+28|0;c[O>>2]=0;N=v+56|0;a[N]=1;R=v+52|0;c[R>>2]=0;S=v+44|0;c[S>>2]=0;T=v+48|0;c[T>>2]=0;U=I;V=q;q=r;r=s;s=t;do{if((u|0)<1){a[L]=1;c[K>>2]=0;c[G>>2]=0;c[E>>2]=0;a[H]=1;c[M>>2]=0;c[F>>2]=0;c[O>>2]=0;a[N]=1;c[R>>2]=0;c[S>>2]=0;c[T>>2]=0}else{t=p+32|0;c[t>>2]=0;W=p+36|0;c[W>>2]=0;X=p+40|0;c[X>>2]=0;Y=p+44|0;c[Y>>2]=256;Z=p+48|0;c[Z>>2]=0;_=p+52|0;c[_>>2]=0;$=p+56|0;c[$>>2]=0;aa=p+60|0;c[aa>>2]=256;ab=p+64|0;c[ab>>2]=0;c[p+68>>2]=0;c[p+72>>2]=0;c[p+76>>2]=256;ac=p+96|0;a[ac]=1;ad=p+92|0;c[ad>>2]=0;ae=p+84|0;c[ae>>2]=0;af=p+88|0;c[af>>2]=0;ag=m;ah=o;ai=(u|0)>0;aj=1.0000000150474662e+30;ak=1.0000000150474662e+30;al=1.0000000150474662e+30;am=-1.0000000150474662e+30;an=-1.0000000150474662e+30;ao=-1.0000000150474662e+30;ap=0;aq=U;while(1){ar=+g[aq>>2];as=+g[aq+4>>2];at=+g[aq+8>>2];au=ar>2]=an>2]=ao>2]=aB;ap=c[aC>>2]|0;if((aB|0)==(ap|0)){aA=((aB+1|0)>>>0)%3|0;c[aq>>2]=aA;aD=c[aC>>2]|0;aE=aA}else{aD=ap;aE=aB}ap=p+108|0;c[ap>>2]=3-aD-aE;al=ao*9788566967472434.0e-20;ao=an*9788566967472434.0e-20;an=am*9788566967472434.0e-20;aA=p|0;g[aA>>2]=al;aF=p+4|0;g[aF>>2]=ao;aG=p+8|0;g[aG>>2]=an;g[p+12>>2]=0.0;if(al>0.0){aH=1.0/al}else{aH=al}if(ao>0.0){aI=1.0/ao}else{aI=ao}if(an>0.0){aJ=1.0/an}else{aJ=an}aK=p+16|0;g[aK>>2]=(au+ax)*.5;aL=p+20|0;g[aL>>2]=(av+ay)*.5;aM=p+24|0;g[aM>>2]=(aw+az)*.5;g[p+28>>2]=0.0;aN=l+16|0;a[aN]=1;aO=l+12|0;c[aO>>2]=0;aP=l+4|0;c[aP>>2]=0;aQ=l+8|0;c[aQ>>2]=0;do{if(ai){c[9806]=(c[9806]|0)+1;aR=aDx((u<<4|4)+15|0)|0;do{if((aR|0)==0){aS=0}else{aT=-(aR+4|0)&15;c[aR+aT>>2]=aR;aU=aR+(aT+4)|0;aT=c[aP>>2]|0;if((aT|0)>0){aV=0}else{aS=aU;break}while(1){aW=aU+(aV<<4)|0;if((aW|0)!=0){aX=aW;aW=(c[aO>>2]|0)+(aV<<4)|0;c[aX>>2]=c[aW>>2];c[aX+4>>2]=c[aW+4>>2];c[aX+8>>2]=c[aW+8>>2];c[aX+12>>2]=c[aW+12>>2]}aW=aV+1|0;if((aW|0)<(aT|0)){aV=aW}else{aS=aU;break}}}}while(0);aR=c[aO>>2]|0;if((aR|0)!=0){if((a[aN]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aR-16+12>>2]|0)}c[aO>>2]=0}a[aN]=1;c[aO>>2]=aS;c[aQ>>2]=u;aR=0;J=aS;while(1){aU=J+(aR<<4)|0;if((aU|0)!=0){aT=aU;c[aT>>2]=c[ag>>2];c[aT+4>>2]=c[ag+4>>2];c[aT+8>>2]=c[ag+8>>2];c[aT+12>>2]=c[ag+12>>2]}aT=aR+1|0;if((aT|0)>=(u|0)){break}aR=aT;J=c[aO>>2]|0}c[aP>>2]=u;J=n|0;aR=n+4|0;aT=n+8|0;aU=n+12|0;aW=0;aX=U;while(1){an=+g[aX>>2];g[J>>2]=an;ao=+g[aX+4>>2];g[aR>>2]=ao;al=aI*(ao- +g[aL>>2]);ao=aJ*(+g[aX+8>>2]- +g[aM>>2]);g[J>>2]=aH*(an- +g[aK>>2]);g[aR>>2]=al;g[aT>>2]=ao;g[aU>>2]=0.0;c[(c[aO>>2]|0)+(aW<<4)>>2]=~~+g[n+(c[ap>>2]<<2)>>2];c[(c[aO>>2]|0)+(aW<<4)+4>>2]=~~+g[n+(c[aC>>2]<<2)>>2];c[(c[aO>>2]|0)+(aW<<4)+8>>2]=~~+g[n+(c[aq>>2]<<2)>>2];c[(c[aO>>2]|0)+(aW<<4)+12>>2]=aW;aY=aW+1|0;if((aY|0)>=(u|0)){break}aW=aY;aX=aX+16|0}aX=c[aP>>2]|0;if((aX|0)<=1){break}aDe(l,0,aX-1|0)}else{c[aP>>2]=u}}while(0);ag=p+32|0;c[W>>2]=c[ag>>2];c[X>>2]=0;c[Y>>2]=u;aX=c[ae>>2]|0;if((aX|0)<(u|0)){if((c[af>>2]|0)<(u|0)){if((u|0)==0){aZ=0;a_=aX}else{c[9806]=(c[9806]|0)+1;aW=aDx((u<<2)+19|0)|0;if((aW|0)==0){a$=0}else{aU=-(aW+4|0)&15;c[aW+aU>>2]=aW;a$=aW+(aU+4)|0}aZ=a$;a_=c[ae>>2]|0}if((a_|0)>0){aU=0;do{aW=aZ+(aU<<2)|0;if((aW|0)!=0){c[aW>>2]=c[(c[ad>>2]|0)+(aU<<2)>>2]}aU=aU+1|0;}while((aU|0)<(a_|0))}aU=c[ad>>2]|0;if((aU|0)!=0){if((a[ac]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aU-4>>2]|0)}c[ad>>2]=0}a[ac]=1;c[ad>>2]=aZ;c[af>>2]=u;a0=aX}else{a0=aX}do{aU=(c[ad>>2]|0)+(a0<<2)|0;if((aU|0)!=0){c[aU>>2]=0}a0=a0+1|0;}while((a0|0)<(u|0))}c[ae>>2]=u;if(ai){aX=0;do{aU=c[X>>2]|0;if((aU|0)==0){aW=c[W>>2]|0;if((aW|0)==0){c[9806]=(c[9806]|0)+1;aT=aDx(31)|0;do{if((aT|0)==0){a1=0}else{aR=-(aT+4|0)&15;J=aT+(aR+4)|0;c[aT+aR>>2]=aT;if((J|0)==0){a1=0;break}aY=c[Y>>2]|0;c[aT+(aR+8)>>2]=aY;c[aT+(aR+12)>>2]=0;c[9806]=(c[9806]|0)+1;aR=aDx((aY*112|0|4)+15|0)|0;if((aR|0)==0){a2=0}else{aY=-(aR+4|0)&15;c[aR+aY>>2]=aR;a2=aR+(aY+4)|0}c[J>>2]=a2;a1=J}}while(0);c[a1+8>>2]=c[ag>>2];c[ag>>2]=a1;a3=a1}else{c[W>>2]=c[aW+8>>2];a3=aW}aT=a3|0;J=a3+4|0;aY=c[J>>2]|0;if((aY|0)>0){aR=c[aT>>2]|0;a4=0;a5=aY;while(1){aY=a4+1|0;a6=aR+112|0;c[aR>>2]=(aY|0)<(a5|0)?a6:0;a7=c[J>>2]|0;if((aY|0)<(a7|0)){aR=a6;a4=aY;a5=a7}else{break}}}a5=c[aT>>2]|0;c[X>>2]=c[a5>>2];if((a5|0)==0){a8=0}else{a9=a5;ba=4509}}else{c[X>>2]=c[aU>>2];a9=aU;ba=4509}if((ba|0)==4509){ba=0;aDD(a9|0,0,20);c[a9+104>>2]=-1;a8=a9}c[a8+8>>2]=0;a5=a8+88|0;a4=(c[aO>>2]|0)+(aX<<4)|0;c[a5>>2]=c[a4>>2];c[a5+4>>2]=c[a4+4>>2];c[a5+8>>2]=c[a4+8>>2];c[a5+12>>2]=c[a4+12>>2];c[a8+104>>2]=-1;c[(c[ad>>2]|0)+(aX<<2)>>2]=a8;aX=aX+1|0;}while((aX|0)<(u|0))}aX=c[aO>>2]|0;if((aX|0)!=0){if((a[aN]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aX-16+12>>2]|0)}c[aO>>2]=0}a[aN]=1;c[aO>>2]=0;c[aP>>2]=0;c[aQ>>2]=0;c[_>>2]=c[Z>>2];c[$>>2]=0;c[aa>>2]=u*6|0;c[p+116>>2]=0;c[p+120>>2]=0;c[p+100>>2]=-3;aDD(ah|0,0,16);aC6(p,0,u,o);aX=p+124|0;c[aX>>2]=c[o>>2];X=c[aO>>2]|0;if((X|0)!=0){if((a[aN]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[X-16+12>>2]|0)}c[aO>>2]=0}X=c[G>>2]|0;if((X|0)<0){W=c[K>>2]|0;if((c[E>>2]|0)<0){if((W|0)!=0){if((a[L]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[W-16+12>>2]|0)}c[K>>2]=0}a[L]=1;c[K>>2]=0;c[E>>2]=0;bb=0}else{bb=W}W=X;do{X=bb+(W<<4)|0;if((X|0)!=0){ag=X;c[ag>>2]=c[V>>2];c[ag+4>>2]=c[V+4>>2];c[ag+8>>2]=c[V+8>>2];c[ag+12>>2]=c[V+12>>2]}W=W+1|0;}while((W|0)<0)}c[G>>2]=0;aDD(q|0,0,12);W=c[F>>2]|0;if((W|0)<0){aO=c[M>>2]|0;if((c[O>>2]|0)<0){if((aO|0)!=0){if((a[H]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aO-12+8>>2]|0)}c[M>>2]=0}a[H]=1;c[M>>2]=0;c[O>>2]=0;bc=0}else{bc=aO}aO=W;do{W=bc+(aO*12|0)|0;if((W|0)!=0){aN=W;c[aN>>2]=c[q>>2];c[aN+4>>2]=c[q+4>>2];c[aN+8>>2]=c[q+8>>2]}aO=aO+1|0;}while((aO|0)<0)}c[F>>2]=0;aO=c[S>>2]|0;if((aO|0)<0){aN=c[R>>2]|0;if((c[T>>2]|0)<0){if((aN|0)!=0){if((a[N]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aN-4>>2]|0)}c[R>>2]=0}a[N]=1;c[R>>2]=0;c[T>>2]=0;bd=0}else{bd=aN}aN=aO;do{aO=bd+(aN<<2)|0;if((aO|0)!=0){c[aO>>2]=0}aN=aN+1|0;}while((aN|0)<0)}c[S>>2]=0;aN=c[aX>>2]|0;aO=aN+104|0;do{if((c[aO>>2]|0)<0){c[aO>>2]=0;c[9806]=(c[9806]|0)+1;W=aDx(23)|0;do{if((W|0)==0){be=0}else{ah=-(W+4|0)&15;aa=W+(ah+4)|0;c[W+ah>>2]=W;ah=aa;if((aa|0)==0){be=0;break}c[ah>>2]=aN;be=ah}}while(0);W=k|0;aU=p+112|0;aT=k+4|0;ah=k+8|0;aa=be;$=1;_=1;aQ=0;while(1){aP=c[aa+(aQ<<2)>>2]|0;if((c[aP+100>>2]|0)>-1){g[k+(c[ap>>2]<<2)>>2]=+(c[aP+88>>2]|0);g[k+(c[aU>>2]<<2)>>2]=+(c[aP+92>>2]|0);bf=+(c[aP+96>>2]|0)}else{ao=+aDd(aP+24|0);ag=aP+72|0;al=ao/+aDd(ag);g[k+(c[ap>>2]<<2)>>2]=al;al=+aDd(aP+40|0);ao=al/+aDd(ag);g[k+(c[aU>>2]<<2)>>2]=ao;ao=+aDd(aP+56|0);bf=ao/+aDd(ag)}g[k+(c[aq>>2]<<2)>>2]=bf;ao=+g[W>>2]*+g[aA>>2]+ +g[aK>>2];al=+g[aT>>2]*+g[aF>>2]+ +g[aL>>2];an=+g[ah>>2]*+g[aG>>2]+ +g[aM>>2];ag=c[G>>2]|0;do{if((ag|0)==(c[E>>2]|0)){X=(ag|0)==0?1:ag<<1;if((ag|0)>=(X|0)){bg=ag;break}do{if((X|0)==0){bh=0}else{c[9806]=(c[9806]|0)+1;Y=aDx((X<<4|4)+15|0)|0;if((Y|0)==0){bh=0;break}ai=-(Y+4|0)&15;c[Y+ai>>2]=Y;bh=Y+(ai+4)|0}}while(0);if((ag|0)>0){ai=0;do{Y=bh+(ai<<4)|0;if((Y|0)!=0){a4=Y;Y=(c[K>>2]|0)+(ai<<4)|0;c[a4>>2]=c[Y>>2];c[a4+4>>2]=c[Y+4>>2];c[a4+8>>2]=c[Y+8>>2];c[a4+12>>2]=c[Y+12>>2]}ai=ai+1|0;}while((ai|0)<(ag|0))}ai=c[K>>2]|0;if((ai|0)!=0){if((a[L]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[ai-16+12>>2]|0)}c[K>>2]=0}a[L]=1;c[K>>2]=bh;c[E>>2]=X;bg=c[G>>2]|0}else{bg=ag}}while(0);ag=c[K>>2]|0;ai=ag+(bg<<4)|0;if((ai|0)!=0){g[ai>>2]=ao;g[ag+(bg<<4)+4>>2]=al;g[ag+(bg<<4)+8>>2]=an;g[ag+(bg<<4)+12>>2]=0.0}c[G>>2]=bg+1;ag=c[aP+8>>2]|0;if((ag|0)==0){bi=_;bj=$;bk=aa}else{ai=ag;Y=-1;a4=-1;a5=_;aR=$;J=aa;while(1){aW=ai+20|0;a7=c[aW>>2]|0;if((a7|0)<0){aY=c[F>>2]|0;aDD(r|0,0,12);a6=c[O>>2]|0;do{if((aY|0)==(a6|0)){bl=(aY|0)==0?1:aY<<1;if((aY|0)>=(bl|0)){bm=aY;bn=aY;break}do{if((bl|0)==0){bo=0}else{c[9806]=(c[9806]|0)+1;bp=aDx((bl*12|0)+19|0)|0;if((bp|0)==0){bo=0;break}bq=-(bp+4|0)&15;c[bp+bq>>2]=bp;bo=bp+(bq+4)|0}}while(0);if((aY|0)>0){bq=0;do{bp=bo+(bq*12|0)|0;if((bp|0)!=0){br=bp;bp=(c[M>>2]|0)+(bq*12|0)|0;c[br>>2]=c[bp>>2];c[br+4>>2]=c[bp+4>>2];c[br+8>>2]=c[bp+8>>2]}bq=bq+1|0;}while((bq|0)<(aY|0))}bq=c[M>>2]|0;if((bq|0)!=0){if((a[H]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bq-12+8>>2]|0)}c[M>>2]=0}a[H]=1;c[M>>2]=bo;c[O>>2]=bl;bm=c[F>>2]|0;bn=bl}else{bm=aY;bn=a6}}while(0);a6=c[M>>2]|0;X=a6+(bm*12|0)|0;if((X|0)!=0){bq=X;c[bq>>2]=c[r>>2];c[bq+4>>2]=c[r+4>>2];c[bq+8>>2]=c[r+8>>2]}bq=bm+1|0;c[F>>2]=bq;aDD(s|0,0,12);do{if((bq|0)==(bn|0)){X=(bn|0)==0?1:bn<<1;if((bn|0)>=(X|0)){bs=bn;bt=a6;break}do{if((X|0)==0){bu=0}else{c[9806]=(c[9806]|0)+1;bp=aDx((X*12|0)+19|0)|0;if((bp|0)==0){bu=0;break}br=-(bp+4|0)&15;c[bp+br>>2]=bp;bu=bp+(br+4)|0}}while(0);if((bn|0)>0){bl=0;do{br=bu+(bl*12|0)|0;if((br|0)!=0){bp=br;br=(c[M>>2]|0)+(bl*12|0)|0;c[bp>>2]=c[br>>2];c[bp+4>>2]=c[br+4>>2];c[bp+8>>2]=c[br+8>>2]}bl=bl+1|0;}while((bl|0)<(bn|0));bv=c[M>>2]|0}else{bv=a6}if((bv|0)!=0){if((a[H]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bv-12+8>>2]|0)}c[M>>2]=0}a[H]=1;c[M>>2]=bu;c[O>>2]=X;bs=c[F>>2]|0;bt=bu}else{bs=bq;bt=a6}}while(0);a6=bt+(bs*12|0)|0;if((a6|0)==0){bw=bs;bx=bt}else{bq=a6;c[bq>>2]=c[s>>2];c[bq+4>>2]=c[s+4>>2];c[bq+8>>2]=c[s+8>>2];bw=c[F>>2]|0;bx=c[M>>2]|0}c[F>>2]=bw+1;bq=aY+1|0;c[aW>>2]=aY;c[(c[ai+8>>2]|0)+20>>2]=bq;c[bx+(aY*12|0)+4>>2]=1;c[bx+(bq*12|0)+4>>2]=-1;a6=c[ai+12>>2]|0;bl=a6+104|0;br=c[bl>>2]|0;if((br|0)<0){c[bl>>2]=a5;do{if((a5|0)==(aR|0)){bl=(aR|0)==0?1:aR<<1;if((aR|0)>=(bl|0)){by=aR;bz=J;break}do{if((bl|0)==0){bA=0}else{c[9806]=(c[9806]|0)+1;bp=aDx((bl<<2)+19|0)|0;if((bp|0)==0){bA=0;break}bB=-(bp+4|0)&15;c[bp+bB>>2]=bp;bA=bp+(bB+4)|0}}while(0);if((aR|0)>0){X=0;do{bB=bA+(X<<2)|0;if((bB|0)!=0){c[bB>>2]=c[J+(X<<2)>>2]}X=X+1|0;}while((X|0)<(aR|0))}if((J|0)==0){by=bl;bz=bA;break}c[9804]=(c[9804]|0)+1;aDB(c[J-4>>2]|0);by=bl;bz=bA}else{by=aR;bz=J}}while(0);X=bz+(a5<<2)|0;if((X|0)!=0){c[X>>2]=a6}bC=a5;bD=a5+1|0;bE=by;bF=bz}else{bC=br;bD=a5;bE=aR;bF=J}c[bx+(aY*12|0)+8>>2]=bC;c[bx+(bq*12|0)+8>>2]=aQ;bG=bD;bH=bE;bI=bF;bJ=c[aW>>2]|0}else{bG=a5;bH=aR;bI=J;bJ=a7}if((Y|0)>-1){c[(c[M>>2]|0)+(bJ*12|0)>>2]=Y-bJ;bK=a4;bL=c[aW>>2]|0}else{bK=bJ;bL=bJ}X=c[ai>>2]|0;if((X|0)==(ag|0)){break}else{ai=X;Y=bL;a4=bK;a5=bG;aR=bH;J=bI}}c[(c[M>>2]|0)+(bK*12|0)>>2]=bL-bK;bi=bG;bj=bH;bk=bI}bM=aQ+1|0;if((bM|0)<(bi|0)){aa=bk;$=bj;_=bi;aQ=bM}else{break}}if((bM|0)>0){aQ=0;do{_=c[(c[bk+(aQ<<2)>>2]|0)+8>>2]|0;if((_|0)!=0){$=_;do{aa=$+20|0;if((c[aa>>2]|0)>-1){ah=c[S>>2]|0;do{if((ah|0)==(c[T>>2]|0)){aT=(ah|0)==0?1:ah<<1;if((ah|0)>=(aT|0)){bN=ah;break}do{if((aT|0)==0){bO=0}else{c[9806]=(c[9806]|0)+1;W=aDx((aT<<2)+19|0)|0;if((W|0)==0){bO=0;break}aU=-(W+4|0)&15;c[W+aU>>2]=W;bO=W+(aU+4)|0}}while(0);if((ah|0)>0){bl=0;do{aU=bO+(bl<<2)|0;if((aU|0)!=0){c[aU>>2]=c[(c[R>>2]|0)+(bl<<2)>>2]}bl=bl+1|0;}while((bl|0)<(ah|0))}bl=c[R>>2]|0;if((bl|0)!=0){if((a[N]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bl-4>>2]|0)}c[R>>2]=0}a[N]=1;c[R>>2]=bO;c[T>>2]=aT;bN=c[S>>2]|0}else{bN=ah}}while(0);ah=(c[R>>2]|0)+(bN<<2)|0;if((ah|0)!=0){c[ah>>2]=c[aa>>2]}c[S>>2]=bN+1;ah=$;do{c[ah+20>>2]=-1;ah=c[(c[ah+8>>2]|0)+4>>2]|0;}while((ah|0)!=($|0))}$=c[$>>2]|0;}while(($|0)!=(_|0))}aQ=aQ+1|0;}while((aQ|0)<(bM|0))}if((bk|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[bk-4>>2]|0)}}while(0);aM=c[ad>>2]|0;if((aM|0)!=0){if((a[ac]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aM-4>>2]|0)}c[ad>>2]=0}a[ac]=1;c[ad>>2]=0;c[ae>>2]=0;c[af>>2]=0;aM=c[ab>>2]|0;if((aM|0)!=0){aG=aM;do{c[ab>>2]=c[aG+8>>2];aM=c[aG>>2]|0;if((aM|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aM-60+56>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[aG-12+8>>2]|0);aG=c[ab>>2]|0;}while((aG|0)!=0)}aG=c[Z>>2]|0;if((aG|0)!=0){ab=aG;do{c[Z>>2]=c[ab+8>>2];aG=c[ab>>2]|0;if((aG|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aG-24+20>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[ab-12+8>>2]|0);ab=c[Z>>2]|0;}while((ab|0)!=0)}ab=c[t>>2]|0;if((ab|0)==0){break}else{bP=ab}do{c[t>>2]=c[bP+8>>2];ab=c[bP>>2]|0;if((ab|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[ab-4>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[bP-12+8>>2]|0);bP=c[t>>2]|0;}while((bP|0)!=0)}}while(0);bP=c[S>>2]|0;S=(bP|0)>0;if(S){c[9806]=(c[9806]|0)+1;bk=aDx((bP<<4|4)+15|0)|0;if((bk|0)==0){bQ=0}else{bM=-(bk+4|0)&15;c[bk+bM>>2]=bk;bQ=bk+(bM+4)|0}bM=x;x=0;while(1){bk=bQ+(x<<4)|0;if((bk|0)!=0){bN=bk;c[bN>>2]=c[bM>>2];c[bN+4>>2]=c[bM+4>>2];c[bN+8>>2]=c[bM+8>>2];c[bN+12>>2]=c[bM+12>>2]}bN=x+1|0;if((bN|0)<(bP|0)){x=bN}else{bR=bQ;break}}}else{bR=0}bQ=c[D>>2]|0;aDD(y|0,0,56);x=y+16|0;a[x]=1;bM=y+12|0;c[bM>>2]=0;bN=y+4|0;c[bN>>2]=0;bk=y+8|0;c[bk>>2]=0;T=y+36|0;a[T]=1;bO=y+32|0;c[bO>>2]=0;N=y+24|0;c[N>>2]=0;bi=y+28|0;c[bi>>2]=0;bj=bQ+24|0;bI=bQ+28|0;bH=c[bI>>2]|0;do{if((bH|0)>(bP|0)){bG=bQ+36|0;bK=bP;while(1){bL=c[bG>>2]|0;bJ=bL+(bK*56|0)+24|0;bF=bL+(bK*56|0)+32|0;bE=c[bF>>2]|0;bD=bL+(bK*56|0)+36|0;if((bE|0)!=0){if((a[bD]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bE-4>>2]|0)}c[bF>>2]=0}a[bD]=1;c[bF>>2]=0;c[bJ>>2]=0;c[bL+(bK*56|0)+28>>2]=0;bJ=bL+(bK*56|0)+4|0;bF=bL+(bK*56|0)+12|0;bD=c[bF>>2]|0;bE=bL+(bK*56|0)+16|0;if((bD|0)!=0){if((a[bE]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bD-4>>2]|0)}c[bF>>2]=0}a[bE]=1;c[bF>>2]=0;c[bJ>>2]=0;c[bL+(bK*56|0)+8>>2]=0;bL=bK+1|0;if((bL|0)<(bH|0)){bK=bL}else{ba=4712;break}}}else{if((bH|0)>=(bP|0)){ba=4712;break}bK=bQ+32|0;if((c[bK>>2]|0)<(bP|0)){do{if((bP|0)==0){bS=0}else{c[9806]=(c[9806]|0)+1;bG=aDx((bP*56|0|4)+15|0)|0;if((bG|0)==0){bS=0;break}bL=-(bG+4|0)&15;c[bG+bL>>2]=bG;bS=bG+(bL+4)|0}}while(0);bL=c[bI>>2]|0;bG=bQ+36|0;if((bL|0)>0){bJ=0;do{bF=bS+(bJ*56|0)|0;if((bF|0)!=0){bE=c[bG>>2]|0;azg(bF,bE+(bJ*56|0)|0);azg(bF+20|0,bE+(bJ*56|0)+20|0);bD=bF+40|0;bF=bE+(bJ*56|0)+40|0;c[bD>>2]=c[bF>>2];c[bD+4>>2]=c[bF+4>>2];c[bD+8>>2]=c[bF+8>>2];c[bD+12>>2]=c[bF+12>>2]}bJ=bJ+1|0;}while((bJ|0)<(bL|0));bT=c[bI>>2]|0}else{bT=bL}azh(bj,bT);bJ=c[bG>>2]|0;bF=bQ+40|0;if((bJ|0)!=0){if((a[bF]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bJ-4>>2]|0)}c[bG>>2]=0}a[bF]=1;c[bG>>2]=bS;c[bK>>2]=bP;bU=bG}else{bU=bQ+36|0}bF=y|0;bJ=y+20|0;bD=y+40|0;bE=bH;do{bx=(c[bU>>2]|0)+(bE*56|0)|0;if((bx|0)!=0){azg(bx,bF);azg(bx+20|0,bJ);bC=bx+40|0;c[bC>>2]=c[bD>>2];c[bC+4>>2]=c[bD+4>>2];c[bC+8>>2]=c[bD+8>>2];c[bC+12>>2]=c[bD+12>>2]}bE=bE+1|0;}while((bE|0)<(bP|0));bE=c[bO>>2]|0;c[bI>>2]=bP;if((bE|0)==0){break}if((a[T]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bE-4>>2]|0)}c[bO>>2]=0}}while(0);if((ba|0)==4712){c[bI>>2]=bP}a[T]=1;c[bO>>2]=0;c[N>>2]=0;c[bi>>2]=0;bi=c[bM>>2]|0;if((bi|0)!=0){if((a[x]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bi-4>>2]|0)}c[bM>>2]=0}a[x]=1;c[bM>>2]=0;c[bN>>2]=0;c[bk>>2]=0;bk=c[G>>2]|0;bN=c[D>>2]|0;bM=bN+8|0;x=c[bM>>2]|0;if((x|0)<(bk|0)){bi=bN+12|0;if((c[bi>>2]|0)<(bk|0)){if((bk|0)==0){bV=0;bW=x}else{c[9806]=(c[9806]|0)+1;N=aDx((bk<<4|4)+15|0)|0;if((N|0)==0){bX=0}else{bO=-(N+4|0)&15;c[N+bO>>2]=N;bX=N+(bO+4)|0}bV=bX;bW=c[bM>>2]|0}bX=bN+16|0;if((bW|0)>0){bO=0;do{N=bV+(bO<<4)|0;if((N|0)!=0){T=N;N=(c[bX>>2]|0)+(bO<<4)|0;c[T>>2]=c[N>>2];c[T+4>>2]=c[N+4>>2];c[T+8>>2]=c[N+8>>2];c[T+12>>2]=c[N+12>>2]}bO=bO+1|0;}while((bO|0)<(bW|0))}bW=c[bX>>2]|0;bO=bN+20|0;if((bW|0)!=0){if((a[bO]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bW-16+12>>2]|0)}c[bX>>2]=0}a[bO]=1;c[bX>>2]=bV;c[bi>>2]=bk;bY=bX}else{bY=bN+16|0}bN=z;z=x;do{x=(c[bY>>2]|0)+(z<<4)|0;if((x|0)!=0){bX=x;c[bX>>2]=c[bN>>2];c[bX+4>>2]=c[bN+4>>2];c[bX+8>>2]=c[bN+8>>2];c[bX+12>>2]=c[bN+12>>2]}z=z+1|0;}while((z|0)<(bk|0))}c[bM>>2]=bk;if((bk|0)>0){bM=c[K>>2]|0;z=0;do{bN=(c[(c[D>>2]|0)+16>>2]|0)+(z<<4)|0;bY=bM+(z<<4)|0;c[bN>>2]=c[bY>>2];c[bN+4>>2]=c[bY+4>>2];c[bN+8>>2]=c[bY+8>>2];c[bN+12>>2]=c[bY+12>>2];z=z+1|0;}while((z|0)<(bk|0))}if(S){S=A+4|0;bk=A+24|0;z=A+8|0;bM=A+20|0;bY=A+16|0;bN=A|0;bX=0;do{x=(c[M>>2]|0)+((c[(c[R>>2]|0)+(bX<<2)>>2]|0)*12|0)|0;bi=x;bV=0;while(1){bO=bi+4|0;bW=c[bi+((c[bO>>2]|0)*12|0)+8>>2]|0;N=c[(c[D>>2]|0)+36>>2]|0;T=N+(bX*56|0)+4|0;bI=c[T>>2]|0;bU=N+(bX*56|0)+8|0;do{if((bI|0)==(c[bU>>2]|0)){bH=(bI|0)==0?1:bI<<1;if((bI|0)>=(bH|0)){bZ=bI;break}if((bH|0)==0){b_=0;b$=bI}else{c[9806]=(c[9806]|0)+1;y=aDx((bH<<2)+19|0)|0;if((y|0)==0){b0=0}else{bQ=-(y+4|0)&15;c[y+bQ>>2]=y;b0=y+(bQ+4)|0}b_=b0;b$=c[T>>2]|0}bQ=N+(bX*56|0)+12|0;if((b$|0)>0){y=0;do{bS=b_+(y<<2)|0;if((bS|0)!=0){c[bS>>2]=c[(c[bQ>>2]|0)+(y<<2)>>2]}y=y+1|0;}while((y|0)<(b$|0))}y=c[bQ>>2]|0;bS=N+(bX*56|0)+16|0;if((y|0)!=0){if((a[bS]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[y-4>>2]|0)}c[bQ>>2]=0}a[bS]=1;c[bQ>>2]=b_;c[bU>>2]=bH;bZ=c[T>>2]|0}else{bZ=bI}}while(0);bI=(c[N+(bX*56|0)+12>>2]|0)+(bZ<<2)|0;if((bI|0)==0){b1=bZ}else{c[bI>>2]=bW;b1=c[T>>2]|0}c[T>>2]=b1+1;bI=c[bi+8>>2]|0;bU=c[K>>2]|0;bf=+g[bU+(bI<<4)>>2]- +g[bU+(bW<<4)>>2];aH=+g[bU+(bI<<4)+4>>2]- +g[bU+(bW<<4)+4>>2];aJ=+g[bU+(bI<<4)+8>>2]- +g[bU+(bW<<4)+8>>2];aI=1.0/+Q(+(bf*bf+aH*aH+aJ*aJ));if((bV|0)<2){g[A+(bV<<4)>>2]=bf*aI;g[A+(bV<<4)+4>>2]=aH*aI;g[A+(bV<<4)+8>>2]=aJ*aI;g[A+(bV<<4)+12>>2]=0.0;b2=bV+1|0}else{b2=bV}bU=c[bO>>2]|0;bI=bi+(((c[bi+(bU*12|0)>>2]|0)+bU|0)*12|0)|0;if((bI|0)==(x|0)){break}else{bi=bI;bV=b2}}bV=bR+(bX<<4)|0;if((b2|0)==2){aI=+g[S>>2];aJ=+g[bk>>2];aH=+g[z>>2];bf=+g[bM>>2];az=aI*aJ-aH*bf;aw=+g[bY>>2];ay=+g[bN>>2];av=aH*aw-aJ*ay;aJ=bf*ay-aI*aw;bi=bR+(bX<<4)+4|0;x=bR+(bX<<4)+8|0;g[bR+(bX<<4)+12>>2]=0.0;aw=1.0/+Q(+(az*az+av*av+aJ*aJ));aI=az*aw;g[bV>>2]=aI;g[bi>>2]=av*aw;g[x>>2]=aJ*aw;g[(c[(c[D>>2]|0)+36>>2]|0)+(bX*56|0)+40>>2]=-0.0-aI;g[(c[(c[D>>2]|0)+36>>2]|0)+(bX*56|0)+44>>2]=-0.0- +g[bi>>2];g[(c[(c[D>>2]|0)+36>>2]|0)+(bX*56|0)+48>>2]=-0.0- +g[x>>2];g[(c[(c[D>>2]|0)+36>>2]|0)+(bX*56|0)+52>>2]=1.0000000150474662e+30}else{aDD(bV|0,0,16)}x=c[D>>2]|0;bi=c[x+36>>2]|0;bI=c[bi+(bX*56|0)+4>>2]|0;if((bI|0)>0){aI=+g[bV>>2];aw=+g[bR+(bX<<4)+4>>2];aJ=+g[bR+(bX<<4)+8>>2];bV=c[bi+(bX*56|0)+12>>2]|0;bU=c[x+16>>2]|0;av=1.0000000150474662e+30;x=0;while(1){bS=c[bV+(x<<2)>>2]|0;az=+g[bU+(bS<<4)>>2]*aI+ +g[bU+(bS<<4)+4>>2]*aw+ +g[bU+(bS<<4)+8>>2]*aJ;ay=av>az?az:av;bS=x+1|0;if((bS|0)<(bI|0)){av=ay;x=bS}else{b3=ay;break}}}else{b3=1.0000000150474662e+30}g[bi+(bX*56|0)+52>>2]=b3;bX=bX+1|0;}while((bX|0)<(bP|0))}bP=c[D>>2]|0;bX=c[bP+28>>2]|0;do{if((bX|0)==0){b4=bP;b5=0}else{if(!((c[G>>2]|0)!=0&(bX|0)>0)){b4=bP;b5=bX;break}bN=d;bY=C|0;bM=C+4|0;z=C+8|0;bk=C+12|0;S=d|0;b2=B|0;A=B+4|0;K=B+8|0;b1=0;bZ=bP;while(1){b_=c[bZ+36>>2]|0;b3=+g[b_+(b1*56|0)+40>>2];av=+g[b_+(b1*56|0)+44>>2];aJ=+g[b_+(b1*56|0)+48>>2];aw=+g[b_+(b1*56|0)+52>>2];b_=c[(c[bN>>2]|0)+60>>2]|0;g[bY>>2]=-0.0-b3;g[bM>>2]=-0.0-av;g[z>>2]=-0.0-aJ;g[bk>>2]=0.0;dA[b_&511](B,S,C);L5925:do{if(b3*+g[b2>>2]+av*+g[A>>2]+aJ*+g[K>>2]>2]|0)+36>>2]|0)+(b1*56|0)+40|0;g[b_>>2]=+g[b_>>2]*-1.0;b_=(c[(c[D>>2]|0)+36>>2]|0)+(b1*56|0)+44|0;g[b_>>2]=+g[b_>>2]*-1.0;b_=(c[(c[D>>2]|0)+36>>2]|0)+(b1*56|0)+48|0;g[b_>>2]=+g[b_>>2]*-1.0;b_=(c[(c[D>>2]|0)+36>>2]|0)+(b1*56|0)+52|0;g[b_>>2]=+g[b_>>2]*-1.0;b_=c[(c[D>>2]|0)+36>>2]|0;b$=c[b_+(b1*56|0)+4>>2]|0;b0=(b$|0)/2|0;if((b$|0)<=1){break}R=b$-1|0;b$=0;M=b_;while(1){b_=c[M+(b1*56|0)+12>>2]|0;x=b_+(b$<<2)|0;bI=b_+(R-b$<<2)|0;b_=c[x>>2]|0;c[x>>2]=c[bI>>2];c[bI>>2]=b_;b_=b$+1|0;if((b_|0)>=(b0|0)){break L5925}b$=b_;M=c[(c[D>>2]|0)+36>>2]|0}}}while(0);bO=b1+1|0;bW=c[D>>2]|0;T=c[bW+28>>2]|0;if((bO|0)<(T|0)){b1=bO;bZ=bW}else{b4=bW;b5=T;break}}}}while(0);c[h>>2]=0;c[j>>2]=0;D=b4+64|0;C=b4+68|0;B=b4+72|0;bP=b4+28|0;aDD(D|0,0,16);do{if((b5|0)>0){d=b4+36|0;bX=b4+16|0;G=b4+48|0;bZ=b4+52|0;b1=b4+56|0;K=b4+60|0;A=0;b2=b5;S=0;bk=0;z=0;bM=0;bY=0;bN=0;bi=0;T=0;bW=0;bO=0;while(1){N=c[d>>2]|0;M=c[N+(A*56|0)+4>>2]|0;if((M|0)>0){b$=A&65535;b0=A|-65536;R=0;bH=N;N=S;bQ=bk;b_=z;bI=bM;x=bY;bU=bN;bV=bi;bS=T;y=bW;bT=bO;while(1){bj=R+1|0;bE=c[bH+(A*56|0)+12>>2]|0;bD=c[bE+(R<<2)>>2]&65535;bJ=c[bE+(((bj|0)==(M|0)?0:bj)<<2)>>2]&65535;bE=bD<<16>>16>16;bF=bE?bD:bJ;bG=bE?bJ:bD;bD=bG<<16>>16;bJ=x-1|0;bE=((bF&65535)<<16)+bD&bJ;L5941:do{if(bE>>>0>>0){bK=c[(c[h>>2]|0)+(bE<<2)>>2]|0;if((bK|0)==-1){b6=0;break}bL=c[j>>2]|0;bC=bK;while(1){if(bG<<16>>16==(b[N+(bC<<2)>>1]|0)){if(bF<<16>>16==(b[N+(bC<<2)+2>>1]|0)){break}}bK=c[bL+(bC<<2)>>2]|0;if((bK|0)==-1){b6=0;break L5941}else{bC=bK}}if((bC|0)==-1){b6=0;break}b6=bI+(bC<<2)|0}else{b6=0}}while(0);bE=bF<<16>>16;bL=c[bX>>2]|0;aw=+g[bL+(bE<<4)>>2]- +g[bL+(bD<<4)>>2];aJ=+g[bL+(bE<<4)+4>>2]- +g[bL+(bD<<4)+4>>2];av=+g[bL+(bE<<4)+8>>2]- +g[bL+(bD<<4)+8>>2];b3=1.0/+Q(+(aw*aw+aJ*aJ+av*av));aI=aw*b3;aw=aJ*b3;aJ=av*b3;bL=c[G>>2]|0;L5952:do{if((bL|0)>0){bE=c[b1>>2]|0;bK=0;while(1){b3=+g[bE+(bK<<4)>>2];av=+g[bE+(bK<<4)+8>>2];ay=av-aJ;do{if(+P(+(b3-aI))<=1.0e-6){if(+P(+(+g[bE+(bK<<4)+4>>2]-aw))>1.0e-6){break}if(+P(+ay)<=1.0e-6){break L5952}}}while(0);ay=aJ+av;do{if(+P(+(aI+b3))<=1.0e-6){if(+P(+(aw+ +g[bE+(bK<<4)+4>>2]))>1.0e-6){break}if(+P(+ay)<=1.0e-6){break L5952}}}while(0);aT=bK+1|0;if((aT|0)<(bL|0)){bK=aT}else{ba=4817;break}}}else{ba=4817}}while(0);if((ba|0)==4817){ba=0;do{if((bL|0)==(c[bZ>>2]|0)){bD=(bL|0)==0?1:bL<<1;if((bL|0)>=(bD|0)){b7=bL;break}if((bD|0)==0){b8=0;b9=bL}else{c[9806]=(c[9806]|0)+1;bK=aDx((bD<<4|4)+15|0)|0;if((bK|0)==0){ca=0}else{bE=-(bK+4|0)&15;c[bK+bE>>2]=bK;ca=bK+(bE+4)|0}b8=ca;b9=c[G>>2]|0}if((b9|0)>0){bE=0;do{bK=b8+(bE<<4)|0;if((bK|0)!=0){bC=bK;bK=(c[b1>>2]|0)+(bE<<4)|0;c[bC>>2]=c[bK>>2];c[bC+4>>2]=c[bK+4>>2];c[bC+8>>2]=c[bK+8>>2];c[bC+12>>2]=c[bK+12>>2]}bE=bE+1|0;}while((bE|0)<(b9|0))}bE=c[b1>>2]|0;if((bE|0)!=0){if((a[K]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bE-16+12>>2]|0)}c[b1>>2]=0}a[K]=1;c[b1>>2]=b8;c[bZ>>2]=bD;b7=c[G>>2]|0}else{b7=bL}}while(0);bL=c[b1>>2]|0;bE=bL+(b7<<4)|0;if((bE|0)==0){cb=b7}else{g[bE>>2]=aI;g[bL+(b7<<4)+4>>2]=aw;g[bL+(b7<<4)+8>>2]=aJ;g[bL+(b7<<4)+12>>2]=0.0;cb=c[G>>2]|0}c[G>>2]=cb+1}L5993:do{if((b6|0)==0){bL=(bF&65535)<<16;bE=bL+(bG<<16>>16)|0;bK=bE&bJ;L5996:do{if(bK>>>0>>0){bC=c[(c[h>>2]|0)+(bK<<2)>>2]|0;if((bC|0)==-1){break}aT=c[j>>2]|0;bx=bC;while(1){if(bG<<16>>16==(b[N+(bx<<2)>>1]|0)){if(bF<<16>>16==(b[N+(bx<<2)+2>>1]|0)){break}}bC=c[aT+(bx<<2)>>2]|0;if((bC|0)==-1){break L5996}else{bx=bC}}if((bx|0)==-1){break}aT=bI+(bx<<2)|0;w=b0;b[aT>>1]=w&65535;b[aT+2>>1]=w>>16;cc=N;cd=bQ;ce=b_;cf=bI;cg=x;ch=bU;ci=bV;cj=bS;ck=y;cl=bT;break L5993}}while(0);do{if((bS|0)==(x|0)){bD=(bS|0)==0?1:bS<<1;if((bS|0)>=(bD|0)){cm=bI;cn=bS;break}do{if((bD|0)==0){co=0}else{c[9806]=(c[9806]|0)+1;aT=aDx((bD<<2)+19|0)|0;if((aT|0)==0){co=0;break}bC=-(aT+4|0)&15;c[aT+bC>>2]=aT;co=aT+(bC+4)|0}}while(0);if((bS|0)>0){bx=0;do{bC=co+(bx<<2)|0;if((bC|0)!=0){aT=bI+(bx<<2)|0;bz=bC;w=e[aT>>1]|e[aT+2>>1]<<16;b[bz>>1]=w&65535;b[bz+2>>1]=w>>16}bx=bx+1|0;}while((bx|0)<(bS|0))}if((bI|0)==0){cm=co;cn=bD;break}c[9804]=(c[9804]|0)+1;aDB(c[bI-4>>2]|0);cm=co;cn=bD}else{cm=bI;cn=x}}while(0);bx=cm+(bS<<2)|0;if((bx|0)!=0){bz=bx;w=b0;b[bz>>1]=w&65535;b[bz+2>>1]=w>>16}bz=bS+1|0;do{if((b_|0)==(bQ|0)){bx=(b_|0)==0?1:b_<<1;if((b_|0)>=(bx|0)){cp=N;cq=b_;break}do{if((bx|0)==0){cr=0}else{c[9806]=(c[9806]|0)+1;aT=aDx((bx<<2)+19|0)|0;if((aT|0)==0){cr=0;break}bC=-(aT+4|0)&15;c[aT+bC>>2]=aT;cr=aT+(bC+4)|0}}while(0);if((b_|0)>0){bD=0;do{bC=cr+(bD<<2)|0;if((bC|0)!=0){aT=N+(bD<<2)|0;by=bC;w=e[aT>>1]|e[aT+2>>1]<<16;b[by>>1]=w&65535;b[by+2>>1]=w>>16}bD=bD+1|0;}while((bD|0)<(b_|0))}if((N|0)==0){cp=cr;cq=bx;break}c[9804]=(c[9804]|0)+1;aDB(c[N-4>>2]|0);cp=cr;cq=bx}else{cp=N;cq=bQ}}while(0);bD=cp+(b_<<2)|0;if((bD|0)!=0){by=bD;w=bL|bG&65535;b[by>>1]=w&65535;b[by+2>>1]=w>>16}by=b_+1|0;if((x|0)<(cn|0)){do{if((bU|0)<(cn|0)){if((bU|0)>(cn|0)){cs=bV}else{if((bV|0)<(cn|0)){do{if((cn|0)==0){ct=0}else{c[9806]=(c[9806]|0)+1;bD=aDx((cn<<2)+19|0)|0;if((bD|0)==0){ct=0;break}aT=-(bD+4|0)&15;c[bD+aT>>2]=bD;ct=bD+(aT+4)|0}}while(0);if((bU|0)>0){bx=0;do{aT=ct+(bx<<2)|0;if((aT|0)!=0){c[aT>>2]=c[(c[h>>2]|0)+(bx<<2)>>2]}bx=bx+1|0;}while((bx|0)<(bU|0))}bx=c[h>>2]|0;if((bx|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bx-4>>2]|0);c[h>>2]=0}c[h>>2]=ct;cu=cn;cv=ct}else{cu=bV;cv=c[h>>2]|0}bx=bU;while(1){aT=cv+(bx<<2)|0;if((aT|0)!=0){c[aT>>2]=0}aT=bx+1|0;if((aT|0)<(cn|0)){bx=aT}else{cs=cu;break}}}if((y|0)<(cn|0)){if((bT|0)<(cn|0)){do{if((cn|0)==0){cw=0}else{c[9806]=(c[9806]|0)+1;bx=aDx((cn<<2)+19|0)|0;if((bx|0)==0){cw=0;break}aT=-(bx+4|0)&15;c[bx+aT>>2]=bx;cw=bx+(aT+4)|0}}while(0);if((y|0)>0){aT=0;do{bx=cw+(aT<<2)|0;if((bx|0)!=0){c[bx>>2]=c[(c[j>>2]|0)+(aT<<2)>>2]}aT=aT+1|0;}while((aT|0)<(y|0))}aT=c[j>>2]|0;if((aT|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aT-4>>2]|0);c[j>>2]=0}c[j>>2]=cw;cx=cn;cy=cw}else{cx=bT;cy=c[j>>2]|0}aT=y;while(1){bx=cy+(aT<<2)|0;if((bx|0)!=0){c[bx>>2]=0}bx=aT+1|0;if((bx|0)<(cn|0)){aT=bx}else{cz=cx;break}}}else{cz=bT}if((cn|0)>0){aT=c[h>>2]|0;bx=0;do{c[aT+(bx<<2)>>2]=-1;bx=bx+1|0;}while((bx|0)<(cn|0));bx=c[j>>2]|0;aT=0;do{c[bx+(aT<<2)>>2]=-1;aT=aT+1|0;}while((aT|0)<(cn|0))}if((bU|0)<=0){cB=cn;cC=cs;cD=cn;cE=cz;break}aT=cn-1|0;bx=c[h>>2]|0;bD=c[j>>2]|0;bC=0;while(1){bA=bx+(((e[cp+(bC<<2)+2>>1]<<16)+(b[cp+(bC<<2)>>1]|0)&aT)<<2)|0;c[bD+(bC<<2)>>2]=c[bA>>2];c[bA>>2]=bC;bA=bC+1|0;if((bA|0)<(bU|0)){bC=bA}else{cB=cn;cC=cs;cD=cn;cE=cz;break}}}else{cB=bU;cC=bV;cD=y;cE=bT}}while(0);cF=bE&cn-1;cG=cB;cH=cC;cI=cD;cJ=cE}else{cF=bK;cG=bU;cH=bV;cI=y;cJ=bT}bL=(c[h>>2]|0)+(cF<<2)|0;c[(c[j>>2]|0)+(bS<<2)>>2]=c[bL>>2];c[bL>>2]=bS;cc=cp;cd=cq;ce=by;cf=cm;cg=cn;ch=cG;ci=cH;cj=bz;ck=cI;cl=cJ}else{b[b6+2>>1]=b$;cc=N;cd=bQ;ce=b_;cf=bI;cg=x;ch=bU;ci=bV;cj=bS;ck=y;cl=bT}}while(0);if((bj|0)>=(M|0)){break}R=bj;bH=c[d>>2]|0;N=cc;bQ=cd;b_=ce;bI=cf;x=cg;bU=ch;bV=ci;bS=cj;y=ck;bT=cl}cK=c[bP>>2]|0;cL=cc;cM=cd;cN=ce;cO=cf;cP=cg;cQ=ch;cR=ci;cS=cj;cT=ck;cU=cl}else{cK=b2;cL=S;cM=bk;cN=z;cO=bM;cP=bY;cQ=bN;cR=bi;cS=T;cT=bW;cU=bO}bT=A+1|0;if((bT|0)<(cK|0)){A=bT;b2=cK;S=cL;bk=cM;z=cN;bM=cO;bY=cP;bN=cQ;bi=cR;T=cS;bW=cT;bO=cU}else{break}}if((cK|0)<=0){cV=0.0;cW=cL;cX=cO;break}bO=cP-1|0;bW=c[h>>2]|0;T=c[j>>2]|0;bi=0;do{bN=c[d>>2]|0;bY=c[bN+(bi*56|0)+4>>2]|0;bM=bN+(bi*56|0)+24|0;z=c[bM>>2]|0;if((z|0)<(bY|0)){bk=bN+(bi*56|0)+28|0;if((c[bk>>2]|0)<(bY|0)){if((bY|0)==0){cY=0;cZ=z}else{c[9806]=(c[9806]|0)+1;S=aDx((bY<<2)+19|0)|0;if((S|0)==0){c_=0}else{b2=-(S+4|0)&15;c[S+b2>>2]=S;c_=S+(b2+4)|0}cY=c_;cZ=c[bM>>2]|0}b2=bN+(bi*56|0)+32|0;if((cZ|0)>0){S=0;do{A=cY+(S<<2)|0;if((A|0)!=0){c[A>>2]=c[(c[b2>>2]|0)+(S<<2)>>2]}S=S+1|0;}while((S|0)<(cZ|0))}S=c[b2>>2]|0;A=bN+(bi*56|0)+36|0;if((S|0)!=0){if((a[A]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[S-4>>2]|0)}c[b2>>2]=0}a[A]=1;c[b2>>2]=cY;c[bk>>2]=bY;c$=b2}else{c$=bN+(bi*56|0)+32|0}A=z;do{S=(c[c$>>2]|0)+(A<<2)|0;if((S|0)!=0){c[S>>2]=0}A=A+1|0;}while((A|0)<(bY|0))}c[bM>>2]=bY;if((bY|0)>0){A=0;while(1){z=A+1|0;bN=c[d>>2]|0;b2=c[bN+(bi*56|0)+12>>2]|0;bk=c[b2+(A<<2)>>2]&65535;S=c[b2+(((z|0)==(bY|0)?0:z)<<2)>>2]&65535;b2=bk<<16>>16>16;G=b2?bk:S;b1=b2?S:bk;bk=((G&65535)<<16)+(b1<<16>>16)&bO;L6156:do{if(bk>>>0>>0){S=c[bW+(bk<<2)>>2]|0;if((S|0)==-1){c0=0;break}else{c1=S}while(1){if(b1<<16>>16==(b[cL+(c1<<2)>>1]|0)){if(G<<16>>16==(b[cL+(c1<<2)+2>>1]|0)){break}}S=c[T+(c1<<2)>>2]|0;if((S|0)==-1){c0=0;break L6156}else{c1=S}}if((c1|0)==-1){c0=0;break}c0=cO+(c1<<2)|0}else{c0=0}}while(0);G=b[c0>>1]|0;if((G<<16>>16|0)==(bi|0)){c2=b[c0+2>>1]|0}else{c2=G}c[(c[bN+(bi*56|0)+32>>2]|0)+(A<<2)>>2]=c2<<16>>16;if((z|0)<(bY|0)){A=z}else{break}}}bi=bi+1|0;c3=c[bP>>2]|0;}while((bi|0)<(c3|0));if((c3|0)<=0){cV=0.0;cW=cL;cX=cO;break}bi=c[d>>2]|0;T=c[bX>>2]|0;aJ=0.0;bW=0;while(1){bO=c[bi+(bW*56|0)+4>>2]|0;A=bO-2|0;bY=bi+(bW*56|0)+12|0;bM=c[bY>>2]|0;G=c[bM>>2]|0;L6174:do{if((A|0)<1){c4=aJ}else{b1=T+(G<<4)|0;bk=T+(G<<4)+4|0;bj=T+(G<<4)+8|0;aw=aJ;bz=1;aI=+g[D>>2];ay=+g[C>>2];b3=+g[B>>2];by=bM;while(1){bK=bz+1|0;bE=c[by+(bz<<2)>>2]|0;S=c[by+(((bK|0)%(bO|0)|0)<<2)>>2]|0;av=+g[b1>>2];az=+g[T+(bE<<4)>>2];bf=av-az;aH=+g[bk>>2];ax=+g[T+(bE<<4)+4>>2];au=aH-ax;an=+g[bj>>2];al=+g[T+(bE<<4)+8>>2];ao=an-al;am=+g[T+(S<<4)>>2];ak=av-am;aj=+g[T+(S<<4)+4>>2];at=aH-aj;as=+g[T+(S<<4)+8>>2];ar=an-as;c5=au*ar-ao*at;c6=ao*ak-bf*ar;ar=bf*at-au*ak;ak=+Q(+(ar*ar+(c5*c5+c6*c6)))*.5;c6=aI+(av+az+am)*.3333333432674408*ak;g[D>>2]=c6;am=(aH+ax+aj)*.3333333432674408*ak+ay;g[C>>2]=am;aj=ak*(an+al+as)*.3333333432674408+b3;g[B>>2]=aj;as=aw+ak;if((bK|0)>(A|0)){c4=as;break L6174}aw=as;bz=bK;aI=c6;ay=am;b3=aj;by=c[bY>>2]|0}}}while(0);bY=bW+1|0;if((bY|0)<(c3|0)){aJ=c4;bW=bY}else{cV=c4;cW=cL;cX=cO;break}}}else{cV=0.0;cW=0;cX=0}}while(0);c4=1.0/cV;g[D>>2]=c4*+g[D>>2];g[C>>2]=c4*+g[C>>2];g[B>>2]=c4*+g[B>>2];if((cW|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[cW-4>>2]|0)}if((cX|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[cX-4>>2]|0)}cX=c[j>>2]|0;if((cX|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[cX-4>>2]|0);c[j>>2]=0}c[j>>2]=0;j=c[h>>2]|0;if((j|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-4>>2]|0);c[h>>2]=0}if((bR|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bR-16+12>>2]|0)}azi(v);if((I|0)==0){i=f;return 1}c[9804]=(c[9804]|0)+1;aDB(c[I-16+12>>2]|0);i=f;return 1}function aza(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0;e=i;i=i+16|0;f=e|0;h=a;aDD(h|0,0,16);j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=j*j+k*k+l*l;if(m<9999999747378752.0e-20){n=1.0;o=0.0;p=0.0}else{q=1.0/+Q(+m);n=j*q;o=k*q;p=l*q}d=b;if((cA[c[(c[d>>2]|0)+88>>2]&4095](b)|0)<=0){i=e;return}a=b;r=f|0;s=f+4|0;t=f+8|0;u=f;q=-999999984306749400.0;v=0;while(1){dA[c[(c[a>>2]|0)+100>>2]&511](b,v,f);l=n*+g[r>>2]+o*+g[s>>2]+p*+g[t>>2];if(l>q){c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[h+12>>2]=c[u+12>>2];w=l}else{w=q}x=v+1|0;if((x|0)<(cA[c[(c[d>>2]|0)+88>>2]&4095](b)|0)){q=w;v=x}else{break}}i=e;return}function azb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=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.0;f=i;i=i+16|0;h=f|0;if((e|0)>0){j=0}else{i=f;return}do{g[d+(j<<4)+12>>2]=-999999984306749400.0;j=j+1|0;}while((j|0)<(e|0));j=a;k=a;l=h|0;m=h+4|0;n=h+8|0;o=h;p=0;do{if((cA[c[(c[j>>2]|0)+88>>2]&4095](a)|0)>0){q=b+(p<<4)|0;r=b+(p<<4)+4|0;s=b+(p<<4)+8|0;t=d+(p<<4)+12|0;u=d+(p<<4)|0;v=0;do{dA[c[(c[k>>2]|0)+100>>2]&511](a,v,h);w=+g[q>>2]*+g[l>>2]+ +g[r>>2]*+g[m>>2]+ +g[s>>2]*+g[n>>2];if(w>+g[t>>2]){c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];g[t>>2]=w}v=v+1|0;}while((v|0)<(cA[c[(c[j>>2]|0)+88>>2]&4095](a)|0))}p=p+1|0;}while((p|0)<(e|0));i=f;return}function azc(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0;e=i;i=i+96|0;f=e|0;h=e+64|0;j=e+80|0;k=a|0;l=+dh[c[(c[a>>2]|0)+44>>2]&1023](k);g[f>>2]=1.0;aDD(f+4|0,0,16);g[f+20>>2]=1.0;aDD(f+24|0,0,16);g[f+40>>2]=1.0;aDD(f+44|0,0,20);dI[c[(c[a>>2]|0)+8>>2]&1023](k,f,h,j);m=(l+(+g[j>>2]- +g[h>>2])*.5)*2.0;n=(l+(+g[j+4>>2]- +g[h+4>>2])*.5)*2.0;o=(l+(+g[j+8>>2]- +g[h+8>>2])*.5)*2.0;l=m*m;m=n*n;n=o*o;o=b*.0833333283662796;g[d>>2]=o*(m+n);g[d+4>>2]=o*(l+n);g[d+8>>2]=o*(l+m);g[d+12>>2]=0.0;i=e;return}function azd(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;c=+P(+(+g[b>>2]));d=+P(+(+g[b+4>>2]));e=+P(+(+g[b+8>>2]));g[a+12>>2]=c;g[a+16>>2]=d;g[a+20>>2]=e;g[a+24>>2]=0.0;aze(a);return}function aze(b){b=b|0;var d=0,e=0,f=0.0;d=i;i=i+96|0;e=d|0;a[b+88|0]=1;do{if((a[42992]|0)==0){if((b1(42992)|0)==0){break}g[10084]=1.0;aDD(40340,0,16);g[10089]=1.0;aDD(40360,0,16);g[10094]=1.0;g[10095]=0.0;g[10096]=-1.0;aDD(40388,0,16);g[10101]=-1.0;aDD(40408,0,16);g[10106]=-1.0;g[10107]=0.0}}while(0);aDD(e|0,0,96);dI[c[(c[b>>2]|0)+68>>2]&1023](b|0,40336,e|0,6);f=+g[b+44>>2];g[b+72>>2]=+g[e>>2]+f;g[b+56>>2]=+g[e+48>>2]-f;g[b+76>>2]=+g[e+20>>2]+f;g[b+60>>2]=+g[e+68>>2]-f;g[b+80>>2]=+g[e+40>>2]+f;g[b+64>>2]=+g[e+88>>2]-f;i=d;return}function azf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;f=+dh[c[(c[a>>2]|0)+44>>2]&1023](a|0);h=+g[a+72>>2];i=+g[a+56>>2];j=+g[a+76>>2];k=+g[a+60>>2];l=+g[a+80>>2];m=+g[a+64>>2];n=f+(h-i)*.5;o=f+(j-k)*.5;p=f+(l-m)*.5;f=(h+i)*.5;i=(j+k)*.5;k=(l+m)*.5;m=+g[b>>2];l=+P(+m);j=+g[b+4>>2];h=+P(+j);q=+g[b+8>>2];r=+P(+q);s=+g[b+16>>2];t=+P(+s);u=+g[b+20>>2];v=+P(+u);w=+g[b+24>>2];x=+P(+w);y=+g[b+32>>2];z=+P(+y);A=+g[b+36>>2];B=+P(+A);C=+g[b+40>>2];D=+P(+C);E=f*m+i*j+k*q+ +g[b+48>>2];q=f*s+i*u+k*w+ +g[b+52>>2];w=f*y+i*A+k*C+ +g[b+56>>2];C=n*l+o*h+p*r;r=n*t+o*v+p*x;x=n*z+o*B+p*D;g[d>>2]=E-C;g[d+4>>2]=q-r;g[d+8>>2]=w-x;g[d+12>>2]=0.0;g[e>>2]=C+E;g[e+4>>2]=r+q;g[e+8>>2]=x+w;g[e+12>>2]=0.0;return}function azg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b+16|0;a[e]=1;f=b+12|0;c[f>>2]=0;g=b+4|0;c[g>>2]=0;h=b+8|0;c[h>>2]=0;b=c[d+4>>2]|0;if((b|0)<=0){c[g>>2]=b;return}c[9806]=(c[9806]|0)+1;i=aDx((b<<2)+19|0)|0;if((i|0)==0){j=0}else{k=-(i+4|0)&15;c[i+k>>2]=i;j=i+(k+4)|0}k=c[g>>2]|0;if((k|0)>0){i=0;do{l=j+(i<<2)|0;if((l|0)!=0){c[l>>2]=c[(c[f>>2]|0)+(i<<2)>>2]}i=i+1|0;}while((i|0)<(k|0))}k=c[f>>2]|0;if((k|0)!=0){if((a[e]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[k-4>>2]|0)}c[f>>2]=0}a[e]=1;c[f>>2]=j;c[h>>2]=b;h=0;e=j;while(1){j=e+(h<<2)|0;if((j|0)==0){m=e}else{c[j>>2]=0;m=c[f>>2]|0}j=h+1|0;if((j|0)<(b|0)){h=j;e=m}else{break}}c[g>>2]=b;g=d+12|0;d=0;do{e=m+(d<<2)|0;if((e|0)!=0){c[e>>2]=c[(c[g>>2]|0)+(d<<2)>>2]}d=d+1|0;}while((d|0)<(b|0));return}function azh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((d|0)<=0){return}e=b+12|0;b=0;do{f=c[e>>2]|0;g=f+(b*56|0)+24|0;h=f+(b*56|0)+32|0;i=c[h>>2]|0;j=f+(b*56|0)+36|0;if((i|0)!=0){if((a[j]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[i-4>>2]|0)}c[h>>2]=0}a[j]=1;c[h>>2]=0;c[g>>2]=0;c[f+(b*56|0)+28>>2]=0;g=f+(b*56|0)+4|0;h=f+(b*56|0)+12|0;j=c[h>>2]|0;i=f+(b*56|0)+16|0;if((j|0)!=0){if((a[i]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-4>>2]|0)}c[h>>2]=0}a[i]=1;c[h>>2]=0;c[g>>2]=0;c[f+(b*56|0)+8>>2]=0;b=b+1|0;}while((b|0)<(d|0));return}function azi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=b+44|0;e=b+52|0;f=c[e>>2]|0;g=b+56|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+48>>2]=0;d=b+24|0;e=b+32|0;g=c[e>>2]|0;f=b+36|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-12+8>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0;d=b+4|0;e=b+12|0;f=c[e>>2]|0;g=b+16|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+8|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+8|0;c[h>>2]=0;return}function azj(d){d=d|0;var e=0,f=0,g=0,h=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,z=0;e=i;i=i+48|0;f=e+16|0;g=d+60|0;a[g]=1;h=d+108|0;j=c[h>>2]|0;k=j<<1;l=e|0;aDD(l|0,0,16);m=d+128|0;n=c[m>>2]|0;if((n|0)<(k|0)){o=d+132|0;if((c[o>>2]|0)<(k|0)){if((k|0)==0){p=0;q=n}else{c[9806]=(c[9806]|0)+1;r=aDx((j<<5|4)+15|0)|0;if((r|0)==0){s=0}else{t=-(r+4|0)&15;c[r+t>>2]=r;s=r+(t+4)|0}p=s;q=c[m>>2]|0}s=d+136|0;if((q|0)>0){t=0;do{r=p+(t<<4)|0;u=(c[s>>2]|0)+(t<<4)|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];t=t+1|0;}while((t|0)<(q|0))}q=c[s>>2]|0;t=d+140|0;if((q|0)!=0){if((a[t]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[q-16+12>>2]|0)}c[s>>2]=0}a[t]=1;c[s>>2]=p;c[o>>2]=k;v=s}else{v=d+136|0}s=n;do{n=(c[v>>2]|0)+(s<<4)|0;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[n+12>>2]=c[l+12>>2];s=s+1|0;}while((s|0)<(k|0))}c[m>>2]=k;c[d+56>>2]=0;azk(d,0,j);j=d+152|0;do{if((a[g]&1)!=0){if((c[j>>2]|0)!=0){break}k=d+156|0;if((c[k>>2]|0)==0){c[9806]=(c[9806]|0)+1;m=aDx(51)|0;if((m|0)==0){w=0}else{s=-(m+4|0)&15;c[m+s>>2]=m;w=m+(s+4)|0}s=c[j>>2]|0;m=d+160|0;if((s|0)>0){l=0;do{v=w+(l<<5)|0;n=(c[m>>2]|0)+(l<<5)|0;aDC(v|0,n|0,32)|0;l=l+1|0;}while((l|0)<(s|0))}s=c[m>>2]|0;l=d+164|0;if((s|0)!=0){if((a[l]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[s-32+28>>2]|0)}c[m>>2]=0}a[l]=1;c[m>>2]=w;c[k>>2]=1;x=(c[j>>2]|0)+1|0;y=w}else{x=1;y=c[d+160>>2]|0}c[j>>2]=x;l=d+160|0;s=y;n=f;aDC(s|0,n|0,32)|0;n=c[l>>2]|0;l=d+136|0;s=c[l>>2]|0;b[n>>1]=b[s>>1]|0;b[n+2>>1]=b[s+2>>1]|0;b[n+4>>1]=b[s+4>>1]|0;b[n+6>>1]=b[s+6>>1]|0;b[n+8>>1]=b[s+8>>1]|0;b[n+10>>1]=b[s+10>>1]|0;c[n+12>>2]=0;s=c[(c[l>>2]|0)+12>>2]|0;c[n+16>>2]=(s|0)>-1?1:-s|0}}while(0);c[d+168>>2]=c[j>>2];j=d+116|0;f=c[j>>2]|0;y=d+120|0;if((f|0)!=0){if((a[y]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[j>>2]=0}a[y]=1;c[j>>2]=0;c[h>>2]=0;c[d+112>>2]=0;h=d+68|0;j=d+76|0;y=c[j>>2]|0;f=d+80|0;if((y|0)==0){a[f]=1;c[j>>2]=0;c[h>>2]=0;z=d+72|0;c[z>>2]=0;i=e;return}if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[y-64+60>>2]|0)}c[j>>2]=0;a[f]=1;c[j>>2]=0;c[h>>2]=0;z=d+72|0;c[z>>2]=0;i=e;return}function azk(d,f,h){d=d|0;f=f|0;h=h|0;var 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,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ab=0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0;j=i;i=i+176|0;k=j|0;l=j+32|0;m=j+64|0;n=j+80|0;o=j+144|0;p=j+160|0;q=h-f|0;r=d+56|0;s=c[r>>2]|0;if((q|0)==1){if((a[d+60|0]&1)==0){t=(c[d+96>>2]|0)+(s<<6)|0;u=(c[d+76>>2]|0)+(f<<6)|0;aDC(t|0,u|0,64)|0}else{u=(c[d+136>>2]|0)+(s<<4)|0;t=(c[d+116>>2]|0)+(f<<4)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2]}c[r>>2]=(c[r>>2]|0)+1;i=j;return}t=(f|0)<(h|0);if(t){u=(a[d+60|0]&1)==0;v=d+76|0;w=d+116|0;x=d+36|0;y=d+40|0;z=d+44|0;A=d+4|0;B=d+8|0;C=d+12|0;D=0.0;E=0.0;F=0.0;G=f;do{if(u){H=c[v>>2]|0;I=+g[H+(G<<6)>>2];J=+g[H+(G<<6)+4>>2];K=+g[H+(G<<6)+8>>2];L=+g[H+(G<<6)+24>>2];M=+g[H+(G<<6)+20>>2];N=+g[H+(G<<6)+16>>2]}else{H=c[w>>2]|0;O=+g[x>>2];P=+g[y>>2];Q=+g[z>>2];R=+g[A>>2];S=+g[B>>2];T=+g[C>>2];I=+((e[H+(G<<4)>>1]|0)>>>0)/O+R;J=+((e[H+(G<<4)+2>>1]|0)>>>0)/P+S;K=+((e[H+(G<<4)+4>>1]|0)>>>0)/Q+T;L=+((e[H+(G<<4)+10>>1]|0)>>>0)/Q+T;M=+((e[H+(G<<4)+8>>1]|0)>>>0)/P+S;N=+((e[H+(G<<4)+6>>1]|0)>>>0)/O+R}F=F+(N+I)*.5;E=E+(M+J)*.5;D=D+(L+K)*.5;G=G+1|0;}while((G|0)<(h|0));K=+(q|0);L=1.0/K;J=F*L;F=E*L;E=D*L;if(u){u=c[v>>2]|0;L=0.0;D=0.0;M=0.0;v=f;while(1){I=(+g[u+(v<<6)+16>>2]+ +g[u+(v<<6)>>2])*.5-J;N=(+g[u+(v<<6)+20>>2]+ +g[u+(v<<6)+4>>2])*.5-F;R=(+g[u+(v<<6)+24>>2]+ +g[u+(v<<6)+8>>2])*.5-E;O=M+I*I;I=D+N*N;N=L+R*R;G=v+1|0;if((G|0)<(h|0)){L=N;D=I;M=O;v=G}else{U=N;V=I;W=O;X=K;break}}}else{v=c[w>>2]|0;M=+g[x>>2];D=+g[y>>2];L=+g[z>>2];O=+g[A>>2];I=+g[B>>2];N=+g[C>>2];R=0.0;S=0.0;P=0.0;C=f;while(1){T=(+((e[v+(C<<4)+6>>1]|0)>>>0)/M+O+(+((e[v+(C<<4)>>1]|0)>>>0)/M+O))*.5-J;Q=(+((e[v+(C<<4)+8>>1]|0)>>>0)/D+I+(+((e[v+(C<<4)+2>>1]|0)>>>0)/D+I))*.5-F;Y=(+((e[v+(C<<4)+10>>1]|0)>>>0)/L+N+(+((e[v+(C<<4)+4>>1]|0)>>>0)/L+N))*.5-E;Z=P+T*T;T=S+Q*Q;Q=R+Y*Y;B=C+1|0;if((B|0)<(h|0)){R=Q;S=T;P=Z;C=B}else{U=Q;V=T;W=Z;X=K;break}}}}else{U=0.0;V=0.0;W=0.0;X=+(q|0)}K=1.0/(X+-1.0);X=W*K;W=V*K;V=U*K;if(X>2]|0;ac=+g[ab+(aa<<6)>>2];ad=+g[ab+(aa<<6)+4>>2];ae=+g[ab+(aa<<6)+8>>2];af=+g[ab+(aa<<6)+24>>2];ag=+g[ab+(aa<<6)+20>>2];ah=+g[ab+(aa<<6)+16>>2]}else{ab=c[y>>2]|0;K=+g[x>>2];U=+g[w>>2];P=+g[u>>2];S=+g[G>>2];R=+g[H>>2];E=+g[$>>2];ac=+((e[ab+(aa<<4)>>1]|0)>>>0)/K+S;ad=+((e[ab+(aa<<4)+2>>1]|0)>>>0)/U+R;ae=+((e[ab+(aa<<4)+4>>1]|0)>>>0)/P+E;af=+((e[ab+(aa<<4)+10>>1]|0)>>>0)/P+E;ag=+((e[ab+(aa<<4)+8>>1]|0)>>>0)/U+R;ah=+((e[ab+(aa<<4)+6>>1]|0)>>>0)/K+S}V=V+(ah+ac)*.5;X=(ag+ad)*.5+X;W=(af+ae)*.5+W;aa=aa+1|0;}while((aa|0)<(h|0));g[C>>2]=V;g[v>>2]=X;g[B>>2]=W;ai=V;aj=X;ak=W}else{ai=0.0;aj=0.0;ak=0.0}W=1.0/+(q|0);g[C>>2]=W*ai;g[v>>2]=W*aj;g[B>>2]=W*ak;ak=+g[o+(_<<2)>>2];if(t){o=d+60|0;B=d+76|0;v=p|0;C=p+4|0;aa=p+8|0;$=p+12|0;H=p+(_<<2)|0;_=m;m=n;n=d+116|0;p=d+36|0;G=d+40|0;u=d+44|0;w=d+4|0;x=d+8|0;y=d+12|0;z=f;A=f;while(1){ab=(a[o]&1)==0;if(ab){al=c[B>>2]|0;am=+g[al+(A<<6)>>2];an=+g[al+(A<<6)+4>>2];ao=+g[al+(A<<6)+8>>2];ap=+g[al+(A<<6)+24>>2];aq=+g[al+(A<<6)+20>>2];ar=+g[al+(A<<6)+16>>2]}else{al=c[n>>2]|0;W=+g[p>>2];aj=+g[G>>2];ai=+g[u>>2];X=+g[w>>2];V=+g[x>>2];ae=+g[y>>2];am=+((e[al+(A<<4)>>1]|0)>>>0)/W+X;an=+((e[al+(A<<4)+2>>1]|0)>>>0)/aj+V;ao=+((e[al+(A<<4)+4>>1]|0)>>>0)/ai+ae;ap=+((e[al+(A<<4)+10>>1]|0)>>>0)/ai+ae;aq=+((e[al+(A<<4)+8>>1]|0)>>>0)/aj+V;ar=+((e[al+(A<<4)+6>>1]|0)>>>0)/W+X}g[v>>2]=(ar+am)*.5;g[C>>2]=(aq+an)*.5;g[aa>>2]=(ap+ao)*.5;g[$>>2]=0.0;if(+g[H>>2]>ak){if(ab){ab=c[B>>2]|0;al=ab+(A<<6)|0;aDC(m|0,al|0,64)|0;as=ab+(z<<6)|0;aDC(al|0,as|0,64)|0;as=(c[B>>2]|0)+(z<<6)|0;aDC(as|0,m|0,64)|0}else{as=c[n>>2]|0;al=as+(A<<4)|0;c[_>>2]=c[al>>2];c[_+4>>2]=c[al+4>>2];c[_+8>>2]=c[al+8>>2];c[_+12>>2]=c[al+12>>2];ab=as+(z<<4)|0;c[al>>2]=c[ab>>2];c[al+4>>2]=c[ab+4>>2];c[al+8>>2]=c[ab+8>>2];c[al+12>>2]=c[ab+12>>2];ab=(c[n>>2]|0)+(z<<4)|0;c[ab>>2]=c[_>>2];c[ab+4>>2]=c[_+4>>2];c[ab+8>>2]=c[_+8>>2];c[ab+12>>2]=c[_+12>>2]}at=z+1|0}else{at=z}ab=A+1|0;if((ab|0)<(h|0)){z=at;A=ab}else{au=at;break}}}else{au=f}at=(q|0)/3|0;if((au|0)>(at+f|0)){if((au|0)<(h-1-at|0)){av=au}else{aw=41}}else{aw=41}if((aw|0)==41){av=(q>>1)+f|0}q=c[r>>2]|0;aw=d+20|0;au=d+60|0;if((a[au]&1)==0){at=(c[d+96>>2]|0)+(q<<6)|0;A=aw;c[at>>2]=c[A>>2];c[at+4>>2]=c[A+4>>2];c[at+8>>2]=c[A+8>>2];c[at+12>>2]=c[A+12>>2]}else{A=c[d+136>>2]|0;ak=(+g[d+24>>2]- +g[d+8>>2])*+g[d+40>>2];ao=(+g[d+28>>2]- +g[d+12>>2])*+g[d+44>>2];b[A+(q<<4)>>1]=~~((+g[aw>>2]- +g[d+4>>2])*+g[d+36>>2])&-2;b[A+(q<<4)+2>>1]=~~ak&-2;b[A+(q<<4)+4>>1]=~~ao&-2}A=c[r>>2]|0;aw=d+4|0;if((a[au]&1)==0){at=(c[d+96>>2]|0)+(A<<6)+16|0;z=aw;c[at>>2]=c[z>>2];c[at+4>>2]=c[z+4>>2];c[at+8>>2]=c[z+8>>2];c[at+12>>2]=c[z+12>>2]}else{z=c[d+136>>2]|0;ao=+g[aw>>2];ak=+g[d+8>>2];ap=+g[d+12>>2];an=(ak-ak)*+g[d+40>>2];ak=(ap-ap)*+g[d+44>>2];b[z+(A<<4)+6>>1]=~~((ao-ao)*+g[d+36>>2]+1.0)|1;b[z+(A<<4)+8>>1]=~~(an+1.0)|1;b[z+(A<<4)+10>>1]=~~(ak+1.0)|1}A=c[r>>2]|0;if(t){t=d+76|0;z=d+116|0;aw=d+36|0;at=d+40|0;_=d+44|0;n=d+4|0;m=d+8|0;B=d+12|0;H=d+96|0;$=d+136|0;aa=f;C=A;while(1){do{if((a[au]&1)==0){v=c[t>>2]|0;ak=+g[v+(aa<<6)>>2];an=+g[v+(aa<<6)+4>>2];ao=+g[v+(aa<<6)+8>>2];ap=+g[v+(aa<<6)+12>>2];aq=+g[v+(aa<<6)+16>>2];am=+g[v+(aa<<6)+20>>2];ar=+g[v+(aa<<6)+24>>2];X=+g[v+(aa<<6)+28>>2];v=c[H>>2]|0;y=v+(C<<6)|0;if(ak<+g[y>>2]){g[y>>2]=ak}y=v+(C<<6)+4|0;if(an<+g[y>>2]){g[y>>2]=an}y=v+(C<<6)+8|0;if(ao<+g[y>>2]){g[y>>2]=ao}y=v+(C<<6)+12|0;if(ap<+g[y>>2]){g[y>>2]=ap}y=c[H>>2]|0;v=y+(C<<6)+16|0;if(+g[v>>2]>2]=aq}v=y+(C<<6)+20|0;if(+g[v>>2]>2]=am}v=y+(C<<6)+24|0;if(+g[v>>2]>2]=ar}v=y+(C<<6)+28|0;if(+g[v>>2]>=X){break}g[v>>2]=X}else{v=c[z>>2]|0;X=+g[aw>>2];ar=+g[at>>2];am=+g[_>>2];aq=+g[n>>2];ap=+g[m>>2];ao=+g[B>>2];an=+g[n>>2];ak=+g[m>>2];W=+g[B>>2];V=+g[aw>>2];aj=+g[at>>2];ae=+g[_>>2];y=~~((+((e[v+(aa<<4)>>1]|0)>>>0)/X+aq-an)*V)&-2;x=~~((+((e[v+(aa<<4)+2>>1]|0)>>>0)/ar+ap-ak)*aj)&-2;w=~~((+((e[v+(aa<<4)+4>>1]|0)>>>0)/am+ao-W)*ae)&-2;u=~~((+((e[v+(aa<<4)+6>>1]|0)>>>0)/X+aq-an)*V+1.0)|1;G=~~((+((e[v+(aa<<4)+8>>1]|0)>>>0)/ar+ap-ak)*aj+1.0)|1;p=~~((+((e[v+(aa<<4)+10>>1]|0)>>>0)/am+ao-W)*ae+1.0)|1;v=c[$>>2]|0;o=v+(C<<4)|0;if((e[o>>1]|0)>(y&65535)){b[o>>1]=y;ax=c[$>>2]|0}else{ax=v}v=ax+(C<<4)+6|0;if((e[v>>1]|0)<(u&65535)){b[v>>1]=u;ay=c[$>>2]|0}else{ay=ax}u=ay+(C<<4)+2|0;if((e[u>>1]|0)>(x&65535)){b[u>>1]=x;az=c[$>>2]|0}else{az=ay}x=az+(C<<4)+8|0;if((e[x>>1]|0)<(G&65535)){b[x>>1]=G;aA=c[$>>2]|0}else{aA=az}G=aA+(C<<4)+4|0;if((e[G>>1]|0)>(w&65535)){b[G>>1]=w;aB=c[$>>2]|0}else{aB=aA}w=aB+(C<<4)+10|0;if((e[w>>1]|0)>=(p&65535)){break}b[w>>1]=p}}while(0);p=aa+1|0;w=c[r>>2]|0;if((p|0)<(h|0)){aa=p;C=w}else{aC=w;break}}}else{aC=A}A=aC+1|0;c[r>>2]=A;azk(d,f,av);f=c[r>>2]|0;azk(d,av,h);h=(c[r>>2]|0)-s|0;s=a[au]|0;do{if((s&1)==0){aD=s}else{if((h<<4|0)<=2048){aD=s;break}r=k;av=l;aC=c[d+136>>2]|0;C=c[aC+(A<<4)+12>>2]|0;aa=(C|0)>-1?1:-C|0;C=c[aC+(f<<4)+12>>2]|0;aB=(C|0)>-1?1:-C|0;C=aB<<4;aA=d+152|0;if((aa<<4|0)<2049){$=c[aA>>2]|0;az=d+156|0;do{if(($|0)==(c[az>>2]|0)){ay=($|0)==0?1:$<<1;if(($|0)>=(ay|0)){aE=$;break}if((ay|0)==0){aF=0;aG=$}else{c[9806]=(c[9806]|0)+1;ax=aDx((ay<<5|4)+15|0)|0;if((ax|0)==0){aH=0}else{_=-(ax+4|0)&15;c[ax+_>>2]=ax;aH=ax+(_+4)|0}aF=aH;aG=c[aA>>2]|0}_=d+160|0;if((aG|0)>0){ax=0;do{at=aF+(ax<<5)|0;aw=(c[_>>2]|0)+(ax<<5)|0;aDC(at|0,aw|0,32)|0;ax=ax+1|0;}while((ax|0)<(aG|0))}ax=c[_>>2]|0;aw=d+164|0;if((ax|0)!=0){if((a[aw]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[ax-32+28>>2]|0)}c[_>>2]=0}a[aw]=1;c[_>>2]=aF;c[az>>2]=ay;aE=c[aA>>2]|0}else{aE=$}}while(0);c[aA>>2]=aE+1;az=d+160|0;aw=(c[az>>2]|0)+($<<5)|0;aDC(aw|0,r|0,32)|0;aw=c[az>>2]|0;b[aw+($<<5)>>1]=b[aC+(A<<4)>>1]|0;b[aw+($<<5)+2>>1]=b[aC+(A<<4)+2>>1]|0;b[aw+($<<5)+4>>1]=b[aC+(A<<4)+4>>1]|0;b[aw+($<<5)+6>>1]=b[aC+(A<<4)+6>>1]|0;b[aw+($<<5)+8>>1]=b[aC+(A<<4)+8>>1]|0;b[aw+($<<5)+10>>1]=b[aC+(A<<4)+10>>1]|0;c[aw+($<<5)+12>>2]=A;c[aw+($<<5)+16>>2]=aa;aI=aA}else{aI=aA}if((C|0)<2049){aw=c[aI>>2]|0;az=d+156|0;do{if((aw|0)==(c[az>>2]|0)){ax=(aw|0)==0?1:aw<<1;if((aw|0)>=(ax|0)){aJ=aw;break}if((ax|0)==0){aK=0;aL=aw}else{c[9806]=(c[9806]|0)+1;at=aDx((ax<<5|4)+15|0)|0;if((at|0)==0){aM=0}else{B=-(at+4|0)&15;c[at+B>>2]=at;aM=at+(B+4)|0}aK=aM;aL=c[aI>>2]|0}B=d+160|0;if((aL|0)>0){at=0;do{m=aK+(at<<5)|0;n=(c[B>>2]|0)+(at<<5)|0;aDC(m|0,n|0,32)|0;at=at+1|0;}while((at|0)<(aL|0))}at=c[B>>2]|0;ay=d+164|0;if((at|0)!=0){if((a[ay]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[at-32+28>>2]|0)}c[B>>2]=0}a[ay]=1;c[B>>2]=aK;c[az>>2]=ax;aJ=c[aI>>2]|0}else{aJ=aw}}while(0);c[aI>>2]=aJ+1;az=d+160|0;C=(c[az>>2]|0)+(aw<<5)|0;aDC(C|0,av|0,32)|0;C=c[az>>2]|0;b[C+(aw<<5)>>1]=b[aC+(f<<4)>>1]|0;b[C+(aw<<5)+2>>1]=b[aC+(f<<4)+2>>1]|0;b[C+(aw<<5)+4>>1]=b[aC+(f<<4)+4>>1]|0;b[C+(aw<<5)+6>>1]=b[aC+(f<<4)+6>>1]|0;b[C+(aw<<5)+8>>1]=b[aC+(f<<4)+8>>1]|0;b[C+(aw<<5)+10>>1]=b[aC+(f<<4)+10>>1]|0;c[C+(aw<<5)+12>>2]=f;c[C+(aw<<5)+16>>2]=aB}c[d+168>>2]=c[aI>>2];aD=a[au]|0}}while(0);if((aD&1)==0){c[(c[d+96>>2]|0)+(q<<6)+32>>2]=h;i=j;return}else{c[(c[d+136>>2]|0)+(q<<4)+12>>2]=-h;i=j;return}}function azl(a){a=a|0;azm(a);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-172+168>>2]|0);return}function azm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=25328;d=b+152|0;e=b+160|0;f=c[e>>2]|0;g=b+164|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-32+28>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+156>>2]=0;d=b+128|0;e=b+136|0;g=c[e>>2]|0;f=b+140|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-16+12>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+132>>2]=0;d=b+108|0;e=b+116|0;f=c[e>>2]|0;g=b+120|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+112>>2]=0;d=b+88|0;e=b+96|0;g=c[e>>2]|0;f=b+100|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-64+60>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+92>>2]=0;d=b+68|0;e=b+76|0;f=c[e>>2]|0;g=b+80|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+72|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-64+60>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+72|0;c[h>>2]=0;return}function azn(d,f,h,j){d=d|0;f=f|0;h=h|0;j=j|0;var 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,z=0,A=0,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.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0;k=i;i=i+16|0;l=k|0;m=k+8|0;if((a[d+60|0]&1)==0){n=d+56|0;o=c[n>>2]|0;L213:do{if((o|0)>0){p=h|0;q=h+8|0;r=h+4|0;s=j+4|0;t=f;u=j+8|0;v=j|0;w=1;x=0;y=c[d+96>>2]|0;z=o;while(1){do{if(+g[p>>2]>+g[y+16>>2]){A=0}else{if(+g[v>>2]<+g[y>>2]){A=0;break}A=1}}while(0);do{if(+g[q>>2]>+g[y+24>>2]){B=0}else{if(+g[u>>2]<+g[y+8>>2]){B=0;break}B=A}}while(0);do{if(+g[r>>2]>+g[y+20>>2]){C=192}else{if(+g[s>>2]<+g[y+4>>2]){C=192;break}D=c[y+32>>2]|0;E=(D|0)==-1;if(!(E&B)){F=B;G=E;H=D;C=195;break}dA[c[(c[t>>2]|0)+8>>2]&511](f,c[y+36>>2]|0,c[y+40>>2]|0);I=c[n>>2]|0;C=196}}while(0);if((C|0)==192){C=0;D=c[y+32>>2]|0;F=0;G=(D|0)==-1;H=D;C=195}do{if((C|0)==195){C=0;if(F|G){I=z;C=196;break}J=y+(H<<6)|0;K=H+x|0;L=z}}while(0);if((C|0)==196){C=0;J=y+64|0;K=x+1|0;L=I}if((K|0)>=(L|0)){M=w;break L213}w=w+1|0;x=K;y=J;z=L}}else{M=0}}while(0);if((c[9788]|0)>=(M|0)){i=k;return}c[9788]=M;i=k;return}M=l|0;N=+g[h>>2];O=+g[h+4>>2];P=+g[h+8>>2];Q=+g[d+4>>2];R=N>2];S=O>2];T=P>2];U=+g[d+24>>2];V=+g[d+28>>2];W=+g[d+36>>2];X=+g[d+40>>2];Y=+g[d+44>>2];h=~~(((P>1]=h;L=~~(((U>1]=L;J=~~(((V>1]=J;l=m|0;T=+g[j>>2];S=+g[j+4>>2];R=+g[j+8>>2];Z=T>1]=j;K=~~(((U>1]=K;I=~~(((V>1]=I;m=c[d+144>>2]|0;if((m|0)==2){azo(c[d+136>>2]|0,f,M,l);i=k;return}else if((m|0)==0){l=c[d+56>>2]|0;L249:do{if((l|0)>0){M=f;C=c[d+136>>2]|0;H=1;G=0;while(1){F=C+12|0;n=c[F>>2]|0;B=(n|0)>-1;A=(-((h&65535)<=(e[C+6>>1]|0)&(j&65535)>=(e[C>>1]|0)&(J&65535)<=(e[C+10>>1]|0)&(I&65535)>=(e[C+4>>1]|0)&(L&65535)<=(e[C+8>>1]|0)&(K&65535)>=(e[C+2>>1]|0)&1)&1|0)==0;if(!(A|B^1)){dA[c[(c[M>>2]|0)+8>>2]&511](f,n>>21,n&2097151)}if(B|A^1){_=G+1|0;$=C+16|0}else{A=c[F>>2]|0;_=G-A|0;$=C+(-A<<4)|0}if((_|0)>=(l|0)){aa=H;break L249}C=$;H=H+1|0;G=_}}else{aa=0}}while(0);if((c[9788]|0)>=(aa|0)){i=k;return}c[9788]=aa;i=k;return}else if((m|0)==1){m=d+152|0;aa=c[m>>2]|0;if((aa|0)<=0){i=k;return}_=d+160|0;$=d+136|0;d=f;l=0;G=aa;while(1){aa=c[_>>2]|0;if((-((h&65535)<=(e[aa+(l<<5)+6>>1]|0)&(j&65535)>=(e[aa+(l<<5)>>1]|0)&(J&65535)<=(e[aa+(l<<5)+10>>1]|0)&(I&65535)>=(e[aa+(l<<5)+4>>1]|0)&(L&65535)<=(e[aa+(l<<5)+8>>1]|0)&(K&65535)>=(e[aa+(l<<5)+2>>1]|0)&1)&1|0)==0){ab=G}else{H=c[aa+(l<<5)+12>>2]|0;C=c[aa+(l<<5)+16>>2]|0;aa=C+H|0;L274:do{if((C|0)>0){M=(c[$>>2]|0)+(H<<4)|0;A=1;F=H;while(1){B=M+12|0;n=c[B>>2]|0;o=(n|0)>-1;z=(-((h&65535)<=(e[M+6>>1]|0)&(j&65535)>=(e[M>>1]|0)&(J&65535)<=(e[M+10>>1]|0)&(I&65535)>=(e[M+4>>1]|0)&(L&65535)<=(e[M+8>>1]|0)&(K&65535)>=(e[M+2>>1]|0)&1)&1|0)==0;if(!(z|o^1)){dA[c[(c[d>>2]|0)+8>>2]&511](f,n>>21,n&2097151)}if(o|z^1){ac=F+1|0;ad=M+16|0}else{z=c[B>>2]|0;ac=F-z|0;ad=M+(-z<<4)|0}if((ac|0)>=(aa|0)){ae=A;break L274}M=ad;A=A+1|0;F=ac}}else{ae=0}}while(0);if((c[9788]|0)<(ae|0)){c[9788]=ae}ab=c[m>>2]|0}aa=l+1|0;if((aa|0)<(ab|0)){l=aa;G=ab}else{break}}i=k;return}else{i=k;return}}function azo(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d+4|0;h=f+4|0;i=d+2|0;j=f+2|0;k=a;while(1){l=c[k+12>>2]|0;if((-((e[d>>1]|0)<=(e[k+6>>1]|0)&(e[f>>1]|0)>=(e[k>>1]|0)&(e[g>>1]|0)<=(e[k+10>>1]|0)&(e[h>>1]|0)>=(e[k+4>>1]|0)&(e[i>>1]|0)<=(e[k+8>>1]|0)&(e[j>>1]|0)>=(e[k+2>>1]|0)&1)&1|0)==0){m=219;break}if((l|0)>-1){break}azo(k+16|0,b,d,f);a=c[k+28>>2]|0;if((a|0)>-1){k=k+32|0;continue}else{k=k+(1-a<<4)|0;continue}}if((m|0)==219){return}dA[c[(c[b>>2]|0)+8>>2]&511](b,l>>21,l&2097151);return}function azp(a,b,d,e,f,h,j,k){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0;l=i;i=i+32|0;m=l|0;n=c[a+96>>2]|0;o=d|0;p=+g[o>>2];q=d+4|0;r=+g[q>>2];s=d+8|0;t=+g[s>>2];d=j|0;u=+g[d>>2];v=(p>e?e:p)+u;w=j+4|0;x=+g[w>>2];y=(r>f?f:r)+x;z=j+8|0;A=+g[z>>2];B=(t>h?h:t)+A;j=k|0;C=+g[j>>2];D=(p>2];G=(r>2];J=(t>2]|0;L314:do{if((a|0)>0){S=m;T=m+16|0;U=T;V=m|0;W=m+4|0;X=m+8|0;Y=T|0;T=m+20|0;Z=m+24|0;_=m+(k<<4)|0;$=m+((k^1)<<4)|0;aa=m+(O<<4)+4|0;ab=m+((O^1)<<4)+4|0;ac=m+(P<<4)+8|0;ad=m+((P^1)<<4)+8|0;ae=b;af=0;ag=1;ah=n;e=C;f=F;h=I;p=u;K=x;r=A;ai=a;while(1){aj=ah;c[S>>2]=c[aj>>2];c[S+4>>2]=c[aj+4>>2];c[S+8>>2]=c[aj+8>>2];c[S+12>>2]=c[aj+12>>2];aj=ah+16|0;ak=aj;c[U>>2]=c[ak>>2];c[U+4>>2]=c[ak+4>>2];c[U+8>>2]=c[ak+8>>2];c[U+12>>2]=c[ak+12>>2];g[V>>2]=+g[V>>2]-e;g[W>>2]=+g[W>>2]-f;g[X>>2]=+g[X>>2]-h;g[Y>>2]=+g[Y>>2]-p;g[T>>2]=+g[T>>2]-K;g[Z>>2]=+g[Z>>2]-r;do{if(v>+g[aj>>2]){al=0}else{if(D<+g[ah>>2]){al=0;break}al=1}}while(0);do{if(B>+g[ah+24>>2]){am=0}else{if(J<+g[ah+8>>2]){am=0;break}am=al}}while(0);do{if(y>+g[ah+20>>2]){an=240}else{if(G<+g[ah+4>>2]|am^1){an=240;break}ao=+g[o>>2];ap=L*(+g[_>>2]-ao);aq=L*(+g[$>>2]-ao);ao=+g[q>>2];ar=M*(+g[aa>>2]-ao);as=M*(+g[ab>>2]-ao);if(ap>as|ar>aq){an=240;break}ao=ar>ap?ar:ap;ap=as>2];as=N*(+g[ac>>2]-aq);ar=N*(+g[ad>>2]-aq);if(ao>ar|as>ap){an=240;break}if((as>ao?as:ao)>=t){an=240;break}aj=(ar0.0;ak=c[ah+32>>2]|0;at=(ak|0)==-1;if(!(at&aj)){au=aj;av=at;aw=ak;an=243;break}dA[c[(c[ae>>2]|0)+8>>2]&511](b,c[ah+36>>2]|0,c[ah+40>>2]|0);ax=c[R>>2]|0;an=244}}while(0);if((an|0)==240){an=0;ak=c[ah+32>>2]|0;au=0;av=(ak|0)==-1;aw=ak;an=243}do{if((an|0)==243){an=0;if(au|av){ax=ai;an=244;break}ay=ah+(aw<<6)|0;az=aw+af|0;aA=ai}}while(0);if((an|0)==244){an=0;ay=ah+64|0;az=af+1|0;aA=ax}if((az|0)>=(aA|0)){aB=ag;break L314}af=az;ag=ag+1|0;ah=ay;e=+g[j>>2];f=+g[E>>2];h=+g[H>>2];p=+g[d>>2];K=+g[w>>2];r=+g[z>>2];ai=aA}}else{aB=0}}while(0);if((c[9788]|0)>=(aB|0)){i=l;return}c[9788]=aB;i=l;return}function azq(a,d,f,h,j,k,l,m,n){a=a|0;d=d|0;f=f|0;h=+h;j=+j;k=+k;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,R=0,S=0.0,T=0,U=0.0,V=0,W=0.0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0;o=i;i=i+32|0;p=o|0;q=c[a+136>>2]|0;r=f|0;s=+g[r>>2];t=h-s;u=f+4|0;v=+g[u>>2];w=j-v;x=f+8|0;y=+g[x>>2];z=k-y;A=1.0/+Q(+(t*t+w*w+z*z));B=t*A;C=w*A;D=z*A;A=z*D+(t*B+w*C);if(B==0.0){E=999999984306749400.0}else{E=1.0/B}if(C==0.0){F=999999984306749400.0}else{F=1.0/C}if(D==0.0){G=999999984306749400.0}else{G=1.0/D}f=E<0.0|0;H=F<0.0|0;I=G<0.0|0;J=l|0;D=(s>h?h:s)+ +g[J>>2];K=l+4|0;C=(v>j?j:v)+ +g[K>>2];L=l+8|0;B=(y>k?k:y)+ +g[L>>2];l=m|0;w=(s>2];M=m+4|0;s=(v>2];N=m+8|0;v=(y>2];m=a+4|0;y=+g[m>>2];k=D>2];j=C>2];h=B>2];t=+g[a+24>>2];z=+g[a+28>>2];R=a+36|0;S=+g[R>>2];T=a+40|0;U=+g[T>>2];V=a+44|0;W=+g[V>>2];a=~~(((B0){aa=p|0;ab=p+4|0;ac=p+8|0;ad=p+12|0;ae=p+16|0;af=p+20|0;ag=p+24|0;ah=p+28|0;ai=p+(f<<4)|0;aj=p+((f^1)<<4)|0;f=p+(H<<4)+4|0;ak=p+((H^1)<<4)+4|0;H=d;al=p+(I<<4)+8|0;am=p+((I^1)<<4)+8|0;I=q;q=0;p=0;while(1){an=q+1|0;ao=I+6|0;ap=b[I>>1]|0;aq=I+10|0;ar=b[I+4>>1]|0;as=I+8|0;at=b[I+2>>1]|0;au=I+12|0;av=(c[au>>2]|0)>-1;do{if((-((a&65535)<=(e[ao>>1]|0)&(Z&65535)>=(ap&65535)&(Y&65535)<=(e[aq>>1]|0)&($&65535)>=(ar&65535)&(X&65535)<=(e[as>>1]|0)&(_&65535)>=(at&65535)&1)&1|0)==0){aw=1;ax=267}else{W=+g[R>>2];C=+g[T>>2];s=+g[V>>2];z=+g[m>>2];U=+((ap&65535)>>>0)/W+z;D=+g[O>>2];w=+((at&65535)>>>0)/C+D;t=+g[P>>2];S=+((ar&65535)>>>0)/s+t;g[aa>>2]=U;g[ab>>2]=w;g[ac>>2]=S;g[ad>>2]=0.0;y=+((e[ao>>1]|0)>>>0)/W+z;z=+((e[as>>1]|0)>>>0)/C+D;D=+((e[aq>>1]|0)>>>0)/s+t;g[ah>>2]=0.0;g[aa>>2]=U- +g[l>>2];g[ab>>2]=w- +g[M>>2];g[ac>>2]=S- +g[N>>2];g[ae>>2]=y- +g[J>>2];g[af>>2]=z- +g[K>>2];g[ag>>2]=D- +g[L>>2];D=+g[r>>2];z=E*(+g[ai>>2]-D);y=E*(+g[aj>>2]-D);D=+g[u>>2];S=F*(+g[f>>2]-D);w=F*(+g[ak>>2]-D);if(z>w|S>y){aw=1;ax=267;break}D=S>z?S:z;z=w>2];w=G*(+g[al>>2]-y);S=G*(+g[am>>2]-y);if(D>S|w>z){aw=1;ax=267;break}if((w>D?w:D)>=A){aw=1;ax=267;break}ay=(S>2]|0;dA[c[(c[H>>2]|0)+8>>2]&511](d,ay>>21,ay&2097151);ax=268}}while(0);do{if((ax|0)==267){ax=0;if(av|aw^1){ax=268;break}aq=c[au>>2]|0;az=p-aq|0;aA=I+(-aq<<4)|0}}while(0);if((ax|0)==268){ax=0;az=p+1|0;aA=I+16|0}if((az|0)<(n|0)){I=aA;q=an;p=az}else{aB=an;break}}}else{aB=0}if((c[9788]|0)>=(aB|0)){i=o;return}c[9788]=aB;i=o;return}function azr(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var 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,z=0,A=0,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;f=d+168|0;c[f>>2]=c[d+152>>2];c[e>>2]=25328;c[e+52>>2]=278;i=e+60|0;a[i]=0;a[e+80|0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;j=e+100|0;a[j]=1;k=e+96|0;c[k>>2]=0;l=e+88|0;m=l;c[m>>2]=0;n=e+92|0;c[n>>2]=0;a[e+120|0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;o=e+140|0;a[o]=1;p=e+136|0;c[p>>2]=0;q=e+128|0;r=q;c[r>>2]=0;s=e+132|0;c[s>>2]=0;t=e+144|0;c[t>>2]=0;u=e+164|0;a[u]=1;v=e+160|0;c[v>>2]=0;w=e+152|0;x=w;c[x>>2]=0;y=e+156|0;c[y>>2]=0;z=e+168|0;c[z>>2]=0;A=e+4|0;g[A>>2]=-3.4028234663852886e+38;B=e+8|0;g[B>>2]=-3.4028234663852886e+38;C=e+12|0;g[C>>2]=-3.4028234663852886e+38;D=e+16|0;g[D>>2]=0.0;E=e+20|0;g[E>>2]=3.4028234663852886e+38;F=e+24|0;g[F>>2]=3.4028234663852886e+38;G=e+28|0;g[G>>2]=3.4028234663852886e+38;H=e+32|0;g[H>>2]=0.0;I=d+56|0;J=c[I>>2]|0;if(h){c[e+56>>2]=cj(J|0)|0;K=d+4|0;a[A]=a[K+3|0]|0;a[e+5|0]=a[K+2|0]|0;a[e+6|0]=a[K+1|0]|0;a[e+7|0]=a[K]|0;K=d+8|0;a[B]=a[K+3|0]|0;a[e+9|0]=a[K+2|0]|0;a[e+10|0]=a[K+1|0]|0;a[e+11|0]=a[K]|0;K=d+12|0;a[C]=a[K+3|0]|0;a[e+13|0]=a[K+2|0]|0;a[e+14|0]=a[K+1|0]|0;a[e+15|0]=a[K]|0;K=d+16|0;a[D]=a[K+3|0]|0;a[e+17|0]=a[K+2|0]|0;a[e+18|0]=a[K+1|0]|0;a[e+19|0]=a[K]|0;K=d+20|0;a[E]=a[K+3|0]|0;a[e+21|0]=a[K+2|0]|0;a[e+22|0]=a[K+1|0]|0;a[e+23|0]=a[K]|0;K=d+24|0;a[F]=a[K+3|0]|0;a[e+25|0]=a[K+2|0]|0;a[e+26|0]=a[K+1|0]|0;a[e+27|0]=a[K]|0;K=d+28|0;a[G]=a[K+3|0]|0;a[e+29|0]=a[K+2|0]|0;a[e+30|0]=a[K+1|0]|0;a[e+31|0]=a[K]|0;K=d+32|0;a[H]=a[K+3|0]|0;a[e+33|0]=a[K+2|0]|0;a[e+34|0]=a[K+1|0]|0;a[e+35|0]=a[K]|0;K=d+36|0;a[e+36|0]=a[K+3|0]|0;a[e+37|0]=a[K+2|0]|0;a[e+38|0]=a[K+1|0]|0;a[e+39|0]=a[K]|0;K=d+40|0;a[e+40|0]=a[K+3|0]|0;a[e+41|0]=a[K+2|0]|0;a[e+42|0]=a[K+1|0]|0;a[e+43|0]=a[K]|0;K=d+44|0;a[e+44|0]=a[K+3|0]|0;a[e+45|0]=a[K+2|0]|0;a[e+46|0]=a[K+1|0]|0;a[e+47|0]=a[K]|0;K=d+48|0;a[e+48|0]=a[K+3|0]|0;a[e+49|0]=a[K+2|0]|0;a[e+50|0]=a[K+1|0]|0;a[e+51|0]=a[K]|0;c[t>>2]=cj(c[d+144>>2]|0)|0;L=cj(c[f>>2]|0)|0}else{c[e+56>>2]=J;J=d+4|0;c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];J=d+20|0;c[E>>2]=c[J>>2];c[E+4>>2]=c[J+4>>2];c[E+8>>2]=c[J+8>>2];c[E+12>>2]=c[J+12>>2];J=e+36|0;E=d+36|0;c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];c[t>>2]=c[d+144>>2];L=c[f>>2]|0}c[z>>2]=L;L=d+60|0;a[i]=a[L]&1;i=e+172|0;z=c[I>>2]|0;if((a[L]&1)==0){L=i;aDD(l|0,0,13);c[k>>2]=L;c[m>>2]=z;c[n>>2]=z;n=(z|0)>0;L404:do{if(h){if(!n){break}m=d+96|0;I=0;t=L;while(1){E=c[m>>2]|0;J=t+(I<<6)|0;A=E+(I<<6)|0;a[J]=a[A+3|0]|0;a[J+1|0]=a[A+2|0]|0;a[J+2|0]=a[A+1|0]|0;a[J+3|0]=a[A]|0;A=t+(I<<6)+4|0;J=E+(I<<6)+4|0;a[A]=a[J+3|0]|0;a[A+1|0]=a[J+2|0]|0;a[A+2|0]=a[J+1|0]|0;a[A+3|0]=a[J]|0;J=t+(I<<6)+8|0;A=E+(I<<6)+8|0;a[J]=a[A+3|0]|0;a[J+1|0]=a[A+2|0]|0;a[J+2|0]=a[A+1|0]|0;a[J+3|0]=a[A]|0;A=t+(I<<6)+12|0;J=E+(I<<6)+12|0;a[A]=a[J+3|0]|0;a[A+1|0]=a[J+2|0]|0;a[A+2|0]=a[J+1|0]|0;a[A+3|0]=a[J]|0;J=c[m>>2]|0;A=c[k>>2]|0;E=A+(I<<6)+16|0;K=J+(I<<6)+16|0;a[E]=a[K+3|0]|0;a[E+1|0]=a[K+2|0]|0;a[E+2|0]=a[K+1|0]|0;a[E+3|0]=a[K]|0;K=A+(I<<6)+20|0;E=J+(I<<6)+20|0;a[K]=a[E+3|0]|0;a[K+1|0]=a[E+2|0]|0;a[K+2|0]=a[E+1|0]|0;a[K+3|0]=a[E]|0;E=A+(I<<6)+24|0;K=J+(I<<6)+24|0;a[E]=a[K+3|0]|0;a[E+1|0]=a[K+2|0]|0;a[E+2|0]=a[K+1|0]|0;a[E+3|0]=a[K]|0;K=A+(I<<6)+28|0;A=J+(I<<6)+28|0;a[K]=a[A+3|0]|0;a[K+1|0]=a[A+2|0]|0;a[K+2|0]=a[A+1|0]|0;a[K+3|0]=a[A]|0;A=cj(c[(c[m>>2]|0)+(I<<6)+32>>2]|0)|0;c[(c[k>>2]|0)+(I<<6)+32>>2]=A;A=cj(c[(c[m>>2]|0)+(I<<6)+36>>2]|0)|0;c[(c[k>>2]|0)+(I<<6)+36>>2]=A;A=cj(c[(c[m>>2]|0)+(I<<6)+40>>2]|0)|0;c[(c[k>>2]|0)+(I<<6)+40>>2]=A;A=I+1|0;if((A|0)>=(z|0)){break L404}I=A;t=c[k>>2]|0}}else{if(!n){break}t=d+96|0;I=0;m=L;while(1){A=m+(I<<6)|0;K=(c[t>>2]|0)+(I<<6)|0;c[A>>2]=c[K>>2];c[A+4>>2]=c[K+4>>2];c[A+8>>2]=c[K+8>>2];c[A+12>>2]=c[K+12>>2];K=(c[k>>2]|0)+(I<<6)+16|0;A=(c[t>>2]|0)+(I<<6)+16|0;c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[(c[k>>2]|0)+(I<<6)+32>>2]=c[(c[t>>2]|0)+(I<<6)+32>>2];c[(c[k>>2]|0)+(I<<6)+36>>2]=c[(c[t>>2]|0)+(I<<6)+36>>2];c[(c[k>>2]|0)+(I<<6)+40>>2]=c[(c[t>>2]|0)+(I<<6)+40>>2];A=I+1|0;if((A|0)>=(z|0)){break L404}I=A;m=c[k>>2]|0}}}while(0);L=z<<6;n=c[k>>2]|0;if((n|0)!=0){if((a[j]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-64+60>>2]|0)}c[k>>2]=0}aDD(l|0,0,13);M=L}else{L=i;aDD(q|0,0,13);c[p>>2]=L;c[r>>2]=z;c[s>>2]=z;s=(z|0)>0;L385:do{if(h){if(!s){break}r=d+136|0;i=0;l=L;while(1){b[l+(i<<4)>>1]=bX(b[(c[r>>2]|0)+(i<<4)>>1]|0)|0;k=bX(b[(c[r>>2]|0)+(i<<4)+2>>1]|0)|0;b[(c[p>>2]|0)+(i<<4)+2>>1]=k;k=bX(b[(c[r>>2]|0)+(i<<4)+4>>1]|0)|0;b[(c[p>>2]|0)+(i<<4)+4>>1]=k;k=bX(b[(c[r>>2]|0)+(i<<4)+6>>1]|0)|0;b[(c[p>>2]|0)+(i<<4)+6>>1]=k;k=bX(b[(c[r>>2]|0)+(i<<4)+8>>1]|0)|0;b[(c[p>>2]|0)+(i<<4)+8>>1]=k;k=bX(b[(c[r>>2]|0)+(i<<4)+10>>1]|0)|0;b[(c[p>>2]|0)+(i<<4)+10>>1]=k;k=cj(c[(c[r>>2]|0)+(i<<4)+12>>2]|0)|0;c[(c[p>>2]|0)+(i<<4)+12>>2]=k;k=i+1|0;if((k|0)>=(z|0)){break L385}i=k;l=c[p>>2]|0}}else{if(!s){break}l=d+136|0;i=0;r=L;while(1){b[r+(i<<4)>>1]=b[(c[l>>2]|0)+(i<<4)>>1]|0;b[(c[p>>2]|0)+(i<<4)+2>>1]=b[(c[l>>2]|0)+(i<<4)+2>>1]|0;b[(c[p>>2]|0)+(i<<4)+4>>1]=b[(c[l>>2]|0)+(i<<4)+4>>1]|0;b[(c[p>>2]|0)+(i<<4)+6>>1]=b[(c[l>>2]|0)+(i<<4)+6>>1]|0;b[(c[p>>2]|0)+(i<<4)+8>>1]=b[(c[l>>2]|0)+(i<<4)+8>>1]|0;b[(c[p>>2]|0)+(i<<4)+10>>1]=b[(c[l>>2]|0)+(i<<4)+10>>1]|0;c[(c[p>>2]|0)+(i<<4)+12>>2]=c[(c[l>>2]|0)+(i<<4)+12>>2];k=i+1|0;if((k|0)>=(z|0)){break L385}i=k;r=c[p>>2]|0}}}while(0);L=z<<4;z=c[p>>2]|0;if((z|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[z-16+12>>2]|0)}c[p>>2]=0}aDD(q|0,0,13);M=L}L=e+(M+172)|0;M=c[f>>2]|0;q=c[v>>2]|0;if((q|0)!=0){if((a[u]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[q-32+28>>2]|0)}c[v>>2]=0}q=L;aDD(w|0,0,13);c[v>>2]=q;c[x>>2]=M;c[y>>2]=M;M=(c[f>>2]|0)>0;L429:do{if(h){if(!M){break}y=d+160|0;x=0;L=q;while(1){b[L+(x<<5)>>1]=bX(b[(c[y>>2]|0)+(x<<5)>>1]|0)|0;p=bX(b[(c[y>>2]|0)+(x<<5)+2>>1]|0)|0;b[(c[v>>2]|0)+(x<<5)+2>>1]=p;p=bX(b[(c[y>>2]|0)+(x<<5)+4>>1]|0)|0;b[(c[v>>2]|0)+(x<<5)+4>>1]=p;p=bX(b[(c[y>>2]|0)+(x<<5)+6>>1]|0)|0;b[(c[v>>2]|0)+(x<<5)+6>>1]=p;p=bX(b[(c[y>>2]|0)+(x<<5)+8>>1]|0)|0;b[(c[v>>2]|0)+(x<<5)+8>>1]=p;p=bX(b[(c[y>>2]|0)+(x<<5)+10>>1]|0)|0;b[(c[v>>2]|0)+(x<<5)+10>>1]=p;p=cj(c[(c[y>>2]|0)+(x<<5)+12>>2]|0)|0;c[(c[v>>2]|0)+(x<<5)+12>>2]=p;p=cj(c[(c[y>>2]|0)+(x<<5)+16>>2]|0)|0;c[(c[v>>2]|0)+(x<<5)+16>>2]=p;p=x+1|0;if((p|0)>=(c[f>>2]|0)){break L429}x=p;L=c[v>>2]|0}}else{if(!M){break}L=d+160|0;x=0;y=q;while(1){b[y+(x<<5)>>1]=b[(c[L>>2]|0)+(x<<5)>>1]|0;b[(c[v>>2]|0)+(x<<5)+2>>1]=b[(c[L>>2]|0)+(x<<5)+2>>1]|0;b[(c[v>>2]|0)+(x<<5)+4>>1]=b[(c[L>>2]|0)+(x<<5)+4>>1]|0;b[(c[v>>2]|0)+(x<<5)+6>>1]=b[(c[L>>2]|0)+(x<<5)+6>>1]|0;b[(c[v>>2]|0)+(x<<5)+8>>1]=b[(c[L>>2]|0)+(x<<5)+8>>1]|0;b[(c[v>>2]|0)+(x<<5)+10>>1]=b[(c[L>>2]|0)+(x<<5)+10>>1]|0;c[(c[v>>2]|0)+(x<<5)+12>>2]=c[(c[L>>2]|0)+(x<<5)+12>>2];c[(c[v>>2]|0)+(x<<5)+16>>2]=c[(c[L>>2]|0)+(x<<5)+16>>2];c[(c[v>>2]|0)+(x<<5)+20>>2]=0;c[(c[v>>2]|0)+(x<<5)+24>>2]=0;c[(c[v>>2]|0)+(x<<5)+28>>2]=0;p=x+1|0;if((p|0)>=(c[f>>2]|0)){break L429}x=p;y=c[v>>2]|0}}}while(0);f=c[v>>2]|0;if((f|0)==0){N=e;c[N>>2]=0;aDD(w|0,0,13);return 1}if((a[u]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-32+28>>2]|0)}c[v>>2]=0;N=e;c[N>>2]=0;aDD(w|0,0,13);return 1}function azs(d,e,f){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,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((d|0)==0){g=0;return g|0}h=d;if(f){i=d+56|0;j=cj(c[i>>2]|0)|0;c[i>>2]=j;i=d+4|0;k=d+7|0;l=d+6|0;m=a[l]|0;n=d+5|0;o=a[n]|0;p=a[i]|0;q=d+8|0;r=d+11|0;s=a[r]|0;t=d+10|0;u=a[t]|0;v=d+9|0;w=a[v]|0;x=a[q]|0;y=d+12|0;z=d+15|0;A=a[z]|0;B=d+14|0;C=a[B]|0;D=d+13|0;E=a[D]|0;F=a[y]|0;G=d+16|0;H=d+19|0;I=a[H]|0;J=d+18|0;K=a[J]|0;L=d+17|0;M=a[L]|0;N=a[G]|0;a[i]=a[k]|0;a[n]=m;a[l]=o;a[k]=p;a[q]=s;a[v]=u;a[t]=w;a[r]=x;a[y]=A;a[D]=C;a[B]=E;a[z]=F;a[G]=I;a[L]=K;a[J]=M;a[H]=N;N=d+20|0;H=d+23|0;M=d+22|0;J=a[M]|0;K=d+21|0;L=a[K]|0;I=a[N]|0;G=d+24|0;F=d+27|0;z=a[F]|0;E=d+26|0;B=a[E]|0;C=d+25|0;D=a[C]|0;A=a[G]|0;y=d+28|0;x=d+31|0;r=a[x]|0;w=d+30|0;t=a[w]|0;u=d+29|0;v=a[u]|0;s=a[y]|0;q=d+32|0;p=d+35|0;k=a[p]|0;o=d+34|0;l=a[o]|0;m=d+33|0;n=a[m]|0;i=a[q]|0;a[N]=a[H]|0;a[K]=J;a[M]=L;a[H]=I;a[G]=z;a[C]=B;a[E]=D;a[F]=A;a[y]=r;a[u]=t;a[w]=v;a[x]=s;a[q]=k;a[m]=l;a[o]=n;a[p]=i;i=d+36|0;p=d+39|0;n=d+38|0;o=a[n]|0;l=d+37|0;m=a[l]|0;k=a[i]|0;q=d+40|0;s=d+43|0;x=a[s]|0;v=d+42|0;w=a[v]|0;t=d+41|0;u=a[t]|0;r=a[q]|0;y=d+44|0;A=d+47|0;F=a[A]|0;D=d+46|0;E=a[D]|0;B=d+45|0;C=a[B]|0;z=a[y]|0;G=d+48|0;I=d+51|0;H=a[I]|0;L=d+50|0;M=a[L]|0;J=d+49|0;K=a[J]|0;N=a[G]|0;a[i]=a[p]|0;a[l]=o;a[n]=m;a[p]=k;a[q]=x;a[t]=w;a[v]=u;a[s]=r;a[y]=F;a[B]=E;a[D]=C;a[A]=z;a[G]=H;a[J]=M;a[L]=K;a[I]=N;N=d+144|0;c[N>>2]=cj(c[N>>2]|0)|0;N=d+168|0;I=cj(c[N>>2]|0)|0;c[N>>2]=I;O=I;P=j}else{O=c[d+168>>2]|0;P=c[d+56>>2]|0}j=d+168|0;I=(a[d+60|0]&1)==0;if(((O<<5)+172+(P<<(I?6:4))|0)>>>0>e>>>0){g=0;return g|0}e=d+172|0;c[d>>2]=25328;c[d+52>>2]=278;a[d+80|0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100|0]=1;O=d+96|0;c[O>>2]=0;N=d+88|0;K=N;c[K>>2]=0;L=d+92|0;c[L>>2]=0;a[d+120|0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140|0]=1;M=d+136|0;c[M>>2]=0;J=d+128|0;H=J;c[H>>2]=0;G=d+132|0;c[G>>2]=0;z=d+164|0;a[z]=1;A=d+160|0;c[A>>2]=0;C=d+152|0;D=C;c[D>>2]=0;E=d+156|0;c[E>>2]=0;if(I){I=e;aDD(N|0,0,13);c[O>>2]=I;c[K>>2]=P;c[L>>2]=P;L467:do{if((P|0)>0&f){L=0;K=I;while(1){N=K+(L<<6)|0;B=N+3|0;F=N+2|0;y=a[F]|0;r=N+1|0;s=a[r]|0;u=a[N]|0;v=K+(L<<6)+4|0;w=a[v+3|0]|0;t=a[v+2|0]|0;x=a[v+1|0]|0;q=a[v]|0;k=K+(L<<6)+8|0;p=a[k+3|0]|0;m=a[k+2|0]|0;n=a[k+1|0]|0;o=a[k]|0;l=K+(L<<6)+12|0;i=a[l+3|0]|0;Q=a[l+2|0]|0;R=a[l+1|0]|0;S=a[l]|0;a[N]=a[B]|0;a[r]=y;a[F]=s;a[B]=u;a[v]=w;a[N+5|0]=t;a[N+6|0]=x;a[N+7|0]=q;a[k]=p;a[N+9|0]=m;a[N+10|0]=n;a[N+11|0]=o;a[l]=i;a[N+13|0]=Q;a[N+14|0]=R;a[N+15|0]=S;S=c[O>>2]|0;N=S+(L<<6)+16|0;R=a[N+2|0]|0;Q=a[N+1|0]|0;i=a[N]|0;l=S+(L<<6)+20|0;o=a[l+3|0]|0;n=a[l+2|0]|0;m=a[l+1|0]|0;p=a[l]|0;k=S+(L<<6)+24|0;q=a[k+3|0]|0;x=a[k+2|0]|0;t=a[k+1|0]|0;w=a[k]|0;v=S+(L<<6)+28|0;u=a[v+3|0]|0;B=a[v+2|0]|0;s=a[v+1|0]|0;F=a[v]|0;a[N]=a[N+3|0]|0;N=S+(L<<6)|0;a[N+17|0]=R;a[N+18|0]=Q;a[N+19|0]=i;a[l]=o;a[N+21|0]=n;a[N+22|0]=m;a[N+23|0]=p;a[k]=q;a[N+25|0]=x;a[N+26|0]=t;a[N+27|0]=w;a[v]=u;a[N+29|0]=B;a[N+30|0]=s;a[N+31|0]=F;F=(c[O>>2]|0)+(L<<6)+32|0;c[F>>2]=cj(c[F>>2]|0)|0;F=(c[O>>2]|0)+(L<<6)+36|0;c[F>>2]=cj(c[F>>2]|0)|0;F=(c[O>>2]|0)+(L<<6)+40|0;c[F>>2]=cj(c[F>>2]|0)|0;F=L+1|0;if((F|0)>=(P|0)){break L467}L=F;K=c[O>>2]|0}}}while(0);T=P<<6}else{O=e;aDD(J|0,0,13);c[M>>2]=O;c[H>>2]=P;c[G>>2]=P;L461:do{if((P|0)>0&f){G=0;H=O;while(1){J=H+(G<<4)|0;b[J>>1]=bX(b[J>>1]|0)|0;J=(c[M>>2]|0)+(G<<4)+2|0;b[J>>1]=bX(b[J>>1]|0)|0;J=(c[M>>2]|0)+(G<<4)+4|0;b[J>>1]=bX(b[J>>1]|0)|0;J=(c[M>>2]|0)+(G<<4)+6|0;b[J>>1]=bX(b[J>>1]|0)|0;J=(c[M>>2]|0)+(G<<4)+8|0;b[J>>1]=bX(b[J>>1]|0)|0;J=(c[M>>2]|0)+(G<<4)+10|0;b[J>>1]=bX(b[J>>1]|0)|0;J=(c[M>>2]|0)+(G<<4)+12|0;c[J>>2]=cj(c[J>>2]|0)|0;J=G+1|0;if((J|0)>=(P|0)){break L461}G=J;H=c[M>>2]|0}}}while(0);T=P<<4}P=d+(T+172)|0;T=c[j>>2]|0;d=c[A>>2]|0;if((d|0)!=0){if((a[z]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-32+28>>2]|0)}c[A>>2]=0}d=P;aDD(C|0,0,13);c[A>>2]=d;c[D>>2]=T;c[E>>2]=T;if(!f){g=h;return g|0}if((c[j>>2]|0)>0){U=0;V=d}else{g=h;return g|0}while(1){d=V+(U<<5)|0;b[d>>1]=bX(b[d>>1]|0)|0;d=(c[A>>2]|0)+(U<<5)+2|0;b[d>>1]=bX(b[d>>1]|0)|0;d=(c[A>>2]|0)+(U<<5)+4|0;b[d>>1]=bX(b[d>>1]|0)|0;d=(c[A>>2]|0)+(U<<5)+6|0;b[d>>1]=bX(b[d>>1]|0)|0;d=(c[A>>2]|0)+(U<<5)+8|0;b[d>>1]=bX(b[d>>1]|0)|0;d=(c[A>>2]|0)+(U<<5)+10|0;b[d>>1]=bX(b[d>>1]|0)|0;d=(c[A>>2]|0)+(U<<5)+12|0;c[d>>2]=cj(c[d>>2]|0)|0;d=(c[A>>2]|0)+(U<<5)+16|0;c[d>>2]=cj(c[d>>2]|0)|0;d=U+1|0;if((d|0)>=(c[j>>2]|0)){g=h;break}U=d;V=c[A>>2]|0}return g|0}function azt(d,e){d=d|0;e=e|0;var f=0,h=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,z=0,A=0,B=0,C=0,D=0;f=i;i=i+112|0;h=f+64|0;j=f+80|0;g[d+20>>2]=+g[e+16>>2];g[d+24>>2]=+g[e+20>>2];g[d+28>>2]=+g[e+24>>2];g[d+32>>2]=+g[e+28>>2];g[d+4>>2]=+g[e>>2];g[d+8>>2]=+g[e+4>>2];g[d+12>>2]=+g[e+8>>2];g[d+16>>2]=+g[e+12>>2];g[d+36>>2]=+g[e+32>>2];g[d+40>>2]=+g[e+36>>2];g[d+44>>2]=+g[e+40>>2];g[d+48>>2]=+g[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60|0]=(c[e+52>>2]|0)!=0|0;k=c[e+56>>2]|0;l=f|0;aDD(l|0,0,64);m=d+88|0;n=c[m>>2]|0;if((n|0)<(k|0)){o=d+92|0;if((c[o>>2]|0)<(k|0)){if((k|0)==0){p=0;q=n}else{c[9806]=(c[9806]|0)+1;r=aDx((k<<6|4)+15|0)|0;if((r|0)==0){s=0}else{t=-(r+4|0)&15;c[r+t>>2]=r;s=r+(t+4)|0}p=s;q=c[m>>2]|0}s=d+96|0;if((q|0)>0){t=0;do{r=p+(t<<6)|0;u=(c[s>>2]|0)+(t<<6)|0;aDC(r|0,u|0,64)|0;t=t+1|0;}while((t|0)<(q|0))}q=c[s>>2]|0;t=d+100|0;if((q|0)!=0){if((a[t]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[q-64+60>>2]|0)}c[s>>2]=0}a[t]=1;c[s>>2]=p;c[o>>2]=k;v=s}else{v=d+96|0}s=n;do{n=(c[v>>2]|0)+(s<<6)|0;aDC(n|0,l|0,64)|0;s=s+1|0;}while((s|0)<(k|0))}c[m>>2]=k;L514:do{if((k|0)>0){m=d+96|0;s=0;l=c[e+64>>2]|0;while(1){v=c[m>>2]|0;g[v+(s<<6)+16>>2]=+g[l+16>>2];g[v+(s<<6)+20>>2]=+g[l+20>>2];g[v+(s<<6)+24>>2]=+g[l+24>>2];g[v+(s<<6)+28>>2]=+g[l+28>>2];v=c[m>>2]|0;g[v+(s<<6)>>2]=+g[l>>2];g[v+(s<<6)+4>>2]=+g[l+4>>2];g[v+(s<<6)+8>>2]=+g[l+8>>2];g[v+(s<<6)+12>>2]=+g[l+12>>2];c[(c[m>>2]|0)+(s<<6)+32>>2]=c[l+32>>2];c[(c[m>>2]|0)+(s<<6)+36>>2]=c[l+36>>2];c[(c[m>>2]|0)+(s<<6)+40>>2]=c[l+40>>2];v=s+1|0;if((v|0)>=(k|0)){break L514}s=v;l=l+48|0}}}while(0);k=c[e+60>>2]|0;l=h;aDD(l|0,0,16);h=d+128|0;s=c[h>>2]|0;if((s|0)<(k|0)){m=d+132|0;if((c[m>>2]|0)<(k|0)){if((k|0)==0){w=0;x=s}else{c[9806]=(c[9806]|0)+1;v=aDx((k<<4|4)+15|0)|0;if((v|0)==0){y=0}else{n=-(v+4|0)&15;c[v+n>>2]=v;y=v+(n+4)|0}w=y;x=c[h>>2]|0}y=d+136|0;if((x|0)>0){n=0;do{v=w+(n<<4)|0;o=(c[y>>2]|0)+(n<<4)|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];n=n+1|0;}while((n|0)<(x|0))}x=c[y>>2]|0;n=d+140|0;if((x|0)!=0){if((a[n]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[x-16+12>>2]|0)}c[y>>2]=0}a[n]=1;c[y>>2]=w;c[m>>2]=k;z=y}else{z=d+136|0}y=s;do{s=(c[z>>2]|0)+(y<<4)|0;c[s>>2]=c[l>>2];c[s+4>>2]=c[l+4>>2];c[s+8>>2]=c[l+8>>2];c[s+12>>2]=c[l+12>>2];y=y+1|0;}while((y|0)<(k|0))}c[h>>2]=k;L545:do{if((k|0)>0){h=d+136|0;y=c[e+68>>2]|0;l=0;while(1){c[(c[h>>2]|0)+(l<<4)+12>>2]=c[y+12>>2];b[(c[h>>2]|0)+(l<<4)+6>>1]=b[y+6>>1]|0;b[(c[h>>2]|0)+(l<<4)+8>>1]=b[y+8>>1]|0;b[(c[h>>2]|0)+(l<<4)+10>>1]=b[y+10>>1]|0;b[(c[h>>2]|0)+(l<<4)>>1]=b[y>>1]|0;b[(c[h>>2]|0)+(l<<4)+2>>1]=b[y+2>>1]|0;b[(c[h>>2]|0)+(l<<4)+4>>1]=b[y+4>>1]|0;z=l+1|0;if((z|0)>=(k|0)){break L545}y=y+16|0;l=z}}}while(0);c[d+144>>2]=c[e+76>>2];k=c[e+80>>2]|0;l=d+152|0;y=c[l>>2]|0;if((y|0)<(k|0)){h=d+156|0;if((c[h>>2]|0)<(k|0)){if((k|0)==0){A=0;B=y}else{c[9806]=(c[9806]|0)+1;z=aDx((k<<5|4)+15|0)|0;if((z|0)==0){C=0}else{s=-(z+4|0)&15;c[z+s>>2]=z;C=z+(s+4)|0}A=C;B=c[l>>2]|0}C=d+160|0;if((B|0)>0){s=0;do{z=A+(s<<5)|0;m=(c[C>>2]|0)+(s<<5)|0;aDC(z|0,m|0,32)|0;s=s+1|0;}while((s|0)<(B|0))}B=c[C>>2]|0;s=d+164|0;if((B|0)!=0){if((a[s]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[B-32+28>>2]|0)}c[C>>2]=0}a[s]=1;c[C>>2]=A;c[h>>2]=k;D=C}else{D=d+160|0}C=j;j=y;do{y=(c[D>>2]|0)+(j<<5)|0;aDC(y|0,C|0,32)|0;j=j+1|0;}while((j|0)<(k|0))}c[l>>2]=k;if((k|0)<=0){i=f;return}l=d+160|0;d=c[e+72>>2]|0;e=0;while(1){b[(c[l>>2]|0)+(e<<5)+6>>1]=b[d+14>>1]|0;b[(c[l>>2]|0)+(e<<5)+8>>1]=b[d+16>>1]|0;b[(c[l>>2]|0)+(e<<5)+10>>1]=b[d+18>>1]|0;b[(c[l>>2]|0)+(e<<5)>>1]=b[d+8>>1]|0;b[(c[l>>2]|0)+(e<<5)+2>>1]=b[d+10>>1]|0;b[(c[l>>2]|0)+(e<<5)+4>>1]=b[d+12>>1]|0;c[(c[l>>2]|0)+(e<<5)+12>>2]=c[d>>2];c[(c[l>>2]|0)+(e<<5)+16>>2]=c[d+4>>2];j=e+1|0;if((j|0)>=(k|0)){break}d=d+20|0;e=j}i=f;return}function azu(d,e){d=d|0;e=e|0;var f=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,z=0,A=0,B=0,C=0,D=0,E=0;f=i;i=i+112|0;j=f+64|0;k=f+80|0;g[d+20>>2]=+h[e+32>>3];g[d+24>>2]=+h[e+40>>3];g[d+28>>2]=+h[e+48>>3];g[d+32>>2]=+h[e+56>>3];g[d+4>>2]=+h[e>>3];g[d+8>>2]=+h[e+8>>3];g[d+12>>2]=+h[e+16>>3];g[d+16>>2]=+h[e+24>>3];g[d+36>>2]=+h[e+64>>3];g[d+40>>2]=+h[e+72>>3];g[d+44>>2]=+h[e+80>>3];g[d+48>>2]=+h[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60|0]=(c[e+100>>2]|0)!=0|0;l=c[e+104>>2]|0;m=f|0;aDD(m|0,0,64);n=d+88|0;o=c[n>>2]|0;if((o|0)<(l|0)){p=d+92|0;if((c[p>>2]|0)<(l|0)){if((l|0)==0){q=0;r=o}else{c[9806]=(c[9806]|0)+1;s=aDx((l<<6|4)+15|0)|0;if((s|0)==0){t=0}else{u=-(s+4|0)&15;c[s+u>>2]=s;t=s+(u+4)|0}q=t;r=c[n>>2]|0}t=d+96|0;if((r|0)>0){u=0;do{s=q+(u<<6)|0;v=(c[t>>2]|0)+(u<<6)|0;aDC(s|0,v|0,64)|0;u=u+1|0;}while((u|0)<(r|0))}r=c[t>>2]|0;u=d+100|0;if((r|0)!=0){if((a[u]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[r-64+60>>2]|0)}c[t>>2]=0}a[u]=1;c[t>>2]=q;c[p>>2]=l;w=t}else{w=d+96|0}t=o;do{o=(c[w>>2]|0)+(t<<6)|0;aDC(o|0,m|0,64)|0;t=t+1|0;}while((t|0)<(l|0))}c[n>>2]=l;L609:do{if((l|0)>0){n=d+96|0;t=0;m=c[e+112>>2]|0;while(1){w=c[n>>2]|0;g[w+(t<<6)+16>>2]=+h[m+32>>3];g[w+(t<<6)+20>>2]=+h[m+40>>3];g[w+(t<<6)+24>>2]=+h[m+48>>3];g[w+(t<<6)+28>>2]=+h[m+56>>3];w=c[n>>2]|0;g[w+(t<<6)>>2]=+h[m>>3];g[w+(t<<6)+4>>2]=+h[m+8>>3];g[w+(t<<6)+8>>2]=+h[m+16>>3];g[w+(t<<6)+12>>2]=+h[m+24>>3];c[(c[n>>2]|0)+(t<<6)+32>>2]=c[m+64>>2];c[(c[n>>2]|0)+(t<<6)+36>>2]=c[m+68>>2];c[(c[n>>2]|0)+(t<<6)+40>>2]=c[m+72>>2];w=t+1|0;if((w|0)>=(l|0)){break L609}t=w;m=m+80|0}}}while(0);l=c[e+108>>2]|0;m=j;aDD(m|0,0,16);j=d+128|0;t=c[j>>2]|0;if((t|0)<(l|0)){n=d+132|0;if((c[n>>2]|0)<(l|0)){if((l|0)==0){x=0;y=t}else{c[9806]=(c[9806]|0)+1;w=aDx((l<<4|4)+15|0)|0;if((w|0)==0){z=0}else{o=-(w+4|0)&15;c[w+o>>2]=w;z=w+(o+4)|0}x=z;y=c[j>>2]|0}z=d+136|0;if((y|0)>0){o=0;do{w=x+(o<<4)|0;p=(c[z>>2]|0)+(o<<4)|0;c[w>>2]=c[p>>2];c[w+4>>2]=c[p+4>>2];c[w+8>>2]=c[p+8>>2];c[w+12>>2]=c[p+12>>2];o=o+1|0;}while((o|0)<(y|0))}y=c[z>>2]|0;o=d+140|0;if((y|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[y-16+12>>2]|0)}c[z>>2]=0}a[o]=1;c[z>>2]=x;c[n>>2]=l;A=z}else{A=d+136|0}z=t;do{t=(c[A>>2]|0)+(z<<4)|0;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];z=z+1|0;}while((z|0)<(l|0))}c[j>>2]=l;L640:do{if((l|0)>0){j=d+136|0;z=c[e+116>>2]|0;m=0;while(1){c[(c[j>>2]|0)+(m<<4)+12>>2]=c[z+12>>2];b[(c[j>>2]|0)+(m<<4)+6>>1]=b[z+6>>1]|0;b[(c[j>>2]|0)+(m<<4)+8>>1]=b[z+8>>1]|0;b[(c[j>>2]|0)+(m<<4)+10>>1]=b[z+10>>1]|0;b[(c[j>>2]|0)+(m<<4)>>1]=b[z>>1]|0;b[(c[j>>2]|0)+(m<<4)+2>>1]=b[z+2>>1]|0;b[(c[j>>2]|0)+(m<<4)+4>>1]=b[z+4>>1]|0;A=m+1|0;if((A|0)>=(l|0)){break L640}z=z+16|0;m=A}}}while(0);c[d+144>>2]=c[e+120>>2];l=c[e+124>>2]|0;m=d+152|0;z=c[m>>2]|0;if((z|0)<(l|0)){j=d+156|0;if((c[j>>2]|0)<(l|0)){if((l|0)==0){B=0;C=z}else{c[9806]=(c[9806]|0)+1;A=aDx((l<<5|4)+15|0)|0;if((A|0)==0){D=0}else{t=-(A+4|0)&15;c[A+t>>2]=A;D=A+(t+4)|0}B=D;C=c[m>>2]|0}D=d+160|0;if((C|0)>0){t=0;do{A=B+(t<<5)|0;n=(c[D>>2]|0)+(t<<5)|0;aDC(A|0,n|0,32)|0;t=t+1|0;}while((t|0)<(C|0))}C=c[D>>2]|0;t=d+164|0;if((C|0)!=0){if((a[t]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[C-32+28>>2]|0)}c[D>>2]=0}a[t]=1;c[D>>2]=B;c[j>>2]=l;E=D}else{E=d+160|0}D=k;k=z;do{z=(c[E>>2]|0)+(k<<5)|0;aDC(z|0,D|0,32)|0;k=k+1|0;}while((k|0)<(l|0))}c[m>>2]=l;if((l|0)<=0){i=f;return}m=d+160|0;d=c[e+128>>2]|0;e=0;while(1){b[(c[m>>2]|0)+(e<<5)+6>>1]=b[d+14>>1]|0;b[(c[m>>2]|0)+(e<<5)+8>>1]=b[d+16>>1]|0;b[(c[m>>2]|0)+(e<<5)+10>>1]=b[d+18>>1]|0;b[(c[m>>2]|0)+(e<<5)>>1]=b[d+8>>1]|0;b[(c[m>>2]|0)+(e<<5)+2>>1]=b[d+10>>1]|0;b[(c[m>>2]|0)+(e<<5)+4>>1]=b[d+12>>1]|0;c[(c[m>>2]|0)+(e<<5)+12>>2]=c[d>>2];c[(c[m>>2]|0)+(e<<5)+16>>2]=c[d+4>>2];k=e+1|0;if((k|0)>=(l|0)){break}d=d+20|0;e=k}i=f;return}function azv(a){a=a|0;return 17656|0}function azw(a){a=a|0;return 2}function azx(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g[e+16>>2]=+g[d+20>>2];g[e+20>>2]=+g[d+24>>2];g[e+24>>2]=+g[d+28>>2];g[e+28>>2]=+g[d+32>>2];g[e>>2]=+g[d+4>>2];g[e+4>>2]=+g[d+8>>2];g[e+8>>2]=+g[d+12>>2];g[e+12>>2]=+g[d+16>>2];g[e+32>>2]=+g[d+36>>2];g[e+36>>2]=+g[d+40>>2];g[e+40>>2]=+g[d+44>>2];g[e+44>>2]=+g[d+48>>2];c[e+48>>2]=c[d+56>>2];c[e+52>>2]=a[d+60|0]&1;h=d+88|0;c[e+56>>2]=c[h>>2];do{if((c[h>>2]|0)==0){c[e+64>>2]=0}else{i=d+96|0;j=dj[c[(c[f>>2]|0)+28>>2]&511](f,c[i>>2]|0)|0;c[e+64>>2]=j;if((j|0)==0){break}j=c[h>>2]|0;k=cS[c[(c[f>>2]|0)+16>>2]&511](f,48,j)|0;if((j|0)>0){l=0;m=c[k+8>>2]|0;while(1){n=c[i>>2]|0;g[m+16>>2]=+g[n+(l<<6)+16>>2];g[m+20>>2]=+g[n+(l<<6)+20>>2];g[m+24>>2]=+g[n+(l<<6)+24>>2];g[m+28>>2]=+g[n+(l<<6)+28>>2];n=c[i>>2]|0;g[m>>2]=+g[n+(l<<6)>>2];g[m+4>>2]=+g[n+(l<<6)+4>>2];g[m+8>>2]=+g[n+(l<<6)+8>>2];g[m+12>>2]=+g[n+(l<<6)+12>>2];c[m+32>>2]=c[(c[i>>2]|0)+(l<<6)+32>>2];c[m+36>>2]=c[(c[i>>2]|0)+(l<<6)+36>>2];c[m+40>>2]=c[(c[i>>2]|0)+(l<<6)+40>>2];n=l+1|0;if((n|0)<(j|0)){l=n;m=m+48|0}else{break}}}co[c[(c[f>>2]|0)+20>>2]&255](f,k,16448,1497453121,c[i>>2]|0)}}while(0);h=d+128|0;c[e+60>>2]=c[h>>2];do{if((c[h>>2]|0)==0){c[e+68>>2]=0}else{m=d+136|0;l=dj[c[(c[f>>2]|0)+28>>2]&511](f,c[m>>2]|0)|0;c[e+68>>2]=l;if((l|0)==0){break}l=c[h>>2]|0;j=cS[c[(c[f>>2]|0)+16>>2]&511](f,16,l)|0;if((l|0)>0){n=0;o=c[j+8>>2]|0;while(1){c[o+12>>2]=c[(c[m>>2]|0)+(n<<4)+12>>2];b[o+6>>1]=b[(c[m>>2]|0)+(n<<4)+6>>1]|0;b[o+8>>1]=b[(c[m>>2]|0)+(n<<4)+8>>1]|0;b[o+10>>1]=b[(c[m>>2]|0)+(n<<4)+10>>1]|0;b[o>>1]=b[(c[m>>2]|0)+(n<<4)>>1]|0;b[o+2>>1]=b[(c[m>>2]|0)+(n<<4)+2>>1]|0;b[o+4>>1]=b[(c[m>>2]|0)+(n<<4)+4>>1]|0;p=n+1|0;if((p|0)<(l|0)){n=p;o=o+16|0}else{break}}}co[c[(c[f>>2]|0)+20>>2]&255](f,j,17672,1497453121,c[m>>2]|0)}}while(0);c[e+76>>2]=c[d+144>>2];h=d+152|0;c[e+80>>2]=c[h>>2];if((c[h>>2]|0)==0){c[e+72>>2]=0;return 16928}o=d+160|0;d=dj[c[(c[f>>2]|0)+28>>2]&511](f,c[o>>2]|0)|0;c[e+72>>2]=d;if((d|0)==0){return 16928}d=c[h>>2]|0;h=cS[c[(c[f>>2]|0)+16>>2]&511](f,20,d)|0;if((d|0)>0){e=c[h+8>>2]|0;n=0;while(1){b[e+14>>1]=b[(c[o>>2]|0)+(n<<5)+6>>1]|0;b[e+16>>1]=b[(c[o>>2]|0)+(n<<5)+8>>1]|0;b[e+18>>1]=b[(c[o>>2]|0)+(n<<5)+10>>1]|0;b[e+8>>1]=b[(c[o>>2]|0)+(n<<5)>>1]|0;b[e+10>>1]=b[(c[o>>2]|0)+(n<<5)+2>>1]|0;b[e+12>>1]=b[(c[o>>2]|0)+(n<<5)+4>>1]|0;c[e>>2]=c[(c[o>>2]|0)+(n<<5)+12>>2];c[e+4>>2]=c[(c[o>>2]|0)+(n<<5)+16>>2];l=n+1|0;if((l|0)<(d|0)){e=e+20|0;n=l}else{break}}}co[c[(c[f>>2]|0)+20>>2]&255](f,h,17224,1497453121,c[o>>2]|0);return 16928}function azy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0.0,K=0.0,L=0.0;f=i;i=i+32|0;h=f|0;j=f+16|0;k=+g[b+16>>2];l=+g[b>>2];m=k-l;n=+g[b+20>>2];o=+g[b+4>>2];p=n-o;q=+g[b+24>>2];r=+g[b+8>>2];s=q-r;t=+g[b+32>>2];u=t-l;v=+g[b+36>>2];w=v-o;x=+g[b+40>>2];y=x-r;z=p*y-s*w;A=s*u-m*y;y=m*w-p*u;b=h|0;g[b>>2]=z;B=h+4|0;g[B>>2]=A;C=h+8|0;g[C>>2]=y;g[h+12>>2]=0.0;u=l*z+o*A+r*y;p=+g[a+4>>2];w=+g[a+8>>2];m=+g[a+12>>2];s=z*p+A*w+y*m-u;D=+g[a+20>>2];E=+g[a+24>>2];F=+g[a+28>>2];G=z*D+A*E+y*F-u;if(s*G>=0.0){i=f;return}H=c[a+36>>2]|0;if((H&1|0)!=0&s>0.0){i=f;return}u=s/(s-G);I=a+40|0;if(u>=+g[I>>2]){i=f;return}G=z*z+A*A+y*y;J=G*-9999999747378752.0e-20;K=1.0-u;L=D*u+p*K;p=E*u+w*K;w=F*u+m*K;K=l-L;l=o-p;o=r-w;r=k-L;k=n-p;n=q-w;if(y*(K*k-l*r)+(z*(l*n-o*k)+A*(o*r-K*n))>2]=G;z=A*J;g[B>>2]=z;A=y*J;g[C>>2]=A;C=c[(c[a>>2]|0)+12>>2]|0;if((H&2|0)==0&s>0.0){g[I>>2]=+cO[C&63](a,h,u,d,e);i=f;return}else{g[j>>2]=-0.0-G;g[j+4>>2]=-0.0-z;g[j+8>>2]=-0.0-A;g[j+12>>2]=0.0;g[I>>2]=+cO[C&63](a,j,u,d,e);i=f;return}}function azz(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;h=i;i=i+672|0;j=h|0;k=h+104|0;l=h+464|0;m=h+472|0;n=h+496|0;c[j+8>>2]=0;o=j|0;g[j+12>>2]=1.0;g[j+16>>2]=1.0;g[j+20>>2]=1.0;g[j+24>>2]=0.0;p=j+52|0;c[p>>2]=0;c[o>>2]=24592;c[j+4>>2]=1;q=j+56|0;r=d;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];r=j+72|0;q=d+16|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];q=j+88|0;r=d+32|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];g[j+44>>2]=+g[a+204>>2];g[k+308>>2]=9999999747378752.0e-20;b[k+332>>1]=0;c[l>>2]=19960;r=c[a+4>>2]|0;c[m>>2]=20336;c[m+4>>2]=k;c[m+8>>2]=l;c[m+12>>2]=r;c[m+16>>2]=j;c[m+20>>2]=0;c[n>>2]=19544;j=n+164|0;c[n+168>>2]=0;g[j>>2]=1.0;g[n+172>>2]=+g[a+208>>2];r=a+136|0;do{if(ava(m,a+8|0,a+72|0,r,r,n)|0){l=n+132|0;k=l|0;s=+g[k>>2];q=n+136|0;t=+g[q>>2];d=n+140|0;u=+g[d>>2];v=s*s+t*t+u*u;if(v<=9999999747378752.0e-20){break}w=+g[j>>2];if(w>=+g[a+200>>2]){break}x=1.0/+Q(+v);g[k>>2]=s*x;g[q>>2]=t*x;g[d>>2]=u*x;d=c[(c[a>>2]|0)+12>>2]|0;q=n+148|0;+dH[d&63](a,l,q,w,e,f)}}while(0);c[o>>2]=21200;o=c[p>>2]|0;if((o|0)==0){i=h;return}c[9804]=(c[9804]|0)+1;aDB(c[o-80+76>>2]|0);i=h;return}function azA(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0);return}function azB(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[a-104+100>>2]|0);return}function azC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a|0,b,d,e);return}function azD(a,b,c){a=a|0;b=+b;c=c|0;aDD(c|0,0,16);return}function azE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];i=e*+g[b+56>>2]+f*+g[b+60>>2]+h*+g[b+64>>2];j=e*+g[b+72>>2]+f*+g[b+76>>2]+h*+g[b+80>>2];k=e*+g[b+88>>2]+f*+g[b+92>>2]+h*+g[b+96>>2];if(i>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function azF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;if((e|0)<=0){return}f=a+56|0;h=a+60|0;i=a+64|0;j=a+72|0;k=a+76|0;l=a+80|0;m=a+88|0;n=a+92|0;o=a+96|0;p=0;do{q=+g[b+(p<<4)>>2];r=+g[b+(p<<4)+4>>2];s=+g[b+(p<<4)+8>>2];t=q*+g[f>>2]+r*+g[h>>2]+s*+g[i>>2];u=q*+g[j>>2]+r*+g[k>>2]+s*+g[l>>2];v=q*+g[m>>2]+r*+g[n>>2]+s*+g[o>>2];if(t>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];p=p+1|0;}while((p|0)<(e|0));return}function azG(a){a=a|0;return 3}function azH(a){a=a|0;return 3}function azI(a){a=a|0;return 1}function azJ(a){a=a|0;return}function azK(a){a=a|0;return}function azL(a,b,c){a=a|0;b=+b;c=c|0;return}function azM(a){a=a|0;return 17632|0}function azN(a){a=a|0;return 76}function azO(a){a=a|0;return a+16|0}function azP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0;d=+g[a+56>>2];e=+g[a+72>>2]-d;f=+g[a+60>>2];h=+g[a+76>>2]-f;i=+g[a+64>>2];j=+g[a+80>>2]-i;k=+g[a+88>>2]-d;d=+g[a+92>>2]-f;f=+g[a+96>>2]-i;i=h*f-j*d;l=j*k-e*f;f=e*d-h*k;a=c|0;m=c+4|0;n=c+8|0;g[c+12>>2]=0.0;k=1.0/+Q(+(f*f+(i*i+l*l)));h=k*i;g[a>>2]=h;i=k*l;g[m>>2]=i;l=f*k;g[n>>2]=l;if((b|0)==0){return}g[a>>2]=h*-1.0;g[m>>2]=i*-1.0;g[n>>2]=l*-1.0;return}function azQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a;dA[c[(c[f>>2]|0)+100>>2]&511](a,b,d);dA[c[(c[f>>2]|0)+100>>2]&511](a,(b+1|0)%3|0,e);return}function azR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=d;d=a+56+(b<<4)|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];return}function azS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+116>>2]&1023](a,e,b,d);return}function azT(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=i;i=i+32|0;f=e|0;h=e+16|0;j=+g[a+56>>2];k=+g[a+72>>2]-j;l=+g[a+60>>2];m=+g[a+76>>2]-l;n=+g[a+64>>2];o=+g[a+80>>2]-n;p=+g[a+88>>2]-j;q=+g[a+92>>2]-l;r=+g[a+96>>2]-n;s=m*r-o*q;t=o*p-k*r;r=k*q-m*p;p=1.0/+Q(+(r*r+(s*s+t*t)));m=p*s;s=p*t;t=r*p;u=b|0;v=b+4|0;w=b+8|0;p=+g[u>>2]*m+ +g[v>>2]*s+t*+g[w>>2]-(m*j+s*l+t*n);n=-0.0-d;if(pd){x=0;i=e;return x|0}b=a;y=h|0;z=f|0;A=h+4|0;B=f+4|0;C=h+8|0;D=f+8|0;E=0;while(1){if((E|0)>=3){x=1;F=587;break}dI[c[(c[b>>2]|0)+96>>2]&1023](a,E,f,h);d=+g[z>>2];p=+g[y>>2]-d;l=+g[B>>2];j=+g[A>>2]-l;r=+g[D>>2];q=+g[C>>2]-r;k=t*j-s*q;o=m*q-t*p;q=s*p-m*j;j=1.0/+Q(+(q*q+(k*k+o*o)));p=j*k;k=j*o;o=q*j;if(+g[u>>2]*p+ +g[v>>2]*k+o*+g[w>>2]-(r*o+(d*p+l*k))>2];h=+g[a+72>>2]-f;i=+g[a+60>>2];j=+g[a+76>>2]-i;k=+g[a+64>>2];l=+g[a+80>>2]-k;m=+g[a+88>>2]-f;f=+g[a+92>>2]-i;i=+g[a+96>>2]-k;k=j*i-l*f;n=l*m-h*i;i=h*f-j*m;g[d+12>>2]=0.0;m=1.0/+Q(+(i*i+(k*k+n*n)));g[d>>2]=m*k;g[d+4>>2]=m*n;g[d+8>>2]=i*m;d=e;e=a+56|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function azV(a){a=a|0;if((a|0)==0){return}aDB(a);return}function azW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;f=i;i=i+56|0;h=f|0;j=f+24|0;k=f+40|0;l=a+16|0;c[h>>2]=21008;c[h+4>>2]=b;b=h+8|0;m=l;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];n=+g[l>>2];o=1.0/n;p=+g[a+20>>2];q=1.0/p;r=+g[a+24>>2];s=1.0/r;g[j>>2]=o*+g[(n<0.0?e:d)>>2];g[j+4>>2]=q*+g[(p<0.0?e:d)+4>>2];g[j+8>>2]=s*+g[(r<0.0?e:d)+8>>2];g[j+12>>2]=0.0;g[k>>2]=o*+g[(n>0.0?e:d)>>2];g[k+4>>2]=q*+g[(p>0.0?e:d)+4>>2];g[k+8>>2]=s*+g[(r>0.0?e:d)+8>>2];g[k+12>>2]=0.0;d=c[a+32>>2]|0;dI[c[(c[d>>2]|0)+60>>2]&1023](d,h|0,j,k);i=f;return}function azX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;f=i;i=i+32|0;h=f|0;j=f+16|0;k=c[a+32>>2]|0;l=+g[k+32>>2];m=+g[k+36>>2];n=+g[k+40>>2];o=+g[a+16>>2];p=+g[k+16>>2]*o;q=+g[a+20>>2];r=+g[k+20>>2]*q;s=+g[a+24>>2];t=+g[k+24>>2]*s;a=h|0;g[a>>2]=p;g[h+4>>2]=r;g[h+8>>2]=t;g[h+12>>2]=0.0;t=l*o;h=j|0;g[h>>2]=t;g[j+4>>2]=m*q;g[j+8>>2]=n*s;g[j+12>>2]=0.0;n=o<0.0?t:p;m=+g[(q<0.0?h:a)+4>>2];l=+g[(s<0.0?h:a)+8>>2];r=o>0.0?t:p;p=+g[(q>0.0?h:a)+4>>2];q=+g[(s>0.0?h:a)+8>>2];s=+dh[c[(c[k>>2]|0)+44>>2]&1023](k|0);t=(r-n)*.5+s;o=(p-m)*.5+s;u=(q-l)*.5+s;s=(n+r)*.5;r=(m+p)*.5;p=(l+q)*.5;q=+g[b>>2];l=+P(+q);m=+g[b+4>>2];n=+P(+m);v=+g[b+8>>2];w=+P(+v);x=+g[b+16>>2];y=+P(+x);z=+g[b+20>>2];A=+P(+z);B=+g[b+24>>2];C=+P(+B);D=+g[b+32>>2];E=+P(+D);F=+g[b+36>>2];G=+P(+F);H=+g[b+40>>2];I=+P(+H);J=+g[b+48>>2]+(s*q+r*m+p*v);v=+g[b+52>>2]+(s*x+r*z+p*B);B=+g[b+56>>2]+(s*D+r*F+p*H);H=t*l+o*n+u*w;w=t*y+o*A+u*C;C=t*E+o*G+u*I;g[d>>2]=J-H;g[d+4>>2]=v-w;g[d+8>>2]=B-C;g[d+12>>2]=0.0;g[e>>2]=H+J;g[e+4>>2]=w+v;g[e+8>>2]=C+B;g[e+12>>2]=0.0;i=f;return}function azY(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function azZ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+32>>2]|0;cS[c[(c[e>>2]|0)+52>>2]&511](e,b,d)|0;c[b+4>>2]=22;g[b+60>>2]=+g[a+16>>2];g[b+64>>2]=+g[a+20>>2];g[b+68>>2]=+g[a+24>>2];g[b+72>>2]=+g[a+28>>2];return 16352}function az_(a){a=a|0;if((a|0)==0){return}aDB(a);return}function az$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;f=i;i=i+48|0;h=f|0;j=+g[a+8>>2];k=+g[a+12>>2];l=+g[b+4>>2]*k;m=+g[a+16>>2];n=+g[b+8>>2]*m;g[h>>2]=+g[b>>2]*j;g[h+4>>2]=l;g[h+8>>2]=n;g[h+12>>2]=0.0;n=+g[b+20>>2]*k;l=+g[b+24>>2]*m;g[h+16>>2]=+g[b+16>>2]*j;g[h+20>>2]=n;g[h+24>>2]=l;g[h+28>>2]=0.0;l=+g[b+36>>2]*k;k=+g[b+40>>2]*m;g[h+32>>2]=+g[b+32>>2]*j;g[h+36>>2]=l;g[h+40>>2]=k;g[h+44>>2]=0.0;b=c[a+4>>2]|0;dI[c[(c[b>>2]|0)+8>>2]&1023](b,h|0,d,e);i=f;return}function az0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[b>>2]=23120;f=b+28|0;c[f>>2]=e;g=b+32|0;a[g]=0;c[b+36>>2]=0;if((e|0)==0){c[9806]=(c[9806]|0)+1;e=aDx(95)|0;do{if((e|0)==0){h=0}else{i=-(e+4|0)&15;j=e+(i+4)|0;c[e+i>>2]=e;if((j|0)==0){h=0;break}i=j;ayI(i);h=i}}while(0);c[f>>2]=h;a[g]=1}c[9806]=(c[9806]|0)+1;g=aDx((d*52|0)+19|0)|0;if((g|0)==0){k=0}else{h=-(g+4|0)&15;c[g+h>>2]=g;k=g+(h+4)|0}c[b+20>>2]=k;h=k;if((d|0)!=0){k=h+(d*52|0)|0;g=h;do{c[g>>2]=0;c[g+8>>2]=0;g=g+52|0;}while((g|0)!=(k|0))}k=b+16|0;c[k>>2]=h;c[b+8>>2]=d;c[b+4>>2]=0;c[b+24>>2]=0;c[b+12>>2]=-1;if((d|0)>0){l=0;m=h}else{n=h;o=d-1|0;p=n+(o*52|0)+48|0;c[p>>2]=0;return}while(1){h=l+1|0;c[m+(l*52|0)+48>>2]=h;c[(c[k>>2]|0)+(l*52|0)+12>>2]=l+2;b=c[k>>2]|0;if((h|0)<(d|0)){l=h;m=b}else{n=b;break}}o=d-1|0;p=n+(o*52|0)+48|0;c[p>>2]=0;return}function az1(b){b=b|0;var d=0,e=0;c[b>>2]=23120;d=c[b+20>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}do{if((a[b+32|0]&1)!=0){d=b+28|0;e=c[d>>2]|0;ct[c[c[e>>2]>>2]&2047](e);e=c[d>>2]|0;if((e|0)==0){break}c[9804]=(c[9804]|0)+1;aDB(c[e-4>>2]|0)}}while(0);if((b|0)==0){return}aDB(b);return}function az2(b){b=b|0;var d=0;c[b>>2]=23120;d=c[b+20>>2]|0;if((d|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[d-4>>2]|0)}if((a[b+32|0]&1)==0){return}d=b+28|0;b=c[d>>2]|0;ct[c[c[b>>2]>>2]&2047](b);b=c[d>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-4>>2]|0);return}function az3(a,b){a=a|0;b=b|0;return}function az4(a){a=a|0;return}function az5(a){a=a|0;return c[a+28>>2]|0}function az6(a){a=a|0;return c[a+28>>2]|0}function az7(a,b,c){a=a|0;b=b|0;c=c|0;g[b>>2]=-999999984306749400.0;g[b+4>>2]=-999999984306749400.0;g[b+8>>2]=-999999984306749400.0;g[b+12>>2]=0.0;g[c>>2]=999999984306749400.0;g[c+4>>2]=999999984306749400.0;g[c+8>>2]=999999984306749400.0;g[c+12>>2]=0.0;return}function az8(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;j=a+4|0;f=c[j>>2]|0;if((f|0)>=(c[a+8>>2]|0)){l=0;return l|0}m=a+24|0;n=c[m>>2]|0;o=c[a+16>>2]|0;c[m>>2]=c[o+(n*52|0)+48>>2];c[j>>2]=f+1;f=a+12|0;if((n|0)>(c[f>>2]|0)){c[f>>2]=n}f=o+(n*52|0)|0;c[f>>2]=g;b[o+(n*52|0)+4>>1]=h;b[o+(n*52|0)+6>>1]=i;i=o+(n*52|0)+16|0;h=d;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];h=o+(n*52|0)+32|0;i=e;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[o+(n*52|0)+8>>2]=k;l=f|0;return l|0}function az9(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=(b-(c[a+16>>2]|0)|0)/52|0;f=a+12|0;if((e|0)==(c[f>>2]|0)){c[f>>2]=e-1}f=a+24|0;c[b+48>>2]=c[f>>2];c[f>>2]=e;c[b>>2]=0;e=a+4|0;c[e>>2]=(c[e>>2]|0)-1;e=c[a+28>>2]|0;dA[c[(c[e>>2]|0)+16>>2]&511](e|0,b,d);return}function aAa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=d;d=b+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];d=e;e=b+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function aAb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+16|0;a=d;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];a=b+32|0;b=e;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function aAc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;g=a+12|0;f=c[g>>2]|0;if((f|0)<0){return}d=a+16|0;a=e|0;b=e;e=0;h=f;while(1){f=(c[d>>2]|0)+(e*52|0)|0;if((c[f>>2]|0)==0){i=h}else{j=c[(c[b>>2]|0)+8>>2]|0;dj[j&511](a,f)|0;i=c[g>>2]|0}f=e+1|0;if((f|0)>(i|0)){break}else{e=f;h=i}}return}function aAd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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;f=a+12|0;h=c[f>>2]|0;if((h|0)<0){return}i=a+16|0;a=b|0;j=b+8|0;k=b+4|0;b=d+4|0;l=e;m=d+8|0;n=d|0;d=0;o=h;while(1){h=c[i>>2]|0;p=h+(d*52|0)|0;do{if((c[p>>2]|0)==0){q=o}else{do{if(+g[a>>2]>+g[h+(d*52|0)+32>>2]){r=0}else{if(+g[n>>2]<+g[h+(d*52|0)+16>>2]){r=0;break}r=1}}while(0);do{if(+g[j>>2]>+g[h+(d*52|0)+40>>2]){s=0}else{if(+g[m>>2]<+g[h+(d*52|0)+24>>2]){s=0;break}s=r}}while(0);if(+g[k>>2]>+g[h+(d*52|0)+36>>2]){q=o;break}if(+g[b>>2]<+g[h+(d*52|0)+20>>2]|s^1){q=o;break}t=c[(c[l>>2]|0)+8>>2]|0;dj[t&511](e,p)|0;q=c[f>>2]|0}}while(0);p=d+1|0;if((p|0)>(q|0)){break}else{d=p;o=q}}return}function aAe(b,d){b=b|0;d=d|0;var e=0,f=0,h=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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;e=i;i=i+40|0;f=e|0;h=e+8|0;j=e+24|0;if((c[b+4>>2]|0)<=-1){i=e;return}k=b+12|0;l=c[k>>2]|0;if((l|0)<0){m=-1}else{n=b+16|0;o=b+28|0;p=-1;q=0;r=l;while(1){l=c[n>>2]|0;s=l+(q*52|0)|0;t=q+1|0;L921:do{if((c[s>>2]|0)==0){u=p;v=r}else{if((t|0)>(r|0)){u=q;v=r;break}w=l+(q*52|0)+16|0;x=l+(q*52|0)+32|0;y=l+(q*52|0)+20|0;z=l+(q*52|0)+36|0;A=l+(q*52|0)+24|0;B=l+(q*52|0)+40|0;C=t;D=l;while(1){E=D+(C*52|0)|0;L926:do{if((c[E>>2]|0)!=0){do{if(+g[w>>2]>+g[D+(C*52|0)+32>>2]){F=695}else{if(+g[D+(C*52|0)+16>>2]>+g[x>>2]){F=695;break}if(+g[y>>2]>+g[D+(C*52|0)+36>>2]){F=695;break}if(+g[D+(C*52|0)+20>>2]>+g[z>>2]){F=695;break}if(+g[A>>2]>+g[D+(C*52|0)+40>>2]){F=695;break}G=c[o>>2]|0;if(+g[D+(C*52|0)+24>>2]>+g[B>>2]){H=G;break}if((cS[c[(c[G>>2]|0)+52>>2]&511](G,s,E)|0)!=0){break L926}G=c[o>>2]|0;I=G|0;J=c[(c[G>>2]|0)+8>>2]|0;cS[J&511](I,s,E)|0;break L926}}while(0);if((F|0)==695){F=0;H=c[o>>2]|0}if(cA[c[(c[H>>2]|0)+56>>2]&4095](H)|0){break}I=c[o>>2]|0;if((cS[c[(c[I>>2]|0)+52>>2]&511](I,s,E)|0)==0){break}I=c[o>>2]|0;J=I|0;G=c[(c[I>>2]|0)+12>>2]|0;dE[G&127](J,s,E,d)|0}}while(0);E=C+1|0;J=c[k>>2]|0;if((E|0)>(J|0)){u=q;v=J;break L921}C=E;D=c[n>>2]|0}}}while(0);if((t|0)>(v|0)){m=u;break}else{p=u;q=t;r=v}}}c[k>>2]=m;if((a[b+32|0]&1)==0){i=e;return}m=b+28|0;k=c[m>>2]|0;if(!(cA[c[(c[k>>2]|0)+56>>2]&4095](k)|0)){i=e;return}k=c[m>>2]|0;v=cA[c[(c[k>>2]|0)+28>>2]&4095](k)|0;k=v+4|0;r=c[k>>2]|0;if((r|0)>1){arQ(v,0,r-1|0);K=c[k>>2]|0}else{K=r}r=b+36|0;b=K-(c[r>>2]|0)|0;aDD(h|0,0,16);arP(v,b,h);c[r>>2]=0;h=c[k>>2]|0;do{if((h|0)>0){b=v+12|0;K=0;q=0;u=0;p=h;n=0;while(1){o=c[b>>2]|0;H=o+(u<<4)|0;s=H|0;l=c[s>>2]|0;D=o+(u<<4)+4|0;o=c[D>>2]|0;if((l|0)==(q|0)){if((o|0)==(K|0)){L=q;M=K;F=720}else{N=q;F=714}}else{N=l;F=714}do{if((F|0)==714){F=0;if(+g[N+16>>2]>+g[o+32>>2]){L=N;M=o;F=720;break}if(+g[o+16>>2]>+g[N+32>>2]){L=N;M=o;F=720;break}if(+g[N+20>>2]>+g[o+36>>2]){L=N;M=o;F=720;break}if(+g[o+20>>2]>+g[N+36>>2]){L=N;M=o;F=720;break}if(+g[N+24>>2]>+g[o+40>>2]){L=N;M=o;F=720;break}if(+g[o+24>>2]>+g[N+40>>2]){L=N;M=o;F=720}else{O=N;P=o;Q=p;R=n}}}while(0);if((F|0)==720){F=0;o=c[m>>2]|0;dA[c[(c[o>>2]|0)+32>>2]&511](o,H,d);c[s>>2]=0;c[D>>2]=0;o=(c[r>>2]|0)+1|0;c[r>>2]=o;c[9792]=(c[9792]|0)-1;O=L;P=M;Q=c[k>>2]|0;R=o}o=u+1|0;if((o|0)<(Q|0)){K=P;q=O;u=o;p=Q;n=R}else{break}}n=f|0;if((Q|0)<=1){S=Q;T=n;U=R;break}arQ(v,0,Q-1|0);S=c[k>>2]|0;T=n;U=c[r>>2]|0}else{S=h;T=f|0;U=0}}while(0);aDD(j|0,0,16);arP(v,S-U|0,j);c[r>>2]=0;i=e;return}function aAf(a){a=a|0;aAg(a);if((a|0)==0){return}aDB(a);return}function aAg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=20520;d=b+48|0;e=b+56|0;f=c[e>>2]|0;g=b+60|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;e=b+36|0;g=c[e>>2]|0;f=b+40|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if((f|0)==0){h=b+12|0;a[g]=1;c[e>>2]=0;c[d>>2]=0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-8+4>>2]|0)}c[e>>2]=0;h=b+12|0;a[g]=1;c[e>>2]=0;c[d>>2]=0;c[h>>2]=0;return}function aAh(a){a=a|0;return}function aAi(a){a=a|0;return 17608|0}function aAj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+1.0}function aAk(a,b){a=a|0;b=b|0;var 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;d=b+8|0;if((c[d>>2]|0)<=0){return}e=b+16|0;b=a+16|0;a=0;f=0;while(1){g=c[(c[e>>2]|0)+(a<<2)>>2]|0;if((c[g+204>>2]&3|0)==0){h=c[b>>2]|0;i=h+(f<<3)|0;j=c[i>>2]|0;if((j|0)==(f|0)){k=f}else{l=h;h=i;i=j;while(1){j=l+(i<<3)|0;c[h>>2]=c[j>>2];m=c[j>>2]|0;j=c[b>>2]|0;n=j+(m<<3)|0;o=c[n>>2]|0;if((m|0)==(o|0)){k=m;break}else{l=j;h=n;i=o}}}c[g+208>>2]=k;c[(c[b>>2]|0)+(f<<3)+4>>2]=a;c[g+212>>2]=-1;p=f+1|0}else{c[g+208>>2]=-1;c[g+212>>2]=-2;p=f}i=a+1|0;if((i|0)<(c[d>>2]|0)){a=i;f=p}else{break}}return}function aAl(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function aAm(a){a=a|0;return+(+g[a+28>>2]*+g[a+12>>2])}function aAn(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;e=d+8|0;if((c[e>>2]|0)>0){f=d+16|0;h=0;i=0;while(1){j=c[(c[f>>2]|0)+(h<<2)>>2]|0;if((c[j+204>>2]&3|0)==0){c[j+208>>2]=i;k=i+1|0}else{k=i}c[j+212>>2]=-1;g[j+240>>2]=1.0;j=h+1|0;if((j|0)<(c[e>>2]|0)){h=j;i=k}else{l=k;break}}}else{l=0}k=b+8|0;i=c[k>>2]|0;if((i|0)<(l|0)){h=b+12|0;if((c[h>>2]|0)<(l|0)){if((l|0)==0){m=0;n=i}else{c[9806]=(c[9806]|0)+1;e=aDx((l<<3|4)+15|0)|0;if((e|0)==0){o=0}else{f=-(e+4|0)&15;c[e+f>>2]=e;o=e+(f+4)|0}m=o;n=c[k>>2]|0}o=b+16|0;if((n|0)>0){f=0;do{e=m+(f<<3)|0;if((e|0)!=0){j=(c[o>>2]|0)+(f<<3)|0;p=e;e=c[j+4>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=e}f=f+1|0;}while((f|0)<(n|0))}n=c[o>>2]|0;f=b+20|0;if((n|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-8+4>>2]|0)}c[o>>2]=0}a[f]=1;c[o>>2]=m;c[h>>2]=l;q=o}else{q=b+16|0}o=i;do{i=(c[q>>2]|0)+(o<<3)|0;if((i|0)!=0){h=i;c[h>>2]=0;c[h+4>>2]=0}o=o+1|0;}while((o|0)<(l|0))}c[k>>2]=l;if((l|0)>0){k=b+16|0;o=0;do{c[(c[k>>2]|0)+(o<<3)>>2]=o;c[(c[k>>2]|0)+(o<<3)+4>>2]=1;o=o+1|0;}while((o|0)<(l|0))}l=c[d+76>>2]|0;d=cA[c[(c[l>>2]|0)+36>>2]&4095](l)|0;l=cA[c[(c[d>>2]|0)+36>>2]&4095](d)|0;o=cA[c[(c[d>>2]|0)+20>>2]&4095](d)|0;if((l|0)<=0){return}d=b+16|0;b=0;do{k=c[c[o+(b<<4)>>2]>>2]|0;q=c[c[o+(b<<4)+4>>2]>>2]|0;do{if((k|0)!=0){if((c[k+204>>2]&7|0)!=0|(q|0)==0){break}if((c[q+204>>2]&7|0)!=0){break}h=c[k+208>>2]|0;i=c[q+208>>2]|0;m=c[d>>2]|0;f=m+(h<<3)|0;n=c[f>>2]|0;if((n|0)==(h|0)){r=h;s=m}else{h=m;m=f;f=n;while(1){n=h+(f<<3)|0;c[m>>2]=c[n>>2];e=c[n>>2]|0;n=c[d>>2]|0;p=n+(e<<3)|0;j=c[p>>2]|0;if((e|0)==(j|0)){r=e;s=n;break}else{h=n;m=p;f=j}}}f=s+(i<<3)|0;m=c[f>>2]|0;if((m|0)==(i|0)){t=i;u=s}else{h=s;j=f;f=m;while(1){m=h+(f<<3)|0;c[j>>2]=c[m>>2];p=c[m>>2]|0;m=c[d>>2]|0;n=m+(p<<3)|0;e=c[n>>2]|0;if((p|0)==(e|0)){t=p;u=m;break}else{h=m;j=n;f=e}}}if((r|0)==(t|0)){break}c[u+(r<<3)>>2]=t;f=c[d>>2]|0;j=f+(t<<3)+4|0;c[j>>2]=(c[j>>2]|0)+(c[f+(r<<3)+4>>2]|0)}}while(0);b=b+1|0;}while((b|0)<(l|0));return}function aAo(a,b,d){a=a|0;b=b|0;d=d|0;var 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,v=0,w=0,x=0,y=0,z=0;e=a+12|0;f=c[e>>2]|0;g=c[f+(((d+b|0)/2|0)<<2)>>2]|0;h=g+1108|0;i=g+1112|0;g=b;j=d;k=f;while(1){f=c[(c[h>>2]|0)+208>>2]|0;l=(f|0)>-1;if(l){m=g;while(1){n=c[k+(m<<2)>>2]|0;o=c[(c[n+1108>>2]|0)+208>>2]|0;if((o|0)>-1){p=o}else{p=c[(c[n+1112>>2]|0)+208>>2]|0}if((p|0)<(f|0)){m=m+1|0}else{q=m;r=n;break}}}else{m=c[(c[i>>2]|0)+208>>2]|0;n=g;while(1){o=c[k+(n<<2)>>2]|0;s=c[(c[o+1108>>2]|0)+208>>2]|0;if((s|0)>-1){t=s}else{t=c[(c[o+1112>>2]|0)+208>>2]|0}if((t|0)<(m|0)){n=n+1|0}else{q=n;r=o;break}}}if(l){n=j;while(1){m=c[k+(n<<2)>>2]|0;o=c[(c[m+1108>>2]|0)+208>>2]|0;if((o|0)>-1){u=o}else{u=c[(c[m+1112>>2]|0)+208>>2]|0}if((f|0)<(u|0)){n=n-1|0}else{v=n;w=m;break}}}else{n=c[(c[i>>2]|0)+208>>2]|0;f=j;while(1){l=c[k+(f<<2)>>2]|0;m=c[(c[l+1108>>2]|0)+208>>2]|0;if((m|0)>-1){x=m}else{x=c[(c[l+1112>>2]|0)+208>>2]|0}if((n|0)<(x|0)){f=f-1|0}else{v=f;w=l;break}}}if((q|0)>(v|0)){y=q;z=v}else{c[k+(q<<2)>>2]=w;c[(c[e>>2]|0)+(v<<2)>>2]=r;y=q+1|0;z=v-1|0}if((y|0)>(z|0)){break}g=y;j=z;k=c[e>>2]|0}if((z|0)>(b|0)){aAo(a,b,z)}if((y|0)>=(d|0)){return}aAo(a,y,d);return}function aAp(a,b,c){a=a|0;b=b|0;c=c|0;aDD(a|0,0,16);return}function aAq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((d|0)>0){e=0}else{return}while(1){b=e+1|0;aDD(c+(e<<4)|0,0,16);if((b|0)<(d|0)){e=b}else{break}}return}function aAr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;dA[c[(c[b>>2]|0)+64>>2]&511](a,b,d);e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];d=e*e+f*f+h*h<1.4210854715202004e-14;i=d?-1.0:h;h=d?-1.0:f;f=d?-1.0:e;e=1.0/+Q(+(i*i+(f*f+h*h)));j=+dh[c[(c[b>>2]|0)+44>>2]&1023](b);b=a|0;g[b>>2]=e*f*j+ +g[b>>2];b=a+4|0;g[b>>2]=j*e*h+ +g[b>>2];b=a+8|0;g[b>>2]=j*e*i+ +g[b>>2];return}function aAs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;f=a;h=+dh[c[(c[f>>2]|0)+44>>2]&1023](a);i=+dh[c[(c[f>>2]|0)+44>>2]&1023](a);j=+dh[c[(c[f>>2]|0)+44>>2]&1023](a);a=b+48|0;f=b+52|0;k=+g[f>>2]-i;l=b+56|0;m=+g[l>>2]-j;g[d>>2]=+g[a>>2]-h;g[d+4>>2]=k;g[d+8>>2]=m;g[d+12>>2]=0.0;m=i+ +g[f>>2];i=j+ +g[l>>2];g[e>>2]=h+ +g[a>>2];g[e+4>>2]=m;g[e+8>>2]=i;g[e+12>>2]=0.0;return}function aAt(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0;e=a;f=b*.4000000059604645*+dh[c[(c[e>>2]|0)+44>>2]&1023](a);b=f*+dh[c[(c[e>>2]|0)+44>>2]&1023](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function aAu(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-52+48>>2]|0);return}function aAv(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=19832;if((a[b+8|0]&1)==0){d=b;aDB(d);return}e=c[b+12>>2]|0;if((e|0)==0){d=b;aDB(d);return}f=c[b+4>>2]|0;cv[c[(c[f>>2]|0)+16>>2]&2047](f,e);d=b;aDB(d);return}function aAw(b){b=b|0;var d=0,e=0;c[b>>2]=19832;if((a[b+8|0]&1)==0){return}d=c[b+12>>2]|0;if((d|0)==0){return}e=c[b+4>>2]|0;cv[c[(c[e>>2]|0)+16>>2]&2047](e,d);return}function aAx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;e=i;i=i+32|0;h=e|0;j=e+16|0;k=c[a+12>>2]|0;if((k|0)==0){i=e;return}a=f+4|0;c[a>>2]=k;l=c[b+192>>2]|0;m=c[d+192>>2]|0;n=+g[d+52>>2];o=+g[b+52>>2]-n;p=+g[d+56>>2];q=+g[b+56>>2]-p;r=+g[d+60>>2];s=+g[b+60>>2]-r;t=+Q(+(o*o+q*q+s*s));u=+g[m+28>>2]*+g[m+12>>2];v=+g[l+28>>2]*+g[l+12>>2]+u;if(t>v){if((c[k+1116>>2]|0)==0){i=e;return}if((c[k+1108>>2]|0)==(c[f+136>>2]|0)){ay6(k,f+8|0,f+72|0);i=e;return}else{ay6(k,f+72|0,f+8|0);i=e;return}}k=h|0;g[k>>2]=1.0;l=h+4|0;g[l>>2]=0.0;m=h+8|0;g[m>>2]=0.0;b=h+12|0;g[b>>2]=0.0;if(t>1.1920928955078125e-7){w=1.0/t;x=o*w;o=q*w;q=s*w;g[k>>2]=x;g[l>>2]=o;g[m>>2]=q;g[b>>2]=0.0;y=x;z=o;A=q}else{y=1.0;z=0.0;A=0.0}g[j>>2]=u*y+n;g[j+4>>2]=u*z+p;g[j+8>>2]=u*A+r;g[j+12>>2]=0.0;dw[c[(c[f>>2]|0)+16>>2]&127](f,h,j,t-v);j=c[a>>2]|0;if((c[j+1116>>2]|0)==0){i=e;return}if((c[j+1108>>2]|0)==(c[f+136>>2]|0)){ay6(j,f+8|0,f+72|0);i=e;return}else{ay6(j,f+72|0,f+8|0);i=e;return}}function aAy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+1.0}function aAz(a){a=a|0;return}function aAA(a){a=a|0;return 17592|0}function aAB(a){a=a|0;return 52}function aAC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;g[c>>2]=-999999984306749400.0;g[c+4>>2]=-999999984306749400.0;g[c+8>>2]=-999999984306749400.0;g[c+12>>2]=0.0;g[d>>2]=999999984306749400.0;g[d+4>>2]=999999984306749400.0;g[d+8>>2]=999999984306749400.0;g[d+12>>2]=0.0;return}function aAD(a){a=a|0;return a+68|0}function aAE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+12|0;if((c[e>>2]|0)==0){return}if((a[b+8|0]&1)==0){return}b=d+4|0;f=c[b>>2]|0;g=d+8|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[b>>2]|0}n=d+12|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=d+16|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[b>>2]|0}else{i=f}}while(0);f=(c[d+12>>2]|0)+(i<<2)|0;if((f|0)==0){p=i}else{c[f>>2]=c[e>>2];p=c[b>>2]|0}c[b>>2]=p+1;return}function aAF(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=19688;if((a[b+8|0]&1)==0){d=b;aDB(d);return}e=c[b+12>>2]|0;if((e|0)==0){d=b;aDB(d);return}f=c[b+4>>2]|0;cv[c[(c[f>>2]|0)+16>>2]&2047](f,e);d=b;aDB(d);return}function aAG(b){b=b|0;var d=0,e=0;c[b>>2]=19688;if((a[b+8|0]&1)==0){return}d=c[b+12>>2]|0;if((d|0)==0){return}e=c[b+4>>2]|0;cv[c[(c[e>>2]|0)+16>>2]&2047](e,d);return}function aAH(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;j=i;i=i+152|0;k=j|0;l=j+16|0;m=b+12|0;n=c[m>>2]|0;if((n|0)==0){i=j;return}o=b+16|0;p=(a[o]&1)!=0;q=p?e:d;r=p?d:e;e=c[q+192>>2]|0;d=c[r+192>>2]|0;p=h+4|0;c[p>>2]=n;s=+g[(c[m>>2]|0)+1120>>2];c[k>>2]=21944;c[k+4>>2]=e;c[k+8>>2]=d;g[k+12>>2]=s;c[l+132>>2]=0;g[l+128>>2]=999999984306749400.0;d=l;e=q+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=l+16|0;d=q+20|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=l+32|0;e=q+36|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=l+48|0;d=q+52|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=l+64|0;e=r+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=l+80|0;d=r+20|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];d=l+96|0;e=r+36|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=l+112|0;d=r+52|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];aB0(k,l,h|0,c[f+20>>2]|0,(a[o]&1)!=0);if((a[b+8|0]&1)==0){i=j;return}b=c[p>>2]|0;if((c[b+1116>>2]|0)==0){i=j;return}if((c[b+1108>>2]|0)==(c[h+136>>2]|0)){ay6(b,h+8|0,h+72|0);i=j;return}else{ay6(b,h+72|0,h+8|0);i=j;return}}function aAI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+12|0;if((c[e>>2]|0)==0){return}if((a[b+8|0]&1)==0){return}b=d+4|0;f=c[b>>2]|0;g=d+8|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[b>>2]|0}n=d+12|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=d+16|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[b>>2]|0}else{i=f}}while(0);f=(c[d+12>>2]|0)+(i<<2)|0;if((f|0)==0){p=i}else{c[f>>2]=c[e>>2];p=c[b>>2]|0}c[b>>2]=p+1;return}function aAJ(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aAK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=i;i=i+48|0;h=f|0;j=+g[e>>2];k=+g[d>>2];l=+g[e+4>>2];m=+g[d+4>>2];n=+g[e+8>>2];o=+g[d+8>>2];p=(j-k)*.5;q=(l-m)*.5;r=(n-o)*.5;s=+Q(+(p*p+q*q+r*r));r=(j+k)*.5;k=(l+m)*.5;m=(n+o)*.5;d=a+48|0;o=+g[a+56>>2];if(+P(+o)>.7071067690849304){n=+g[a+52>>2];l=o*o+n*n;j=1.0/+Q(+l);q=j*(-0.0-o);p=n*j;t=+g[d>>2];u=l*j;v=p*(-0.0-t);w=t*q;x=0.0;y=q;z=p;A=t;B=n}else{n=+g[d>>2];t=+g[a+52>>2];p=n*n+t*t;q=1.0/+Q(+p);j=q*(-0.0-t);l=n*q;u=l*(-0.0-o);v=o*j;w=p*q;x=j;y=l;z=0.0;A=n;B=t}t=r*A+k*B+m*o- +g[a+64>>2];n=k-B*t;a=h|0;B=r-A*t;A=m-o*t;t=s*x;x=s*y;y=s*z;z=t+B;o=x+n;m=y+A;r=s*u;u=s*v;v=s*w;w=r+z;s=u+o;k=v+m;d=h|0;g[d>>2]=w;e=h+4|0;g[e>>2]=s;C=h+8|0;g[C>>2]=k;D=h+12|0;g[D>>2]=0.0;E=h+16|0;g[E>>2]=z-r;F=h+20|0;g[F>>2]=o-u;G=h+24|0;g[G>>2]=m-v;H=h+28|0;g[H>>2]=0.0;m=B-t;t=n-x;x=A-y;y=m-r;A=t-u;n=x-v;I=h+32|0;g[I>>2]=y;J=h+36|0;g[J>>2]=A;K=h+40|0;g[K>>2]=n;L=h+44|0;g[L>>2]=0.0;h=b;dI[c[(c[h>>2]|0)+8>>2]&1023](b,a,0,0);g[d>>2]=y;g[e>>2]=A;g[C>>2]=n;g[D>>2]=0.0;g[E>>2]=r+m;g[F>>2]=u+t;g[G>>2]=v+x;g[H>>2]=0.0;g[I>>2]=w;g[J>>2]=s;g[K>>2]=k;g[L>>2]=0.0;dI[c[(c[h>>2]|0)+8>>2]&1023](b,a,0,1);i=f;return}function aAL(a,b,c){a=a|0;b=+b;c=c|0;aDD(c|0,0,16);return}function aAM(a,b){a=a|0;b=b|0;var d=0;d=a+68|0;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];return}function aAN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=d;f=dj[c[(c[e>>2]|0)+40>>2]&511](d,a)|0;h=dj[c[(c[e>>2]|0)+28>>2]&511](d,f)|0;c[b>>2]=h;if((h|0)!=0){cv[c[(c[d>>2]|0)+48>>2]&2047](d,f)}c[b+4>>2]=c[a+4>>2];g[b+12>>2]=+g[a+68>>2];g[b+16>>2]=+g[a+72>>2];g[b+20>>2]=+g[a+76>>2];g[b+24>>2]=+g[a+80>>2];g[b+28>>2]=+g[a+48>>2];g[b+32>>2]=+g[a+52>>2];g[b+36>>2]=+g[a+56>>2];g[b+40>>2]=+g[a+60>>2];g[b+44>>2]=+g[a+64>>2];return 16264}function aAO(a,b,f,j){a=a|0;b=b|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0;j=i;i=i+112|0;f=j|0;k=j+8|0;l=j+16|0;m=j+24|0;n=j+32|0;o=j+40|0;p=j+48|0;q=j+56|0;r=j+64|0;s=cA[c[(c[a>>2]|0)+28>>2]&4095](a)|0;t=r|0;u=+g[a+4>>2];v=+g[a+8>>2];w=+g[a+12>>2];if((s|0)<=0){i=j;return}x=a;y=a;z=r|0;A=r+4|0;B=r+8|0;C=r+12|0;D=r+16|0;E=r+20|0;F=r+24|0;G=r+28|0;H=r+32|0;I=r+36|0;J=r+40|0;K=r+44|0;r=b;L=0;do{di[c[(c[x>>2]|0)+16>>2]&63](a,f,p,m,o,k,l,q,n,L);M=c[m>>2]|0;do{if((M|0)==0){N=c[n>>2]|0;if((N|0)==2){if((c[q>>2]|0)>0){O=0}else{break}do{P=c[k>>2]|0;Q=aa(c[l>>2]|0,O)|0;R=c[f>>2]|0;S=c[o>>2]|0;T=aa(S,c[P+Q>>2]|0)|0;U=v*+g[R+(T+4)>>2];V=w*+g[R+(T+8)>>2];g[z>>2]=u*+g[R+T>>2];g[A>>2]=U;g[B>>2]=V;g[C>>2]=0.0;T=aa(S,c[P+(Q+4)>>2]|0)|0;V=v*+g[R+(T+4)>>2];U=w*+g[R+(T+8)>>2];g[D>>2]=u*+g[R+T>>2];g[E>>2]=V;g[F>>2]=U;g[G>>2]=0.0;T=aa(S,c[P+(Q+8)>>2]|0)|0;U=v*+g[R+(T+4)>>2];V=w*+g[R+(T+8)>>2];g[H>>2]=u*+g[R+T>>2];g[I>>2]=U;g[J>>2]=V;g[K>>2]=0.0;dI[c[(c[r>>2]|0)+8>>2]&1023](b,t,L,O);O=O+1|0;}while((O|0)<(c[q>>2]|0))}else if((N|0)==5){if((c[q>>2]|0)>0){W=0}else{break}do{T=c[k>>2]|0;R=aa(c[l>>2]|0,W)|0;Q=c[f>>2]|0;P=c[o>>2]|0;S=aa(d[T+R|0]|0,P)|0;V=v*+g[Q+(S+4)>>2];U=w*+g[Q+(S+8)>>2];g[z>>2]=u*+g[Q+S>>2];g[A>>2]=V;g[B>>2]=U;g[C>>2]=0.0;S=aa(d[T+(R+1)|0]|0,P)|0;U=v*+g[Q+(S+4)>>2];V=w*+g[Q+(S+8)>>2];g[D>>2]=u*+g[Q+S>>2];g[E>>2]=U;g[F>>2]=V;g[G>>2]=0.0;S=aa(d[T+(R+2)|0]|0,P)|0;V=v*+g[Q+(S+4)>>2];U=w*+g[Q+(S+8)>>2];g[H>>2]=u*+g[Q+S>>2];g[I>>2]=V;g[J>>2]=U;g[K>>2]=0.0;dI[c[(c[r>>2]|0)+8>>2]&1023](b,t,L,W);W=W+1|0;}while((W|0)<(c[q>>2]|0))}else if((N|0)==3){if((c[q>>2]|0)>0){X=0}else{break}do{S=c[k>>2]|0;Q=aa(c[l>>2]|0,X)|0;P=c[f>>2]|0;R=c[o>>2]|0;T=aa(e[S+Q>>1]|0,R)|0;U=v*+g[P+(T+4)>>2];V=w*+g[P+(T+8)>>2];g[z>>2]=u*+g[P+T>>2];g[A>>2]=U;g[B>>2]=V;g[C>>2]=0.0;T=aa(e[S+(Q+2)>>1]|0,R)|0;V=v*+g[P+(T+4)>>2];U=w*+g[P+(T+8)>>2];g[D>>2]=u*+g[P+T>>2];g[E>>2]=V;g[F>>2]=U;g[G>>2]=0.0;T=aa(e[S+(Q+4)>>1]|0,R)|0;U=v*+g[P+(T+4)>>2];V=w*+g[P+(T+8)>>2];g[H>>2]=u*+g[P+T>>2];g[I>>2]=U;g[J>>2]=V;g[K>>2]=0.0;dI[c[(c[r>>2]|0)+8>>2]&1023](b,t,L,X);X=X+1|0;}while((X|0)<(c[q>>2]|0))}else{break}}else if((M|0)==1){N=c[n>>2]|0;if((N|0)==5){if((c[q>>2]|0)>0){Y=0}else{break}do{T=c[k>>2]|0;P=aa(c[l>>2]|0,Y)|0;R=c[f>>2]|0;Q=c[o>>2]|0;S=aa(d[T+P|0]|0,Q)|0;V=v*+h[R+(S+8)>>3];U=w*+h[R+(S+16)>>3];g[z>>2]=u*+h[R+S>>3];g[A>>2]=V;g[B>>2]=U;g[C>>2]=0.0;S=aa(d[T+(P+1)|0]|0,Q)|0;U=v*+h[R+(S+8)>>3];V=w*+h[R+(S+16)>>3];g[D>>2]=u*+h[R+S>>3];g[E>>2]=U;g[F>>2]=V;g[G>>2]=0.0;S=aa(d[T+(P+2)|0]|0,Q)|0;V=v*+h[R+(S+8)>>3];U=w*+h[R+(S+16)>>3];g[H>>2]=u*+h[R+S>>3];g[I>>2]=V;g[J>>2]=U;g[K>>2]=0.0;dI[c[(c[r>>2]|0)+8>>2]&1023](b,t,L,Y);Y=Y+1|0;}while((Y|0)<(c[q>>2]|0))}else if((N|0)==3){if((c[q>>2]|0)>0){Z=0}else{break}do{S=c[k>>2]|0;R=aa(c[l>>2]|0,Z)|0;Q=c[f>>2]|0;P=c[o>>2]|0;T=aa(e[S+R>>1]|0,P)|0;U=v*+h[Q+(T+8)>>3];V=w*+h[Q+(T+16)>>3];g[z>>2]=u*+h[Q+T>>3];g[A>>2]=U;g[B>>2]=V;g[C>>2]=0.0;T=aa(e[S+(R+2)>>1]|0,P)|0;V=v*+h[Q+(T+8)>>3];U=w*+h[Q+(T+16)>>3];g[D>>2]=u*+h[Q+T>>3];g[E>>2]=V;g[F>>2]=U;g[G>>2]=0.0;T=aa(e[S+(R+4)>>1]|0,P)|0;U=v*+h[Q+(T+8)>>3];V=w*+h[Q+(T+16)>>3];g[H>>2]=u*+h[Q+T>>3];g[I>>2]=U;g[J>>2]=V;g[K>>2]=0.0;dI[c[(c[r>>2]|0)+8>>2]&1023](b,t,L,Z);Z=Z+1|0;}while((Z|0)<(c[q>>2]|0))}else if((N|0)==2){if((c[q>>2]|0)>0){_=0}else{break}do{T=c[k>>2]|0;Q=aa(c[l>>2]|0,_)|0;P=c[f>>2]|0;R=c[o>>2]|0;S=aa(R,c[T+Q>>2]|0)|0;V=v*+h[P+(S+8)>>3];U=w*+h[P+(S+16)>>3];g[z>>2]=u*+h[P+S>>3];g[A>>2]=V;g[B>>2]=U;g[C>>2]=0.0;S=aa(R,c[T+(Q+4)>>2]|0)|0;U=v*+h[P+(S+8)>>3];V=w*+h[P+(S+16)>>3];g[D>>2]=u*+h[P+S>>3];g[E>>2]=U;g[F>>2]=V;g[G>>2]=0.0;S=aa(R,c[T+(Q+8)>>2]|0)|0;V=v*+h[P+(S+8)>>3];U=w*+h[P+(S+16)>>3];g[H>>2]=u*+h[P+S>>3];g[I>>2]=V;g[J>>2]=U;g[K>>2]=0.0;dI[c[(c[r>>2]|0)+8>>2]&1023](b,t,L,_);_=_+1|0;}while((_|0)<(c[q>>2]|0))}else{break}}}while(0);cv[c[(c[y>>2]|0)+24>>2]&2047](a,L);L=L+1|0;}while((L|0)<(s|0));i=j;return}function aAP(a){a=a|0;return 28}function aAQ(a){a=a|0;return}function aAR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;d=a+4|0;c=b|0;e=+g[c>>2];f=+g[d>>2];if(e>2]=e;h=e}else{h=f}i=a+8|0;j=b+4|0;f=+g[j>>2];e=+g[i>>2];if(f>2]=f;k=f}else{k=e}l=a+12|0;m=b+8|0;e=+g[m>>2];f=+g[l>>2];if(e>2]=e;n=e}else{n=f}o=a+16|0;p=b+12|0;f=+g[p>>2];e=+g[o>>2];if(f>2]=f;q=f}else{q=e}r=a+20|0;e=+g[r>>2];f=+g[c>>2];if(e>2]=f;s=f}else{s=e}c=a+24|0;e=+g[c>>2];f=+g[j>>2];if(e>2]=f;t=f}else{t=e}j=a+28|0;e=+g[j>>2];f=+g[m>>2];if(e>2]=f;u=f}else{u=e}m=a+32|0;e=+g[m>>2];f=+g[p>>2];if(e>2]=f;v=f}else{v=e}p=b+16|0;e=+g[p>>2];if(e>2]=e;w=e}else{w=h}a=b+20|0;h=+g[a>>2];if(h>2]=h;x=h}else{x=k}y=b+24|0;k=+g[y>>2];if(k>2]=k;z=k}else{z=n}A=b+28|0;n=+g[A>>2];if(n>2]=n;B=n}else{B=q}q=+g[p>>2];if(s>2]=q;C=q}else{C=s}s=+g[a>>2];if(t>2]=s;D=s}else{D=t}t=+g[y>>2];if(u>2]=t;E=t}else{E=u}u=+g[A>>2];if(v>2]=u;F=u}else{F=v}A=b+32|0;v=+g[A>>2];if(v>2]=v}d=b+36|0;v=+g[d>>2];if(v>2]=v}i=b+40|0;v=+g[i>>2];if(v>2]=v}l=b+44|0;v=+g[l>>2];if(v>2]=v}v=+g[A>>2];if(C>2]=v}v=+g[d>>2];if(D>2]=v}v=+g[i>>2];if(E>2]=v}v=+g[l>>2];if(F>=v){return}g[m>>2]=v;return}function aAS(d,e,f){d=d|0;e=e|0;f=f|0;var 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.0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0.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,Z=0,_=0,$=0,ab=0,ac=0,ad=0,ae=0,af=0;j=i;i=i+64|0;k=j|0;l=j+8|0;m=j+16|0;n=j+24|0;o=j+32|0;p=j+40|0;q=j+48|0;r=j+56|0;s=d;t=cA[c[(c[s>>2]|0)+28>>2]&4095](d)|0;c[e+20>>2]=t;u=e;c[u>>2]=0;if((t|0)==0){v=e+4|0;w=d+4|0;x=+g[w>>2];y=v;g[y>>2]=x;z=d+8|0;A=+g[z>>2];B=e+8|0;C=B;g[C>>2]=A;D=d+12|0;E=+g[D>>2];F=e+12|0;G=F;g[G>>2]=E;H=d+16|0;I=+g[H>>2];J=e+16|0;K=J;g[K>>2]=I;i=j;return 16416}L=f;M=cS[c[(c[L>>2]|0)+16>>2]&511](f,32,t)|0;t=M+8|0;N=c[t>>2]|0;O=f;c[u>>2]=dj[c[(c[O>>2]|0)+28>>2]&511](f,N)|0;u=cA[c[(c[s>>2]|0)+28>>2]&4095](d)|0;if((u|0)>0){s=d;P=d;Q=f;R=0;S=N;while(1){di[c[(c[s>>2]|0)+16>>2]&63](d,k,q,n,p,l,m,r,o,R);c[S+24>>2]=c[r>>2];c[S+28>>2]=c[q>>2];c[S+20>>2]=0;N=S+8|0;T=S+12|0;U=S|0;V=S+4|0;aDD(S|0,0,16);W=c[o>>2]|0;do{if((W|0)==3){X=c[r>>2]|0;if((X|0)==0){break}Y=cS[c[(c[L>>2]|0)+16>>2]&511](f,8,X)|0;X=Y+8|0;Z=c[X>>2]|0;_=Z;c[T>>2]=dj[c[(c[O>>2]|0)+28>>2]&511](f,Z)|0;if((c[r>>2]|0)>0){Z=0;do{$=c[l>>2]|0;ab=aa(c[m>>2]|0,Z)|0;b[_+(Z<<3)>>1]=b[$+ab>>1]|0;b[_+(Z<<3)+2>>1]=b[$+(ab+2)>>1]|0;b[_+(Z<<3)+4>>1]=b[$+(ab+4)>>1]|0;Z=Z+1|0;}while((Z|0)<(c[r>>2]|0))}co[c[(c[Q>>2]|0)+20>>2]&255](f,Y,17560,1497453121,c[X>>2]|0)}else if((W|0)==5){Z=c[r>>2]|0;if((Z|0)==0){break}_=cS[c[(c[L>>2]|0)+16>>2]&511](f,4,Z)|0;Z=_+8|0;ab=c[Z>>2]|0;$=ab;c[S+16>>2]=dj[c[(c[O>>2]|0)+28>>2]&511](f,ab)|0;if((c[r>>2]|0)>0){ab=0;do{ac=c[l>>2]|0;ad=aa(c[m>>2]|0,ab)|0;a[$+(ab<<2)|0]=a[ac+ad|0]|0;a[$+(ab<<2)+1|0]=a[ac+(ad+1)|0]|0;a[$+(ab<<2)+2|0]=a[ac+(ad+2)|0]|0;ab=ab+1|0;}while((ab|0)<(c[r>>2]|0))}co[c[(c[Q>>2]|0)+20>>2]&255](f,_,17184,1497453121,c[Z>>2]|0)}else if((W|0)==2){ab=(c[r>>2]|0)*3|0;if((ab|0)==0){break}$=cS[c[(c[L>>2]|0)+16>>2]&511](f,4,ab)|0;ab=$+8|0;X=c[ab>>2]|0;Y=X;c[N>>2]=dj[c[(c[O>>2]|0)+28>>2]&511](f,X)|0;if((c[r>>2]|0)>0){X=0;do{ad=c[l>>2]|0;ac=aa(c[m>>2]|0,X)|0;ae=X*3|0;c[Y+(ae<<2)>>2]=c[ad+ac>>2];c[Y+(ae+1<<2)>>2]=c[ad+(ac+4)>>2];c[Y+(ae+2<<2)>>2]=c[ad+(ac+8)>>2];X=X+1|0;}while((X|0)<(c[r>>2]|0))}co[c[(c[Q>>2]|0)+20>>2]&255](f,$,16248,1497453121,c[ab>>2]|0)}}while(0);N=c[n>>2]|0;do{if((N|0)==0){W=c[q>>2]|0;if((W|0)==0){break}T=cS[c[(c[L>>2]|0)+16>>2]&511](f,16,W)|0;W=T+8|0;X=c[W>>2]|0;Y=X;c[U>>2]=dj[c[(c[O>>2]|0)+28>>2]&511](f,X)|0;if((c[q>>2]|0)>0){X=0;do{Z=c[k>>2]|0;_=aa(c[p>>2]|0,X)|0;g[Y+(X<<4)>>2]=+g[Z+_>>2];g[Y+(X<<4)+4>>2]=+g[Z+(_+4)>>2];g[Y+(X<<4)+8>>2]=+g[Z+(_+8)>>2];X=X+1|0;}while((X|0)<(c[q>>2]|0))}co[c[(c[Q>>2]|0)+20>>2]&255](f,T,16904,1497453121,c[W>>2]|0)}else if((N|0)==1){X=c[q>>2]|0;if((X|0)==0){break}Y=cS[c[(c[L>>2]|0)+16>>2]&511](f,32,X)|0;X=Y+8|0;ab=c[X>>2]|0;$=ab;c[V>>2]=dj[c[(c[O>>2]|0)+28>>2]&511](f,ab)|0;ab=c[q>>2]|0;if((ab|0)>0){_=c[k>>2]|0;Z=c[p>>2]|0;ac=0;do{ad=aa(Z,ac)|0;h[$+(ac<<5)>>3]=+h[_+ad>>3];h[$+(ac<<5)+8>>3]=+h[_+(ad+8)>>3];h[$+(ac<<5)+16>>3]=+h[_+(ad+16)>>3];ac=ac+1|0;}while((ac|0)<(ab|0))}co[c[(c[Q>>2]|0)+20>>2]&255](f,Y,16672,1497453121,c[X>>2]|0)}}while(0);cv[c[(c[P>>2]|0)+24>>2]&2047](d,R);V=R+1|0;if((V|0)<(u|0)){R=V;S=S+32|0}else{af=Q;break}}}else{af=f}co[c[(c[af>>2]|0)+20>>2]&255](f,M,16576,1497453121,c[t>>2]|0);v=e+4|0;w=d+4|0;x=+g[w>>2];y=v;g[y>>2]=x;z=d+8|0;A=+g[z>>2];B=e+8|0;C=B;g[C>>2]=A;D=d+12|0;E=+g[D>>2];F=e+12|0;G=F;g[G>>2]=E;H=d+16|0;I=+g[H>>2];J=e+16|0;K=J;g[K>>2]=I;i=j;return 16416}function aAT(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aAU(a){a=a|0;return}function aAV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function aAW(a,b){a=a|0;b=b|0;return 0}function aAX(a,b,c){a=a|0;b=b|0;c=+c;return 0}function aAY(a){a=a|0;return 17536|0}function aAZ(a){a=a|0;return c[a+92>>2]|0}function aA_(a){a=a|0;var b=0,d=0;b=c[a+92>>2]|0;switch(b|0){case 1:{d=0;break};case 0:case 3:{d=b;break};case 2:{d=1;break};case 4:{d=6;break};default:{d=0}}return d|0}function aA$(a){a=a|0;var b=0,d=0;b=c[a+92>>2]|0;switch(b|0){case 0:case 4:{d=b;break};case 1:{d=0;break};case 3:{d=2;break};case 2:{d=0;break};default:{d=0}}return d|0}function aA0(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var 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.0,y=0,z=0,A=0.0,B=0,C=0.0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0,R=0.0,S=0,T=0.0,U=0,V=0.0,W=0,X=0.0,Y=0,Z=0.0,_=0,$=0.0,aa=0,ab=0.0,ac=0.0,ad=0,ae=0.0,af=0,ag=0.0,ah=0,ai=0.0,aj=0,ak=0.0,al=0,am=0.0,an=0,ao=0.0,ap=0,aq=0.0,ar=0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0,ax=0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0.0,aI=0.0,aJ=0.0,aK=0.0,aL=0.0,aM=0.0,aN=0.0,aO=0.0,aP=0.0,aQ=0.0,aR=0.0,aS=0.0,aT=0.0,aU=0.0,aV=0.0,aW=0.0,aX=0.0,aY=0.0,aZ=0.0,a_=0.0,a$=0.0,a0=0,a1=0,a2=0.0,a3=0.0,a4=0.0,a5=0.0,a6=0.0,a7=0.0,a8=0.0,a9=0.0,ba=0.0,bb=0.0,bc=0.0,bd=0.0,be=0.0,bf=0,bg=0,bh=0,bi=0.0,bj=0.0,bk=0.0;l=i;i=i+128|0;m=l|0;n=l+16|0;o=l+32|0;p=l+48|0;q=l+64|0;r=l+80|0;s=l+96|0;t=l+112|0;u=d+4|0;v=c[u>>2]|0;a[v+312|0]=0;c[v>>2]=0;a[v+356|0]=1;g[v+292>>2]=999999984306749400.0;g[v+296>>2]=999999984306749400.0;g[v+300>>2]=999999984306749400.0;g[v+304>>2]=0.0;w=v+332|0;aDD(v+336|0,0,17);b[w>>1]=b[w>>1]&-16;w=f+48|0;v=e+48|0;x=+g[v>>2];y=f+52|0;z=e+52|0;A=+g[z>>2];B=f+56|0;f=e+56|0;C=+g[f>>2];D=j+48|0;E=h+48|0;F=+g[E>>2];G=j+52|0;H=h+52|0;I=+g[H>>2];J=j+56|0;j=h+56|0;K=+g[j>>2];L=e|0;M=+g[L>>2];N=e+4|0;O=+g[N>>2];P=e+8|0;R=+g[P>>2];S=e+16|0;T=+g[S>>2];U=e+20|0;V=+g[U>>2];W=e+24|0;X=+g[W>>2];Y=e+32|0;Z=+g[Y>>2];_=e+36|0;$=+g[_>>2];aa=e+40|0;ab=+g[aa>>2];e=h|0;ac=+g[e>>2];ad=h+4|0;ae=+g[ad>>2];af=h+8|0;ag=+g[af>>2];ah=h+16|0;ai=+g[ah>>2];aj=h+20|0;ak=+g[aj>>2];al=h+24|0;am=+g[al>>2];an=h+32|0;ao=+g[an>>2];ap=h+36|0;aq=+g[ap>>2];ar=h+40|0;as=+g[ar>>2];at=+g[w>>2]-x-(+g[D>>2]-F);au=+g[y>>2]-A-(+g[G>>2]-I);av=+g[B>>2]-C-(+g[J>>2]-K);h=d+8|0;aw=c[h>>2]|0;ax=c[(c[aw>>2]|0)+60>>2]|0;ay=-0.0-at;az=-0.0-au;aA=-0.0-av;g[n>>2]=M*ay+T*az+Z*aA;g[n+4>>2]=O*ay+V*az+$*aA;g[n+8>>2]=R*ay+X*az+ab*aA;g[n+12>>2]=0.0;dA[ax&511](m,aw,n);aA=+g[m>>2];az=+g[m+4>>2];ay=+g[m+8>>2];aB=+g[v>>2]+(+g[L>>2]*aA+ +g[N>>2]*az+ +g[P>>2]*ay);aC=+g[z>>2]+(aA*+g[S>>2]+az*+g[U>>2]+ay*+g[W>>2]);aD=+g[f>>2]+(aA*+g[Y>>2]+az*+g[_>>2]+ay*+g[aa>>2]);aa=d+12|0;d=c[aa>>2]|0;_=c[(c[d>>2]|0)+60>>2]|0;ay=at*+g[ad>>2]+au*+g[aj>>2]+av*+g[ap>>2];az=at*+g[af>>2]+au*+g[al>>2]+av*+g[ar>>2];g[p>>2]=at*+g[e>>2]+au*+g[ah>>2]+av*+g[an>>2];g[p+4>>2]=ay;g[p+8>>2]=az;g[p+12>>2]=0.0;dA[_&511](o,d,p);az=+g[o>>2];ay=+g[o+4>>2];aA=+g[o+8>>2];aE=aB-(+g[E>>2]+(+g[e>>2]*az+ +g[ad>>2]*ay+ +g[af>>2]*aA));aB=aC-(+g[H>>2]+(az*+g[ah>>2]+ay*+g[aj>>2]+aA*+g[al>>2]));aC=aD-(+g[j>>2]+(az*+g[an>>2]+ay*+g[ap>>2]+aA*+g[ar>>2]));L1484:do{if(aE*aE+aB*aB+aC*aC>9999999747378752.0e-20){ar=r|0;ap=r+4|0;an=r+8|0;al=r+12|0;aj=q|0;ah=q+4|0;af=q+8|0;ad=t|0;e=t+4|0;o=t+8|0;p=t+12|0;d=s|0;_=s+4|0;Y=s+8|0;aA=C;ay=A;az=x;aD=K;aF=I;aG=F;aH=0.0;aI=0.0;aJ=0.0;W=32;aK=0.0;aL=aE;aM=aB;aN=aC;while(1){U=W-1|0;if((W|0)==0){aO=aH;aP=aI;aQ=aJ;aR=aK;break L1484}S=c[h>>2]|0;P=c[(c[S>>2]|0)+60>>2]|0;aS=-0.0-aL;aT=-0.0-aM;aU=-0.0-aN;g[ar>>2]=M*aS+T*aT+Z*aU;g[ap>>2]=O*aS+V*aT+$*aU;g[an>>2]=R*aS+X*aT+ab*aU;g[al>>2]=0.0;dA[P&511](q,S,r);aU=+g[aj>>2];aT=+g[ah>>2];aS=+g[af>>2];aV=az+(M*aU+O*aT+R*aS);aW=ay+(T*aU+V*aT+X*aS);aX=aA+(Z*aU+$*aT+ab*aS);S=c[aa>>2]|0;P=c[(c[S>>2]|0)+60>>2]|0;g[ad>>2]=ac*aL+ai*aM+ao*aN;g[e>>2]=ae*aL+ak*aM+aq*aN;g[o>>2]=ag*aL+am*aM+as*aN;g[p>>2]=0.0;dA[P&511](s,S,t);aS=+g[d>>2];aT=+g[_>>2];aU=+g[Y>>2];aY=aG+(ac*aS+ae*aT+ag*aU);aZ=aF+(ai*aS+ak*aT+am*aU);a_=aD+(ao*aS+aq*aT+as*aU);aU=aV-aY;aT=aW-aZ;aS=aX-a_;a$=aL*aU+aM*aT+aN*aS;if(aK>1.0){a0=0;a1=1141;break}if(a$>0.0){a2=at*aL+au*aM+av*aN;if(a2>=-1.4210854715202004e-14){a0=0;a1=1140;break}a3=aK-a$/a2;a2=1.0-a3;a4=a3;a5=aL;a6=aM;a7=aN;a8=a2*+g[E>>2]+a3*+g[D>>2];a9=a2*+g[H>>2]+a3*+g[G>>2];ba=a2*+g[j>>2]+a3*+g[J>>2];bb=+g[v>>2]*a2+a3*+g[w>>2];bc=a2*+g[z>>2]+a3*+g[y>>2];bd=a2*+g[f>>2]+a3*+g[B>>2]}else{a4=aK;a5=aJ;a6=aI;a7=aH;a8=aG;a9=aF;ba=aD;bb=az;bc=ay;bd=aA}S=c[u>>2]|0;P=S|0;N=c[P>>2]|0;if((N|0)>0){a3=+g[S+308>>2];L=0;m=0;while(1){a2=aU- +g[S+4+(m<<4)>>2];a$=aT- +g[S+4+(m<<4)+4>>2];be=aS- +g[S+4+(m<<4)+8>>2];n=L|a2*a2+a$*a$+be*be<=a3;aw=m+1|0;if((aw|0)<(N|0)){L=n;m=aw}else{bf=n;break}}}else{bf=0}m=S+304|0;do{if(+g[m>>2]==0.0){if(aS!=+g[S+300>>2]){bg=0;break}if(aT!=+g[S+296>>2]){bg=0;break}bg=aU==+g[S+292>>2]}else{bg=0}}while(0);if(bg|bf){bh=S}else{g[S+292>>2]=aU;g[S+296>>2]=aT;g[S+300>>2]=aS;g[m>>2]=0.0;a[S+356|0]=1;g[S+4+(N<<4)>>2]=aU;g[S+4+(N<<4)+4>>2]=aT;g[S+4+(N<<4)+8>>2]=aS;g[S+4+(N<<4)+12>>2]=0.0;L=c[P>>2]|0;g[S+84+(L<<4)>>2]=aV;g[S+84+(L<<4)+4>>2]=aW;g[S+84+(L<<4)+8>>2]=aX;g[S+84+(L<<4)+12>>2]=0.0;L=c[P>>2]|0;g[S+164+(L<<4)>>2]=aY;g[S+164+(L<<4)+4>>2]=aZ;g[S+164+(L<<4)+8>>2]=a_;g[S+164+(L<<4)+12>>2]=0.0;c[P>>2]=(c[P>>2]|0)+1;bh=c[u>>2]|0}L=aBZ(bh)|0;a3=+g[bh+276>>2];be=+g[bh+280>>2];a$=+g[bh+284>>2];if(!L){aO=a7;aP=a6;aQ=a5;aR=a4;break L1484}if(a3*a3+be*be+a$*a$>9999999747378752.0e-20){aA=bd;ay=bc;az=bb;aD=ba;aF=a9;aG=a8;aH=a7;aI=a6;aJ=a5;W=U;aK=a4;aL=a3;aM=be;aN=a$}else{aO=a7;aP=a6;aQ=a5;aR=a4;break L1484}}if((a1|0)==1140){i=l;return a0|0}else if((a1|0)==1141){i=l;return a0|0}}else{aO=0.0;aP=0.0;aQ=0.0;aR=0.0}}while(0);g[k+164>>2]=aR;aR=aO*aO+(aP*aP+aQ*aQ);if(aR<1.4210854715202004e-14){aDD(k+132|0,0,16);bi=0.0;bj=0.0;bk=0.0}else{a4=1.0/+Q(+aR);aR=aQ*a4;aQ=aP*a4;aP=aO*a4;g[k+132>>2]=aR;g[k+136>>2]=aQ;g[k+140>>2]=aP;g[k+144>>2]=0.0;bi=aR;bj=aQ;bk=aP}if(at*bi+au*bj+av*bk>=-0.0- +g[k+172>>2]){a0=0;i=l;return a0|0}a1=c[u>>2]|0;aBZ(a1)|0;aDG(k+148|0,a1+260|0,16);a0=1;i=l;return a0|0}function aA1(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aA2(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;azf(a|0,b,c,d);return}function aA3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[a+92>>2]|0;if((f|0)==3){if((b|0)==0){g=d;h=a+96|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=e;g=a+112|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}else if((b|0)==1){g=d;h=a+112|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=e;g=a+128|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}else if((b|0)==2){g=d;h=a+128|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=e;g=a+96|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}else{return}}else if((f|0)==2){g=d;h=a+96|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];h=e;g=a+112|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}else if((f|0)==4){switch(b|0){case 3:{b=d;f=a+96|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=e;b=a+144|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];return};case 4:{b=d;f=a+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=e;b=a+144|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];return};case 1:{b=d;f=a+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=e;b=a+128|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];return};case 5:{b=d;f=a+128|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=e;b=a+144|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];return};case 0:{b=d;f=a+96|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];f=e;b=a+112|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];return};case 2:{b=d;d=a+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=e;e=a+96|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return};default:{return}}}else{return}}function aA4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=d;d=a+96+(b<<4)|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];return}function aA5(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0);return}function aA6(a){a=a|0;var b=0;c[a>>2]=21200;b=c[a+52>>2]|0;if((b|0)!=0){c[9804]=(c[9804]|0)+1;aDB(c[b-80+76>>2]|0)}c[9804]=(c[9804]|0)+1;aDB(c[a-160+156>>2]|0);return}function aA7(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=20368;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0}else{if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-32+28>>2]|0)}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0}c[9804]=(c[9804]|0)+1;aDB(c[b-84+80>>2]|0);return}function aA8(a,b){a=a|0;b=b|0;return}function aA9(a,b){a=a|0;b=b|0;return}function aBa(a,b){a=a|0;b=b|0;return}function aBb(a,b){a=a|0;b=b|0;return}function aBc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;l=c[a+32>>2]|0;c[d>>2]=c[l+(k<<5)+12>>2];c[b>>2]=c[l+(k<<5)+16>>2];c[e>>2]=c[l+(k<<5)+28>>2];c[f>>2]=c[l+(k<<5)+20>>2];c[i>>2]=c[l+(k<<5)>>2];c[g>>2]=c[l+(k<<5)+4>>2];c[h>>2]=c[l+(k<<5)+8>>2];c[j>>2]=c[l+(k<<5)+24>>2];return}function aBd(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;l=c[a+32>>2]|0;c[d>>2]=c[l+(k<<5)+12>>2];c[b>>2]=c[l+(k<<5)+16>>2];c[e>>2]=c[l+(k<<5)+28>>2];c[f>>2]=c[l+(k<<5)+20>>2];c[i>>2]=c[l+(k<<5)>>2];c[g>>2]=c[l+(k<<5)+4>>2];c[h>>2]=c[l+(k<<5)+8>>2];c[j>>2]=c[l+(k<<5)+24>>2];return}function aBe(a){a=a|0;return(c[a+48>>2]|0)==1|0}function aBf(a){a=a|0;return c[a+24>>2]|0}function aBg(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=20368;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-32+28>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+28>>2]=0;return}function aBh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+52|0;f=b;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];f=a+68|0;e=d;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[a+48>>2]=1;return}function aBi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b;b=a+52|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=d;d=a+68|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];return}function aBj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g[b+4>>2]=1.0;g[b+8>>2]=1.0;g[b+12>>2]=1.0;g[b+16>>2]=0.0;f=b+36|0;a[f]=1;h=b+32|0;c[h>>2]=0;i=b+24|0;c[i>>2]=0;j=b+28|0;c[j>>2]=0;c[b+48>>2]=0;c[b>>2]=25248;a[b+100|0]=1;c[b+96>>2]=0;k=b+88|0;c[k>>2]=0;c[b+92>>2]=0;a[b+120|0]=1;c[b+116>>2]=0;l=b+108|0;c[l>>2]=0;c[b+112>>2]=0;a[b+140|0]=1;c[b+136>>2]=0;m=b+128|0;c[m>>2]=0;c[b+132>>2]=0;a[b+160|0]=1;c[b+156>>2]=0;n=b+148|0;c[n>>2]=0;c[b+152>>2]=0;o=b+164|0;a[o]=d&1;d=b+165|0;a[d]=e&1;g[b+168>>2]=0.0;c[9806]=(c[9806]|0)+1;b=aDx(51)|0;if((b|0)==0){p=0}else{e=-(b+4|0)&15;c[b+e>>2]=b;p=b+(e+4)|0}e=c[i>>2]|0;if((e|0)>0){b=0;do{q=p+(b<<5)|0;r=(c[h>>2]|0)+(b<<5)|0;aDC(q|0,r|0,32)|0;b=b+1|0;}while((b|0)<(e|0))}e=c[h>>2]|0;if((e|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-32+28>>2]|0)}c[h>>2]=0}a[f]=1;c[h>>2]=p;c[j>>2]=1;j=c[i>>2]|0;c[p+(j<<5)>>2]=0;c[p+(j<<5)+4>>2]=0;c[p+(j<<5)+8>>2]=12;c[p+(j<<5)+12>>2]=0;c[p+(j<<5)+16>>2]=0;c[p+(j<<5)+20>>2]=16;c[p+(j<<5)+24>>2]=2;c[p+(j<<5)+28>>2]=0;c[i>>2]=(c[i>>2]|0)+1;if((a[o]&1)==0){c[c[h>>2]>>2]=(c[n>>2]|0)/3|0;c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+24>>2]=3;c[(c[h>>2]|0)+8>>2]=6}else{c[c[h>>2]>>2]=(c[m>>2]|0)/3|0;c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+24>>2]=2;c[(c[h>>2]|0)+8>>2]=12}if((a[d]&1)==0){c[(c[h>>2]|0)+12>>2]=(c[l>>2]|0)/3|0;c[(c[h>>2]|0)+16>>2]=0;c[(c[h>>2]|0)+20>>2]=12;return}else{c[(c[h>>2]|0)+12>>2]=c[k>>2];c[(c[h>>2]|0)+16>>2]=0;c[(c[h>>2]|0)+20>>2]=16;return}}function aBk(d,e){d=d|0;e=e|0;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;if((a[d+164|0]&1)==0){f=e&65535;g=d+148|0;h=c[g>>2]|0;i=d+152|0;do{if((h|0)==(c[i>>2]|0)){j=(h|0)==0?1:h<<1;if((h|0)>=(j|0)){k=h;break}if((j|0)==0){l=0;m=h}else{c[9806]=(c[9806]|0)+1;n=aDx((j<<1)+19|0)|0;if((n|0)==0){o=0}else{p=-(n+4|0)&15;c[n+p>>2]=n;o=n+(p+4)|0}l=o;m=c[g>>2]|0}p=d+156|0;if((m|0)>0){n=0;do{q=l+(n<<1)|0;if((q|0)!=0){b[q>>1]=b[(c[p>>2]|0)+(n<<1)>>1]|0}n=n+1|0;}while((n|0)<(m|0))}n=c[p>>2]|0;q=d+160|0;if((n|0)!=0){if((a[q]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[n-4>>2]|0)}c[p>>2]=0}a[q]=1;c[p>>2]=l;c[i>>2]=j;k=c[g>>2]|0}else{k=h}}while(0);h=d+156|0;i=c[h>>2]|0;l=i+(k<<1)|0;if((l|0)==0){r=k;s=i}else{b[l>>1]=f;r=c[g>>2]|0;s=c[h>>2]|0}c[g>>2]=r+1;c[(c[d+32>>2]|0)+4>>2]=s;return}else{s=d+128|0;r=c[s>>2]|0;g=d+132|0;do{if((r|0)==(c[g>>2]|0)){h=(r|0)==0?1:r<<1;if((r|0)>=(h|0)){t=r;break}if((h|0)==0){u=0;v=r}else{c[9806]=(c[9806]|0)+1;f=aDx((h<<2)+19|0)|0;if((f|0)==0){w=0}else{l=-(f+4|0)&15;c[f+l>>2]=f;w=f+(l+4)|0}u=w;v=c[s>>2]|0}l=d+136|0;if((v|0)>0){f=0;do{i=u+(f<<2)|0;if((i|0)!=0){c[i>>2]=c[(c[l>>2]|0)+(f<<2)>>2]}f=f+1|0;}while((f|0)<(v|0))}f=c[l>>2]|0;j=d+140|0;if((f|0)!=0){if((a[j]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-4>>2]|0)}c[l>>2]=0}a[j]=1;c[l>>2]=u;c[g>>2]=h;t=c[s>>2]|0}else{t=r}}while(0);r=d+136|0;g=c[r>>2]|0;u=g+(t<<2)|0;if((u|0)==0){x=t;y=g}else{c[u>>2]=e;x=c[s>>2]|0;y=c[r>>2]|0}c[s>>2]=x+1;c[(c[d+32>>2]|0)+4>>2]=y;return}}function aBl(a,b){a=a|0;b=b|0;return}function aBm(a,b){a=a|0;b=b|0;return}function aBn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0;if((a[b+165|0]&1)!=0){f=b+88|0;L1676:do{if(e){h=c[f>>2]|0;i=b+96|0;j=d|0;k=d+4|0;l=d+8|0;m=b+168|0;n=0;while(1){if((n|0)>=(h|0)){break L1676}o=c[i>>2]|0;p=+g[o+(n<<4)>>2]- +g[j>>2];q=+g[o+(n<<4)+4>>2]- +g[k>>2];r=+g[o+(n<<4)+8>>2]- +g[l>>2];if(p*p+q*q+r*r>+g[m>>2]){n=n+1|0}else{s=n;break}}return s|0}}while(0);n=b+32|0;m=(c[n>>2]|0)+12|0;c[m>>2]=(c[m>>2]|0)+1;m=c[f>>2]|0;l=b+92|0;do{if((m|0)==(c[l>>2]|0)){k=(m|0)==0?1:m<<1;if((m|0)>=(k|0)){t=m;break}if((k|0)==0){u=0;v=m}else{c[9806]=(c[9806]|0)+1;j=aDx((k<<4|4)+15|0)|0;if((j|0)==0){w=0}else{i=-(j+4|0)&15;c[j+i>>2]=j;w=j+(i+4)|0}u=w;v=c[f>>2]|0}i=b+96|0;if((v|0)>0){j=0;do{h=u+(j<<4)|0;if((h|0)!=0){o=h;h=(c[i>>2]|0)+(j<<4)|0;c[o>>2]=c[h>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2]}j=j+1|0;}while((j|0)<(v|0))}j=c[i>>2]|0;h=b+100|0;if((j|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[j-16+12>>2]|0)}c[i>>2]=0}a[h]=1;c[i>>2]=u;c[l>>2]=k;t=c[f>>2]|0}else{t=m}}while(0);m=b+96|0;l=c[m>>2]|0;u=l+(t<<4)|0;if((u|0)==0){x=t;y=l}else{l=u;u=d;c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[l+12>>2]=c[u+12>>2];x=c[f>>2]|0;y=c[m>>2]|0}c[f>>2]=x+1;c[(c[n>>2]|0)+16>>2]=y;s=(c[f>>2]|0)-1|0;return s|0}f=b+108|0;y=c[f>>2]|0;L1711:do{if(e){n=b+116|0;x=d|0;m=d+4|0;u=d+8|0;l=b+168|0;t=0;while(1){if((t|0)>=(y|0)){z=x;break L1711}v=c[n>>2]|0;r=+g[v+(t<<2)>>2]- +g[x>>2];q=+g[v+(t+1<<2)>>2]- +g[m>>2];p=+g[v+(t+2<<2)>>2]- +g[u>>2];if(r*r+q*q+p*p>+g[l>>2]){t=t+3|0}else{break}}s=(t|0)/3|0;return s|0}else{z=d|0}}while(0);p=+g[z>>2];z=b+112|0;e=c[z>>2]|0;do{if((y|0)==(e|0)){l=(y|0)==0?1:y<<1;if((y|0)>=(l|0)){A=y;B=y;break}if((l|0)==0){C=0;D=y}else{c[9806]=(c[9806]|0)+1;u=aDx((l<<2)+19|0)|0;if((u|0)==0){E=0}else{m=-(u+4|0)&15;c[u+m>>2]=u;E=u+(m+4)|0}C=E;D=c[f>>2]|0}m=b+116|0;if((D|0)>0){u=0;do{x=C+(u<<2)|0;if((x|0)!=0){g[x>>2]=+g[(c[m>>2]|0)+(u<<2)>>2]}u=u+1|0;}while((u|0)<(D|0))}u=c[m>>2]|0;t=b+120|0;if((u|0)!=0){if((a[t]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[u-4>>2]|0)}c[m>>2]=0}a[t]=1;c[m>>2]=C;c[z>>2]=l;A=c[f>>2]|0;B=l}else{A=y;B=e}}while(0);e=b+116|0;y=(c[e>>2]|0)+(A<<2)|0;if((y|0)==0){F=A;G=B}else{g[y>>2]=p;F=c[f>>2]|0;G=c[z>>2]|0}y=F+1|0;c[f>>2]=y;p=+g[d+4>>2];do{if((y|0)==(G|0)){F=(G|0)==0?1:G<<1;if((G|0)>=(F|0)){H=G;I=G;break}if((F|0)==0){J=0;K=G}else{c[9806]=(c[9806]|0)+1;B=aDx((F<<2)+19|0)|0;if((B|0)==0){L=0}else{A=-(B+4|0)&15;c[B+A>>2]=B;L=B+(A+4)|0}J=L;K=c[f>>2]|0}if((K|0)>0){A=0;do{B=J+(A<<2)|0;if((B|0)!=0){g[B>>2]=+g[(c[e>>2]|0)+(A<<2)>>2]}A=A+1|0;}while((A|0)<(K|0))}A=c[e>>2]|0;l=b+120|0;if((A|0)!=0){if((a[l]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[A-4>>2]|0)}c[e>>2]=0}a[l]=1;c[e>>2]=J;c[z>>2]=F;H=c[f>>2]|0;I=F}else{H=y;I=G}}while(0);G=(c[e>>2]|0)+(H<<2)|0;if((G|0)==0){M=H;N=I}else{g[G>>2]=p;M=c[f>>2]|0;N=c[z>>2]|0}G=M+1|0;c[f>>2]=G;p=+g[d+8>>2];do{if((G|0)==(N|0)){d=(N|0)==0?1:N<<1;if((N|0)>=(d|0)){O=N;break}if((d|0)==0){P=0;Q=N}else{c[9806]=(c[9806]|0)+1;M=aDx((d<<2)+19|0)|0;if((M|0)==0){R=0}else{I=-(M+4|0)&15;c[M+I>>2]=M;R=M+(I+4)|0}P=R;Q=c[f>>2]|0}if((Q|0)>0){I=0;do{M=P+(I<<2)|0;if((M|0)!=0){g[M>>2]=+g[(c[e>>2]|0)+(I<<2)>>2]}I=I+1|0;}while((I|0)<(Q|0))}I=c[e>>2]|0;F=b+120|0;if((I|0)!=0){if((a[F]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[I-4>>2]|0)}c[e>>2]=0}a[F]=1;c[e>>2]=P;c[z>>2]=d;O=c[f>>2]|0}else{O=G}}while(0);G=(c[e>>2]|0)+(O<<2)|0;if((G|0)==0){S=O}else{g[G>>2]=p;S=c[f>>2]|0}c[f>>2]=S+1;S=b+32|0;b=(c[S>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[S>>2]|0)+16>>2]=c[e>>2];s=((c[f>>2]|0)/3|0)-1|0;return s|0}function aBo(a){a=a|0;aBq(a);return}function aBp(a){a=a|0;aBq(a);if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-172+168>>2]|0);return}function aBq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=b|0;c[d>>2]=25248;e=b+148|0;f=b+156|0;g=c[f>>2]|0;h=b+160|0;if((g|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[f>>2]=0}a[h]=1;c[f>>2]=0;c[e>>2]=0;c[b+152>>2]=0;e=b+128|0;f=b+136|0;h=c[f>>2]|0;g=b+140|0;if((h|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[h-4>>2]|0)}c[f>>2]=0}a[g]=1;c[f>>2]=0;c[e>>2]=0;c[b+132>>2]=0;e=b+108|0;f=b+116|0;g=c[f>>2]|0;h=b+120|0;if((g|0)!=0){if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[f>>2]=0}a[h]=1;c[f>>2]=0;c[e>>2]=0;c[b+112>>2]=0;e=b+88|0;f=b+96|0;h=c[f>>2]|0;g=b+100|0;if((h|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[h-16+12>>2]|0)}c[f>>2]=0}a[g]=1;c[f>>2]=0;c[e>>2]=0;c[b+92>>2]=0;c[d>>2]=20368;d=b+24|0;e=b+32|0;f=c[e>>2]|0;g=b+36|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;i=b+28|0;c[i>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-32+28>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;i=b+28|0;c[i>>2]=0;return}function aBr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+48|0;e=d|0;f=d+16|0;h=d+32|0;c[a+8>>2]=0;j=a+12|0;g[j>>2]=0.0;c[a>>2]=22768;c[a+48>>2]=b;c[a+4>>2]=21;if(cA[c[(c[b>>2]|0)+40>>2]&4095](b)|0){dA[c[(c[b>>2]|0)+48>>2]&511](b,a+16|0,a+32|0);i=d;return}else{b=e;k=f;l=h;m=e|0;n=e+4|0;o=e+8|0;p=a;aDD(b|0,0,16);g[m>>2]=1.0;dA[c[(c[p>>2]|0)+64>>2]&511](f,a,e);q=f|0;g[a+32>>2]=+g[q>>2]+ +g[j>>2];g[m>>2]=-1.0;dA[c[(c[p>>2]|0)+64>>2]&511](h,a,e);c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];g[a+16>>2]=+g[q>>2]- +g[j>>2];aDD(b|0,0,16);g[n>>2]=1.0;dA[c[(c[p>>2]|0)+64>>2]&511](f,a,e);q=f+4|0;g[a+36>>2]=+g[q>>2]+ +g[j>>2];g[n>>2]=-1.0;dA[c[(c[p>>2]|0)+64>>2]&511](h,a,e);c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];g[a+20>>2]=+g[q>>2]- +g[j>>2];aDD(b|0,0,16);g[o>>2]=1.0;dA[c[(c[p>>2]|0)+64>>2]&511](f,a,e);b=f+8|0;g[a+40>>2]=+g[b>>2]+ +g[j>>2];g[o>>2]=-1.0;dA[c[(c[p>>2]|0)+64>>2]&511](h,a,e);c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];g[a+24>>2]=+g[b>>2]- +g[j>>2];i=d;return}}function aBs(a){a=a|0;return}function aBt(a){a=a|0;return}function aBu(a){a=a|0;return 16208|0}function aBv(a){a=a|0;return}function aBw(a){a=a|0;return}function aBx(a){a=a|0;return(c[a+48>>2]|0)+4|0}function aBy(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+48|0;d=b|0;e=b+16|0;f=b+32|0;h=d|0;j=d+4|0;k=d+8|0;l=a;m=a+12|0;n=e;o=f;p=d;aDD(p|0,0,16);g[h>>2]=1.0;dA[c[(c[l>>2]|0)+64>>2]&511](e,a,d);q=e|0;g[a+32>>2]=+g[q>>2]+ +g[m>>2];g[h>>2]=-1.0;dA[c[(c[l>>2]|0)+64>>2]&511](f,a,d);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];g[a+16>>2]=+g[q>>2]- +g[m>>2];aDD(p|0,0,16);g[j>>2]=1.0;dA[c[(c[l>>2]|0)+64>>2]&511](e,a,d);q=e+4|0;g[a+36>>2]=+g[q>>2]+ +g[m>>2];g[j>>2]=-1.0;dA[c[(c[l>>2]|0)+64>>2]&511](f,a,d);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];g[a+20>>2]=+g[q>>2]- +g[m>>2];aDD(p|0,0,16);g[k>>2]=1.0;dA[c[(c[l>>2]|0)+64>>2]&511](e,a,d);p=e+8|0;g[a+40>>2]=+g[p>>2]+ +g[m>>2];g[k>>2]=-1.0;dA[c[(c[l>>2]|0)+64>>2]&511](f,a,d);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];g[a+24>>2]=+g[p>>2]- +g[m>>2];i=b;return}function aBz(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aBA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;f=a+32|0;h=a+16|0;i=a+36|0;j=a+20|0;k=a+40|0;l=a+24|0;m=(+g[f>>2]- +g[h>>2])*.5;n=(+g[i>>2]- +g[j>>2])*.5;o=(+g[k>>2]- +g[l>>2])*.5;p=a|0;q=a;r=+dh[c[(c[q>>2]|0)+44>>2]&1023](p);s=+dh[c[(c[q>>2]|0)+44>>2]&1023](p);t=m+r;r=n+s;s=o+ +dh[c[(c[q>>2]|0)+44>>2]&1023](p);o=(+g[f>>2]+ +g[h>>2])*.5;n=(+g[i>>2]+ +g[j>>2])*.5;m=(+g[k>>2]+ +g[l>>2])*.5;u=+g[b>>2];v=+P(+u);w=+g[b+4>>2];x=+P(+w);y=+g[b+8>>2];z=+P(+y);A=+g[b+16>>2];B=+P(+A);C=+g[b+20>>2];D=+P(+C);E=+g[b+24>>2];F=+P(+E);G=+g[b+32>>2];H=+P(+G);I=+g[b+36>>2];J=+P(+I);K=+g[b+40>>2];L=+P(+K);M=+g[b+48>>2]+(o*u+n*w+m*y);y=+g[b+52>>2]+(o*A+n*C+m*E);E=+g[b+56>>2]+(o*G+n*I+m*K);K=t*v+r*x+s*z;z=t*B+r*D+s*F;F=t*H+r*J+s*L;g[d>>2]=M-K;g[d+4>>2]=y-z;g[d+8>>2]=E-F;g[d+12>>2]=0.0;g[e>>2]=K+M;g[e+4>>2]=z+y;g[e+8>>2]=F+E;g[e+12>>2]=0.0;return}function aBB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+48|0;e=d|0;f=d+16|0;h=d+32|0;j=(c[a+48>>2]|0)+4|0;k=b;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];k=e;j=f;b=h;l=e|0;m=e+4|0;n=e+8|0;o=a;p=a+12|0;aDD(k|0,0,16);g[l>>2]=1.0;dA[c[(c[o>>2]|0)+64>>2]&511](f,a,e);q=f|0;g[a+32>>2]=+g[q>>2]+ +g[p>>2];g[l>>2]=-1.0;dA[c[(c[o>>2]|0)+64>>2]&511](h,a,e);c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];g[a+16>>2]=+g[q>>2]- +g[p>>2];aDD(k|0,0,16);g[m>>2]=1.0;dA[c[(c[o>>2]|0)+64>>2]&511](f,a,e);q=f+4|0;g[a+36>>2]=+g[q>>2]+ +g[p>>2];g[m>>2]=-1.0;dA[c[(c[o>>2]|0)+64>>2]&511](h,a,e);c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];g[a+20>>2]=+g[q>>2]- +g[p>>2];aDD(k|0,0,16);g[n>>2]=1.0;dA[c[(c[o>>2]|0)+64>>2]&511](f,a,e);k=f+8|0;g[a+40>>2]=+g[k>>2]+ +g[p>>2];g[n>>2]=-1.0;dA[c[(c[o>>2]|0)+64>>2]&511](h,a,e);c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];g[a+24>>2]=+g[k>>2]- +g[p>>2];i=d;return}function aBC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+40|0;g=f|0;c[g>>2]=18456;c[g+4>>2]=b;b=g+8|0;h=d;c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];h=g+24|0;b=e;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];b=c[a+48>>2]|0;dI[c[(c[b>>2]|0)+8>>2]&1023](b,g|0,d,e);i=f;return}function aBD(a,b,c){a=a|0;b=+b;c=c|0;aDD(c|0,0,16);return}function aBE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;e=i;i=i+176|0;f=e+16|0;h=e+40|0;j=e+144|0;k=e+160|0;l=e|0;aDD(l|0,0,16);aDD(f|0,0,20);c[h>>2]=22472;aDD(h+4|0,0,16);g[h+20>>2]=1.0;m=h+24|0;n=m;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[n+8>>2]=c[l+8>>2];c[h+36>>2]=0;g[h+40>>2]=1.0;aDD(h+44|0,0,16);g[h+60>>2]=1.0;g[h+64>>2]=0.0;l=h+68|0;n=f+4|0;c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];g[h+84>>2]=-999999984306749400.0;o=+g[d>>2];p=+g[d+4>>2];q=p*0.0;r=+g[d+8>>2];s=r*0.0;t=o*+g[m>>2]+p+s;p=o*+g[h+28>>2]+q+r;g[h+88>>2]=o+q+s;g[h+92>>2]=t;g[h+96>>2]=p;g[h+100>>2]=0.0;g[j>>2]=999999984306749400.0;g[j+4>>2]=999999984306749400.0;g[j+8>>2]=999999984306749400.0;g[j+12>>2]=0.0;m=c[(c[b>>2]|0)+60>>2]|0;g[k>>2]=-999999984306749400.0;g[k+4>>2]=-999999984306749400.0;g[k+8>>2]=-999999984306749400.0;g[k+12>>2]=0.0;dI[m&1023](b,h|0,k,j);j=h+4|0;h=a;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];i=e;return}function aBF(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aBG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;e=a+84|0;d=a+4|0;f=+g[a+88>>2];h=+g[a+92>>2];i=+g[a+96>>2];j=f*+g[b>>2]+h*+g[b+4>>2]+i*+g[b+8>>2];k=+g[e>>2];if(j>k){g[e>>2]=j;a=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];l=j}else{l=k}a=b+16|0;k=f*+g[a>>2]+h*+g[b+20>>2]+i*+g[b+24>>2];if(k>l){g[e>>2]=k;m=a;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];n=k}else{n=l}m=b+32|0;l=f*+g[m>>2]+h*+g[b+36>>2]+i*+g[b+40>>2];if(l<=n){return}g[e>>2]=l;e=m;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];return}function aBH(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aBI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0;f=b|0;h=b+16|0;i=+g[f>>2];j=+g[h>>2];k=b+32|0;l=i>2];if((l+g[a+24>>2]){return}n=i>j?f:h;if(+g[(+g[n>>2]>m?n:k)>>2]<+g[a+8>>2]){return}k=b+8|0;n=b+24|0;m=+g[k>>2];j=+g[n>>2];h=b+40|0;i=m>2];if((i+g[a+32>>2]){return}f=m>j?k:n;if(+g[(+g[f>>2]>l?f:h)>>2]<+g[a+16>>2]){return}h=b+4|0;f=b+20|0;l=+g[h>>2];j=+g[f>>2];n=b+36|0;m=l>2];if((m+g[a+28>>2]){return}k=l>j?h:f;if(+g[(+g[k>>2]>i?k:n)>>2]<+g[a+12>>2]){return}n=c[a+4>>2]|0;dI[c[(c[n>>2]|0)+8>>2]&1023](n,b,d,e);return}function aBJ(a){a=a|0;if((a|0)==0){return}c[9804]=(c[9804]|0)+1;aDB(c[a-20+16>>2]|0);return}function aBK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0;e=i;i=i+16|0;f=e|0;h=c[b+12>>2]|0;dA[c[(c[h>>2]|0)+64>>2]&511](f,h,d);j=+g[b+16>>2];k=+g[f+4>>2]*j;l=+g[f+8>>2]*j;g[a>>2]=+g[f>>2]*j;g[a+4>>2]=k;g[a+8>>2]=l;g[a+12>>2]=0.0;i=e;return}function aBL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0.0,k=0,l=0.0;f=c[a+12>>2]|0;dI[c[(c[f>>2]|0)+68>>2]&1023](f,b,d,e);if((e|0)<=0){return}b=a+16|0;a=0;do{f=d+(a<<4)|0;h=+g[b>>2];i=d+(a<<4)+4|0;j=h*+g[i>>2];k=d+(a<<4)+8|0;l=h*+g[k>>2];g[f>>2]=+g[f>>2]*h;g[i>>2]=j;g[k>>2]=l;g[d+(a<<4)+12>>2]=0.0;a=a+1|0;}while((a|0)<(e|0));return}function aBM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0;e=i;i=i+16|0;f=e|0;h=c[b+12>>2]|0;dA[c[(c[h>>2]|0)+60>>2]&511](f,h,d);j=+g[b+16>>2];k=+g[f+4>>2]*j;l=+g[f+8>>2]*j;g[a>>2]=+g[f>>2]*j;g[a+4>>2]=k;g[a+8>>2]=l;g[a+12>>2]=0.0;i=e;return}function aBN(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0;e=i;i=i+16|0;f=e|0;h=c[a+12>>2]|0;cX[c[(c[h>>2]|0)+32>>2]&255](h|0,b,f);b=+g[a+16>>2];j=b*+g[f+4>>2];k=b*+g[f+8>>2];g[d>>2]=+g[f>>2]*b;g[d+4>>2]=j;g[d+8>>2]=k;g[d+12>>2]=0.0;i=e;return}function aBO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dI[c[(c[a>>2]|0)+72>>2]&1023](a,b,d,e);return}function aBP(a){a=a|0;return 16184|0}function aBQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0,z=0.0,A=0,B=0.0,C=0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0;f=i;i=i+256|0;h=f|0;j=f+96|0;k=f+192|0;l=f+208|0;m=f+224|0;n=f+240|0;g[h>>2]=1.0;aDD(h+4|0,0,16);g[h+20>>2]=1.0;aDD(h+24|0,0,16);g[h+40>>2]=1.0;g[h+44>>2]=0.0;g[h+48>>2]=-1.0;aDD(h+52|0,0,16);g[h+68>>2]=-1.0;aDD(h+72|0,0,16);g[h+88>>2]=-1.0;g[h+92>>2]=0.0;o=b|0;aDD(j|0,0,96);p=+g[o>>2];q=b+16|0;r=+g[q>>2];s=b+32|0;t=+g[s>>2];u=b+4|0;v=+g[u>>2];w=b+20|0;x=+g[w>>2];y=b+36|0;z=+g[y>>2];A=b+8|0;B=+g[A>>2];C=b+24|0;D=+g[C>>2];E=b+40|0;F=+g[E>>2];G=0;H=1.0;I=0.0;J=0.0;while(1){g[h+(G<<4)>>2]=p*H+r*I+t*J;g[h+(G<<4)+4>>2]=H*v+I*x+J*z;g[h+(G<<4)+8>>2]=H*B+I*D+J*F;g[h+(G<<4)+12>>2]=0.0;K=G+1|0;if((K|0)>=6){break}G=K;H=+g[h+(K<<4)>>2];I=+g[h+(K<<4)+4>>2];J=+g[h+(K<<4)+8>>2]}dI[c[(c[a>>2]|0)+68>>2]&1023](a,h|0,j|0,6);h=k|0;G=k+4|0;K=k+8|0;L=l|0;aDD(k|0,0,16);M=l+4|0;N=l+8|0;aDD(l|0,0,16);J=+g[o>>2];I=+g[u>>2];H=+g[A>>2];F=+g[b+48>>2];D=+g[q>>2];B=+g[w>>2];z=+g[C>>2];x=+g[b+52>>2];v=+g[s>>2];t=+g[y>>2];r=+g[E>>2];p=+g[b+56>>2];b=m|0;E=m+4|0;y=m+8|0;s=m+12|0;C=n|0;w=n+4|0;q=n+8|0;A=n+12|0;u=0;do{O=+g[j+(u<<4)>>2];P=+g[j+(u<<4)+4>>2];Q=+g[j+(u<<4)+8>>2];g[b>>2]=F+(J*O+I*P+H*Q);g[E>>2]=x+(O*D+P*B+Q*z);g[y>>2]=p+(O*v+P*t+Q*r);g[s>>2]=0.0;g[l+(u<<2)>>2]=+g[m+(u<<2)>>2];o=u+3|0;Q=+g[j+(o<<4)>>2];P=+g[j+(o<<4)+4>>2];O=+g[j+(o<<4)+8>>2];g[C>>2]=F+(J*Q+I*P+H*O);g[w>>2]=x+(Q*D+P*B+O*z);g[q>>2]=p+(Q*v+P*t+O*r);g[A>>2]=0.0;g[k+(u<<2)>>2]=+g[n+(u<<2)>>2];u=u+1|0;}while((u|0)<3);u=a;r=+dh[c[(c[u>>2]|0)+44>>2]&1023](a);t=+dh[c[(c[u>>2]|0)+44>>2]&1023](a);v=+dh[c[(c[u>>2]|0)+44>>2]&1023](a);p=+g[G>>2]-t;z=+g[K>>2]-v;g[d>>2]=+g[h>>2]-r;g[d+4>>2]=p;g[d+8>>2]=z;g[d+12>>2]=0.0;z=t+ +g[M>>2];t=v+ +g[N>>2];g[e>>2]=r+ +g[L>>2];g[e+4>>2]=z;g[e+8>>2]=t;g[e+12>>2]=0.0;i=f;return}function aBR(a,b){a=a|0;b=b|0;var d=0;d=c[a+12>>2]|0;cv[c[(c[d>>2]|0)+24>>2]&2047](d,b);return}function aBS(a){a=a|0;var b=0;b=c[a+12>>2]|0;return cA[c[(c[b>>2]|0)+28>>2]&4095](b)|0}function aBT(a,b){a=a|0;b=+b;var d=0;d=c[a+12>>2]|0;cq[c[(c[d>>2]|0)+40>>2]&1023](d,b);return}function aBU(a){a=a|0;var b=0,d=0.0;b=c[a+12>>2]|0;d=+dh[c[(c[b>>2]|0)+44>>2]&1023](b);return+(d*+g[a+16>>2])}function aBV(a){a=a|0;var b=0;b=c[a+12>>2]|0;return cA[c[(c[b>>2]|0)+76>>2]&4095](b)|0}function aBW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+12>>2]|0;dA[c[(c[e>>2]|0)+80>>2]&511](e,b,d);return}function aBX(a,b,d){a=a|0;b=b|0;d=d|0;var 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;e=a+12|0;f=c[e>>2]|0;g=c[f+(((d+b|0)/2|0)<<3)>>2]|0;h=d;i=b;j=f;while(1){f=i;while(1){k=f+1|0;if((c[j+(f<<3)>>2]|0)<(g|0)){f=k}else{l=h;break}}while(1){m=j+(l<<3)|0;n=l-1|0;if((g|0)<(c[m>>2]|0)){l=n}else{break}}if((f|0)>(l|0)){o=l;p=f}else{q=j+(f<<3)|0;r=c[q>>2]|0;s=c[q+4>>2]|0;t=m;u=c[t+4>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=u;u=(c[e>>2]|0)+(l<<3)|0;c[u>>2]=r;c[u+4>>2]=s;o=n;p=k}if((p|0)>(o|0)){break}h=o;i=p;j=c[e>>2]|0}if((o|0)>(b|0)){aBX(a,b,o)}if((p|0)>=(d|0)){return}aBX(a,p,d);return}function aBY(a,d){a=a|0;d=d|0;var 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;e=a|0;f=c[e>>2]|0;do{if((f|0)>3){g=b[d>>1]|0;if((g&8)!=0){h=f;i=g;j=1488;break}g=f-1|0;c[e>>2]=g;k=a+52|0;l=a+4+(g<<4)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];l=a+132|0;k=a+84+(g<<4)|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];k=a+212|0;l=a+164+(g<<4)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];m=g;j=1486}else{m=f;j=1486}}while(0);do{if((j|0)==1486){if((m|0)<=2){n=m;break}h=m;i=b[d>>1]|0;j=1488}}while(0);do{if((j|0)==1488){if((i&4)!=0){n=h;break}m=h-1|0;c[e>>2]=m;f=a+36|0;g=a+4+(m<<4)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=a+116|0;f=a+84+(m<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];f=a+196|0;g=a+164+(m<<4)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];n=m}}while(0);do{if((n|0)>1){h=b[d>>1]|0;if((h&2)!=0){o=n;p=h;break}h=n-1|0;c[e>>2]=h;i=a+20|0;m=a+4+(h<<4)|0;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];m=a+100|0;i=a+84+(h<<4)|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];c[m+8>>2]=c[i+8>>2];c[m+12>>2]=c[i+12>>2];i=a+180|0;m=a+164+(h<<4)|0;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];q=h;j=1493}else{q=n;j=1493}}while(0);do{if((j|0)==1493){if((q|0)>0){o=q;p=b[d>>1]|0;break}else{return}}}while(0);if((p&1)!=0){return}p=o-1|0;c[e>>2]=p;e=a+4|0;o=a+4+(p<<4)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];o=a+84|0;e=a+84+(p<<4)|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];e=a+164|0;o=a+164+(p<<4)|0;c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];return}function aBZ(d){d=d|0;var e=0,f=0,h=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.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ab=0.0,ac=0.0,ad=0.0,ae=0,af=0.0,ag=0;e=i;i=i+72|0;f=e|0;h=e+40|0;j=e+56|0;k=d+356|0;if((a[k]&1)==0){l=a[d+312|0]|0;m=l&1;n=m<<24>>24!=0;i=e;return n|0}o=d+316|0;p=d+336|0;q=d+332|0;r=q;s=p;aDD(s|0,0,17);t=b[r>>1]|0;u=t&-16;b[r>>1]=u;a[k]=0;switch(c[d>>2]|0){case 3:{aDD(h|0,0,16);aB$(h,d+4|0,d+20|0,d+36|0,o);v=+g[p>>2];h=d+340|0;w=+g[h>>2];k=d+344|0;x=+g[k>>2];y=+g[d+84>>2]*v+ +g[d+100>>2]*w+ +g[d+116>>2]*x;z=v*+g[d+88>>2]+w*+g[d+104>>2]+x*+g[d+120>>2];A=v*+g[d+92>>2]+w*+g[d+108>>2]+x*+g[d+124>>2];g[d+244>>2]=y;g[d+248>>2]=z;g[d+252>>2]=A;g[d+256>>2]=0.0;B=+g[d+164>>2]*v+ +g[d+180>>2]*w+ +g[d+196>>2]*x;C=v*+g[d+168>>2]+w*+g[d+184>>2]+x*+g[d+200>>2];D=v*+g[d+172>>2]+w*+g[d+188>>2]+x*+g[d+204>>2];g[d+260>>2]=B;g[d+264>>2]=C;g[d+268>>2]=D;g[d+272>>2]=0.0;g[d+276>>2]=y-B;g[d+280>>2]=z-C;g[d+284>>2]=A-D;g[d+288>>2]=0.0;aBY(d,q);do{if(+g[p>>2]<0.0){E=0}else{if(+g[h>>2]<0.0){E=0;break}if(+g[k>>2]<0.0){E=0;break}E=+g[d+348>>2]>=0.0|0}}while(0);a[d+312|0]=E;l=E;m=l&1;n=m<<24>>24!=0;i=e;return n|0};case 4:{E=d+4|0;k=d+20|0;h=d+36|0;F=d+52|0;G=j;aDD(G|0,0,16);H=f+16|0;b[H>>1]=0;I=o;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];b[r>>1]=t|15;D=+g[k>>2];A=+g[E>>2];C=D-A;z=+g[d+24>>2];B=+g[d+8>>2];y=z-B;x=+g[d+28>>2];w=+g[d+12>>2];v=x-w;J=+g[h>>2];K=J-A;L=+g[d+40>>2];M=L-B;N=+g[d+44>>2];O=N-w;P=y*O-v*M;Q=v*K-C*O;R=C*M-y*K;S=+g[F>>2];T=S-A;U=+g[d+56>>2];V=U-B;W=+g[d+60>>2];X=W-w;Y=T*P+V*Q+R*X;if(Y*Y<9.99999905104687e-9){Z=-1}else{Z=Y*(Q*(0.0-B)+P*(0.0-A)+R*(0.0-w))<0.0|0}R=M*X-O*V;P=O*T-K*X;Q=K*V-M*T;Y=C*R+y*P+Q*v;if(Y*Y<9.99999905104687e-9){_=-1}else{_=Y*(P*(0.0-B)+R*(0.0-A)+Q*(0.0-w))<0.0|0}Q=V*v-X*y;R=X*C-T*v;v=T*y-V*C;C=K*Q+M*R+v*O;if(C*C<9.99999905104687e-9){$=-1}else{$=C*(R*(0.0-B)+Q*(0.0-A)+v*(0.0-w))<0.0|0}v=S-D;S=U-z;U=W-x;W=J-D;J=L-z;L=N-x;N=S*L-U*J;Q=U*W-v*L;L=v*J-S*W;W=(A-D)*N+(B-z)*Q+L*(w-x);if(W*W<9.99999905104687e-9){aa=-1}else{aa=W*(Q*(0.0-z)+N*(0.0-D)+L*(0.0-x))<0.0|0}if((_|Z|$|aa|0)<0){a[d+352|0]=1;a[d+312|0]=0;l=0;m=l&1;n=m<<24>>24!=0;i=e;return n|0}t=(Z|0)!=0;Z=(_|0)==0;_=($|0)==0;$=(aa|0)==0;if(Z&(t^1)&_&$){a[d+312|0]=1;aDD(d+276|0,0,16);l=1;m=l&1;n=m<<24>>24!=0;i=e;return n|0}do{if(t){aB$(j,E,k,h,f);x=+g[f>>2];L=+g[f+4>>2];D=+g[f+8>>2];N=x- +g[j>>2];z=L- +g[j+4>>2];Q=D- +g[j+8>>2];W=N*N+z*z+Q*Q;if(W>=3.4028234663852886e+38){ab=3.4028234663852886e+38;break}Q=+g[f+12>>2];g[o>>2]=x;g[d+320>>2]=L;g[d+324>>2]=D;g[d+328>>2]=Q;aa=b[H>>1]|0;b[r>>1]=aa&1|b[r>>1]&-16|aa&2|aa&4;Q=+g[f+24>>2];D=+g[f+28>>2];g[p>>2]=+g[f+20>>2];g[d+340>>2]=Q;g[d+344>>2]=D;g[d+348>>2]=0.0;ab=W}else{ab=3.4028234663852886e+38}}while(0);do{if(Z){ac=ab}else{aB$(j,E,h,F,f);W=+g[f>>2];D=+g[f+4>>2];Q=+g[f+8>>2];L=W- +g[j>>2];x=D- +g[j+4>>2];z=Q- +g[j+8>>2];N=L*L+x*x+z*z;if(N>=ab){ac=ab;break}z=+g[f+12>>2];g[o>>2]=W;g[d+320>>2]=D;g[d+324>>2]=Q;g[d+328>>2]=z;t=b[H>>1]|0;b[r>>1]=(t&65535)>>>1<<2&4|(t&1|b[r>>1]&-16)|(t&65535)>>>2<<3&8;z=+g[f+24>>2];Q=+g[f+28>>2];g[p>>2]=+g[f+20>>2];g[d+340>>2]=0.0;g[d+344>>2]=z;g[d+348>>2]=Q;ac=N}}while(0);do{if(_){ad=ac}else{aB$(j,E,F,k,f);ab=+g[f>>2];N=+g[f+4>>2];Q=+g[f+8>>2];z=ab- +g[j>>2];D=N- +g[j+4>>2];W=Q- +g[j+8>>2];x=z*z+D*D+W*W;if(x>=ac){ad=ac;break}W=+g[f+12>>2];g[o>>2]=ab;g[d+320>>2]=N;g[d+324>>2]=Q;g[d+328>>2]=W;Z=b[H>>1]|0;b[r>>1]=(Z&65535)>>>2<<1&2|(Z&1|b[r>>1]&-16)|(Z&65535)>>>1<<3&8;W=+g[f+28>>2];Q=+g[f+24>>2];g[p>>2]=+g[f+20>>2];g[d+340>>2]=W;g[d+344>>2]=0.0;g[d+348>>2]=Q;ad=x}}while(0);do{if(!$){aB$(j,k,F,h,f);ac=+g[f>>2];x=+g[f+4>>2];Q=+g[f+8>>2];W=ac- +g[j>>2];N=x- +g[j+4>>2];ab=Q- +g[j+8>>2];if(W*W+N*N+ab*ab>=ad){break}ab=+g[f+12>>2];g[o>>2]=ac;g[d+320>>2]=x;g[d+324>>2]=Q;g[d+328>>2]=ab;E=b[H>>1]|0;b[r>>1]=(E&65535)>>>1<<3&8|(E<<1&2|b[r>>1]&-16|E&4);ab=+g[f+20>>2];Q=+g[f+28>>2];x=+g[f+24>>2];g[p>>2]=0.0;g[d+340>>2]=ab;g[d+344>>2]=Q;g[d+348>>2]=x}}while(0);ad=+g[p>>2];f=d+340|0;x=+g[f>>2];H=d+344|0;Q=+g[H>>2];o=d+348|0;ab=+g[o>>2];ac=+g[d+84>>2]*ad+ +g[d+100>>2]*x+ +g[d+116>>2]*Q+ +g[d+132>>2]*ab;N=ad*+g[d+88>>2]+x*+g[d+104>>2]+Q*+g[d+120>>2]+ab*+g[d+136>>2];W=ad*+g[d+92>>2]+x*+g[d+108>>2]+Q*+g[d+124>>2]+ab*+g[d+140>>2];g[d+244>>2]=ac;g[d+248>>2]=N;g[d+252>>2]=W;g[d+256>>2]=0.0;D=+g[d+164>>2]*ad+ +g[d+180>>2]*x+ +g[d+196>>2]*Q+ +g[d+212>>2]*ab;z=ad*+g[d+168>>2]+x*+g[d+184>>2]+Q*+g[d+200>>2]+ab*+g[d+216>>2];L=ad*+g[d+172>>2]+x*+g[d+188>>2]+Q*+g[d+204>>2]+ab*+g[d+220>>2];g[d+260>>2]=D;g[d+264>>2]=z;g[d+268>>2]=L;g[d+272>>2]=0.0;g[d+276>>2]=ac-D;g[d+280>>2]=N-z;g[d+284>>2]=W-L;g[d+288>>2]=0.0;aBY(d,q);do{if(+g[p>>2]<0.0){ae=0}else{if(+g[f>>2]<0.0){ae=0;break}if(+g[H>>2]<0.0){ae=0;break}ae=+g[o>>2]>=0.0|0}}while(0);a[d+312|0]=ae;l=ae;m=l&1;n=m<<24>>24!=0;i=e;return n|0};case 0:{a[d+312|0]=0;l=0;m=l&1;n=m<<24>>24!=0;i=e;return n|0};case 1:{ae=d+244|0;o=ae;H=d+84|0;c[o>>2]=c[H>>2];c[o+4>>2]=c[H+4>>2];c[o+8>>2]=c[H+8>>2];c[o+12>>2]=c[H+12>>2];H=d+260|0;o=H;f=d+164|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];L=+g[d+248>>2]- +g[d+264>>2];W=+g[d+252>>2]- +g[d+268>>2];g[d+276>>2]=+g[ae>>2]- +g[H>>2];g[d+280>>2]=L;g[d+284>>2]=W;g[d+288>>2]=0.0;aDD(s|0,0,17);b[r>>1]=u;g[p>>2]=1.0;g[d+340>>2]=0.0;g[d+344>>2]=0.0;g[d+348>>2]=0.0;a[d+312|0]=1;l=1;m=l&1;n=m<<24>>24!=0;i=e;return n|0};case 2:{W=+g[d+4>>2];L=+g[d+8>>2];z=+g[d+12>>2];N=+g[d+20>>2]-W;D=+g[d+24>>2]-L;ac=+g[d+28>>2]-z;ab=(0.0-W)*N+(0.0-L)*D+(0.0-z)*ac;do{if(ab>0.0){z=N*N+D*D+ac*ac;if(ab>1]=u|3;af=ab/z;break}else{b[r>>1]=u|2;af=1.0;break}}else{b[r>>1]=u|1;af=0.0}}while(0);g[p>>2]=1.0-af;u=d+340|0;g[u>>2]=af;r=d+344|0;g[r>>2]=0.0;s=d+348|0;g[s>>2]=0.0;ab=+g[d+84>>2];ac=+g[d+88>>2];D=+g[d+92>>2];N=ab+af*(+g[d+100>>2]-ab);ab=ac+af*(+g[d+104>>2]-ac);ac=D+af*(+g[d+108>>2]-D);g[d+244>>2]=N;g[d+248>>2]=ab;g[d+252>>2]=ac;g[d+256>>2]=0.0;D=+g[d+164>>2];z=+g[d+168>>2];L=+g[d+172>>2];W=D+af*(+g[d+180>>2]-D);D=z+af*(+g[d+184>>2]-z);z=L+af*(+g[d+188>>2]-L);g[d+260>>2]=W;g[d+264>>2]=D;g[d+268>>2]=z;g[d+272>>2]=0.0;g[d+276>>2]=N-W;g[d+280>>2]=ab-D;g[d+284>>2]=ac-z;g[d+288>>2]=0.0;aBY(d,q);do{if(+g[p>>2]<0.0){ag=0}else{if(+g[u>>2]<0.0){ag=0;break}if(+g[r>>2]<0.0){ag=0;break}ag=+g[s>>2]>=0.0|0}}while(0);a[d+312|0]=ag;l=ag;m=l&1;n=m<<24>>24!=0;i=e;return n|0};default:{a[d+312|0]=0;l=0;m=l&1;n=m<<24>>24!=0;i=e;return n|0}}return 0}function aB_(a){a=a|0;return}function aB$(a,d,e,f,h){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0.0;i=h+16|0;j=b[i>>1]&-16;b[i>>1]=j;k=+g[e>>2];l=+g[d>>2];m=k-l;n=+g[e+4>>2];o=+g[d+4>>2];p=n-o;q=+g[e+8>>2];r=+g[d+8>>2];s=q-r;t=+g[f>>2];u=t-l;v=+g[f+4>>2];w=v-o;x=+g[f+8>>2];y=x-r;z=+g[a>>2];A=z-l;B=+g[a+4>>2];C=B-o;D=+g[a+8>>2];E=D-r;F=m*A+p*C+s*E;G=u*A+w*C+y*E;if(!(F>0.0|G>0.0)){a=h;H=d;c[a>>2]=c[H>>2];c[a+4>>2]=c[H+4>>2];c[a+8>>2]=c[H+8>>2];c[a+12>>2]=c[H+12>>2];b[i>>1]=j|1;g[h+20>>2]=1.0;g[h+24>>2]=0.0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}E=z-k;C=B-n;A=D-q;I=m*E+p*C+s*A;J=u*E+w*C+y*A;if(!(I<0.0|J>I)){H=h;a=e;c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];b[i>>1]=j|2;g[h+20>>2]=0.0;g[h+24>>2]=1.0;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}A=F*J-I*G;if(!(A>0.0|F<0.0|I>0.0)){C=F/(F-I);g[h>>2]=l+m*C;g[h+4>>2]=o+p*C;g[h+8>>2]=r+s*C;g[h+12>>2]=0.0;b[i>>1]=j|3;g[h+20>>2]=1.0-C;g[h+24>>2]=C;g[h+28>>2]=0.0;g[h+32>>2]=0.0;return}C=z-t;z=B-v;B=D-x;D=m*C+p*z+s*B;E=u*C+w*z+y*B;if(!(E<0.0|D>E)){a=h;H=f;c[a>>2]=c[H>>2];c[a+4>>2]=c[H+4>>2];c[a+8>>2]=c[H+8>>2];c[a+12>>2]=c[H+12>>2];b[i>>1]=j|4;g[h+20>>2]=0.0;g[h+24>>2]=0.0;g[h+28>>2]=1.0;g[h+32>>2]=0.0;return}B=D*G-F*E;if(!(B>0.0|G<0.0|E>0.0)){F=G/(G-E);g[h>>2]=l+u*F;g[h+4>>2]=o+w*F;g[h+8>>2]=r+y*F;g[h+12>>2]=0.0;b[i>>1]=j|5;g[h+20>>2]=1.0-F;g[h+24>>2]=0.0;g[h+28>>2]=F;g[h+32>>2]=0.0;return}F=I*E-D*J;do{if(F<=0.0){G=J-I;if(G<0.0){break}z=D-E;if(z<0.0){break}C=G/(G+z);g[h>>2]=k+(t-k)*C;g[h+4>>2]=n+(v-n)*C;g[h+8>>2]=q+(x-q)*C;g[h+12>>2]=0.0;b[i>>1]=j|6;g[h+20>>2]=0.0;g[h+24>>2]=1.0-C;g[h+28>>2]=C;g[h+32>>2]=0.0;return}}while(0);q=1.0/(A+(F+B));F=B*q;B=A*q;g[h>>2]=u*B+(l+m*F);g[h+4>>2]=w*B+(o+p*F);g[h+8>>2]=y*B+(s*F+r);g[h+12>>2]=0.0;b[i>>1]=j|7;g[h+20>>2]=1.0-F-B;g[h+24>>2]=F;g[h+28>>2]=B;g[h+32>>2]=0.0;return} +function aB0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0,aq=0.0,ar=0.0,as=0.0,at=0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0;e=i;i=i+96|0;h=e|0;j=e+16|0;k=e+32|0;l=e+48|0;m=e+64|0;n=e+80|0;o=b+112|0;p=+g[b+48>>2]- +g[o>>2];q=b+116|0;r=+g[b+52>>2]- +g[q>>2];s=b+120|0;t=+g[b+56>>2]- +g[s>>2];u=b+64|0;v=b+80|0;w=b+96|0;x=b+68|0;y=b+84|0;z=b+100|0;A=b+72|0;B=b+88|0;C=b+104|0;D=p*+g[u>>2]+r*+g[v>>2]+t*+g[w>>2];E=p*+g[x>>2]+r*+g[y>>2]+t*+g[z>>2];F=p*+g[A>>2]+r*+g[B>>2]+t*+g[C>>2];b=a+8|0;G=c[b>>2]|0;H=c[a+4>>2]|0;t=+g[H+28>>2]*+g[H+12>>2];r=t+ +g[a+12>>2];p=+g[G+72>>2];I=+g[G+56>>2];J=p-I;K=+g[G+76>>2];L=+g[G+60>>2];M=K-L;N=+g[G+80>>2];O=+g[G+64>>2];P=N-O;R=+g[G+88>>2];S=R-I;T=+g[G+92>>2];U=T-L;V=+g[G+96>>2];W=V-O;X=M*W-P*U;Y=P*S-J*W;W=J*U-M*S;S=1.0/+Q(+(W*W+(X*X+Y*Y)));U=S*X;X=S*Y;Y=S*W;W=D-I;S=E-L;Z=F-O;_=W*U+X*S+Y*Z;if(_<0.0){$=_*-1.0;aa=U*-1.0;ab=X*-1.0;ac=Y*-1.0}else{$=_;aa=U;ab=X;ac=Y}if($>=r){i=e;return}Y=R-p;X=T-K;U=V-N;_=I-R;I=L-T;L=O-V;O=Z*(J*ab-M*aa)+(W*(M*ac-P*ab)+S*(P*aa-J*ac));J=(F-N)*(Y*ab-X*aa)+((D-p)*(X*ac-U*ab)+(E-K)*(U*aa-Y*ac));Y=(F-V)*(_*ab-I*aa)+((D-R)*(I*ac-L*ab)+(E-T)*(L*aa-_*ac));do{if(O>0.0&J>0.0&Y>0.0){ad=1590}else{if(!(O>0.0|J>0.0|Y>0.0)){ad=1590;break}_=r*r;if((cA[c[(c[G>>2]|0)+92>>2]&4095](G)|0)<=0){i=e;return}a=h|0;H=h+4|0;ae=h+8|0;af=j|0;ag=j+4|0;ah=j+8|0;L=0.0;T=0.0;I=0.0;ai=0;aj=0;while(1){ak=c[b>>2]|0;dI[c[(c[ak>>2]|0)+96>>2]&1023](ak,ai,h,j);R=+g[a>>2];V=D-R;U=+g[H>>2];K=E-U;X=+g[ae>>2];p=F-X;N=+g[af>>2]-R;P=+g[ag>>2]-U;S=+g[ah>>2]-X;M=V*N+K*P+p*S;do{if(M>0.0){W=N*N+P*P+S*S;if(M>2]|0;if((ak|0)<(cA[c[(c[at>>2]|0)+92>>2]&4095](at)|0)){L=as;T=ar;I=aq;ai=ak;aj=ap}else{break}}if((ap&1)!=0){au=aq;av=ar;aw=as;ax=_;break}i=e;return}}while(0);if((ad|0)==1590){au=D-aa*$;av=E-ab*$;aw=F-ac*$;ax=r*r}r=D-au;D=E-av;E=F-aw;F=r*r+D*D+E*E;if(F>=ax){i=e;return}if(F>1.1920928955078125e-7){ax=+Q(+F);F=1.0/ax;ay=t-ax;az=E*F;aA=D*F;aB=r*F}else{ay=t;az=ac;aA=ab;aB=aa}aa=-0.0-ay;if(f){ay=+g[u>>2];ab=+g[x>>2];ac=+g[A>>2];t=ay*aB+ab*aA+ac*az;F=+g[v>>2];r=+g[y>>2];D=+g[B>>2];E=aB*F+aA*r+az*D;ax=+g[w>>2];$=+g[z>>2];as=+g[C>>2];ar=aB*ax+aA*$+az*as;g[k>>2]=-0.0-t;g[k+4>>2]=-0.0-E;g[k+8>>2]=-0.0-ar;g[k+12>>2]=0.0;aq=+g[q>>2]+(au*F+av*r+aw*D)+E*aa;E=+g[s>>2]+(au*ax+av*$+aw*as)+ar*aa;g[l>>2]=+g[o>>2]+(ay*au+ab*av+ac*aw)+t*aa;g[l+4>>2]=aq;g[l+8>>2]=E;g[l+12>>2]=0.0;dw[c[(c[d>>2]|0)+16>>2]&127](d,k,l,aa);i=e;return}else{l=c[(c[d>>2]|0)+16>>2]|0;E=+g[u>>2];aq=+g[x>>2];t=+g[A>>2];ac=+g[v>>2];ab=+g[y>>2];ay=+g[B>>2];ar=+g[w>>2];as=+g[z>>2];$=+g[C>>2];g[m>>2]=E*aB+aq*aA+t*az;g[m+4>>2]=aB*ac+aA*ab+az*ay;g[m+8>>2]=aB*ar+aA*as+az*$;g[m+12>>2]=0.0;az=+g[q>>2]+(au*ac+av*ab+aw*ay);ay=+g[s>>2]+(au*ar+av*as+aw*$);g[n>>2]=+g[o>>2]+(E*au+aq*av+t*aw);g[n+4>>2]=az;g[n+8>>2]=ay;g[n+12>>2]=0.0;dw[l&127](d,m,n,aa);i=e;return}}function aB1(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aB2(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=20448;if((a[b+8|0]&1)==0){d=b;aDB(d);return}e=c[b+12>>2]|0;if((e|0)==0){d=b;aDB(d);return}f=c[b+4>>2]|0;cv[c[(c[f>>2]|0)+16>>2]&2047](f,e);d=b;aDB(d);return}function aB3(b){b=b|0;var d=0,e=0;c[b>>2]=20448;if((a[b+8|0]&1)==0){return}d=c[b+12>>2]|0;if((d|0)==0){return}e=c[b+4>>2]|0;cv[c[(c[e>>2]|0)+16>>2]&2047](e,d);return}function aB4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+1.0}function aB5(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+152|0;k=j|0;l=j+136|0;m=c[b+12>>2]|0;if((m|0)==0){i=j;return}n=c[d+192>>2]|0;o=c[e+192>>2]|0;p=h+4|0;c[p>>2]=m;c[k+132>>2]=0;g[k+128>>2]=999999984306749400.0;m=k;q=d+4|0;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];q=k+16|0;m=d+20|0;c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[q+12>>2]=c[m+12>>2];m=k+32|0;q=d+36|0;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];q=k+48|0;m=d+52|0;c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[q+12>>2]=c[m+12>>2];m=k+64|0;q=e+4|0;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];q=k+80|0;m=e+20|0;c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[q+12>>2]=c[m+12>>2];m=k+96|0;q=e+36|0;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];q=k+112|0;m=e+52|0;c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[q+12>>2]=c[m+12>>2];c[l>>2]=24424;c[l+4>>2]=n;c[l+8>>2]=o;aB7(l,k,h|0,c[f+20>>2]|0,0);if((a[b+8|0]&1)==0){i=j;return}b=c[p>>2]|0;if((c[b+1116>>2]|0)==0){i=j;return}if((c[b+1108>>2]|0)==(c[h+136>>2]|0)){ay6(b,h+8|0,h+72|0);i=j;return}else{ay6(b,h+72|0,h+8|0);i=j;return}}function aB6(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+12|0;if((c[e>>2]|0)==0){return}if((a[b+8|0]&1)==0){return}b=d+4|0;f=c[b>>2]|0;g=d+8|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[b>>2]|0}n=d+12|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=d+16|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[b>>2]|0}else{i=f}}while(0);f=(c[d+12>>2]|0)+(i<<2)|0;if((f|0)==0){p=i}else{c[f>>2]=c[e>>2];p=c[b>>2]|0}c[b>>2]=p+1;return}function aB7(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0,J=0.0,K=0,L=0.0,M=0,N=0.0,O=0,R=0.0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0,af=0.0,ag=0.0,ah=0.0,ai=0,aj=0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0.0,aI=0.0,aJ=0.0,aK=0.0,aL=0.0,aM=0.0,aN=0.0,aO=0.0,aP=0.0,aQ=0,aR=0,aS=0,aT=0.0,aU=0,aV=0,aW=0,aX=0.0,aY=0,aZ=0,a_=0,a$=0.0,a0=0,a1=0,a2=0,a3=0.0,a4=0,a5=0,a6=0,a7=0.0,a8=0,a9=0,ba=0,bb=0.0,bc=0,bd=0,be=0,bf=0.0,bg=0.0,bh=0.0,bi=0.0,bj=0,bk=0,bl=0,bm=0.0,bn=0.0,bo=0.0,bp=0.0,bq=0,br=0,bs=0,bt=0.0,bu=0.0,bv=0.0,bw=0.0,bx=0,by=0,bz=0,bA=0.0,bB=0.0,bC=0.0,bD=0.0,bE=0,bF=0,bG=0,bH=0.0,bI=0.0,bJ=0.0,bK=0.0,bL=0,bM=0,bN=0,bO=0.0,bP=0.0,bQ=0.0,bR=0.0,bS=0,bT=0,bU=0,bV=0.0,bW=0.0,bX=0.0,bY=0.0,bZ=0,b_=0,b$=0,b0=0.0,b1=0.0,b2=0.0,b3=0.0,b4=0,b5=0,b6=0,b7=0.0,b8=0.0,b9=0.0,ca=0.0,cb=0,cc=0,cd=0.0,ce=0.0,cf=0.0,cg=0.0,ch=0.0,ci=0.0,cj=0.0,ck=0.0,cl=0.0,cm=0.0,cn=0.0,co=0,cp=0,cq=0,cr=0,cs=0,ct=0,cu=0.0,cv=0,cw=0,cx=0,cy=0.0,cz=0.0,cA=0.0,cB=0,cC=0,cD=0,cE=0,cF=0,cG=0,cH=0.0,cI=0.0,cJ=0,cK=0,cL=0,cM=0,cN=0,cO=0,cP=0,cQ=0,cR=0,cS=0,cT=0.0,cU=0.0,cV=0,cW=0,cX=0,cY=0,cZ=0.0,c_=0.0,c$=0.0,c0=0.0,c1=0.0,c2=0.0,c3=0,c4=0,c5=0,c6=0,c7=0.0,c8=0.0,c9=0,da=0.0;f=i;i=i+696|0;e=f|0;h=f+32|0;j=f+64|0;k=f+128|0;l=f+144|0;m=f+160|0;n=f+176|0;o=f+192|0;p=f+208|0;q=f+240|0;r=f+248|0;s=f+312|0;t=f+408|0;u=f+440|0;v=f+456|0;w=f+472|0;x=f+488|0;y=f+504|0;z=f+536|0;A=f+552|0;B=f+568|0;C=f+584|0;D=f+600|0;E=f+648|0;F=+g[b>>2];G=D|0;g[G>>2]=F;H=+g[b+64>>2];I=E|0;g[I>>2]=H;J=+g[b+4>>2];K=D+4|0;g[K>>2]=J;L=+g[b+68>>2];M=E+4|0;g[M>>2]=L;N=+g[b+8>>2];O=D+8|0;g[O>>2]=N;R=+g[b+72>>2];S=E+8|0;g[S>>2]=R;T=+g[b+16>>2];g[D+16>>2]=T;U=+g[b+80>>2];g[E+16>>2]=U;V=+g[b+20>>2];g[D+20>>2]=V;W=+g[b+84>>2];g[E+20>>2]=W;X=+g[b+24>>2];g[D+24>>2]=X;Z=+g[b+88>>2];g[E+24>>2]=Z;_=+g[b+32>>2];g[D+32>>2]=_;$=+g[b+96>>2];g[E+32>>2]=$;aa=+g[b+36>>2];g[D+36>>2]=aa;ab=+g[b+100>>2];g[E+36>>2]=ab;ac=+g[b+40>>2];g[D+40>>2]=ac;ad=+g[b+104>>2];g[E+40>>2]=ad;ae=c[a+4>>2]|0;af=+g[ae+28>>2];ag=+g[ae+32>>2];ah=+g[ae+36>>2];ai=ae|0;aj=ae;ak=+dh[c[(c[aj>>2]|0)+44>>2]&1023](ai);al=+dh[c[(c[aj>>2]|0)+44>>2]&1023](ai);am=(ah+ +dh[c[(c[aj>>2]|0)+44>>2]&1023](ai))*2.0;ai=b+112|0;aj=c[a+8>>2]|0;ah=+g[aj+28>>2];an=+g[aj+32>>2];ao=+g[aj+36>>2];a=aj|0;ae=aj;ap=+dh[c[(c[ae>>2]|0)+44>>2]&1023](a);aq=+dh[c[(c[ae>>2]|0)+44>>2]&1023](a);ar=(ao+ +dh[c[(c[ae>>2]|0)+44>>2]&1023](a))*2.0;a=m;ae=r;aj=ai;as=ai|0;ai=b+48|0;ao=+g[ai>>2];at=+g[as>>2]-ao;au=+g[b+52>>2];av=+g[b+116>>2]-au;aw=+g[b+56>>2];ax=+g[b+120>>2]-aw;ay=at*F+av*T+ax*_;az=at*J+av*V+ax*aa;aA=at*N+av*X+ax*ac;aB=(af+ak)*2.0*.5;b=k|0;g[b>>2]=aB;ak=(ag+al)*2.0*.5;g[k+4>>2]=ak;al=am*.5;g[k+8>>2]=al;am=(ah+ap)*2.0*.5;k=l|0;g[k>>2]=am;ap=(an+aq)*2.0*.5;g[l+4>>2]=ap;aq=ar*.5;g[l+8>>2]=aq;ar=F*H+T*U+_*$;an=F*L+T*W+_*ab;ah=F*R+T*Z+_*ad;ag=H*J+U*V+$*aa;af=L*J+W*V+ab*aa;aC=R*J+Z*V+ad*aa;aD=H*N+U*X+$*ac;aE=L*N+W*X+ab*ac;aF=R*N+Z*X+ad*ac;aG=+P(+ar);aH=+P(+an);aI=+P(+ah);aJ=+P(+ag);aK=+P(+af);aL=+P(+aC);aM=+P(+aD);aN=+P(+aE);aO=+P(+aF);aP=+P(+ay)-(aq*aI+(aB+aG*am+aH*ap));if(aP>0.0){i=f;return}if(aP>-3.4028234663852886e+38){aQ=G;aR=1;aS=ay<0.0|0;aT=aP}else{aQ=0;aR=0;aS=0;aT=-3.4028234663852886e+38}aP=+P(+az)-(ak+aJ*am+aK*ap+aL*aq);if(aP>0.0){i=f;return}if(aP>aT){aU=K;aV=2;aW=az<0.0|0;aX=aP}else{aU=aQ;aV=aR;aW=aS;aX=aT}aT=+P(+aA)-(al+aM*am+aN*ap+aO*aq);if(aT>0.0){i=f;return}if(aT>aX){aY=O;aZ=3;a_=aA<0.0|0;a$=aT}else{aY=aU;aZ=aV;a_=aW;a$=aX}aX=at*H+av*U+ax*$;aT=+P(+aX)-(am+(aG*aB+aJ*ak+aM*al));if(aT>0.0){i=f;return}if(aT>a$){a0=I;a1=4;a2=aX<0.0|0;a3=aT}else{a0=aY;a1=aZ;a2=a_;a3=a$}a$=at*L+av*W+ax*ab;aT=+P(+a$)-(ap+(aH*aB+aK*ak+aN*al));if(aT>0.0){i=f;return}if(aT>a3){a4=M;a5=5;a6=a$<0.0|0;a7=aT}else{a4=a0;a5=a1;a6=a2;a7=a3}a3=at*R+av*Z+ax*ad;ax=+P(+a3)-(aq+(aI*aB+aL*ak+aO*al));if(ax>0.0){i=f;return}if(ax>a7){a8=S;a9=6;ba=a3<0.0|0;bb=ax}else{a8=a4;a9=a5;ba=a6;bb=a7}a7=aG+9999999747378752.0e-21;aG=aH+9999999747378752.0e-21;aH=aI+9999999747378752.0e-21;aI=aJ+9999999747378752.0e-21;aJ=aK+9999999747378752.0e-21;aK=aL+9999999747378752.0e-21;aL=aM+9999999747378752.0e-21;aM=aN+9999999747378752.0e-21;aN=aO+9999999747378752.0e-21;aO=aA*ag-az*aD;ax=+P(+aO)-(aL*ak+aI*al+aH*ap+aG*aq);if(ax>1.1920928955078125e-7){i=f;return}a3=-0.0-aD;av=aD*aD+0.0;at=ag*ag;aT=+Q(+(at+av));do{if(aT>1.1920928955078125e-7){a$=ax/aT;if(a$*1.0499999523162842<=bb){bc=a8;bd=a9;be=ba;bf=bb;bg=0.0;bh=0.0;bi=0.0;break}bc=0;bd=7;be=aO<0.0|0;bf=a$;bg=0.0/aT;bh=a3/aT;bi=ag/aT}else{bc=a8;bd=a9;be=ba;bf=bb;bg=0.0;bh=0.0;bi=0.0}}while(0);bb=aA*af-az*aE;aT=+P(+bb)-(aM*ak+aJ*al+aH*am+a7*aq);if(aT>1.1920928955078125e-7){i=f;return}a3=-0.0-aE;aO=aE*aE+0.0;ax=af*af;a$=+Q(+(ax+aO));do{if(a$>1.1920928955078125e-7){aX=aT/a$;if(aX*1.0499999523162842<=bf){bj=bc;bk=bd;bl=be;bm=bf;bn=bg;bo=bh;bp=bi;break}bj=0;bk=8;bl=bb<0.0|0;bm=aX;bn=0.0/a$;bo=a3/a$;bp=af/a$}else{bj=bc;bk=bd;bl=be;bm=bf;bn=bg;bo=bh;bp=bi}}while(0);bi=aA*aC-az*aF;bh=+P(+bi)-(aN*ak+aK*al+aG*am+a7*ap);if(bh>1.1920928955078125e-7){i=f;return}bg=-0.0-aF;bf=aF*aF+0.0;a$=aC*aC;a3=+Q(+(a$+bf));do{if(a3>1.1920928955078125e-7){bb=bh/a3;if(bb*1.0499999523162842<=bm){bq=bj;br=bk;bs=bl;bt=bm;bu=bn;bv=bo;bw=bp;break}bq=0;br=9;bs=bi<0.0|0;bt=bb;bu=0.0/a3;bv=bg/a3;bw=aC/a3}else{bq=bj;br=bk;bs=bl;bt=bm;bu=bn;bv=bo;bw=bp}}while(0);bp=ay*aD-aA*ar;bo=+P(+bp)-(aL*aB+a7*al+aK*ap+aJ*aq);if(bo>1.1920928955078125e-7){i=f;return}bn=-0.0-ar;bm=ar*ar;a3=+Q(+(bm+av));do{if(a3>1.1920928955078125e-7){av=bo/a3;if(av*1.0499999523162842<=bt){bx=bq;by=br;bz=bs;bA=bt;bB=bu;bC=bv;bD=bw;break}bx=0;by=10;bz=bp<0.0|0;bA=av;bB=aD/a3;bC=0.0/a3;bD=bn/a3}else{bx=bq;by=br;bz=bs;bA=bt;bB=bu;bC=bv;bD=bw}}while(0);bw=ay*aE-aA*an;bv=+P(+bw)-(aM*aB+aG*al+aK*am+aI*aq);if(bv>1.1920928955078125e-7){i=f;return}bu=-0.0-an;bt=an*an;a3=+Q(+(bt+aO));do{if(a3>1.1920928955078125e-7){aO=bv/a3;if(aO*1.0499999523162842<=bA){bE=bx;bF=by;bG=bz;bH=bA;bI=bB;bJ=bC;bK=bD;break}bE=0;bF=11;bG=bw<0.0|0;bH=aO;bI=aE/a3;bJ=0.0/a3;bK=bu/a3}else{bE=bx;bF=by;bG=bz;bH=bA;bI=bB;bJ=bC;bK=bD}}while(0);bD=ay*aF-aA*ah;aA=+P(+bD)-(aN*aB+aH*al+aJ*am+aI*ap);if(aA>1.1920928955078125e-7){i=f;return}bC=-0.0-ah;bB=ah*ah;bA=+Q(+(bB+bf));do{if(bA>1.1920928955078125e-7){bf=aA/bA;if(bf*1.0499999523162842<=bH){bL=bE;bM=bF;bN=bG;bO=bH;bP=bI;bQ=bJ;bR=bK;break}bL=0;bM=12;bN=bD<0.0|0;bO=bf;bP=aF/bA;bQ=0.0/bA;bR=bC/bA}else{bL=bE;bM=bF;bN=bG;bO=bH;bP=bI;bQ=bJ;bR=bK}}while(0);bK=az*ar-ay*ag;bJ=+P(+bK)-(aI*aB+a7*ak+aN*ap+aM*aq);if(bJ>1.1920928955078125e-7){i=f;return}a7=-0.0-ag;ag=+Q(+(bm+at+0.0));do{if(ag>1.1920928955078125e-7){at=bJ/ag;if(at*1.0499999523162842<=bO){bS=bL;bT=bM;bU=bN;bV=bO;bW=bP;bX=bQ;bY=bR;break}bS=0;bT=13;bU=bK<0.0|0;bV=at;bW=a7/ag;bX=ar/ag;bY=0.0/ag}else{bS=bL;bT=bM;bU=bN;bV=bO;bW=bP;bX=bQ;bY=bR}}while(0);bR=az*an-ay*af;bQ=+P(+bR)-(aJ*aB+aG*ak+aN*am+aL*aq);if(bQ>1.1920928955078125e-7){i=f;return}aN=-0.0-af;af=+Q(+(bt+ax+0.0));do{if(af>1.1920928955078125e-7){ax=bQ/af;if(ax*1.0499999523162842<=bV){bZ=bS;b_=bT;b$=bU;b0=bV;b1=bW;b2=bX;b3=bY;break}bZ=0;b_=14;b$=bR<0.0|0;b0=ax;b1=aN/af;b2=an/af;b3=0.0/af}else{bZ=bS;b_=bT;b$=bU;b0=bV;b1=bW;b2=bX;b3=bY}}while(0);bY=az*ah-ay*aC;ay=+P(+bY)-(aK*aB+aH*ak+aM*am+aL*ap);if(ay>1.1920928955078125e-7){i=f;return}aL=-0.0-aC;aC=+Q(+(bB+a$+0.0));do{if(aC>1.1920928955078125e-7){a$=ay/aC;if(a$*1.0499999523162842<=b0){b4=1725;break}b5=15;b6=bY<0.0|0;b7=a$;b8=aL/aC;b9=ah/aC;ca=0.0/aC;b4=1728}else{b4=1725}}while(0);do{if((b4|0)==1725){if((b_|0)==0){i=f;return}if((bZ|0)==0){b5=b_;b6=b$;b7=b0;b8=b1;b9=b2;ca=b3;b4=1728;break}cb=b_;cc=b$;cd=b0;ce=+g[bZ+32>>2];cf=+g[bZ+16>>2];cg=+g[bZ>>2]}}while(0);if((b4|0)==1728){cb=b5;cc=b6;cd=b7;ce=b8*_+b9*aa+ca*ac;cf=b8*T+b9*V+ca*X;cg=b8*F+b9*J+ca*N}if((cc|0)==0){ch=ce;ci=cf;cj=cg}else{ch=-0.0-ce;ci=-0.0-cf;cj=-0.0-cg}if((cb|0)>6){cg=(cj*F+ci*T+ch*_>0.0?1.0:-1.0)*aB;aB=(cj*J+ci*V+ch*aa>0.0?1.0:-1.0)*ak;ak=(cj*N+ci*X+ch*ac>0.0?1.0:-1.0)*al;c[a>>2]=c[aj>>2];c[a+4>>2]=c[aj+4>>2];c[a+8>>2]=c[aj+8>>2];al=(cj*H+ci*U+ch*$>0.0?-1.0:1.0)*am;aj=m|0;a=m+4|0;cc=m+8|0;am=(cj*L+ci*W+ch*ab>0.0?-1.0:1.0)*ap;ap=+g[a>>2]+al*U+am*W;W=+g[cc>>2]+al*$+am*ab;ab=(cj*R+ci*Z+ch*ad>0.0?-1.0:1.0)*aq;aq=+g[aj>>2]+al*H+am*L+ab*R;g[aj>>2]=aq;R=ap+ab*Z;g[a>>2]=R;Z=W+ab*ad;g[cc>>2]=Z;b6=cb-7|0;b5=(b6|0)/3|0;ad=+g[D+(b5<<2)>>2];ab=+g[D+(b5+4<<2)>>2];W=+g[D+(b5+8<<2)>>2];b5=(b6|0)%3|0;ap=+g[E+(b5<<2)>>2];L=+g[E+(b5+4<<2)>>2];am=+g[E+(b5+8<<2)>>2];H=aq-(ao+cg*F+aB*J+ak*N);N=R-(au+cg*T+aB*V+ak*X);X=Z-(aw+cg*_+aB*aa+ak*ac);ac=ad*ap+ab*L+W*am;ak=1.0-ac*ac;if(ak>9999999747378752.0e-20){ck=((H*ad+N*ab+X*W)*ac-(H*ap+N*L+X*am))*(1.0/ak)}else{ck=0.0}g[aj>>2]=aq+ck*ap;g[a>>2]=R+ck*L;g[cc>>2]=Z+ck*am;cc=c[(c[d>>2]|0)+16>>2]|0;g[n>>2]=-0.0-cj;g[n+4>>2]=-0.0-ci;g[n+8>>2]=-0.0-ch;g[n+12>>2]=0.0;dw[cc&127](d,n,m,cd);i=f;return}m=(cb|0)<4;if(m){cl=cj;cm=ci;cn=ch;co=G;cp=I;cq=ai;cr=as;cs=b;ct=k;cu=+g[I>>2]}else{cl=-0.0-cj;cm=-0.0-ci;cn=-0.0-ch;co=I;cp=G;cq=as;cr=ai;cs=k;ct=b;cu=F}F=cl*cu+cm*+g[cp+16>>2]+cn*+g[cp+32>>2];g[o>>2]=F;cu=cl*+g[cp+4>>2]+cm*+g[cp+20>>2]+cn*+g[cp+36>>2];g[o+4>>2]=cu;cd=cl*+g[cp+8>>2]+cm*+g[cp+24>>2]+cn*+g[cp+40>>2];g[o+8>>2]=cd;am=+P(+F);F=+P(+cu);cu=+P(+cd);if(F>am){b=F>cu;cv=0;cw=b?1:2;cx=b}else{b=am>cu;cv=b&1;cw=b?0:2;cx=b}b=cx?2:1;cu=+g[ct+(cw<<2)>>2];am=+g[cr>>2]- +g[cq>>2];F=cu*+g[cp+(cw<<2)>>2];if(+g[o+(cw<<2)>>2]<0.0){cy=+g[cr+8>>2]- +g[cq+8>>2]+cu*+g[cp+((cw|8)<<2)>>2];cz=+g[cr+4>>2]- +g[cq+4>>2]+cu*+g[cp+((cw|4)<<2)>>2];cA=am+F}else{cy=+g[cr+8>>2]- +g[cq+8>>2]-cu*+g[cp+((cw|8)<<2)>>2];cz=+g[cr+4>>2]- +g[cq+4>>2]-cu*+g[cp+((cw|4)<<2)>>2];cA=am-F}cw=(m?-1:-4)+cb|0;if((cw|0)==1){cB=2;cC=0}else if((cw|0)==0){cB=2;cC=1}else{cB=1;cC=0}F=+g[co+(cC<<2)>>2];am=+g[co+((cC|4)<<2)>>2];cu=+g[co+((cC|8)<<2)>>2];cd=cA*F+cz*am+cy*cu;ck=+g[co+(cB<<2)>>2];Z=+g[co+((cB|4)<<2)>>2];L=+g[co+((cB|8)<<2)>>2];R=cA*ck+cz*Z+cy*L;co=cp+(cv<<2)|0;ap=+g[co>>2];cb=cp+((cv|4)<<2)|0;aq=+g[cb>>2];cr=cp+((cv|8)<<2)|0;ak=+g[cr>>2];X=F*ap+am*aq+cu*ak;o=cp+(b<<2)|0;N=+g[o>>2];cx=cp+((b|4)<<2)|0;H=+g[cx>>2];k=cp+((b|8)<<2)|0;ac=+g[k>>2];W=F*N+am*H+cu*ac;cu=ck*ap+Z*aq+L*ak;ak=ck*N+Z*H+L*ac;ac=+g[ct+(cv<<2)>>2];L=X*ac;H=cu*ac;ac=+g[ct+(b<<2)>>2];Z=W*ac;N=ak*ac;ac=cd-L;b=p|0;g[b>>2]=ac-Z;ck=R-H;g[p+4>>2]=ck-N;g[p+8>>2]=ac+Z;g[p+12>>2]=ck+N;ck=cd+L;g[p+16>>2]=ck+Z;L=R+H;g[p+20>>2]=L+N;g[p+24>>2]=ck-Z;g[p+28>>2]=L-N;g[q>>2]=+g[cs+(cC<<2)>>2];g[q+4>>2]=+g[cs+(cB<<2)>>2];cB=r|0;cC=j|0;j=b;b=cB;p=0;ct=4;L2327:while(1){cv=q+(p<<2)|0;cp=1-p|0;do{if((ct|0)>0){ai=0;as=j;G=b;I=ct;while(1){n=as+(p<<2)|0;N=+g[n>>2];L=+g[cv>>2];if(N*-1.0>2]=+g[as>>2];g[G+4>>2]=+g[as+4>>2];cc=ai+1|0;if((cc&8|0)!=0){cD=cc;cE=b;break L2327}cF=G+8|0;cG=cc;cH=+g[n>>2];cI=+g[cv>>2]}else{cF=G;cG=ai;cH=N;cI=L}n=as+8|0;cc=(I|0)>1?n:j;L=+g[cc+(p<<2)>>2];if(cH*-1.0>2];g[cF+(cp<<2)>>2]=N+(cI*-1.0-cH)*((+g[cc+(cp<<2)>>2]-N)/(L-cH));g[cF+(p<<2)>>2]=+g[cv>>2]*-1.0;cc=cG+1|0;if((cc&8|0)==0){cJ=cF+8|0;cK=cc}else{cD=cc;cE=b;break L2327}}else{cJ=cF;cK=cG}cc=I-1|0;if((cc|0)>0){ai=cK;as=n;G=cJ;I=cc}else{break}}I=(b|0)==(cB|0)?cC:cB;if((cK|0)>0){cL=0;cM=b;cN=I;cO=cK}else{cP=0;cQ=I;break}while(1){G=cM+(p<<2)|0;L=+g[G>>2];N=+g[cv>>2];if(L>2]=+g[cM>>2];g[cN+4>>2]=+g[cM+4>>2];as=cL+1|0;if((as&8|0)!=0){cD=as;cE=I;break L2327}cR=cN+8|0;cS=as;cT=+g[G>>2];cU=+g[cv>>2]}else{cR=cN;cS=cL;cT=L;cU=N}G=cM+8|0;as=(cO|0)>1?G:b;N=+g[as+(p<<2)>>2];if(cT>2];g[cR+(cp<<2)>>2]=L+(cU-cT)*((+g[as+(cp<<2)>>2]-L)/(N-cT));g[cR+(p<<2)>>2]=+g[cv>>2];as=cS+1|0;if((as&8|0)==0){cV=cR+8|0;cW=as}else{cD=as;cE=I;break L2327}}else{cV=cR;cW=cS}as=cO-1|0;if((as|0)>0){cL=cW;cM=G;cN=cV;cO=as}else{cP=cW;cQ=I;break}}}else{cP=0;cQ=(b|0)==(cB|0)?cC:cB}}while(0);cv=p+1|0;if((cv|0)<2){j=cQ;b=(cQ|0)==(cB|0)?cC:cB;p=cv;ct=cP}else{cD=cP;cE=cQ;break}}if((cE|0)!=(cB|0)){cQ=cE;cE=cD<<3;aDC(ae|0,cQ|0,cE)|0}if((cD|0)<1){i=f;return}cT=1.0/(X*ak-cu*W);cU=X*cT;X=W*cT;W=ak*cT;ak=-0.0-cu*cT;cT=+g[cs+(cw<<2)>>2];cu=+g[co>>2];cH=+g[o>>2];cI=+g[cb>>2];N=+g[cx>>2];L=+g[cr>>2];Z=+g[k>>2];k=0;cr=0;while(1){cx=k<<1;ck=+g[r+(cx<<2)>>2];H=ck-cd;ac=+g[r+((cx|1)<<2)>>2];aq=ac-R;ap=W*H-X*aq;am=H*ak+cU*aq;cx=cr*3|0;aq=cA+ap*cu+am*cH;g[s+(cx<<2)>>2]=aq;H=cz+ap*cI+am*N;g[s+(cx+1<<2)>>2]=H;F=cy+ap*L+am*Z;g[s+(cx+2<<2)>>2]=F;am=cT-(cl*aq+cm*H+cn*F);g[t+(cr<<2)>>2]=am;if(am<0.0){cX=cr}else{cx=cr<<1;g[r+(cx<<2)>>2]=ck;g[r+((cx|1)<<2)>>2]=ac;cX=cr+1|0}cx=k+1|0;if((cx|0)<(cD|0)){k=cx;cr=cX}else{break}}if((cX|0)<1){i=f;return}cr=(cX|0)<4?cX:4;k=(cr|0)<1?1:cr;if((cX|0)<=(k|0)){cr=(cX|0)>0;if(m){if(!cr){i=f;return}cD=d;cx=v|0;cb=v+4|0;o=v+8|0;co=v+12|0;cw=u|0;cs=cq+4|0;cE=u+4|0;cQ=cq+8|0;ae=u+8|0;cn=-0.0-cj;cm=-0.0-ci;cl=-0.0-ch;cP=0;do{ct=cP*3|0;g[cw>>2]=+g[s+(ct<<2)>>2]+ +g[cq>>2];g[cE>>2]=+g[s+(ct+1<<2)>>2]+ +g[cs>>2];g[ae>>2]=+g[s+(ct+2<<2)>>2]+ +g[cQ>>2];ct=c[(c[cD>>2]|0)+16>>2]|0;g[cx>>2]=cn;g[cb>>2]=cm;g[o>>2]=cl;g[co>>2]=0.0;dw[ct&127](d,v,u,-0.0- +g[t+(cP<<2)>>2]);cP=cP+1|0;}while((cP|0)<(cX|0));i=f;return}else{if(!cr){i=f;return}cr=d;cP=x|0;u=x+4|0;v=x+8|0;co=x+12|0;o=w|0;cb=cq+4|0;cx=w+4|0;cD=cq+8|0;cQ=w+8|0;cl=-0.0-cj;cm=-0.0-ci;cn=-0.0-ch;ae=0;do{cs=ae*3|0;cT=+g[t+(ae<<2)>>2];g[o>>2]=+g[s+(cs<<2)>>2]+ +g[cq>>2]-cj*cT;g[cx>>2]=+g[s+(cs+1<<2)>>2]+ +g[cb>>2]-ci*cT;g[cQ>>2]=+g[s+(cs+2<<2)>>2]+ +g[cD>>2]-ch*cT;cs=c[(c[cr>>2]|0)+16>>2]|0;g[cP>>2]=cl;g[u>>2]=cm;g[v>>2]=cn;g[co>>2]=0.0;dw[cs&127](d,x,w,-0.0-cT);ae=ae+1|0;}while((ae|0)<(cX|0));i=f;return}}if((cX|0)>1){ae=1;w=0;cn=+g[t>>2];while(1){cm=+g[t+(ae<<2)>>2];x=cm>cn;co=x?ae:w;v=ae+1|0;if((v|0)<(cX|0)){ae=v;w=co;cn=x?cm:cn}else{cY=co;break}}}else{cY=0}w=y|0;if((cX|0)==1){cZ=+g[cB>>2];c_=+g[r+4>>2];b4=1791}else if((cX|0)==2){cZ=(+g[cB>>2]+ +g[r+8>>2])*.5;c_=(+g[r+4>>2]+ +g[r+12>>2])*.5;b4=1791}else{ae=cX-1|0;if((ae|0)>0){co=0;cn=0.0;cm=0.0;cl=0.0;while(1){x=co<<1;cT=+g[r+(x<<2)>>2];Z=+g[r+(x+3<<2)>>2];L=+g[r+(x+2<<2)>>2];cy=+g[r+((x|1)<<2)>>2];N=cT*Z-L*cy;cI=cn+N;cz=cm+(cT+L)*N;L=cl+(Z+cy)*N;x=co+1|0;if((x|0)<(ae|0)){co=x;cn=cI;cm=cz;cl=L}else{c$=cI;c0=cz;c1=L;break}}}else{c$=0.0;c0=0.0;c1=0.0}co=cX<<1;cl=+g[r+(co-2<<2)>>2];cm=+g[r+4>>2];cn=+g[cB>>2];L=+g[r+(co-1<<2)>>2];cz=cl*cm-cn*L;cI=c$+cz;if(+P(+cI)>1.1920928955078125e-7){c2=1.0/(cI*3.0)}else{c2=999999984306749400.0}if((cX|0)>0){cZ=c2*(c0+cz*(cl+cn));c_=c2*(c1+cz*(L+cm));b4=1791}else{c3=0}}if((b4|0)==1791){b4=0;while(1){co=b4<<1;g[e+(b4<<2)>>2]=+Y(+(+g[r+((co|1)<<2)>>2]-c_),+(+g[r+(co<<2)>>2]-cZ));co=b4+1|0;if((co|0)<(cX|0)){b4=co}else{c4=0;break}}while(1){c[h+(c4<<2)>>2]=1;b4=c4+1|0;if((b4|0)<(cX|0)){c4=b4}else{c3=1;break}}}c4=h+(cY<<2)|0;c[c4>>2]=0;c[w>>2]=cY;w=y+4|0;L2408:do{if((k|0)>1){cZ=6.2831854820251465/+(k|0);b4=e+(cY<<2)|0;if(c3){c5=1;c6=w}else{r=2;co=w;while(1){c[co>>2]=cY;c[c4>>2]=0;if((r|0)>=(k|0)){break L2408}r=r+1|0;co=co+4|0}}while(1){c_=+(c5|0)*cZ+ +g[b4>>2];if(c_>3.1415927410125732){c7=c_-6.2831854820251465}else{c7=c_}c[c6>>2]=cY;co=0;c_=1.0e9;r=cY;while(1){do{if((c[h+(co<<2)>>2]|0)==0){c8=c_;c9=r}else{cm=+P(+(+g[e+(co<<2)>>2]-c7));if(cm>3.1415927410125732){da=6.2831854820251465-cm}else{da=cm}if(da>=c_){c8=c_;c9=r;break}c[c6>>2]=co;c8=da;c9=co}}while(0);cB=co+1|0;if((cB|0)<(cX|0)){co=cB;c_=c8;r=c9}else{break}}c[h+(c9<<2)>>2]=0;r=c5+1|0;if((r|0)>=(k|0)){break L2408}c5=r;c6=c6+4|0}}}while(0);if((k|0)<=0){i=f;return}c6=d;c5=A|0;c9=A+4|0;h=A+8|0;cX=A+12|0;e=B|0;cY=B+4|0;c4=B+8|0;w=B+12|0;c3=z|0;b4=z+4|0;r=z+8|0;co=C|0;cB=C+4|0;ae=C+8|0;x=C+12|0;v=cq+4|0;u=cq+8|0;c8=-0.0-ch;da=-0.0-ci;c7=-0.0-cj;if(m){m=0;do{cP=c[y+(m<<2)>>2]|0;cr=cP*3|0;g[c3>>2]=+g[s+(cr<<2)>>2]+ +g[cq>>2];g[b4>>2]=+g[s+(cr+1<<2)>>2]+ +g[v>>2];g[r>>2]=+g[s+(cr+2<<2)>>2]+ +g[u>>2];cr=c[(c[c6>>2]|0)+16>>2]|0;g[c5>>2]=c7;g[c9>>2]=da;g[h>>2]=c8;g[cX>>2]=0.0;dw[cr&127](d,A,z,-0.0- +g[t+(cP<<2)>>2]);m=m+1|0;}while((m|0)<(k|0));i=f;return}else{m=0;do{z=c[y+(m<<2)>>2]|0;A=z*3|0;cZ=+g[s+(A<<2)>>2]+ +g[cq>>2];g[c3>>2]=cZ;c_=+g[s+(A+1<<2)>>2]+ +g[v>>2];g[b4>>2]=c_;cm=+g[s+(A+2<<2)>>2]+ +g[u>>2];g[r>>2]=cm;A=c[(c[c6>>2]|0)+16>>2]|0;g[e>>2]=c7;g[cY>>2]=da;g[c4>>2]=c8;g[w>>2]=0.0;L=+g[t+(z<<2)>>2];g[co>>2]=cZ-cj*L;g[cB>>2]=c_-L*ci;g[ae>>2]=cm-L*ch;g[x>>2]=0.0;dw[A&127](d,B,C,-0.0-L);m=m+1|0;}while((m|0)<(k|0));i=f;return}}function aB8(a){a=a|0;return}function aB9(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aCa(b,d,e){b=b|0;d=d|0;e=e|0;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;f=(a[b+28|0]&1)!=0;g=f?e:d;h=f?d:e;e=g+192|0;d=c[e>>2]|0;f=c[d+16>>2]|0;i=b+12|0;j=c[i>>2]|0;if((j|0)<(f|0)){k=b+16|0;if((c[k>>2]|0)<(f|0)){if((f|0)==0){l=0;m=j}else{c[9806]=(c[9806]|0)+1;n=aDx((f<<2)+19|0)|0;if((n|0)==0){o=0}else{p=-(n+4|0)&15;c[n+p>>2]=n;o=n+(p+4)|0}l=o;m=c[i>>2]|0}o=b+20|0;if((m|0)>0){p=0;do{n=l+(p<<2)|0;if((n|0)!=0){c[n>>2]=c[(c[o>>2]|0)+(p<<2)>>2]}p=p+1|0;}while((p|0)<(m|0))}m=c[o>>2]|0;p=b+24|0;if((m|0)!=0){if((a[p]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[m-4>>2]|0)}c[o>>2]=0}a[p]=1;c[o>>2]=l;c[k>>2]=f;q=o}else{q=b+20|0}o=j;do{j=(c[q>>2]|0)+(o<<2)|0;if((j|0)!=0){c[j>>2]=0}o=o+1|0;}while((o|0)<(f|0))}c[i>>2]=f;if((f|0)<=0){return}i=d+64|0;o=d+24|0;d=b+4|0;q=b+32|0;j=b+20|0;b=0;do{if((c[i>>2]|0)==0){k=c[e>>2]|0;c[e>>2]=c[(c[o>>2]|0)+(b*80|0)+64>>2];l=c[d>>2]|0;p=dE[c[(c[l>>2]|0)+8>>2]&127](l,g,h,c[q>>2]|0)|0;c[(c[j>>2]|0)+(b<<2)>>2]=p;c[e>>2]=k}else{c[(c[j>>2]|0)+(b<<2)>>2]=0}b=b+1|0;}while((b|0)<(f|0));return}function aCb(a){a=a|0;aCc(a);if((a|0)==0){return}aDB(a);return}function aCc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=20296;d=b+12|0;e=c[d>>2]|0;f=b+20|0;if((e|0)>0){g=b+4|0;h=0;do{i=c[(c[f>>2]|0)+(h<<2)>>2]|0;if((i|0)!=0){ct[c[c[i>>2]>>2]&2047](i);i=c[g>>2]|0;cv[c[(c[i>>2]|0)+60>>2]&2047](i,c[(c[f>>2]|0)+(h<<2)>>2]|0)}h=h+1|0;}while((h|0)<(e|0))}e=c[f>>2]|0;h=b+24|0;if((e|0)==0){a[h]=1;c[f>>2]=0;c[d>>2]=0;j=b+16|0;c[j>>2]=0;return}if((a[h]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[e-4>>2]|0)}c[f>>2]=0;a[h]=1;c[f>>2]=0;c[d>>2]=0;j=b+16|0;c[j>>2]=0;return}function aCd(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var 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,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0;j=i;i=i+312|0;k=j|0;l=j+32|0;m=j+56|0;n=j+72|0;o=j+88|0;p=j+152|0;q=j+184|0;r=j+248|0;s=j+264|0;t=j+280|0;u=j+296|0;v=(a[b+28|0]&1)!=0;w=v?e:d;x=v?d:e;v=c[w+192>>2]|0;y=b+12|0;if((c[v+68>>2]|0)!=(c[b+40>>2]|0)){z=c[y>>2]|0;if((z|0)>0){A=b+20|0;B=b+4|0;C=0;do{D=c[(c[A>>2]|0)+(C<<2)>>2]|0;if((D|0)!=0){ct[c[c[D>>2]>>2]&2047](D);D=c[B>>2]|0;cv[c[(c[D>>2]|0)+60>>2]&2047](D,c[(c[A>>2]|0)+(C<<2)>>2]|0)}C=C+1|0;}while((C|0)<(z|0))}aCa(b,d,e)}e=c[v+64>>2]|0;d=b+4|0;z=c[d>>2]|0;C=b+20|0;A=c[C>>2]|0;B=c[b+32>>2]|0;c[k>>2]=21800;c[k+4>>2]=w;c[k+8>>2]=x;c[k+12>>2]=z;c[k+16>>2]=f;c[k+20>>2]=h;c[k+24>>2]=A;c[k+28>>2]=B;B=l+16|0;a[B]=1;f=l+12|0;c[f>>2]=0;z=l+4|0;c[z>>2]=0;b=l+8|0;c[b>>2]=0;D=c[y>>2]|0;do{if((D|0)>0){E=h+4|0;F=h+136|0;G=h+8|0;H=h+72|0;I=0;J=D;K=A;while(1){L=c[K+(I<<2)>>2]|0;if((L|0)==0){M=J}else{cv[c[(c[L>>2]|0)+16>>2]&2047](L,l);L=c[z>>2]|0;if((L|0)>0){N=0;O=L;while(1){P=c[(c[f>>2]|0)+(N<<2)>>2]|0;Q=P+1116|0;if((c[Q>>2]|0)==0){R=O}else{c[E>>2]=P;do{if((c[Q>>2]|0)!=0){if((c[P+1108>>2]|0)==(c[F>>2]|0)){ay6(P,G,H);break}else{ay6(P,H,G);break}}}while(0);c[E>>2]=0;R=c[z>>2]|0}P=N+1|0;if((P|0)<(R|0)){N=P;O=R}else{S=R;break}}}else{S=L}if((S|0)<0){if((c[b>>2]|0)<0){O=c[f>>2]|0;if((S|0)>0){N=0;do{if((N|0)!=0){c[N<<2>>2]=c[O+(N<<2)>>2]}N=N+1|0;}while((N|0)<(S|0))}if((O|0)!=0){if((a[B]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[O-4>>2]|0)}c[f>>2]=0}a[B]=1;c[f>>2]=0;c[b>>2]=0;T=S}else{T=S}do{N=(c[f>>2]|0)+(T<<2)|0;if((N|0)!=0){c[N>>2]=0}T=T+1|0;}while((T|0)<0)}c[z>>2]=0;M=c[y>>2]|0}O=I+1|0;if((O|0)>=(M|0)){break}I=O;J=M;K=c[C>>2]|0}K=c[f>>2]|0;if((K|0)==0){break}if((a[B]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[K-4>>2]|0)}c[f>>2]=0}}while(0);a[B]=1;c[f>>2]=0;c[z>>2]=0;c[b>>2]=0;if((e|0)==0){b=c[y>>2]|0;if((b|0)<=0){i=j;return}z=v+24|0;f=0;do{aCf(k,c[(c[z>>2]|0)+(f*80|0)+64>>2]|0,f);f=f+1|0;}while((f|0)<(b|0))}else{U=+g[w+4>>2];V=+g[w+20>>2];W=+g[w+36>>2];X=+g[w+8>>2];Y=+g[w+24>>2];Z=+g[w+40>>2];_=+g[w+12>>2];$=+g[w+28>>2];aa=+g[w+44>>2];ab=-0.0- +g[w+52>>2];ac=-0.0- +g[w+56>>2];ad=-0.0- +g[w+60>>2];ae=+g[x+4>>2];af=+g[x+20>>2];ag=+g[x+36>>2];ah=+g[x+8>>2];ai=+g[x+24>>2];aj=+g[x+40>>2];ak=+g[x+12>>2];al=+g[x+28>>2];am=+g[x+44>>2];an=+g[x+52>>2];ao=+g[x+56>>2];ap=+g[x+60>>2];g[o>>2]=U*ae+V*af+W*ag;g[o+4>>2]=U*ah+V*ai+W*aj;g[o+8>>2]=U*ak+V*al+W*am;g[o+12>>2]=0.0;g[o+16>>2]=X*ae+Y*af+Z*ag;g[o+20>>2]=X*ah+Y*ai+Z*aj;g[o+24>>2]=X*ak+Y*al+Z*am;g[o+28>>2]=0.0;g[o+32>>2]=_*ae+$*af+aa*ag;g[o+36>>2]=_*ah+$*ai+aa*aj;g[o+40>>2]=_*ak+$*al+aa*am;g[o+44>>2]=0.0;g[o+48>>2]=U*ab+V*ac+W*ad+(U*an+V*ao+W*ap);g[o+52>>2]=X*ab+Y*ac+Z*ad+(X*an+Y*ao+Z*ap);g[o+56>>2]=_*ab+$*ac+aa*ad+(_*an+$*ao+aa*ap);g[o+60>>2]=0.0;b=c[x+192>>2]|0;dI[c[(c[b>>2]|0)+8>>2]&1023](b,o,m,n);o=p;b=m;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=p+16|0;o=n;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];awD(c[e>>2]|0,p,k|0)}k=c[y>>2]|0;if((k|0)<=0){i=j;return}y=v+24|0;v=w+4|0;p=w+8|0;e=w+12|0;o=w+20|0;b=w+24|0;n=w+28|0;m=w+36|0;f=w+40|0;z=w+44|0;B=w+52|0;M=w+56|0;T=w+60|0;w=q|0;S=q+4|0;R=q+8|0;l=q+12|0;A=q+16|0;D=q+20|0;h=q+24|0;K=q+28|0;J=q+32|0;I=q+36|0;E=q+40|0;G=q+44|0;H=q+48|0;F=q+52|0;O=q+56|0;N=q+60|0;L=x+192|0;P=x+4|0;x=r|0;Q=u|0;aq=r+8|0;ar=u+8|0;as=r+4|0;at=u+4|0;au=s+4|0;av=t+4|0;aw=s+8|0;ax=t+8|0;ay=s|0;az=t|0;aA=0;do{do{if((c[(c[C>>2]|0)+(aA<<2)>>2]|0)!=0){aB=c[y>>2]|0;aC=c[aB+(aA*80|0)+64>>2]|0;ap=+g[v>>2];aa=+g[p>>2];ao=+g[e>>2];$=+g[o>>2];an=+g[b>>2];_=+g[n>>2];ad=+g[m>>2];ac=+g[f>>2];ab=+g[z>>2];Z=+g[aB+(aA*80|0)>>2];Y=+g[aB+(aA*80|0)+16>>2];X=+g[aB+(aA*80|0)+32>>2];W=+g[aB+(aA*80|0)+4>>2];V=+g[aB+(aA*80|0)+20>>2];U=+g[aB+(aA*80|0)+36>>2];am=+g[aB+(aA*80|0)+8>>2];al=+g[aB+(aA*80|0)+24>>2];ak=+g[aB+(aA*80|0)+40>>2];aj=+g[aB+(aA*80|0)+48>>2];ai=+g[aB+(aA*80|0)+52>>2];ah=+g[aB+(aA*80|0)+56>>2];ag=+g[B>>2]+(ap*aj+aa*ai+ao*ah);af=+g[M>>2]+($*aj+an*ai+_*ah);ae=+g[T>>2]+(ad*aj+ac*ai+ab*ah);g[w>>2]=ap*Z+aa*Y+ao*X;g[S>>2]=ap*W+aa*V+ao*U;g[R>>2]=ap*am+aa*al+ao*ak;g[l>>2]=0.0;g[A>>2]=$*Z+an*Y+_*X;g[D>>2]=$*W+an*V+_*U;g[h>>2]=$*am+an*al+_*ak;g[K>>2]=0.0;g[J>>2]=ad*Z+ac*Y+ab*X;g[I>>2]=ad*W+ac*V+ab*U;g[E>>2]=ad*am+ac*al+ab*ak;g[G>>2]=0.0;g[H>>2]=ag;g[F>>2]=af;g[O>>2]=ae;g[N>>2]=0.0;dI[c[(c[aC>>2]|0)+8>>2]&1023](aC,q,r,s);aC=c[L>>2]|0;dI[c[(c[aC>>2]|0)+8>>2]&1023](aC,P,t,u);do{if(+g[x>>2]>+g[Q>>2]){aD=0}else{if(+g[ay>>2]<+g[az>>2]){aD=0;break}aD=1}}while(0);do{if(+g[aq>>2]>+g[ar>>2]){aE=0}else{if(+g[aw>>2]<+g[ax>>2]){aE=0;break}aE=aD}}while(0);if(+g[as>>2]<=+g[at>>2]){if(!(+g[au>>2]<+g[av>>2]|aE^1)){break}}aC=c[(c[C>>2]|0)+(aA<<2)>>2]|0;ct[c[c[aC>>2]>>2]&2047](aC);aC=c[d>>2]|0;cv[c[(c[aC>>2]|0)+60>>2]&2047](aC,c[(c[C>>2]|0)+(aA<<2)>>2]|0);c[(c[C>>2]|0)+(aA<<2)>>2]=0}}while(0);aA=aA+1|0;}while((aA|0)<(k|0));i=j;return}function aCe(a){a=a|0;return}function aCf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0,_=0;e=i;i=i+224|0;f=e+64|0;h=e+128|0;j=e+144|0;k=e+160|0;l=e+176|0;m=e+192|0;n=e+208|0;o=a+4|0;p=c[o>>2]|0;q=c[p+192>>2]|0;r=+g[p+4>>2];s=+g[p+8>>2];t=+g[p+12>>2];u=+g[p+16>>2];v=+g[p+20>>2];w=+g[p+24>>2];x=+g[p+28>>2];y=+g[p+32>>2];z=+g[p+36>>2];A=+g[p+40>>2];B=+g[p+44>>2];C=+g[p+48>>2];D=+g[p+52>>2];E=+g[p+56>>2];F=+g[p+60>>2];G=+g[p+64>>2];H=p+68|0;I=e|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=p+84|0;J=e+16|0;c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];H=p+100|0;K=e+32|0;c[K>>2]=c[H>>2];c[K+4>>2]=c[H+4>>2];c[K+8>>2]=c[H+8>>2];c[K+12>>2]=c[H+12>>2];H=p+116|0;p=e+48|0;c[p>>2]=c[H>>2];c[p+4>>2]=c[H+4>>2];c[p+8>>2]=c[H+8>>2];c[p+12>>2]=c[H+12>>2];H=c[q+24>>2]|0;L=+g[H+(d*80|0)>>2];M=+g[H+(d*80|0)+16>>2];N=+g[H+(d*80|0)+32>>2];O=+g[H+(d*80|0)+4>>2];P=+g[H+(d*80|0)+20>>2];Q=+g[H+(d*80|0)+36>>2];R=+g[H+(d*80|0)+8>>2];S=+g[H+(d*80|0)+24>>2];T=+g[H+(d*80|0)+40>>2];U=+g[H+(d*80|0)+48>>2];V=+g[H+(d*80|0)+52>>2];W=+g[H+(d*80|0)+56>>2];g[f>>2]=r*L+s*M+t*N;g[f+4>>2]=r*O+s*P+t*Q;g[f+8>>2]=r*R+s*S+t*T;g[f+12>>2]=0.0;g[f+16>>2]=v*L+w*M+x*N;g[f+20>>2]=v*O+w*P+x*Q;g[f+24>>2]=v*R+w*S+x*T;g[f+28>>2]=0.0;g[f+32>>2]=z*L+A*M+B*N;g[f+36>>2]=z*O+A*P+B*Q;g[f+40>>2]=z*R+A*S+B*T;g[f+44>>2]=0.0;g[f+48>>2]=D+(r*U+s*V+t*W);g[f+52>>2]=E+(v*U+w*V+x*W);g[f+56>>2]=F+(z*U+A*V+B*W);g[f+60>>2]=0.0;dI[c[(c[b>>2]|0)+8>>2]&1023](b,f,h,j);H=a+8|0;q=c[H>>2]|0;X=c[q+192>>2]|0;dI[c[(c[X>>2]|0)+8>>2]&1023](X,q+4|0,k,l);do{if(+g[h>>2]>+g[l>>2]){Y=0}else{if(+g[j>>2]<+g[k>>2]){Y=0;break}Y=1}}while(0);do{if(+g[h+8>>2]>+g[l+8>>2]){Z=0}else{if(+g[j+8>>2]<+g[k+8>>2]){Z=0;break}Z=Y}}while(0);if(+g[h+4>>2]>+g[l+4>>2]){i=e;return}if(+g[j+4>>2]<+g[k+4>>2]|Z^1){i=e;return}Z=c[o>>2]|0;Y=Z+4|0;q=f;c[Y>>2]=c[q>>2];c[Y+4>>2]=c[q+4>>2];c[Y+8>>2]=c[q+8>>2];c[Y+12>>2]=c[q+12>>2];Y=Z+20|0;X=f+16|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];Y=Z+36|0;_=f+32|0;c[Y>>2]=c[_>>2];c[Y+4>>2]=c[_+4>>2];c[Y+8>>2]=c[_+8>>2];c[Y+12>>2]=c[_+12>>2];Y=Z+52|0;Z=f+48|0;c[Y>>2]=c[Z>>2];c[Y+4>>2]=c[Z+4>>2];c[Y+8>>2]=c[Z+8>>2];c[Y+12>>2]=c[Z+12>>2];Y=c[o>>2]|0;f=Y+68|0;c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];q=Y+84|0;c[q>>2]=c[X>>2];c[q+4>>2]=c[X+4>>2];c[q+8>>2]=c[X+8>>2];c[q+12>>2]=c[X+12>>2];X=Y+100|0;c[X>>2]=c[_>>2];c[X+4>>2]=c[_+4>>2];c[X+8>>2]=c[_+8>>2];c[X+12>>2]=c[_+12>>2];_=Y+116|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];c[_+8>>2]=c[Z+8>>2];c[_+12>>2]=c[Z+12>>2];Z=(c[o>>2]|0)+192|0;_=c[Z>>2]|0;c[Z>>2]=b;b=a+24|0;if((c[(c[b>>2]|0)+(d<<2)>>2]|0)==0){Z=c[a+12>>2]|0;Y=dE[c[(c[Z>>2]|0)+8>>2]&127](Z,c[o>>2]|0,c[H>>2]|0,c[a+28>>2]|0)|0;c[(c[b>>2]|0)+(d<<2)>>2]=Y}Y=a+20|0;Z=c[Y>>2]|0;X=c[Z>>2]|0;if((c[Z+136>>2]|0)==(c[o>>2]|0)){dA[c[X+8>>2]&511](Z,-1,d)}else{dA[c[X+12>>2]&511](Z,-1,d)}Z=c[(c[b>>2]|0)+(d<<2)>>2]|0;d=a+16|0;co[c[(c[Z>>2]|0)+8>>2]&255](Z,c[o>>2]|0,c[H>>2]|0,c[d>>2]|0,c[Y>>2]|0);Y=c[(c[d>>2]|0)+20>>2]|0;do{if((Y|0)!=0){if(((cA[c[(c[Y>>2]|0)+48>>2]&4095](Y)|0)&2|0)==0){break}H=c[(c[d>>2]|0)+20>>2]|0;Z=c[(c[H>>2]|0)+52>>2]|0;g[m>>2]=1.0;g[m+4>>2]=1.0;g[m+8>>2]=1.0;g[m+12>>2]=0.0;dI[Z&1023](H,h,j,m);H=c[(c[d>>2]|0)+20>>2]|0;Z=c[(c[H>>2]|0)+52>>2]|0;g[n>>2]=1.0;g[n+4>>2]=1.0;g[n+8>>2]=1.0;g[n+12>>2]=0.0;dI[Z&1023](H,k,l,n)}}while(0);c[(c[o>>2]|0)+192>>2]=_;_=c[o>>2]|0;g[_+4>>2]=r;g[_+8>>2]=s;g[_+12>>2]=t;g[_+16>>2]=u;g[_+20>>2]=v;g[_+24>>2]=w;g[_+28>>2]=x;g[_+32>>2]=y;g[_+36>>2]=z;g[_+40>>2]=A;g[_+44>>2]=B;g[_+48>>2]=C;g[_+52>>2]=D;g[_+56>>2]=E;g[_+60>>2]=F;g[_+64>>2]=G;_=c[o>>2]|0;o=_+68|0;c[o>>2]=c[I>>2];c[o+4>>2]=c[I+4>>2];c[o+8>>2]=c[I+8>>2];c[o+12>>2]=c[I+12>>2];I=_+84|0;c[I>>2]=c[J>>2];c[I+4>>2]=c[J+4>>2];c[I+8>>2]=c[J+8>>2];c[I+12>>2]=c[J+12>>2];J=_+100|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];K=_+116|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];i=e;return}function aCg(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.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,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0;i=(a[b+28|0]&1)!=0;j=i?e:d;k=i?d:e;e=j+192|0;d=c[b+12>>2]|0;if((d|0)<=0){l=1.0;return+l}i=c[e>>2]|0;m=i+24|0;n=j+4|0;o=j+8|0;p=j+12|0;q=j+16|0;r=j+20|0;s=j+24|0;t=j+28|0;u=j+32|0;v=j+36|0;w=j+40|0;x=j+44|0;y=j+48|0;z=j+52|0;A=j+56|0;B=j+60|0;C=j+64|0;D=b+20|0;E=+g[n>>2];F=+g[o>>2];G=+g[p>>2];H=+g[q>>2];I=+g[r>>2];J=+g[s>>2];K=+g[t>>2];L=+g[u>>2];M=+g[v>>2];N=+g[w>>2];O=+g[x>>2];P=+g[y>>2];Q=+g[z>>2];R=+g[A>>2];S=+g[B>>2];T=+g[C>>2];b=0;U=1.0;while(1){V=c[m>>2]|0;W=c[V+(b*80|0)+64>>2]|0;X=+g[V+(b*80|0)>>2];Y=+g[V+(b*80|0)+16>>2];Z=+g[V+(b*80|0)+32>>2];_=+g[V+(b*80|0)+4>>2];$=+g[V+(b*80|0)+20>>2];aa=+g[V+(b*80|0)+36>>2];ab=+g[V+(b*80|0)+8>>2];ac=+g[V+(b*80|0)+24>>2];ad=+g[V+(b*80|0)+40>>2];ae=+g[V+(b*80|0)+48>>2];af=+g[V+(b*80|0)+52>>2];ag=+g[V+(b*80|0)+56>>2];g[n>>2]=E*X+F*Y+G*Z;g[o>>2]=E*_+F*$+G*aa;g[p>>2]=E*ab+F*ac+G*ad;g[q>>2]=0.0;g[r>>2]=I*X+J*Y+K*Z;g[s>>2]=I*_+J*$+K*aa;g[t>>2]=I*ab+J*ac+K*ad;g[u>>2]=0.0;g[v>>2]=M*X+N*Y+O*Z;g[w>>2]=M*_+N*$+O*aa;g[x>>2]=M*ab+N*ac+O*ad;g[y>>2]=0.0;g[z>>2]=Q+(E*ae+F*af+G*ag);g[A>>2]=R+(I*ae+J*af+K*ag);g[B>>2]=S+(M*ae+N*af+O*ag);g[C>>2]=0.0;c[e>>2]=W;W=c[(c[D>>2]|0)+(b<<2)>>2]|0;ag=+db[c[(c[W>>2]|0)+12>>2]&127](W,j,k,f,h);af=ag>2]=i;g[n>>2]=E;g[o>>2]=F;g[p>>2]=G;g[q>>2]=H;g[r>>2]=I;g[s>>2]=J;g[t>>2]=K;g[u>>2]=L;g[v>>2]=M;g[w>>2]=N;g[x>>2]=O;g[y>>2]=P;g[z>>2]=Q;g[A>>2]=R;g[B>>2]=S;g[C>>2]=T;W=b+1|0;if((W|0)<(d|0)){b=W;U=af}else{l=af;break}}return+l}function aCh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<=0){return}f=a+20|0;a=0;g=e;while(1){e=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((e|0)==0){h=g}else{cv[c[(c[e>>2]|0)+16>>2]&2047](e,b);h=c[d>>2]|0}e=a+1|0;if((e|0)<(h|0)){a=e;g=h}else{break}}return}function aCi(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aCj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;d=i;i=i+48|0;e=d|0;f=d+16|0;h=d+32|0;j=c[b+36>>2]|0;k=a+4|0;l=c[(c[(c[(c[k>>2]|0)+192>>2]|0)+24>>2]|0)+(j*80|0)+64>>2]|0;m=a+16|0;n=c[(c[m>>2]|0)+20>>2]|0;if((n|0)==0){aCf(a,l,j);i=d;return}if(((cA[c[(c[n>>2]|0)+48>>2]&4095](n)|0)&2|0)==0){aCf(a,l,j);i=d;return}n=c[k>>2]|0;o=+g[n+4>>2];p=+g[n+8>>2];q=+g[n+12>>2];r=+g[n+20>>2];s=+g[n+24>>2];t=+g[n+28>>2];u=+g[n+36>>2];v=+g[n+40>>2];w=+g[n+44>>2];x=+g[n+52>>2];y=+g[n+56>>2];z=+g[n+60>>2];A=+g[b+16>>2];B=+g[b>>2];C=+g[b+20>>2];D=+g[b+4>>2];E=+g[b+24>>2];F=+g[b+8>>2];G=(A-B)*.5+0.0;H=(C-D)*.5+0.0;I=(E-F)*.5+0.0;J=(A+B)*.5;B=(C+D)*.5;D=(E+F)*.5;F=+P(+o);E=+P(+p);C=+P(+q);A=+P(+r);K=+P(+s);L=+P(+t);M=+P(+u);N=+P(+v);O=x+(o*J+p*B+q*D);q=y+(r*J+s*B+t*D);t=z+(u*J+v*B+w*D);D=G*F+H*E+I*C;C=G*A+H*K+I*L;L=G*M+H*N+I*+P(+w);g[e>>2]=O-D;g[e+4>>2]=q-C;g[e+8>>2]=t-L;g[e+12>>2]=0.0;g[f>>2]=D+O;g[f+4>>2]=q+C;g[f+8>>2]=t+L;g[f+12>>2]=0.0;b=c[(c[m>>2]|0)+20>>2]|0;m=c[(c[b>>2]|0)+52>>2]|0;g[h>>2]=1.0;g[h+4>>2]=0.0;g[h+8>>2]=0.0;g[h+12>>2]=0.0;dI[m&1023](b,e,f,h);aCf(a,l,j);i=d;return}function aCk(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=19792;c[a+12>>2]=21136;b=a+60|0;d=c[b>>2]|0;e=a+76|0;cv[c[(c[d>>2]|0)+20>>2]&2047](d,c[e>>2]|0);d=c[b>>2]|0;cv[c[(c[d>>2]|0)+16>>2]&2047](d,c[e>>2]|0);if((a|0)==0){return}aDB(a);return}function aCl(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=19792;c[a+12>>2]=21136;b=a+60|0;d=c[b>>2]|0;e=a+76|0;cv[c[(c[d>>2]|0)+20>>2]&2047](d,c[e>>2]|0);d=c[b>>2]|0;cv[c[(c[d>>2]|0)+16>>2]&2047](d,c[e>>2]|0);return}function aCm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+76|0;if((c[e>>2]|0)==0){return}b=d+4|0;f=c[b>>2]|0;g=d+8|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[b>>2]|0}n=d+12|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=d+16|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[b>>2]|0}else{i=f}}while(0);f=(c[d+12>>2]|0)+(i<<2)|0;if((f|0)==0){p=i}else{c[f>>2]=c[e>>2];p=c[b>>2]|0}c[b>>2]=p+1;return}function aCn(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=21136;b=a+48|0;d=c[b>>2]|0;e=a+64|0;cv[c[(c[d>>2]|0)+20>>2]&2047](d,c[e>>2]|0);d=c[b>>2]|0;cv[c[(c[d>>2]|0)+16>>2]&2047](d,c[e>>2]|0);if((a|0)==0){return}aDB(a);return}function aCo(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=21136;b=a+48|0;d=c[b>>2]|0;e=a+64|0;cv[c[(c[d>>2]|0)+20>>2]&2047](d,c[e>>2]|0);d=c[b>>2]|0;cv[c[(c[d>>2]|0)+16>>2]&2047](d,c[e>>2]|0);return}function aCp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+104|0;h=f|0;j=c[a+48>>2]|0;k=a+8|0;l=a+4|0;if((c[(c[(c[l>>2]|0)+192>>2]|0)+4>>2]|0)>=20){i=f;return}m=c[k>>2]|0;c[h+8>>2]=0;n=h|0;g[h+12>>2]=1.0;g[h+16>>2]=1.0;g[h+20>>2]=1.0;g[h+24>>2]=0.0;o=h+52|0;c[o>>2]=0;c[n>>2]=24592;c[h+4>>2]=1;p=h+56|0;q=b;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];q=h+72|0;p=b+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];p=h+88|0;q=b+32|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];g[h+44>>2]=+g[a+56>>2];q=m+192|0;m=c[q>>2]|0;c[q>>2]=h;h=dE[c[(c[j>>2]|0)+8>>2]&127](j,c[l>>2]|0,c[k>>2]|0,c[a+64>>2]|0)|0;p=a+44|0;b=c[p>>2]|0;r=c[b>>2]|0;if((c[b+136>>2]|0)==(c[k>>2]|0)){dA[c[r+8>>2]&511](b,d,e)}else{dA[c[r+12>>2]&511](b,d,e)}co[c[(c[h>>2]|0)+8>>2]&255](h,c[l>>2]|0,c[k>>2]|0,c[a+52>>2]|0,c[p>>2]|0);ct[c[c[h>>2]>>2]&2047](h);cv[c[(c[j>>2]|0)+60>>2]&2047](j,h);c[q>>2]=m;c[n>>2]=21200;n=c[o>>2]|0;if((n|0)==0){i=f;return}c[9804]=(c[9804]|0)+1;aDB(c[n-80+76>>2]|0);i=f;return}function aCq(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0;j=i;i=i+64|0;k=j|0;l=(a[b+8|0]&1)!=0;m=l?e:d;n=l?d:e;e=c[n+192>>2]|0;if(((c[e+4>>2]|0)-21|0)>>>0>=9){i=j;return}d=e;if((c[(c[m+192>>2]|0)+4>>2]|0)>=20){i=j;return}o=+dh[c[(c[e>>2]|0)+44>>2]&1023](d);l=b+76|0;p=h+4|0;c[p>>2]=c[l>>2];c[b+64>>2]=f;g[b+68>>2]=o;c[b+56>>2]=h;f=c[b+20>>2]|0;q=+g[f+4>>2];r=+g[f+20>>2];s=+g[f+36>>2];t=+g[f+8>>2];u=+g[f+24>>2];v=+g[f+40>>2];w=+g[f+12>>2];x=+g[f+28>>2];y=+g[f+44>>2];z=-0.0- +g[f+52>>2];A=-0.0- +g[f+56>>2];B=-0.0- +g[f+60>>2];f=c[b+16>>2]|0;C=+g[f+4>>2];D=+g[f+20>>2];E=+g[f+36>>2];F=+g[f+8>>2];G=+g[f+24>>2];H=+g[f+40>>2];I=+g[f+12>>2];J=+g[f+28>>2];K=+g[f+44>>2];L=+g[f+52>>2];M=+g[f+56>>2];N=+g[f+60>>2];g[k>>2]=q*C+r*D+s*E;g[k+4>>2]=q*F+r*G+s*H;g[k+8>>2]=q*I+r*J+s*K;g[k+12>>2]=0.0;g[k+16>>2]=t*C+u*D+v*E;g[k+20>>2]=t*F+u*G+v*H;g[k+24>>2]=t*I+u*J+v*K;g[k+28>>2]=0.0;g[k+32>>2]=w*C+x*D+y*E;g[k+36>>2]=w*F+x*G+y*H;g[k+40>>2]=w*I+x*J+y*K;g[k+44>>2]=0.0;g[k+48>>2]=q*z+r*A+s*B+(q*L+r*M+s*N);g[k+52>>2]=t*z+u*A+v*B+(t*L+u*M+v*N);g[k+56>>2]=w*z+x*A+y*B+(w*L+x*M+y*N);g[k+60>>2]=0.0;O=c[f+192>>2]|0;f=b+24|0;P=b+40|0;dI[c[(c[O>>2]|0)+8>>2]&1023](O,k,f,P);k=P|0;g[k>>2]=+g[k>>2]+o;k=b+44|0;g[k>>2]=+g[k>>2]+o;k=b+48|0;g[k>>2]=+g[k>>2]+o;k=f|0;g[k>>2]=+g[k>>2]-o;k=b+28|0;g[k>>2]=+g[k>>2]-o;k=b+32|0;g[k>>2]=+g[k>>2]-o;k=c[l>>2]|0;c[k+1108>>2]=m;c[k+1112>>2]=n;dI[c[(c[e>>2]|0)+60>>2]&1023](d,b+12|0,f,P);P=c[p>>2]|0;if((c[P+1116>>2]|0)==0){i=j;return}if((c[P+1108>>2]|0)==(c[h+136>>2]|0)){ay6(P,h+8|0,h+72|0);i=j;return}else{ay6(P,h+72|0,h+8|0);i=j;return}}function aCr(a){a=a|0;return}function aCs(a){a=a|0;return}function aCt(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ab=0,ac=0,ad=0.0,ae=0.0,af=0.0;h=i;i=i+240|0;f=h|0;j=h+16|0;k=h+32|0;l=(a[b+8|0]&1)!=0;b=l?e:d;m=l?d:e;n=+g[b+116>>2];o=+g[b+52>>2];p=n-o;q=+g[b+120>>2];r=+g[b+56>>2];s=q-r;t=+g[b+124>>2];u=+g[b+60>>2];v=t-u;w=+g[b+248>>2];if(p*p+s*s+v*v>2];v=+g[m+20>>2];s=+g[m+36>>2];p=+g[m+8>>2];y=+g[m+24>>2];z=+g[m+40>>2];A=+g[m+12>>2];B=+g[m+28>>2];C=+g[m+44>>2];D=-0.0- +g[m+52>>2];E=-0.0- +g[m+56>>2];F=-0.0- +g[m+60>>2];G=w*D+v*E+s*F;H=p*D+y*E+z*F;I=A*D+B*E+C*F;F=+g[b+4>>2];E=+g[b+20>>2];D=+g[b+36>>2];J=+g[b+8>>2];K=+g[b+24>>2];L=+g[b+40>>2];M=+g[b+12>>2];N=+g[b+28>>2];O=+g[b+44>>2];P=G+(w*o+v*r+s*u);Q=H+(p*o+y*r+z*u);R=I+(A*o+B*r+C*u);u=+g[b+68>>2];r=+g[b+84>>2];o=+g[b+100>>2];S=+g[b+72>>2];T=+g[b+88>>2];U=+g[b+104>>2];V=+g[b+76>>2];W=+g[b+92>>2];X=+g[b+108>>2];Y=G+(w*n+v*q+s*t);G=H+(p*n+y*q+z*t);H=I+(A*n+B*q+C*t);e=c[m+192>>2]|0;if(((c[e+4>>2]|0)-21|0)>>>0>=9){x=1.0;i=h;return+x}m=f|0;g[m>>2]=P;d=f+4|0;g[d>>2]=Q;l=f+8|0;g[l>>2]=R;g[f+12>>2]=0.0;if(Y>2]=Y;Z=Y}else{Z=P}if(G>2]=G;_=G}else{_=Q}if(H>2]=H;$=H}else{$=R}aa=j|0;g[aa>>2]=P;ab=j+4|0;g[ab>>2]=Q;ac=j+8|0;g[ac>>2]=R;g[j+12>>2]=0.0;if(P>2]=Y;ad=Y}else{ad=P}if(Q>2]=G;ae=G}else{ae=Q}if(R>2]=H;af=H}else{af=R}t=+g[b+244>>2];g[m>>2]=Z-t;g[d>>2]=_-t;g[l>>2]=$-t;g[aa>>2]=t+ad;g[ab>>2]=t+ae;g[ac>>2]=t+af;c[k>>2]=18528;g[k+4>>2]=w*F+v*E+s*D;g[k+8>>2]=w*J+v*K+s*L;g[k+12>>2]=w*M+v*N+s*O;g[k+16>>2]=0.0;g[k+20>>2]=p*F+y*E+z*D;g[k+24>>2]=p*J+y*K+z*L;g[k+28>>2]=p*M+y*N+z*O;g[k+32>>2]=0.0;g[k+36>>2]=A*F+B*E+C*D;g[k+40>>2]=A*J+B*K+C*L;g[k+44>>2]=A*M+B*N+C*O;g[k+48>>2]=0.0;g[k+52>>2]=P;g[k+56>>2]=Q;g[k+60>>2]=R;g[k+64>>2]=0.0;g[k+68>>2]=w*u+v*r+s*o;g[k+72>>2]=w*S+v*T+s*U;g[k+76>>2]=w*V+v*W+s*X;g[k+80>>2]=0.0;g[k+84>>2]=p*u+y*r+z*o;g[k+88>>2]=p*S+y*T+z*U;g[k+92>>2]=p*V+y*W+z*X;g[k+96>>2]=0.0;g[k+100>>2]=A*u+B*r+C*o;g[k+104>>2]=A*S+B*T+C*U;g[k+108>>2]=A*V+B*W+C*X;g[k+112>>2]=0.0;g[k+116>>2]=Y;g[k+120>>2]=G;g[k+124>>2]=H;g[k+128>>2]=0.0;g[k+196>>2]=t;ac=k+200|0;ab=b+240|0;g[ac>>2]=+g[ab>>2];if((e|0)==0){x=1.0;i=h;return+x}dI[c[(c[e>>2]|0)+60>>2]&1023](e,k|0,f,j);t=+g[ac>>2];if(t>=+g[ab>>2]){x=1.0;i=h;return+x}g[ab>>2]=t;x=t;i=h;return+x}function aCu(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aCv(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0;f=i;i=i+776|0;e=f|0;h=f+64|0;j=f+240|0;k=f+296|0;l=f+400|0;m=f+760|0;g[e>>2]=1.0;aDD(e+4|0,0,16);g[e+20>>2]=1.0;aDD(e+24|0,0,16);g[e+40>>2]=1.0;aDD(e+44|0,0,20);c[h>>2]=19544;n=h+164|0;c[h+168>>2]=0;g[h+172>>2]=0.0;o=a+200|0;g[n>>2]=+g[o>>2];p=+g[a+196>>2];c[j+8>>2]=0;g[j+12>>2]=1.0;g[j+16>>2]=1.0;g[j+20>>2]=1.0;g[j+24>>2]=0.0;c[j>>2]=25528;c[j+4>>2]=8;g[j+28>>2]=p;g[j+44>>2]=p;c[k+8>>2]=0;q=k|0;g[k+12>>2]=1.0;g[k+16>>2]=1.0;g[k+20>>2]=1.0;g[k+24>>2]=0.0;g[k+44>>2]=.03999999910593033;r=k+52|0;c[r>>2]=0;c[q>>2]=24592;c[k+4>>2]=1;s=k+56|0;t=d;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];t=k+72|0;s=d+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];s=k+88|0;t=d+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];g[l+308>>2]=9999999747378752.0e-20;b[l+332>>1]=0;c[m>>2]=21768;c[m+4>>2]=l;c[m+8>>2]=j;c[m+12>>2]=k;do{if(aA0(m,a+4|0,a+68|0,e,e,h)|0){p=+g[n>>2];if(+g[o>>2]<=p){break}g[o>>2]=p}}while(0);c[q>>2]=21200;q=c[r>>2]|0;if((q|0)==0){i=f;return}c[9804]=(c[9804]|0)+1;aDB(c[q-80+76>>2]|0);i=f;return}function aCw(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aCx(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=21656;if((a[b+16|0]&1)==0){d=b;aDB(d);return}e=c[b+20>>2]|0;if((e|0)==0){d=b;aDB(d);return}f=c[b+4>>2]|0;cv[c[(c[f>>2]|0)+16>>2]&2047](f,e);d=b;aDB(d);return}function aCy(b){b=b|0;var d=0,e=0;c[b>>2]=21656;if((a[b+16|0]&1)==0){return}d=c[b+20>>2]|0;if((d|0)==0){return}e=c[b+4>>2]|0;cv[c[(c[e>>2]|0)+16>>2]&2047](e,d);return}function aCz(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var 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,z=0,A=0,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,O=0,R=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0.0,ao=0.0,ap=0.0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,ba=0,bb=0,bc=0,bd=0,be=0,bf=0.0,bg=0,bh=0,bi=0,bj=0,bk=0,bl=0,bm=0,bn=0.0,bo=0.0,bp=0.0,bq=0.0,br=0,bs=0,bt=0,bu=0,bv=0,bw=0,bx=0,by=0,bz=0,bA=0,bB=0,bC=0.0,bD=0,bE=0.0,bF=0,bG=0,bH=0,bI=0,bJ=0,bK=0,bL=0,bM=0,bN=0.0,bO=0.0,bP=0.0,bQ=0,bR=0,bS=0,bT=0,bU=0,bV=0,bW=0;j=i;i=i+840|0;k=j|0;l=j+24|0;m=j+40|0;n=j+48|0;o=j+64|0;p=j+72|0;q=j+88|0;r=j+96|0;s=j+112|0;t=j+128|0;u=j+264|0;v=j+344|0;w=j+352|0;x=j+368|0;y=j+384|0;z=j+408|0;A=j+424|0;B=j+440|0;C=j+456|0;D=j+472|0;E=b+20|0;F=c[E>>2]|0;if((F|0)==0){G=c[b+4>>2]|0;H=cS[c[(c[G>>2]|0)+12>>2]&511](G,d,e)|0;c[E>>2]=H;a[b+16|0]=1;I=H}else{I=F}F=h+4|0;c[F>>2]=I;I=c[d+192>>2]|0;H=I;G=c[e+192>>2]|0;J=G;K=I+4|0;L=G+4|0;do{if((c[K>>2]|0)==10){if((c[L>>2]|0)!=10){M=L;break}N=I;O=G;R=I;U=c[(c[I>>2]|0)+28>>2]|0;cA[U&4095](R)|0;R=G;U=c[(c[G>>2]|0)+28>>2]|0;cA[U&4095](R)|0;V=+g[(c[E>>2]|0)+1120>>2];R=c[I+52>>2]|0;W=+g[N+28+(R<<2)>>2];X=+g[N+28+(((R+2|0)%3|0)<<2)>>2];N=c[G+52>>2]|0;Y=+g[O+28+(N<<2)>>2];Z=+g[O+28+(((N+2|0)%3|0)<<2)>>2];_=+g[d+4+(R<<2)>>2];$=+g[d+20+(R<<2)>>2];aa=+g[d+36+(R<<2)>>2];ab=+g[e+4+(N<<2)>>2];ac=+g[e+20+(N<<2)>>2];ad=+g[e+36+(N<<2)>>2];ae=+g[e+52>>2];af=+g[e+56>>2];ag=+g[e+60>>2];ah=ae- +g[d+52>>2];ai=af- +g[d+56>>2];aj=ag- +g[d+60>>2];ak=_*ab+$*ac+aa*ad;al=_*ah+$*ai+aa*aj;am=ab*ah+ac*ai+ad*aj;an=1.0-ak*ak;do{if(an==0.0){ao=0.0}else{ap=(al-ak*am)/an;aq=-0.0-W;if(ap1.4210854715202004e-14){au=-0.0-1.0/aq;av=ak*au;aw=an*au;ax=ap*au;g[r>>2]=av;g[r+4>>2]=aw;g[r+8>>2]=ax;g[r+12>>2]=0.0;ay=av;az=aw;aA=ax}else{if(+P(+aa)>.7071067690849304){ax=1.0/+Q(+($*$+aa*aa));g[r>>2]=0.0;aw=ax*(-0.0-aa);g[r+4>>2]=aw;av=$*ax;g[r+8>>2]=av;ay=0.0;az=aw;aA=av;break}else{av=1.0/+Q(+(_*_+$*$));aw=av*(-0.0-$);g[r>>2]=aw;ax=_*av;g[r+4>>2]=ax;g[r+8>>2]=0.0;ay=aw;az=ax;aA=0.0;break}}}while(0);g[s>>2]=Z*ay+(Y+ae);g[s+4>>2]=Z*az+(W+af);g[s+8>>2]=Z*aA+(al+ag);g[s+12>>2]=0.0}if(ar>2]|0)+16>>2]&127](h,r,s,ar)}N=c[F>>2]|0;if((c[N+1116>>2]|0)==0){i=j;return}if((c[N+1108>>2]|0)==(c[h+136>>2]|0)){ay6(N,h+8|0,h+72|0);i=j;return}else{ay6(N,h+72|0,h+8|0);i=j;return}}else{M=L}}while(0);L=t+128|0;g[L>>2]=999999984306749400.0;s=t+132|0;c[s>>2]=0;r=c[b+8>>2]|0;N=c[b+12>>2]|0;c[u>>2]=23568;R=u+4|0;g[R>>2]=0.0;O=u+8|0;g[O>>2]=1.0;U=u+12|0;g[U>>2]=0.0;g[u+16>>2]=0.0;c[u+20>>2]=N;c[u+24>>2]=r;r=u+28|0;c[r>>2]=H;N=u+32|0;c[N>>2]=J;c[u+36>>2]=c[K>>2];c[u+40>>2]=c[M>>2];aB=I;g[u+44>>2]=+dh[c[(c[aB>>2]|0)+44>>2]&1023](H);aC=G;g[u+48>>2]=+dh[c[(c[aC>>2]|0)+44>>2]&1023](J);a[u+52|0]=0;c[u+60>>2]=-1;c[u+72>>2]=1;c[r>>2]=H;c[N>>2]=J;aA=+dh[c[(c[aB>>2]|0)+44>>2]&1023](H);az=+dh[c[(c[aC>>2]|0)+44>>2]&1023](J);ay=aA+az+ +g[(c[E>>2]|0)+1120>>2];g[L>>2]=ay*ay;c[s>>2]=c[f+40>>2];s=d+4|0;L=t;J=s;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];aC=t+16|0;H=d+20|0;c[aC>>2]=c[H>>2];c[aC+4>>2]=c[H+4>>2];c[aC+8>>2]=c[H+8>>2];c[aC+12>>2]=c[H+12>>2];aB=t+32|0;N=d+36|0;c[aB>>2]=c[N>>2];c[aB+4>>2]=c[N+4>>2];c[aB+8>>2]=c[N+8>>2];c[aB+12>>2]=c[N+12>>2];r=t+48|0;aD=d+52|0;c[r>>2]=c[aD>>2];c[r+4>>2]=c[aD+4>>2];c[r+8>>2]=c[aD+8>>2];c[r+12>>2]=c[aD+12>>2];aE=e+4|0;aF=t+64|0;aG=aE;c[aF>>2]=c[aG>>2];c[aF+4>>2]=c[aG+4>>2];c[aF+8>>2]=c[aG+8>>2];c[aF+12>>2]=c[aG+12>>2];aH=t+80|0;aI=e+20|0;c[aH>>2]=c[aI>>2];c[aH+4>>2]=c[aI+4>>2];c[aH+8>>2]=c[aI+8>>2];c[aH+12>>2]=c[aI+12>>2];aJ=t+96|0;aK=e+36|0;c[aJ>>2]=c[aK>>2];c[aJ+4>>2]=c[aK+4>>2];c[aJ+8>>2]=c[aK+8>>2];c[aJ+12>>2]=c[aK+12>>2];aL=t+112|0;aM=e+52|0;c[aL>>2]=c[aM>>2];c[aL+4>>2]=c[aM+4>>2];c[aL+8>>2]=c[aM+8>>2];c[aL+12>>2]=c[aM+12>>2];do{if((c[K>>2]|0)<7){if((c[M>>2]|0)>=7){break}c[v>>2]=18688;aN=I+52|0;if((c[aN>>2]|0)==0){break}aO=G+52|0;if((c[aO>>2]|0)==0){if((c[M>>2]|0)!=1){break}axX(u,t,v|0,c[f+20>>2]|0,0);ay=+g[R>>2];az=+g[O>>2];aA=+g[U>>2];as=1.0/+Q(+(ay*ay+az*az+aA*aA));g[x>>2]=ay*as;g[x+4>>2]=az*as;g[x+8>>2]=aA*as;g[x+12>>2]=0.0;aP=y+16|0;a[aP]=1;aQ=y+12|0;c[aQ>>2]=0;aR=y+4|0;c[aR>>2]=0;aS=y+8|0;c[aS>>2]=0;aT=G+56|0;aU=aE|0;as=+g[aT>>2];aV=e+8|0;aA=+g[aT+4>>2];aW=e+12|0;az=+g[aT+8>>2];aX=e+52|0;ay=+g[aX>>2]+(+g[aU>>2]*as+ +g[aV>>2]*aA+ +g[aW>>2]*az);aY=e+20|0;aZ=e+24|0;a_=e+28|0;a$=e+56|0;at=+g[a$>>2]+(as*+g[aY>>2]+aA*+g[aZ>>2]+az*+g[a_>>2]);a0=e+36|0;a1=e+40|0;a2=e+44|0;a3=e+60|0;ao=+g[a3>>2]+(as*+g[a0>>2]+aA*+g[a1>>2]+az*+g[a2>>2]);c[9806]=(c[9806]|0)+1;a4=aDx(35)|0;do{if((a4|0)==0){a[aP]=1;c[aQ>>2]=0;c[aS>>2]=1;a5=0}else{a6=-(a4+4|0)&15;c[a4+a6>>2]=a4;a7=a4+(a6+4)|0;a[aP]=1;c[aQ>>2]=a7;c[aS>>2]=1;if((a7|0)==0){a5=a7;break}g[a7>>2]=ay;g[a7+4>>2]=at;g[a7+8>>2]=ao;g[a7+12>>2]=0.0;a5=a7}}while(0);c[aR>>2]=1;ao=+g[aT+16>>2];at=+g[aT+20>>2];ay=+g[aT+24>>2];ar=+g[aX>>2]+(+g[aU>>2]*ao+ +g[aV>>2]*at+ +g[aW>>2]*ay);V=+g[a$>>2]+(ao*+g[aY>>2]+at*+g[aZ>>2]+ay*+g[a_>>2]);ag=+g[a3>>2]+(ao*+g[a0>>2]+at*+g[a1>>2]+ay*+g[a2>>2]);c[9806]=(c[9806]|0)+1;a4=aDx(51)|0;if((a4|0)==0){a8=0}else{a7=-(a4+4|0)&15;c[a4+a7>>2]=a4;a8=a4+(a7+4)|0}a7=0;while(1){a4=a8+(a7<<4)|0;if((a4|0)!=0){a6=a4;a4=(c[aQ>>2]|0)+(a7<<4)|0;c[a6>>2]=c[a4>>2];c[a6+4>>2]=c[a4+4>>2];c[a6+8>>2]=c[a4+8>>2];c[a6+12>>2]=c[a4+12>>2]}if((a7|0)<0){a7=a7+1|0}else{break}}a7=c[aQ>>2]|0;if((a7|0)!=0){if((a[aP]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[a7-16+12>>2]|0)}c[aQ>>2]=0}a[aP]=1;c[aQ>>2]=a8;c[aS>>2]=2;a7=c[aR>>2]|0;a4=a8+(a7<<4)|0;if((a4|0)==0){a9=a7;ba=2}else{g[a4>>2]=ar;g[a8+(a7<<4)+4>>2]=V;g[a8+(a7<<4)+8>>2]=ag;g[a8+(a7<<4)+12>>2]=0.0;a9=c[aR>>2]|0;ba=c[aS>>2]|0}a7=a9+1|0;c[aR>>2]=a7;ay=+g[aT+32>>2];at=+g[aT+36>>2];ao=+g[aT+40>>2];al=+g[aX>>2]+(+g[aU>>2]*ay+ +g[aV>>2]*at+ +g[aW>>2]*ao);Z=+g[a$>>2]+(ay*+g[aY>>2]+at*+g[aZ>>2]+ao*+g[a_>>2]);af=+g[a3>>2]+(ay*+g[a0>>2]+at*+g[a1>>2]+ao*+g[a2>>2]);do{if((a7|0)==(ba|0)){a4=(ba|0)==0?1:ba<<1;if((ba|0)>=(a4|0)){bb=ba;break}do{if((a4|0)==0){bc=0}else{c[9806]=(c[9806]|0)+1;a6=aDx((a4<<4|4)+15|0)|0;if((a6|0)==0){bc=0;break}bd=-(a6+4|0)&15;c[a6+bd>>2]=a6;bc=a6+(bd+4)|0}}while(0);if((ba|0)>0){bd=0;do{a6=bc+(bd<<4)|0;if((a6|0)!=0){be=a6;a6=(c[aQ>>2]|0)+(bd<<4)|0;c[be>>2]=c[a6>>2];c[be+4>>2]=c[a6+4>>2];c[be+8>>2]=c[a6+8>>2];c[be+12>>2]=c[a6+12>>2]}bd=bd+1|0;}while((bd|0)<(ba|0))}bd=c[aQ>>2]|0;if((bd|0)!=0){if((a[aP]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bd-16+12>>2]|0)}c[aQ>>2]=0}a[aP]=1;c[aQ>>2]=bc;c[aS>>2]=a4;bb=c[aR>>2]|0}else{bb=a7}}while(0);a7=c[aQ>>2]|0;a2=a7+(bb<<4)|0;if((a2|0)!=0){g[a2>>2]=al;g[a7+(bb<<4)+4>>2]=Z;g[a7+(bb<<4)+8>>2]=af;g[a7+(bb<<4)+12>>2]=0.0}c[aR>>2]=bb+1;ag=+g[(c[E>>2]|0)+1120>>2];aC3(x,c[aN>>2]|0,s,y,+g[u+56>>2]-ag,ag,h|0);do{if((a[b+16|0]&1)!=0){a7=c[F>>2]|0;if((c[a7+1116>>2]|0)==0){break}if((c[a7+1108>>2]|0)==(c[h+136>>2]|0)){ay6(a7,h+8|0,h+72|0);break}else{ay6(a7,h+72|0,h+8|0);break}}}while(0);a7=c[aQ>>2]|0;if((a7|0)!=0){if((a[aP]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[a7-16+12>>2]|0)}c[aQ>>2]=0}a[aP]=1;c[aQ>>2]=0;c[aR>>2]=0;c[aS>>2]=0;i=j;return}axX(u,t,v|0,c[f+20>>2]|0,0);af=+g[(c[E>>2]|0)+1120>>2];L2933:do{if((a[f+24|0]&1)==0){Z=+g[R>>2];al=+g[O>>2];ag=+g[U>>2];V=1.0/+Q(+(Z*Z+al*al+ag*ag));g[w>>2]=Z*V;g[w+4>>2]=al*V;g[w+8>>2]=ag*V;g[w+12>>2]=0.0;bf=+g[u+56>>2];bg=2238}else{a7=c[aN>>2]|0;a2=c[aO>>2]|0;a1=l;a0=n;a3=p;c[10740]=(c[10740]|0)+1;a_=c[a7+28>>2]|0;if((a_|0)>0){aZ=a7+36|0;aY=s|0;a$=d+8|0;aW=d+12|0;aV=d+20|0;aU=d+24|0;aX=d+28|0;aT=d+36|0;bd=d+40|0;a6=d+44|0;be=l|0;bh=l+4|0;bi=l+8|0;bj=l+12|0;bk=w;V=3.4028234663852886e+38;bl=0;while(1){bm=c[aZ>>2]|0;ag=+g[bm+(bl*56|0)+40>>2];al=+g[bm+(bl*56|0)+44>>2];Z=+g[bm+(bl*56|0)+48>>2];ar=ag*+g[aV>>2]+al*+g[aU>>2]+Z*+g[aX>>2];ao=ag*+g[aT>>2]+al*+g[bd>>2]+Z*+g[a6>>2];g[be>>2]=ag*+g[aY>>2]+al*+g[a$>>2]+Z*+g[aW>>2];g[bh>>2]=ar;g[bi>>2]=ao;g[bj>>2]=0.0;if(!(aC2(a7,a2,s,aE,l,m)|0)){break L2933}ao=+g[m>>2];if(ao>2]=c[a1>>2];c[bk+4>>2]=c[a1+4>>2];c[bk+8>>2]=c[a1+8>>2];c[bk+12>>2]=c[a1+12>>2];bn=ao}else{bn=V}bm=bl+1|0;if((bm|0)<(a_|0)){V=bn;bl=bm}else{bo=bn;break}}}else{bo=3.4028234663852886e+38}bl=c[a2+28>>2]|0;if((bl|0)>0){a_=a2+36|0;a1=aE|0;bk=e+8|0;bj=e+12|0;bi=e+20|0;bh=e+24|0;aW=e+28|0;a$=e+36|0;aY=e+40|0;be=e+44|0;a6=n|0;bd=n+4|0;aT=n+8|0;aX=n+12|0;aU=w;V=bo;aV=0;while(1){aZ=c[a_>>2]|0;ao=+g[aZ+(aV*56|0)+40>>2];ar=+g[aZ+(aV*56|0)+44>>2];Z=+g[aZ+(aV*56|0)+48>>2];al=ao*+g[bi>>2]+ar*+g[bh>>2]+Z*+g[aW>>2];ag=ao*+g[a$>>2]+ar*+g[aY>>2]+Z*+g[be>>2];g[a6>>2]=ao*+g[a1>>2]+ar*+g[bk>>2]+Z*+g[bj>>2];g[bd>>2]=al;g[aT>>2]=ag;g[aX>>2]=0.0;if(!(aC2(a7,a2,s,aE,n,o)|0)){break L2933}ag=+g[o>>2];if(ag>2]=c[a0>>2];c[aU+4>>2]=c[a0+4>>2];c[aU+8>>2]=c[a0+8>>2];c[aU+12>>2]=c[a0+12>>2];bp=ag}else{bp=V}aZ=aV+1|0;if((aZ|0)<(bl|0)){V=bp;aV=aZ}else{bq=bp;break}}}else{bq=bo}aV=a7+48|0;bl=c[aV>>2]|0;if((bl|0)>0){a0=a7+56|0;aU=s|0;aX=d+8|0;aT=d+12|0;bd=d+20|0;bj=d+24|0;bk=d+28|0;a1=d+36|0;a6=d+40|0;be=d+44|0;aY=a2+48|0;a$=a2+56|0;aW=aE|0;bh=e+8|0;bi=e+12|0;a_=e+20|0;aZ=e+24|0;a4=e+28|0;bm=e+36|0;br=e+40|0;bs=e+44|0;bt=p|0;bu=p+4|0;bv=p+8|0;bw=p+12|0;bx=w;V=bq;by=0;bz=c[aY>>2]|0;bA=bl;while(1){bl=c[a0>>2]|0;ag=+g[bl+(by<<4)>>2];al=+g[bl+(by<<4)+4>>2];Z=+g[bl+(by<<4)+8>>2];ar=ag*+g[aU>>2]+al*+g[aX>>2]+Z*+g[aT>>2];ao=ag*+g[bd>>2]+al*+g[bj>>2]+Z*+g[bk>>2];at=ag*+g[a1>>2]+al*+g[a6>>2]+Z*+g[be>>2];if((bz|0)>0){Z=V;bl=0;while(1){bB=c[a$>>2]|0;al=+g[bB+(bl<<4)>>2];ag=+g[bB+(bl<<4)+4>>2];ay=+g[bB+(bl<<4)+8>>2];W=al*+g[aW>>2]+ag*+g[bh>>2]+ay*+g[bi>>2];ae=al*+g[a_>>2]+ag*+g[aZ>>2]+ay*+g[a4>>2];Y=al*+g[bm>>2]+ag*+g[br>>2]+ay*+g[bs>>2];ay=ao*Y-at*ae;ag=at*W-ar*Y;Y=ar*ae-ao*W;g[bt>>2]=ay;g[bu>>2]=ag;g[bv>>2]=Y;g[bw>>2]=0.0;do{if(+P(+ay)>1.0e-6){bg=2222}else{if(+P(+ag)>1.0e-6){bg=2222;break}if(+P(+Y)>1.0e-6){bg=2222}else{bC=Z}}}while(0);do{if((bg|0)==2222){bg=0;W=1.0/+Q(+(ay*ay+ag*ag+Y*Y));g[bt>>2]=ay*W;g[bu>>2]=ag*W;g[bv>>2]=Y*W;if(!(aC2(a7,a2,s,aE,p,q)|0)){break L2933}W=+g[q>>2];if(W>=Z){bC=Z;break}c[bx>>2]=c[a3>>2];c[bx+4>>2]=c[a3+4>>2];c[bx+8>>2]=c[a3+8>>2];c[bx+12>>2]=c[a3+12>>2];bC=W}}while(0);bB=bl+1|0;bD=c[aY>>2]|0;if((bB|0)<(bD|0)){Z=bC;bl=bB}else{break}}bE=bC;bF=bD;bG=c[aV>>2]|0}else{bE=V;bF=bz;bG=bA}bl=by+1|0;if((bl|0)<(bG|0)){V=bE;by=bl;bz=bF;bA=bG}else{break}}}bA=w|0;V=+g[bA>>2];bz=w+4|0;Z=+g[bz>>2];by=w+8|0;ao=+g[by>>2];if((+g[e+52>>2]- +g[d+52>>2])*V+(+g[e+56>>2]- +g[d+56>>2])*Z+(+g[e+60>>2]- +g[d+60>>2])*ao<=0.0){bf=0.0;bg=2238;break}g[bA>>2]=-0.0-V;g[bz>>2]=-0.0-Z;g[by>>2]=-0.0-ao;g[w+12>>2]=0.0;bf=0.0;bg=2238}}while(0);do{if((bg|0)==2238){aS=c[aN>>2]|0;aR=c[aO>>2]|0;ao=bf-af;aQ=h|0;aP=c[aR+28>>2]|0;if((aP|0)<=0){break}by=c[aR+36>>2]|0;bz=aE|0;Z=+g[bz>>2];bA=e+8|0;V=+g[bA>>2];aV=e+12|0;ar=+g[aV>>2];aY=e+20|0;at=+g[aY>>2];a3=e+24|0;Y=+g[a3>>2];bx=e+28|0;ag=+g[bx>>2];a2=e+36|0;ay=+g[a2>>2];a7=e+40|0;W=+g[a7>>2];bv=e+44|0;ae=+g[bv>>2];al=+g[w>>2];az=+g[w+4>>2];aA=+g[w+8>>2];bu=0;as=-3.4028234663852886e+38;bt=-1;while(1){_=+g[by+(bu*56|0)+40>>2];$=+g[by+(bu*56|0)+44>>2];aa=+g[by+(bu*56|0)+48>>2];ap=(_*Z+$*V+aa*ar)*al+(_*at+$*Y+aa*ag)*az+(_*ay+$*W+aa*ae)*aA;bw=ap>as;bH=bw?bu:bt;bs=bu+1|0;if((bs|0)<(aP|0)){bu=bs;as=bw?ap:as;bt=bH}else{break}}if((bH|0)<0){break}bt=k+16|0;a[bt]=1;bu=k+12|0;c[bu>>2]=0;aP=k+4|0;c[aP>>2]=0;bw=k+8|0;c[bw>>2]=0;bs=c[by+(bH*56|0)+4>>2]|0;L2983:do{if((bs|0)>0){br=by+(bH*56|0)+12|0;bm=aR+16|0;a4=e+52|0;aZ=e+56|0;a_=e+60|0;bi=0;bh=0;aW=0;as=Z;aA=V;az=ar;al=at;ap=Y;aa=ag;$=ay;_=W;an=ae;a$=0;while(1){be=c[(c[br>>2]|0)+(bi<<2)>>2]|0;a6=c[bm>>2]|0;ak=+g[a6+(be<<4)>>2];aq=+g[a6+(be<<4)+4>>2];am=+g[a6+(be<<4)+8>>2];X=+g[a4>>2]+(as*ak+aA*aq+az*am);aj=+g[aZ>>2]+(ak*al+aq*ap+am*aa);ai=+g[a_>>2]+(ak*$+aq*_+am*an);do{if((bh|0)==(aW|0)){be=(aW|0)==0?1:aW<<1;if((aW|0)>=(be|0)){bI=aW;bJ=a$;break}do{if((be|0)==0){bK=0}else{c[9806]=(c[9806]|0)+1;a6=aDx((be<<4|4)+15|0)|0;if((a6|0)==0){bK=0;break}a1=-(a6+4|0)&15;c[a6+a1>>2]=a6;bK=a6+(a1+4)|0}}while(0);if((aW|0)>0){a1=0;do{a6=bK+(a1<<4)|0;if((a6|0)!=0){bk=a6;a6=(c[bu>>2]|0)+(a1<<4)|0;c[bk>>2]=c[a6>>2];c[bk+4>>2]=c[a6+4>>2];c[bk+8>>2]=c[a6+8>>2];c[bk+12>>2]=c[a6+12>>2]}a1=a1+1|0;}while((a1|0)<(aW|0));bL=c[bu>>2]|0}else{bL=a$}if((bL|0)!=0){if((a[bt]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bL-16+12>>2]|0)}c[bu>>2]=0}a[bt]=1;c[bu>>2]=bK;c[bw>>2]=be;bI=c[aP>>2]|0;bJ=bK}else{bI=bh;bJ=a$}}while(0);a1=bJ+(bI<<4)|0;if((a1|0)==0){bM=bI}else{g[a1>>2]=X;g[bJ+(bI<<4)+4>>2]=aj;g[bJ+(bI<<4)+8>>2]=ai;g[bJ+(bI<<4)+12>>2]=0.0;bM=c[aP>>2]|0}a1=bM+1|0;c[aP>>2]=a1;a6=bi+1|0;if((a6|0)>=(bs|0)){break L2983}bi=a6;bh=a1;aW=c[bw>>2]|0;as=+g[bz>>2];aA=+g[bA>>2];az=+g[aV>>2];al=+g[aY>>2];ap=+g[a3>>2];aa=+g[bx>>2];$=+g[a2>>2];_=+g[a7>>2];an=+g[bv>>2];a$=bJ}}}while(0);aC3(w,aS,s,k,ao,af,aQ);bv=c[bu>>2]|0;if((bv|0)!=0){if((a[bt]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[bv-16+12>>2]|0)}c[bu>>2]=0}a[bt]=1;c[bu>>2]=0;c[aP>>2]=0;c[bw>>2]=0}}while(0);if((a[b+16|0]&1)==0){i=j;return}aO=c[F>>2]|0;if((c[aO+1116>>2]|0)==0){i=j;return}if((c[aO+1108>>2]|0)==(c[h+136>>2]|0)){ay6(aO,h+8|0,h+72|0);i=j;return}else{ay6(aO,h+72|0,h+8|0);i=j;return}}}while(0);k=f+20|0;axX(u,t,h|0,c[k>>2]|0,0);f=b+28|0;L3035:do{if((c[f>>2]|0)!=0){if((c[(c[F>>2]|0)+1116>>2]|0)>=(c[b+32>>2]|0)){break}bf=+g[R>>2];bE=+g[O>>2];bC=+g[U>>2];bq=1.0/+Q(+(bf*bf+bE*bE+bC*bC));bo=bf*bq;bf=bE*bq;bE=bC*bq;if(+P(+bE)>.7071067690849304){bq=1.0/+Q(+(bE*bE+bf*bf));bN=0.0;bO=bq*(-0.0-bE);bP=bf*bq}else{bq=1.0/+Q(+(bo*bo+bf*bf));bN=bq*(-0.0-bf);bO=bo*bq;bP=0.0}bq=+dh[c[(c[I>>2]|0)+16>>2]&1023](I);bC=+dh[c[(c[G>>2]|0)+16>>2]&1023](G);w=bq>2]=c[L>>2];c[bJ+4>>2]=c[L+4>>2];c[bJ+8>>2]=c[L+8>>2];c[bJ+12>>2]=c[L+12>>2];bM=A;c[bM>>2]=c[aC>>2];c[bM+4>>2]=c[aC+4>>2];c[bM+8>>2]=c[aC+8>>2];c[bM+12>>2]=c[aC+12>>2];bM=B;c[bM>>2]=c[aB>>2];c[bM+4>>2]=c[aB+4>>2];c[bM+8>>2]=c[aB+8>>2];c[bM+12>>2]=c[aB+12>>2];bM=C;c[bM>>2]=c[r>>2];c[bM+4>>2]=c[r+4>>2];c[bM+8>>2]=c[r+8>>2];c[bM+12>>2]=c[r+12>>2]}else{c[bJ>>2]=c[aF>>2];c[bJ+4>>2]=c[aF+4>>2];c[bJ+8>>2]=c[aF+8>>2];c[bJ+12>>2]=c[aF+12>>2];bM=A;c[bM>>2]=c[aH>>2];c[bM+4>>2]=c[aH+4>>2];c[bM+8>>2]=c[aH+8>>2];c[bM+12>>2]=c[aH+12>>2];bM=B;c[bM>>2]=c[aJ>>2];c[bM+4>>2]=c[aJ+4>>2];c[bM+8>>2]=c[aJ+8>>2];c[bM+12>>2]=c[aJ+12>>2];bM=C;c[bM>>2]=c[aL>>2];c[bM+4>>2]=c[aL+4>>2];c[bM+8>>2]=c[aL+8>>2];c[bM+12>>2]=c[aL+12>>2]}bM=c[f>>2]|0;if((bM|0)<=0){break}bC=bP*bP+(bO*bO+bN*bN);bq=bp>.39269909262657166?.19634954631328583:bp*.5;bp=bE*bE+(bo*bo+bf*bf);bI=s|0;bK=d+20|0;bL=d+36|0;bH=d+8|0;bg=d+24|0;bG=d+40|0;bF=d+12|0;bD=d+28|0;q=d+44|0;p=t|0;o=t+4|0;n=t+8|0;m=t+12|0;l=t+16|0;E=t+20|0;v=t+24|0;y=t+28|0;x=t+32|0;bb=t+36|0;bc=t+40|0;ba=t+44|0;a9=D|0;a8=D+144|0;a5=D+160|0;M=D+164|0;K=D+180|0;aO=D+196|0;aN=D+212|0;bv=D+228|0;a7=D+244|0;a2=D+260|0;bx=D+276|0;a3=D+292|0;aY=D+308|0;aV=A;bA=D+324|0;bz=B;bs=D+340|0;aR=C;by=D+356|0;a$=w&1;aW=D+360|0;bh=D|0;bi=aE|0;a_=e+20|0;aZ=e+36|0;a4=e+8|0;bm=e+24|0;br=e+40|0;a1=e+12|0;a6=e+28|0;bk=e+44|0;bj=t+64|0;bd=t+68|0;aT=t+72|0;aX=t+76|0;aU=t+80|0;a0=t+84|0;bl=t+88|0;bB=t+92|0;bQ=t+96|0;bR=t+100|0;bS=t+104|0;bT=t+108|0;if(bC<=1.1920928955078125e-7){if(w){bU=0;while(1){bU=bU+1|0;if((bU|0)>=(bM|0)){break L3035}}}else{bU=0;while(1){bU=bU+1|0;if((bU|0)>=(bM|0)){break L3035}}}}bn=+Q(+bC);af=+T(+bq)/bn;bn=bN*af;ae=bO*af;W=bP*af;af=+S(+bq);ay=+Q(+bp);if(w){bU=0;bV=bM;do{ag=+(bU|0)*(6.2831854820251465/+(bV|0))*.5;Y=+T(+ag)/ay;at=bo*Y;ar=bf*Y;V=bE*Y;Y=+S(+ag);ag=-0.0-at;Z=-0.0-ar;an=-0.0-V;_=W*Z+(bn*Y+af*ag)-ae*an;$=bn*an+(ae*Y+af*Z)-W*ag;aa=ae*ag+(W*Y+af*an)-bn*Z;ap=af*Y-bn*ag-ae*Z-W*an;an=V*$+(at*ap+Y*_)-ar*aa;Z=at*aa+(Y*$+ar*ap)-V*_;ag=ar*_+(V*ap+Y*aa)-at*$;al=Y*ap-at*_-ar*$-V*aa;aa=2.0/(al*al+(ag*ag+(an*an+Z*Z)));V=an*aa;$=Z*aa;ar=ag*aa;aa=al*V;_=al*$;at=al*ar;al=an*V;V=an*$;ap=an*ar;an=Z*$;$=Z*ar;Z=ag*ar;ar=1.0-(an+Z);ag=V-at;Y=ap+_;az=V+at;at=1.0-(al+Z);Z=$-aa;V=ap-_;_=$+aa;aa=1.0-(al+an);an=+g[bI>>2];al=+g[bK>>2];$=+g[bL>>2];ap=+g[bH>>2];aA=+g[bg>>2];as=+g[bG>>2];am=+g[bF>>2];aq=+g[bD>>2];ak=+g[q>>2];g[p>>2]=$*Y+(al*ag+an*ar);g[o>>2]=ar*ap+ag*aA+Y*as;g[n>>2]=ar*am+ag*aq+Y*ak;g[m>>2]=0.0;g[l>>2]=$*Z+(an*az+al*at);g[E>>2]=az*ap+at*aA+Z*as;g[v>>2]=az*am+at*aq+Z*ak;g[y>>2]=0.0;g[x>>2]=an*V+al*_+$*aa;g[bb>>2]=V*ap+_*aA+aa*as;g[bc>>2]=V*am+_*aq+aa*ak;g[ba>>2]=0.0;c[aF>>2]=c[aG>>2];c[aF+4>>2]=c[aG+4>>2];c[aF+8>>2]=c[aG+8>>2];c[aF+12>>2]=c[aG+12>>2];c[aH>>2]=c[aI>>2];c[aH+4>>2]=c[aI+4>>2];c[aH+8>>2]=c[aI+8>>2];c[aH+12>>2]=c[aI+12>>2];c[aJ>>2]=c[aK>>2];c[aJ+4>>2]=c[aK+4>>2];c[aJ+8>>2]=c[aK+8>>2];c[aJ+12>>2]=c[aK+12>>2];c[aL>>2]=c[aM>>2];c[aL+4>>2]=c[aM+4>>2];c[aL+8>>2]=c[aM+8>>2];c[aL+12>>2]=c[aM+12>>2];bW=c[k>>2]|0;aDD(a8|0,-1|0,16);c[a9>>2]=21040;c[a5>>2]=h;c[M>>2]=c[L>>2];c[M+4>>2]=c[L+4>>2];c[M+8>>2]=c[L+8>>2];c[M+12>>2]=c[L+12>>2];c[K>>2]=c[aC>>2];c[K+4>>2]=c[aC+4>>2];c[K+8>>2]=c[aC+8>>2];c[K+12>>2]=c[aC+12>>2];c[aO>>2]=c[aB>>2];c[aO+4>>2]=c[aB+4>>2];c[aO+8>>2]=c[aB+8>>2];c[aO+12>>2]=c[aB+12>>2];c[aN>>2]=c[r>>2];c[aN+4>>2]=c[r+4>>2];c[aN+8>>2]=c[r+8>>2];c[aN+12>>2]=c[r+12>>2];c[bv>>2]=c[aF>>2];c[bv+4>>2]=c[aF+4>>2];c[bv+8>>2]=c[aF+8>>2];c[bv+12>>2]=c[aF+12>>2];c[a7>>2]=c[aH>>2];c[a7+4>>2]=c[aH+4>>2];c[a7+8>>2]=c[aH+8>>2];c[a7+12>>2]=c[aH+12>>2];c[a2>>2]=c[aJ>>2];c[a2+4>>2]=c[aJ+4>>2];c[a2+8>>2]=c[aJ+8>>2];c[a2+12>>2]=c[aJ+12>>2];c[bx>>2]=c[aL>>2];c[bx+4>>2]=c[aL+4>>2];c[bx+8>>2]=c[aL+8>>2];c[bx+12>>2]=c[aL+12>>2];c[a3>>2]=c[bJ>>2];c[a3+4>>2]=c[bJ+4>>2];c[a3+8>>2]=c[bJ+8>>2];c[a3+12>>2]=c[bJ+12>>2];c[aY>>2]=c[aV>>2];c[aY+4>>2]=c[aV+4>>2];c[aY+8>>2]=c[aV+8>>2];c[aY+12>>2]=c[aV+12>>2];c[bA>>2]=c[bz>>2];c[bA+4>>2]=c[bz+4>>2];c[bA+8>>2]=c[bz+8>>2];c[bA+12>>2]=c[bz+12>>2];c[bs>>2]=c[aR>>2];c[bs+4>>2]=c[aR+4>>2];c[bs+8>>2]=c[aR+8>>2];c[bs+12>>2]=c[aR+12>>2];a[by]=a$;c[aW>>2]=bW;axX(u,t,bh,bW,0);bV=c[f>>2]|0;bU=bU+1|0;}while((bU|0)<(bV|0))}else{bV=0;bU=bM;do{bp=+(bV|0)*(6.2831854820251465/+(bU|0))*.5;bq=+T(+bp)/ay;bC=bo*bq;ak=bf*bq;aa=bE*bq;bq=+S(+bp);c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];c[aC>>2]=c[H>>2];c[aC+4>>2]=c[H+4>>2];c[aC+8>>2]=c[H+8>>2];c[aC+12>>2]=c[H+12>>2];c[aB>>2]=c[N>>2];c[aB+4>>2]=c[N+4>>2];c[aB+8>>2]=c[N+8>>2];c[aB+12>>2]=c[N+12>>2];c[r>>2]=c[aD>>2];c[r+4>>2]=c[aD+4>>2];c[r+8>>2]=c[aD+8>>2];c[r+12>>2]=c[aD+12>>2];bp=-0.0-bC;aq=-0.0-ak;_=-0.0-aa;am=W*aq+(bn*bq+af*bp)-ae*_;V=bn*_+(ae*bq+af*aq)-W*bp;as=ae*bp+(W*bq+af*_)-bn*aq;aA=af*bq-bn*bp-ae*aq-W*_;_=aa*V+(bC*aA+bq*am)-ak*as;aq=bC*as+(bq*V+ak*aA)-aa*am;bp=ak*am+(aa*aA+bq*as)-bC*V;ap=bq*aA-bC*am-ak*V-aa*as;as=2.0/(ap*ap+(bp*bp+(_*_+aq*aq)));aa=_*as;V=aq*as;ak=bp*as;as=ap*aa;am=ap*V;bC=ap*ak;ap=_*aa;aa=_*V;aA=_*ak;_=aq*V;V=aq*ak;aq=bp*ak;ak=1.0-(_+aq);bp=aa-bC;bq=aA+am;$=aa+bC;bC=1.0-(ap+aq);aq=V-as;aa=aA-am;am=V+as;as=1.0-(ap+_);_=+g[bi>>2];ap=+g[a_>>2];V=+g[aZ>>2];aA=+g[a4>>2];al=+g[bm>>2];an=+g[br>>2];Z=+g[a1>>2];at=+g[a6>>2];az=+g[bk>>2];g[bj>>2]=V*bq+(ap*bp+_*ak);g[bd>>2]=ak*aA+bp*al+bq*an;g[aT>>2]=ak*Z+bp*at+bq*az;g[aX>>2]=0.0;g[aU>>2]=V*aq+(_*$+ap*bC);g[a0>>2]=$*aA+bC*al+aq*an;g[bl>>2]=$*Z+bC*at+aq*az;g[bB>>2]=0.0;g[bQ>>2]=_*aa+ap*am+V*as;g[bR>>2]=aa*aA+am*al+as*an;g[bS>>2]=aa*Z+am*at+as*az;g[bT>>2]=0.0;ba=c[k>>2]|0;aDD(a8|0,-1|0,16);c[a9>>2]=21040;c[a5>>2]=h;c[M>>2]=c[L>>2];c[M+4>>2]=c[L+4>>2];c[M+8>>2]=c[L+8>>2];c[M+12>>2]=c[L+12>>2];c[K>>2]=c[aC>>2];c[K+4>>2]=c[aC+4>>2];c[K+8>>2]=c[aC+8>>2];c[K+12>>2]=c[aC+12>>2];c[aO>>2]=c[aB>>2];c[aO+4>>2]=c[aB+4>>2];c[aO+8>>2]=c[aB+8>>2];c[aO+12>>2]=c[aB+12>>2];c[aN>>2]=c[r>>2];c[aN+4>>2]=c[r+4>>2];c[aN+8>>2]=c[r+8>>2];c[aN+12>>2]=c[r+12>>2];c[bv>>2]=c[aF>>2];c[bv+4>>2]=c[aF+4>>2];c[bv+8>>2]=c[aF+8>>2];c[bv+12>>2]=c[aF+12>>2];c[a7>>2]=c[aH>>2];c[a7+4>>2]=c[aH+4>>2];c[a7+8>>2]=c[aH+8>>2];c[a7+12>>2]=c[aH+12>>2];c[a2>>2]=c[aJ>>2];c[a2+4>>2]=c[aJ+4>>2];c[a2+8>>2]=c[aJ+8>>2];c[a2+12>>2]=c[aJ+12>>2];c[bx>>2]=c[aL>>2];c[bx+4>>2]=c[aL+4>>2];c[bx+8>>2]=c[aL+8>>2];c[bx+12>>2]=c[aL+12>>2];c[a3>>2]=c[bJ>>2];c[a3+4>>2]=c[bJ+4>>2];c[a3+8>>2]=c[bJ+8>>2];c[a3+12>>2]=c[bJ+12>>2];c[aY>>2]=c[aV>>2];c[aY+4>>2]=c[aV+4>>2];c[aY+8>>2]=c[aV+8>>2];c[aY+12>>2]=c[aV+12>>2];c[bA>>2]=c[bz>>2];c[bA+4>>2]=c[bz+4>>2];c[bA+8>>2]=c[bz+8>>2];c[bA+12>>2]=c[bz+12>>2];c[bs>>2]=c[aR>>2];c[bs+4>>2]=c[aR+4>>2];c[bs+8>>2]=c[aR+8>>2];c[bs+12>>2]=c[aR+12>>2];a[by]=a$;c[aW>>2]=ba;axX(u,t,bh,ba,0);bU=c[f>>2]|0;bV=bV+1|0;}while((bV|0)<(bU|0))}}}while(0);if((a[b+16|0]&1)==0){i=j;return}b=c[F>>2]|0;if((c[b+1116>>2]|0)==0){i=j;return}if((c[b+1108>>2]|0)==(c[h+136>>2]|0)){ay6(b,h+8|0,h+72|0);i=j;return}else{ay6(b,h+72|0,h+8|0);i=j;return}}function aCA(a){a=a|0;return}function aCB(a){a=a|0;return}function aCC(a,b,c){a=a|0;b=b|0;c=c|0;return}function aCD(a,b,c){a=a|0;b=b|0;c=c|0;return}function aCE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function aCF(a,d,e,f,h){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;h=i;i=i+1216|0;f=h|0;a=h+56|0;j=h+232|0;k=h+592|0;l=h+608|0;m=h+664|0;n=h+840|0;o=h+1200|0;p=d+68|0;q=d+4|0;r=+g[d+116>>2]- +g[d+52>>2];s=+g[d+120>>2]- +g[d+56>>2];t=+g[d+124>>2]- +g[d+60>>2];u=e+68|0;v=e+4|0;w=+g[e+116>>2]- +g[e+52>>2];x=+g[e+120>>2]- +g[e+56>>2];y=+g[e+124>>2]- +g[e+60>>2];z=+g[d+248>>2];do{if(r*r+s*s+t*t>2];if(w*w+x*x+y*y>2]|0;y=+g[e+244>>2];c[f+8>>2]=0;g[f+12>>2]=1.0;g[f+16>>2]=1.0;g[f+20>>2]=1.0;g[f+24>>2]=0.0;c[f>>2]=25528;c[f+4>>2]=8;g[f+28>>2]=y;g[f+44>>2]=y;c[a>>2]=19544;D=a+164|0;g[D>>2]=999999984306749400.0;c[a+168>>2]=0;g[a+172>>2]=0.0;g[j+308>>2]=9999999747378752.0e-20;b[j+332>>1]=0;c[k>>2]=24816;c[k+4>>2]=j;c[k+8>>2]=C;c[k+12>>2]=f;do{if(aCV(k,q,p,v,u,a)|0){f=d+240|0;y=+g[D>>2];if(+g[f>>2]>y){g[f>>2]=y}f=e+240|0;if(+g[f>>2]>y){g[f>>2]=y}if(y>=1.0){E=1.0;break}E=y}else{E=1.0}}while(0);D=c[e+192>>2]|0;y=+g[d+244>>2];c[l+8>>2]=0;g[l+12>>2]=1.0;g[l+16>>2]=1.0;g[l+20>>2]=1.0;g[l+24>>2]=0.0;c[l>>2]=25528;c[l+4>>2]=8;g[l+28>>2]=y;g[l+44>>2]=y;c[m>>2]=19544;a=m+164|0;g[a>>2]=999999984306749400.0;c[m+168>>2]=0;g[m+172>>2]=0.0;g[n+308>>2]=9999999747378752.0e-20;b[n+332>>1]=0;c[o>>2]=24816;c[o+4>>2]=n;c[o+8>>2]=l;c[o+12>>2]=D;if(!(aCV(o,q,p,v,u,m)|0)){B=E;i=h;return+B}m=d+240|0;y=+g[a>>2];if(+g[m>>2]>y){g[m>>2]=y}m=e+240|0;if(+g[m>>2]>y){g[m>>2]=y}if(E<=y){B=E;i=h;return+B}B=y;i=h;return+B}function aCG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+20|0;if((c[e>>2]|0)==0){return}if((a[b+16|0]&1)==0){return}b=d+4|0;f=c[b>>2]|0;g=d+8|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[b>>2]|0}n=d+12|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=d+16|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[b>>2]|0}else{i=f}}while(0);f=(c[d+12>>2]|0)+(i<<2)|0;if((f|0)==0){p=i}else{c[f>>2]=c[e>>2];p=c[b>>2]|0}c[b>>2]=p+1;return}function aCH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;f=d|0;e=c[f>>2]|0;g=dj[c[(c[e>>2]|0)+56>>2]&511](e,36)|0;if((g|0)==0){h=0;i=h|0;return i|0}e=c[d+4>>2]|0;d=c[b+12>>2]|0;j=c[b+8>>2]|0;k=c[b+16>>2]|0;l=c[b+20>>2]|0;b=g;c[b>>2]=22536;c[g+4>>2]=c[f>>2];c[b>>2]=21656;c[g+8>>2]=d;c[g+12>>2]=j;a[g+16|0]=0;c[g+20>>2]=e;a[g+24|0]=0;c[g+28>>2]=k;c[g+32>>2]=l;h=g;i=h|0;return i|0}function aCI(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aCJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0;h=i;i=i+16|0;j=h|0;k=+g[d>>2];l=+g[d+4>>2];m=+g[d+8>>2];n=+g[e>>2];o=k*f+n;p=+g[e+4>>2];q=l*f+p;r=+g[e+8>>2];s=m*f+r;e=b+292|0;if((a[b+356|0]&1)==0){f=+g[b+228>>2];t=+g[b+244>>2];u=+g[b+260>>2];v=+g[b+232>>2];w=+g[b+248>>2];x=+g[b+264>>2];y=+g[b+236>>2];z=+g[b+252>>2];A=+g[b+268>>2];B=-0.0- +g[b+276>>2];C=-0.0- +g[b+280>>2];D=-0.0- +g[b+284>>2];E=f*B+t*C+u*D;F=v*B+w*C+x*D;G=y*B+z*C+A*D;D=+g[e>>2];C=+g[b+296>>2];B=+g[b+300>>2];H=+g[b+308>>2];I=+g[b+312>>2];J=+g[b+316>>2];K=+g[b+324>>2];L=+g[b+328>>2];M=+g[b+332>>2];N=r*(u*D+x*C+A*B)+(n*(f*D+v*C+y*B)+p*(t*D+w*C+z*B))+(B*G+(D*E+C*F)+ +g[b+340>>2]);C=r*(u*H+x*I+A*J)+(n*(f*H+v*I+y*J)+p*(t*H+w*I+z*J))+(E*H+F*I+G*J+ +g[b+344>>2]);J=E*K+F*L+G*M+ +g[b+348>>2]+(r*(u*K+x*L+A*M)+(n*(f*K+v*L+y*M)+p*(t*K+w*L+z*M)));g[j>>2]=N;g[j+4>>2]=C;g[j+8>>2]=J;g[j+12>>2]=0.0;O=(o-N)*k+(q-C)*l+(s-J)*m;P=b+160|0;Q=c[P>>2]|0;R=Q;S=c[R>>2]|0;T=S+16|0;U=c[T>>2]|0;dw[U&127](Q,d,j,O);i=h;return}else{J=+g[b+164>>2];C=+g[b+180>>2];N=+g[b+196>>2];M=+g[b+168>>2];z=+g[b+184>>2];L=+g[b+200>>2];w=+g[b+172>>2];K=+g[b+188>>2];t=+g[b+204>>2];y=-0.0- +g[b+212>>2];v=-0.0- +g[b+216>>2];f=-0.0- +g[b+220>>2];A=J*y+C*v+N*f;x=M*y+z*v+L*f;u=w*y+K*v+t*f;f=+g[e>>2];v=+g[b+296>>2];y=+g[b+300>>2];G=+g[b+308>>2];F=+g[b+312>>2];E=+g[b+316>>2];I=+g[b+324>>2];H=+g[b+328>>2];D=+g[b+332>>2];B=s*(N*f+L*v+t*y)+(o*(J*f+M*v+w*y)+q*(C*f+z*v+K*y))+(y*u+(f*A+v*x)+ +g[b+340>>2]);v=s*(N*G+L*F+t*E)+(o*(J*G+M*F+w*E)+q*(C*G+z*F+K*E))+(A*G+x*F+u*E+ +g[b+344>>2]);E=A*I+x*H+u*D+ +g[b+348>>2]+(s*(N*I+L*H+t*D)+(o*(J*I+M*H+w*D)+q*(C*I+z*H+K*D)));D=k*(B-n)+l*(v-p)+m*(E-r);g[j>>2]=B+k*D;g[j+4>>2]=v+l*D;g[j+8>>2]=E+m*D;g[j+12>>2]=0.0;O=D;P=b+160|0;Q=c[P>>2]|0;R=Q;S=c[R>>2]|0;T=S+16|0;U=c[T>>2]|0;dw[U&127](Q,d,j,O);i=h;return}}function aCK(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aCL(b){b=b|0;var d=0,e=0;c[b>>2]=19920;do{if((a[b+8|0]&1)!=0){d=c[b+12>>2]|0;if((d|0)!=0){e=c[b+4>>2]|0;cv[c[(c[e>>2]|0)+16>>2]&2047](e,d)}if((b|0)!=0){break}return}}while(0);aDB(b);return}function aCM(b){b=b|0;var d=0,e=0;c[b>>2]=19920;if((a[b+8|0]&1)==0){return}d=c[b+12>>2]|0;if((d|0)==0){return}e=c[b+4>>2]|0;cv[c[(c[e>>2]|0)+16>>2]&2047](e,d);return}function aCN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+1.0}function aCO(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0,U=0.0,V=0,W=0.0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0,al=0.0,am=0.0,an=0,ao=0;j=i;i=i+64|0;k=j|0;l=j+16|0;m=j+32|0;n=j+48|0;o=(a[b+16|0]&1)!=0;p=o?f:e;q=o?e:f;f=c[p+192>>2]|0;e=c[q+192>>2]|0;r=+g[p+4>>2];s=+g[p+8>>2];t=+g[p+12>>2];u=+g[p+20>>2];v=+g[p+24>>2];w=+g[p+28>>2];x=+g[p+36>>2];y=+g[p+40>>2];z=+g[p+44>>2];A=+g[p+52>>2];B=+g[p+56>>2];C=+g[p+60>>2];p=q+4|0;o=q+20|0;D=q+36|0;E=q+8|0;F=q+24|0;G=q+40|0;H=q+12|0;I=q+28|0;J=q+44|0;K=+g[p>>2];L=+g[o>>2];M=+g[D>>2];N=+g[E>>2];O=+g[F>>2];P=+g[G>>2];Q=+g[H>>2];R=+g[I>>2];S=+g[J>>2];T=q+52|0;U=-0.0- +g[T>>2];V=q+56|0;W=-0.0- +g[V>>2];X=q+60|0;Y=-0.0- +g[X>>2];Z=+g[d>>2];_=+g[d+4>>2];$=+g[d+8>>2];aa=+g[d+12>>2];ab=2.0/(Z*Z+_*_+$*$+aa*aa);ac=Z*ab;ad=_*ab;ae=$*ab;ab=aa*ac;af=aa*ad;ag=aa*ae;aa=Z*ac;ac=Z*ad;ah=Z*ae;Z=_*ad;ad=_*ae;_=$*ae;ae=1.0-(Z+_);$=ac-ag;ai=ah+af;aj=ac+ag;ag=1.0-(aa+_);_=ad-ab;ac=ah-af;af=ad+ab;ab=1.0-(aa+Z);Z=t*ac+(s*aj+r*ae);aa=t*af+(r*$+s*ag);ad=r*ai+s*_+t*ab;ah=w*ac+(v*aj+u*ae);ak=w*af+(u*$+v*ag);al=u*ai+v*_+w*ab;am=z*ac+(y*aj+x*ae);ae=z*af+(x*$+y*ag);ag=x*ai+y*_+z*ab;d=c[(c[f>>2]|0)+60>>2]|0;q=e+48|0;ab=-0.0- +g[q>>2];an=e+52|0;_=-0.0- +g[an>>2];ao=e+56|0;ai=-0.0- +g[ao>>2];g[l>>2]=(S*am+(Q*Z+R*ah))*ai+((M*am+(K*Z+L*ah))*ab+(P*am+(N*Z+O*ah))*_);g[l+4>>2]=(S*ae+(Q*aa+R*ak))*ai+((M*ae+(K*aa+L*ak))*ab+(P*ae+(N*aa+O*ak))*_);g[l+8>>2]=(S*ag+(Q*ad+R*al))*ai+((M*ag+(K*ad+L*al))*ab+(P*ag+(N*ad+O*al))*_);g[l+12>>2]=0.0;dA[d&511](k,f,l);_=+g[k>>2];al=+g[k+4>>2];ad=+g[k+8>>2];ag=A*K+B*L+C*M+(K*U+L*W+M*Y)+((r*K+u*L+x*M)*_+(s*K+v*L+y*M)*al+(t*K+w*L+z*M)*ad);M=A*N+B*O+C*P+(N*U+O*W+P*Y)+((r*N+u*O+x*P)*_+(s*N+v*O+y*P)*al+(t*N+w*O+z*P)*ad);P=A*Q+B*R+C*S+(Q*U+R*W+S*Y)+((r*Q+u*R+x*S)*_+(s*Q+v*R+y*S)*al+(t*Q+w*R+z*S)*ad);ad=+g[q>>2];S=+g[an>>2];z=+g[ao>>2];R=z*P+(ad*ag+S*M)- +g[e+64>>2];w=ag-ad*R;ad=M-S*R;S=P-z*R;z=+g[p>>2];P=+g[E>>2];M=+g[H>>2];ag=+g[T>>2];Q=+g[o>>2];t=+g[F>>2];al=+g[I>>2];y=+g[V>>2];v=+g[D>>2];s=+g[G>>2];_=+g[J>>2];x=+g[X>>2];X=c[b+12>>2]|0;b=R<+g[X+1120>>2];c[h+4>>2]=X;if(!b){i=j;return}u=+g[q>>2];r=+g[an>>2];Y=+g[ao>>2];W=u*+g[o>>2]+r*+g[F>>2]+Y*+g[I>>2];U=u*+g[D>>2]+r*+g[G>>2]+Y*+g[J>>2];g[m>>2]=+g[p>>2]*u+ +g[E>>2]*r+ +g[H>>2]*Y;g[m+4>>2]=W;g[m+8>>2]=U;g[m+12>>2]=0.0;g[n>>2]=ag+(M*S+(z*w+P*ad));g[n+4>>2]=y+(w*Q+ad*t+S*al);g[n+8>>2]=x+(w*v+ad*s+S*_);g[n+12>>2]=0.0;dw[c[(c[h>>2]|0)+16>>2]&127](h,m,n,R);i=j;return}function aCP(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,R=0.0,U=0.0;f=i;i=i+32|0;j=f|0;k=f+16|0;l=b+12|0;if((c[l>>2]|0)==0){i=f;return}m=(a[b+16|0]&1)!=0;n=c[(m?e:d)+192>>2]|0;o=c[(m?d:e)+192>>2]|0;g[j>>2]=0.0;g[j+4>>2]=0.0;g[j+8>>2]=0.0;g[j+12>>2]=1.0;aCO(b,j,d,e,h);j=h+4|0;do{if((c[(c[j>>2]|0)+1116>>2]|0)<(c[b+24>>2]|0)){m=o+48|0;p=o+56|0;q=+g[p>>2];if(+P(+q)>.7071067690849304){r=+g[o+52>>2];s=1.0/+Q(+(q*q+r*r));t=0.0;u=s*(-0.0-q);v=r*s}else{s=+g[m>>2];r=+g[o+52>>2];q=1.0/+Q(+(s*s+r*r));t=q*(-0.0-r);u=s*q;v=0.0}q=.019999999552965164/+dh[c[(c[n>>2]|0)+16>>2]&1023](n);s=+Q(+(v*v+(u*u+t*t)));r=q>.39269909262657166?.19634954631328583:q*.5;q=+T(+r)/s;s=t*q;w=u*q;x=v*q;q=+S(+r);y=b+20|0;z=c[y>>2]|0;if((z|0)<=0){break}A=o+52|0;B=k|0;C=k+4|0;D=k+8|0;E=k+12|0;F=0;G=z;do{r=+g[m>>2];H=+g[A>>2];I=+g[p>>2];J=+Q(+(r*r+H*H+I*I));K=+(F|0)*(6.2831854820251465/+(G|0))*.5;L=+T(+K)/J;J=r*L;r=H*L;H=I*L;L=+S(+K);K=-0.0-J;I=-0.0-r;M=-0.0-H;N=x*I+(s*L+q*K)-w*M;O=s*M+(w*L+q*I)-x*K;R=w*K+(x*L+q*M)-s*I;U=q*L-s*K-w*I-x*M;g[B>>2]=H*O+(J*U+L*N)-r*R;g[C>>2]=J*R+(L*O+r*U)-H*N;g[D>>2]=r*N+(H*U+L*R)-J*O;g[E>>2]=L*U-J*N-r*O-H*R;aCO(b,k,d,e,h);F=F+1|0;G=c[y>>2]|0;}while((F|0)<(G|0))}}while(0);if((a[b+8|0]&1)==0){i=f;return}if((c[(c[l>>2]|0)+1116>>2]|0)==0){i=f;return}l=c[j>>2]|0;if((c[l+1116>>2]|0)==0){i=f;return}if((c[l+1108>>2]|0)==(c[h+136>>2]|0)){ay6(l,h+8|0,h+72|0);i=f;return}else{ay6(l,h+72|0,h+8|0);i=f;return}}function aCQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+12|0;if((c[e>>2]|0)==0){return}if((a[b+8|0]&1)==0){return}b=d+4|0;f=c[b>>2]|0;g=d+8|0;do{if((f|0)==(c[g>>2]|0)){h=(f|0)==0?1:f<<1;if((f|0)>=(h|0)){i=f;break}if((h|0)==0){j=0;k=f}else{c[9806]=(c[9806]|0)+1;l=aDx((h<<2)+19|0)|0;if((l|0)==0){m=0}else{n=-(l+4|0)&15;c[l+n>>2]=l;m=l+(n+4)|0}j=m;k=c[b>>2]|0}n=d+12|0;if((k|0)>0){l=0;do{o=j+(l<<2)|0;if((o|0)!=0){c[o>>2]=c[(c[n>>2]|0)+(l<<2)>>2]}l=l+1|0;}while((l|0)<(k|0))}l=c[n>>2]|0;o=d+16|0;if((l|0)!=0){if((a[o]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[l-4>>2]|0)}c[n>>2]=0}a[o]=1;c[n>>2]=j;c[g>>2]=h;i=c[b>>2]|0}else{i=f}}while(0);f=(c[d+12>>2]|0)+(i<<2)|0;if((f|0)==0){p=i}else{c[f>>2]=c[e>>2];p=c[b>>2]|0}c[b>>2]=p+1;return}function aCR(a){a=a|0;aCU(a);if((a|0)==0){return}aDB(a);return}function aCS(a){a=a|0;return}function aCT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var 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.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;g[e>>2]=3.4028234663852886e+38;g[f>>2]=-3.4028234663852886e+38;h=c[a+8>>2]|0;if((h|0)>0){i=a+16|0;a=b|0;j=b+4|0;k=b+8|0;l=b+48|0;m=b+16|0;n=b+20|0;o=b+24|0;p=b+52|0;q=b+32|0;r=b+36|0;s=b+40|0;t=b+56|0;b=d|0;u=d+4|0;v=d+8|0;d=0;w=-3.4028234663852886e+38;while(1){x=c[i>>2]|0;y=+g[x+(d<<4)>>2];z=+g[x+(d<<4)+4>>2];A=+g[x+(d<<4)+8>>2];B=(+g[l>>2]+(+g[a>>2]*y+ +g[j>>2]*z+ +g[k>>2]*A))*+g[b>>2]+(+g[p>>2]+(y*+g[m>>2]+z*+g[n>>2]+A*+g[o>>2]))*+g[u>>2]+(+g[t>>2]+(y*+g[q>>2]+z*+g[r>>2]+A*+g[s>>2]))*+g[v>>2];if(B<+g[e>>2]){g[e>>2]=B;C=+g[f>>2]}else{C=w}if(B>C){g[f>>2]=B;D=B}else{D=C}x=d+1|0;if((x|0)<(h|0)){d=x;w=D}else{E=D;break}}}else{E=-3.4028234663852886e+38}D=+g[e>>2];if(D<=E){return}g[e>>2]=E;g[f>>2]=D;return}function aCU(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=23416;d=b+48|0;e=b+56|0;f=c[e>>2]|0;g=b+60|0;if((f|0)!=0){if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[e>>2]=0}a[g]=1;c[e>>2]=0;c[d>>2]=0;c[b+52>>2]=0;d=b+28|0;azh(b+24|0,c[d>>2]|0);e=b+36|0;g=c[e>>2]|0;f=b+40|0;if((g|0)!=0){if((a[f]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[g-4>>2]|0)}c[e>>2]=0}a[f]=1;c[e>>2]=0;c[d>>2]=0;c[b+32>>2]=0;d=b+8|0;e=b+16|0;f=c[e>>2]|0;g=b+20|0;if((f|0)==0){a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}if((a[g]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[f-16+12>>2]|0)}c[e>>2]=0;a[g]=1;c[e>>2]=0;c[d>>2]=0;h=b+12|0;c[h>>2]=0;return}function aCV(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var 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,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0.0,aa=0,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0.0,ai=0.0,aj=0.0,ak=0.0;l=i;i=i+280|0;m=l+16|0;n=l+64|0;o=l+144|0;p=d+4|0;q=c[p>>2]|0;a[q+312|0]=0;c[q>>2]=0;a[q+356|0]=1;g[q+292>>2]=999999984306749400.0;g[q+296>>2]=999999984306749400.0;g[q+300>>2]=999999984306749400.0;g[q+304>>2]=0.0;r=q+332|0;aDD(q+336|0,0,17);b[r>>1]=b[r>>1]&-16;r=e+48|0;q=f+48|0;s=r|0;t=f+52|0;u=e+52|0;v=f+56|0;f=e+56|0;w=h+48|0;x=j+48|0;y=w|0;z=j+52|0;A=h+52|0;B=j+56|0;j=h+56|0;C=+g[q>>2]- +g[s>>2]-(+g[x>>2]- +g[y>>2]);D=+g[t>>2]- +g[u>>2]-(+g[z>>2]- +g[A>>2]);E=+g[v>>2]- +g[f>>2]-(+g[B>>2]- +g[j>>2]);c[m>>2]=23960;F=m+36|0;g[F>>2]=999999984306749400.0;G=m+40|0;a[G]=0;H=c[d+8>>2]|0;I=c[d+12>>2]|0;d=c[p>>2]|0;c[n>>2]=23568;g[n+4>>2]=0.0;g[n+8>>2]=1.0;g[n+12>>2]=0.0;g[n+16>>2]=0.0;c[n+20>>2]=0;c[n+24>>2]=d;c[n+28>>2]=H;c[n+32>>2]=I;c[n+36>>2]=c[H+4>>2];c[n+40>>2]=c[I+4>>2];g[n+44>>2]=+dh[c[(c[H>>2]|0)+44>>2]&1023](H);g[n+48>>2]=+dh[c[(c[I>>2]|0)+44>>2]&1023](I);a[n+52|0]=0;c[n+60>>2]=-1;c[n+72>>2]=1;g[o+128>>2]=999999984306749400.0;c[o+132>>2]=0;I=o;H=e;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=o+16|0;I=e+16|0;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];I=o+32|0;H=e+32|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=o+48|0;I=H;e=r;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2];e=o+64|0;I=h;c[e>>2]=c[I>>2];c[e+4>>2]=c[I+4>>2];c[e+8>>2]=c[I+8>>2];c[e+12>>2]=c[I+12>>2];I=o+80|0;e=h+16|0;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2];e=o+96|0;I=h+32|0;c[e>>2]=c[I>>2];c[e+4>>2]=c[I+4>>2];c[e+8>>2]=c[I+8>>2];c[e+12>>2]=c[I+12>>2];I=o+112|0;e=I;h=w;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[e+8>>2]=c[h+8>>2];c[e+12>>2]=c[h+12>>2];h=m|0;axX(n,o,h,0,0);e=(a[G]&1)==0;w=m+20|0;r=l|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];if(e){J=0;i=l;return J|0}K=+g[F>>2];e=m+4|0;L=+g[e>>2];d=m+8|0;M=+g[d>>2];p=m+12|0;N=+g[p>>2];O=m+16|0;P=+g[O>>2];do{if(K>.0010000000474974513){m=k;Q=H|0;R=o+52|0;S=o+56|0;T=I|0;U=o+116|0;V=o+120|0;W=N;X=M;Y=L;Z=0.0;_=1;$=K;while(1){if((_|0)>32){J=0;aa=2583;break}ab=Z-$/(E*W+(D*X+C*Y));if(!(ab>=0.0&ab<=1.0&ab>Z)){J=0;aa=2588;break}cq[c[c[m>>2]>>2]&1023](k,ab);ac=1.0-ab;g[Q>>2]=ac*+g[s>>2]+ab*+g[q>>2];g[R>>2]=ac*+g[u>>2]+ab*+g[t>>2];g[S>>2]=ac*+g[f>>2]+ab*+g[v>>2];g[T>>2]=ac*+g[y>>2]+ab*+g[x>>2];g[U>>2]=ac*+g[A>>2]+ab*+g[z>>2];g[V>>2]=ac*+g[j>>2]+ab*+g[B>>2];axX(n,o,h,0,0);if((a[G]&1)==0){J=0;aa=2582;break}ac=+g[F>>2];if(ac<0.0){aa=2575;break}c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];ad=+g[e>>2];ae=+g[d>>2];af=+g[p>>2];if(ac>.0010000000474974513){W=af;X=ae;Y=ad;Z=ab;_=_+1|0;$=ac}else{aa=2577;break}}if((aa|0)==2583){i=l;return J|0}else if((aa|0)==2582){i=l;return J|0}else if((aa|0)==2588){i=l;return J|0}else if((aa|0)==2577){ag=+g[O>>2];ah=af;ai=ae;aj=ad;ak=ab;break}else if((aa|0)==2575){g[k+164>>2]=ab;$=+g[d>>2];Z=+g[p>>2];Y=+g[O>>2];g[k+132>>2]=+g[e>>2];g[k+136>>2]=$;g[k+140>>2]=Z;g[k+144>>2]=Y;_=k+148|0;c[_>>2]=c[w>>2];c[_+4>>2]=c[w+4>>2];c[_+8>>2]=c[w+8>>2];c[_+12>>2]=c[w+12>>2];J=1;i=l;return J|0}}else{ag=P;ah=N;ai=M;aj=L;ak=0.0}}while(0);if(E*ah+(D*ai+C*aj)>=-0.0- +g[k+172>>2]){J=0;i=l;return J|0}g[k+164>>2]=ak;g[k+132>>2]=aj;g[k+136>>2]=ai;g[k+140>>2]=ah;g[k+144>>2]=ag;w=k+148|0;c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[w+8>>2]=c[r+8>>2];c[w+12>>2]=c[r+12>>2];J=1;i=l;return J|0}function aCW(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aCX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=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.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.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,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0.0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0.0,av=0,aw=0.0,ax=0.0,ay=0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0,aH=0.0,aI=0.0,aJ=0.0,aK=0.0,aL=0.0,aM=0.0,aN=0,aO=0.0,aP=0.0,aQ=0.0,aR=0,aS=0.0,aT=0;e=i;i=i+176|0;f=e|0;h=e+16|0;j=e+64|0;k=e+80|0;l=e+88|0;m=e+152|0;n=e+168|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;o=a+316|0;c[a+360>>2]=o;p=a+364|0;c[p>>2]=4;q=a+368|0;c[q>>2]=0;r=a+376|0;c[r>>2]=0;s=b;t=a;u=c[s+4>>2]|0;c[t>>2]=c[s>>2];c[t+4>>2]=u;u=a+8|0;t=b+8|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];t=a+24|0;u=b+24|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];u=a+40|0;t=b+40|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];t=a+56|0;u=b+56|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];u=a+72|0;t=b+72|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];t=a+88|0;u=b+88|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];u=a+104|0;t=b+104|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];t=b+120|0;b=c[t+4>>2]|0;u=a+120|0;c[u>>2]=c[t>>2];c[u+4>>2]=b;b=a+144|0;g[b>>2]=0.0;u=a+180|0;c[u>>2]=0;t=a+128|0;s=t;v=d;c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];v=t|0;w=+g[v>>2];t=a+132|0;x=+g[t>>2];d=a+136|0;y=+g[d>>2];z=w*w+x*x+y*y;if(z>0.0){A=-0.0-y;B=-0.0-x;C=-0.0-w}else{A=0.0;B=0.0;C=1.0}D=a+164|0;g[D>>2]=0.0;c[p>>2]=3;E=a+148|0;c[E>>2]=o;c[u>>2]=1;aC_(a,C,B,A,o);g[D>>2]=1.0;D=(c[E>>2]|0)+16|0;c[s>>2]=c[D>>2];c[s+4>>2]=c[D+4>>2];c[s+8>>2]=c[D+8>>2];c[s+12>>2]=c[D+12>>2];s=l+48|0;c[s>>2]=c[D>>2];c[s+4>>2]=c[D+4>>2];c[s+8>>2]=c[D+8>>2];c[s+12>>2]=c[D+12>>2];s=l+32|0;c[s>>2]=c[D>>2];c[s+4>>2]=c[D+4>>2];c[s+8>>2]=c[D+8>>2];c[s+12>>2]=c[D+12>>2];s=l+16|0;c[s>>2]=c[D>>2];c[s+4>>2]=c[D+4>>2];c[s+8>>2]=c[D+8>>2];c[s+12>>2]=c[D+12>>2];s=l;c[s>>2]=c[D>>2];c[s+4>>2]=c[D+4>>2];c[s+8>>2]=c[D+8>>2];c[s+12>>2]=c[D+12>>2];D=m|0;s=a+128|0;E=j;o=f|0;u=f+4|0;F=f+8|0;G=f+12|0;H=h|0;I=h+4|0;J=h+8|0;K=h+12|0;L=h+16|0;M=h+20|0;N=h+24|0;O=h+28|0;P=h+32|0;R=h+36|0;S=h+40|0;T=h+44|0;U=j|0;V=j+4|0;W=j+8|0;j=m+12|0;X=m+4|0;Y=m+8|0;Z=1;A=z;_=1;z=0.0;L3333:while(1){$=c[q>>2]|0;aa=1-$|0;ab=a+148+($*36|0)|0;B=+g[v>>2];C=+g[t>>2];w=+g[d>>2];x=+Q(+(B*B+C*C+w*w));if(x<9999999747378752.0e-20){ac=2598;break}ad=a+148+($*36|0)+32|0;g[a+148+($*36|0)+16+(c[ad>>2]<<2)>>2]=0.0;ae=(c[p>>2]|0)-1|0;c[p>>2]=ae;c[a+148+($*36|0)+(c[ad>>2]<<2)>>2]=c[a+348+(ae<<2)>>2];ae=c[ad>>2]|0;c[ad>>2]=ae+1;aC_(a,-0.0-B,-0.0-C,-0.0-w,c[a+148+($*36|0)+(ae<<2)>>2]|0);ae=c[ad>>2]|0;af=c[a+148+($*36|0)+(ae-1<<2)>>2]|0;ag=af+16|0;ah=ag|0;ai=af+20|0;aj=af+24|0;af=0;while(1){if(af>>>0>=4){break}w=+g[ah>>2]- +g[l+(af<<4)>>2];C=+g[ai>>2]- +g[l+(af<<4)+4>>2];B=+g[aj>>2]- +g[l+(af<<4)+8>>2];if(w*w+C*C+B*B<9999999747378752.0e-20){ac=2602;break L3333}else{af=af+1|0}}af=l+(_<<4)|0;ak=ag;c[af>>2]=c[ak>>2];c[af+4>>2]=c[ak+4>>2];c[af+8>>2]=c[ak+8>>2];c[af+12>>2]=c[ak+12>>2];B=(+g[v>>2]*+g[ah>>2]+ +g[t>>2]*+g[ai>>2]+ +g[d>>2]*+g[aj>>2])/x;C=B>z?B:z;if(x-C-x*9999999747378752.0e-20<=0.0){ac=2604;break}c[n>>2]=0;do{if((ae|0)==2){al=+aC$((c[ab>>2]|0)+16|0,(c[a+148+($*36|0)+4>>2]|0)+16|0,D,n)}else if((ae|0)==3){al=+aC1((c[ab>>2]|0)+16|0,(c[a+148+($*36|0)+4>>2]|0)+16|0,(c[a+148+($*36|0)+8>>2]|0)+16|0,D,n)}else if((ae|0)==4){ak=c[ab>>2]|0;af=ak+16|0;am=c[a+148+($*36|0)+4>>2]|0;an=am+16|0;ao=c[a+148+($*36|0)+8>>2]|0;ap=ao+16|0;aq=c[a+148+($*36|0)+12>>2]|0;ar=aq+16|0;c[o>>2]=af;c[u>>2]=an;c[F>>2]=ap;c[G>>2]=ar;as=af|0;B=+g[as>>2];af=ar|0;w=+g[af>>2];y=B-w;at=ak+20|0;au=+g[at>>2];av=aq+20|0;aw=+g[av>>2];ax=au-aw;ay=ak+24|0;az=+g[ay>>2];ak=aq+24|0;aA=+g[ak>>2];aB=az-aA;g[H>>2]=y;g[I>>2]=ax;g[J>>2]=aB;g[K>>2]=0.0;aq=an|0;aC=+g[aq>>2];aD=aC-w;an=am+20|0;aE=+g[an>>2];aF=aE-aw;aG=am+24|0;aH=+g[aG>>2];aI=aH-aA;g[L>>2]=aD;g[M>>2]=aF;g[N>>2]=aI;g[O>>2]=0.0;am=ap|0;aJ=+g[am>>2];aK=aJ-w;ap=ao+20|0;aL=+g[ap>>2];aM=aL-aw;aN=ao+24|0;aO=+g[aN>>2];aP=aO-aA;g[P>>2]=aK;g[R>>2]=aM;g[S>>2]=aP;g[T>>2]=0.0;aQ=ax*aI*aK+aB*aD*aM-aM*aI*y-ax*aD*aP+aP*y*aF-aK*aB*aF;aF=aC-aJ;aJ=aE-aL;aL=aH-aO;aO=B-aC;aC=au-aE;aE=az-aH;if(aQ*(az*(aF*aC-aJ*aO)+(B*(aJ*aE-aL*aC)+au*(aL*aO-aF*aE)))>0.0|aQ==0.0){al=-1.0;break}aDD(E|0,0,12);c[k>>2]=0;ao=0;aE=-1.0;aF=ax;ax=aB;aB=y;y=w;w=aw;aw=aA;while(1){aR=c[18320+(ao<<2)>>2]|0;aA=+g[h+(aR<<4)+8>>2];aO=+g[h+(aR<<4)+4>>2];aL=+g[h+(aR<<4)>>2];do{if(aQ*((aF*aA-ax*aO)*y+w*(ax*aL-aA*aB)+(aO*aB-aF*aL)*aw)>0.0){au=+aC1(c[f+(ao<<2)>>2]|0,c[f+(aR<<2)>>2]|0,ar,U,k);if(!(aE<0.0|au>2]|0;c[n>>2]=((aT&2|0)==0?0:1<>2]=+g[U>>2];g[m+(aR<<2)>>2]=+g[V>>2];g[m+(c[18320+(aR<<2)>>2]<<2)>>2]=0.0;g[j>>2]=+g[W>>2];aS=au}else{aS=aE}}while(0);aR=ao+1|0;if(aR>>>0>=3){break}ao=aR;aE=aS;aF=+g[h+(aR<<4)+4>>2];ax=+g[h+(aR<<4)+8>>2];aB=+g[h+(aR<<4)>>2];y=+g[af>>2];w=+g[av>>2];aw=+g[ak>>2]}if(aS>=0.0){al=aS;break}c[n>>2]=15;aw=+g[ap>>2];w=+g[aG>>2];y=+g[af>>2];aB=+g[aN>>2];ax=+g[aq>>2];aF=+g[av>>2];aE=+g[am>>2];aL=+g[ak>>2];aO=+g[an>>2];aA=(aw*w*y+aB*ax*aF-aF*w*aE-aw*ax*aL+aL*aE*aO-y*aB*aO)/aQ;g[D>>2]=aA;au=+g[at>>2];aC=+g[ay>>2];aJ=+g[as>>2];B=(au*aB*y+aC*aE*aF-aF*aB*aJ-au*aE*aL+aL*aJ*aw-y*aC*aw)/aQ;g[X>>2]=B;aw=(aO*aC*y+w*aJ*aF-aF*aC*ax-aO*aJ*aL+aL*ax*au-y*w*au)/aQ;g[Y>>2]=aw;g[j>>2]=1.0-(aw+(aA+B));al=0.0}else{al=A}}while(0);if(al<0.0){ac=2625;break}ab=a+148+(aa*36|0)+32|0;c[ab>>2]=0;aDD(s|0,0,16);c[q>>2]=aa;ae=c[ad>>2]|0;aj=c[n>>2]|0;if((ae|0)!=0){ai=0;do{ah=a+148+($*36|0)+(ai<<2)|0;ag=c[ah>>2]|0;if((aj&1<>2]|0;c[p>>2]=ao+1;c[a+348+(ao<<2)>>2]=ag}else{c[a+148+(aa*36|0)+(c[ab>>2]<<2)>>2]=ag;x=+g[m+(ai<<2)>>2];ag=c[ab>>2]|0;c[ab>>2]=ag+1;g[a+148+(aa*36|0)+16+(ag<<2)>>2]=x;ag=c[ah>>2]|0;B=x*+g[ag+20>>2];aA=x*+g[ag+24>>2];g[v>>2]=+g[ag+16>>2]*x+ +g[v>>2];g[t>>2]=B+ +g[t>>2];g[d>>2]=aA+ +g[d>>2]}ai=ai+1|0;}while(ai>>>0>>0)}if((aj|0)==15){c[r>>2]=1}if(Z>>>0>=128){ac=2627;break}if((c[r>>2]|0)!=0){break}Z=Z+1|0;A=al;_=_+1&3;z=C}if((ac|0)==2602){_=c[q>>2]|0;Z=a+148+(_*36|0)+32|0;m=(c[Z>>2]|0)-1|0;c[Z>>2]=m;Z=c[a+148+(_*36|0)+(m<<2)>>2]|0;m=c[p>>2]|0;c[p>>2]=m+1;c[a+348+(m<<2)>>2]=Z}else if((ac|0)==2604){Z=c[q>>2]|0;m=a+148+(Z*36|0)+32|0;_=(c[m>>2]|0)-1|0;c[m>>2]=_;m=c[a+148+(Z*36|0)+(_<<2)>>2]|0;_=c[p>>2]|0;c[p>>2]=_+1;c[a+348+(_<<2)>>2]=m}else if((ac|0)==2627){c[r>>2]=2}else if((ac|0)==2625){m=c[q>>2]|0;_=a+148+(m*36|0)+32|0;Z=(c[_>>2]|0)-1|0;c[_>>2]=Z;_=c[a+148+(m*36|0)+(Z<<2)>>2]|0;Z=c[p>>2]|0;c[p>>2]=Z+1;c[a+348+(Z<<2)>>2]=_}else if((ac|0)==2598){c[r>>2]=1}c[a+372>>2]=a+148+((c[q>>2]|0)*36|0);q=c[r>>2]|0;if((q|0)==0){z=+g[v>>2];al=+g[t>>2];A=+g[d>>2];g[b>>2]=+Q(+(z*z+al*al+A*A));i=e;return q|0}else if((q|0)==1){g[b>>2]=0.0;i=e;return q|0}else{i=e;return q|0}return 0}function aCY(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0,H=0;b=i;i=i+32|0;d=b|0;e=b+16|0;f=a+372|0;h=c[f>>2]|0;j=h+32|0;k=c[j>>2]|0;L3384:do{if((k|0)==2){l=c[h+4>>2]|0;m=c[h>>2]|0;n=+g[l+16>>2]- +g[m+16>>2];o=+g[l+20>>2]- +g[m+20>>2];p=+g[l+24>>2]- +g[m+24>>2];m=e|0;l=e+4|0;q=e+8|0;r=a+364|0;s=e;t=0;while(1){aDD(s|0,0,16);g[e+(t<<2)>>2]=1.0;u=+g[q>>2];v=+g[l>>2];w=o*u-p*v;x=+g[m>>2];y=p*x-n*u;u=n*v-o*x;if(w*w+y*y+u*u>0.0){z=c[f>>2]|0;A=z+32|0;g[z+16+(c[A>>2]<<2)>>2]=0.0;B=(c[r>>2]|0)-1|0;c[r>>2]=B;c[z+(c[A>>2]<<2)>>2]=c[a+348+(B<<2)>>2];B=c[A>>2]|0;c[A>>2]=B+1;aC_(a,w,y,u,c[z+(B<<2)>>2]|0);if(aCY(a)|0){C=1;D=2663;break}B=c[f>>2]|0;z=B+32|0;A=(c[z>>2]|0)-1|0;c[z>>2]=A;z=c[B+(A<<2)>>2]|0;A=c[r>>2]|0;c[r>>2]=A+1;c[a+348+(A<<2)>>2]=z;z=c[f>>2]|0;A=z+32|0;g[z+16+(c[A>>2]<<2)>>2]=0.0;B=(c[r>>2]|0)-1|0;c[r>>2]=B;c[z+(c[A>>2]<<2)>>2]=c[a+348+(B<<2)>>2];B=c[A>>2]|0;c[A>>2]=B+1;aC_(a,-0.0-w,-0.0-y,-0.0-u,c[z+(B<<2)>>2]|0);if(aCY(a)|0){C=1;D=2660;break}B=c[f>>2]|0;z=B+32|0;A=(c[z>>2]|0)-1|0;c[z>>2]=A;z=c[B+(A<<2)>>2]|0;A=c[r>>2]|0;c[r>>2]=A+1;c[a+348+(A<<2)>>2]=z}t=t+1|0;if(t>>>0>=3){break L3384}}if((D|0)==2660){i=b;return C|0}else if((D|0)==2663){i=b;return C|0}}else if((k|0)==3){t=c[h+4>>2]|0;r=c[h>>2]|0;o=+g[r+16>>2];n=+g[t+16>>2]-o;p=+g[r+20>>2];u=+g[t+20>>2]-p;y=+g[r+24>>2];w=+g[t+24>>2]-y;t=c[h+8>>2]|0;x=+g[t+16>>2]-o;o=+g[t+20>>2]-p;p=+g[t+24>>2]-y;y=u*p-w*o;v=w*x-n*p;p=n*o-u*x;if(y*y+v*v+p*p<=0.0){break}g[h+28>>2]=0.0;t=a+364|0;r=(c[t>>2]|0)-1|0;c[t>>2]=r;c[h+(c[j>>2]<<2)>>2]=c[a+348+(r<<2)>>2];r=c[j>>2]|0;c[j>>2]=r+1;aC_(a,y,v,p,c[h+(r<<2)>>2]|0);if(aCY(a)|0){C=1;i=b;return C|0}r=c[f>>2]|0;m=r+32|0;l=(c[m>>2]|0)-1|0;c[m>>2]=l;m=c[r+(l<<2)>>2]|0;l=c[t>>2]|0;c[t>>2]=l+1;c[a+348+(l<<2)>>2]=m;m=c[f>>2]|0;l=m+32|0;g[m+16+(c[l>>2]<<2)>>2]=0.0;r=(c[t>>2]|0)-1|0;c[t>>2]=r;c[m+(c[l>>2]<<2)>>2]=c[a+348+(r<<2)>>2];r=c[l>>2]|0;c[l>>2]=r+1;aC_(a,-0.0-y,-0.0-v,-0.0-p,c[m+(r<<2)>>2]|0);if(aCY(a)|0){C=1;i=b;return C|0}else{r=c[f>>2]|0;m=r+32|0;l=(c[m>>2]|0)-1|0;c[m>>2]=l;m=c[r+(l<<2)>>2]|0;l=c[t>>2]|0;c[t>>2]=l+1;c[a+348+(l<<2)>>2]=m;break}}else if((k|0)==4){m=c[h>>2]|0;l=c[h+12>>2]|0;p=+g[l+16>>2];v=+g[m+16>>2]-p;y=+g[l+20>>2];x=+g[m+20>>2]-y;u=+g[l+24>>2];o=+g[m+24>>2]-u;m=c[h+4>>2]|0;n=+g[m+16>>2]-p;w=+g[m+20>>2]-y;E=+g[m+24>>2]-u;m=c[h+8>>2]|0;F=+g[m+16>>2]-p;p=+g[m+20>>2]-y;y=+g[m+24>>2]-u;if(v*w*y+(x*E*F+o*n*p-v*E*p-x*n*y)-o*w*F==0.0){break}else{C=1}i=b;return C|0}else if((k|0)==1){m=d|0;l=d+4|0;t=d+8|0;r=a+364|0;q=d;s=0;z=h;A=1;while(1){aDD(q|0,0,16);g[d+(s<<2)>>2]=1.0;B=z+32|0;g[z+16+(A<<2)>>2]=0.0;G=(c[r>>2]|0)-1|0;c[r>>2]=G;c[z+(c[B>>2]<<2)>>2]=c[a+348+(G<<2)>>2];G=c[B>>2]|0;c[B>>2]=G+1;F=+g[m>>2];w=+g[l>>2];o=+g[t>>2];aC_(a,F,w,o,c[z+(G<<2)>>2]|0);if(aCY(a)|0){C=1;D=2656;break}G=c[f>>2]|0;B=G+32|0;H=(c[B>>2]|0)-1|0;c[B>>2]=H;B=c[G+(H<<2)>>2]|0;H=c[r>>2]|0;c[r>>2]=H+1;c[a+348+(H<<2)>>2]=B;B=c[f>>2]|0;H=B+32|0;g[B+16+(c[H>>2]<<2)>>2]=0.0;G=(c[r>>2]|0)-1|0;c[r>>2]=G;c[B+(c[H>>2]<<2)>>2]=c[a+348+(G<<2)>>2];G=c[H>>2]|0;c[H>>2]=G+1;aC_(a,-0.0-F,-0.0-w,-0.0-o,c[B+(G<<2)>>2]|0);if(aCY(a)|0){C=1;D=2658;break}G=c[f>>2]|0;B=G+32|0;H=(c[B>>2]|0)-1|0;c[B>>2]=H;B=c[G+(H<<2)>>2]|0;H=c[r>>2]|0;c[r>>2]=H+1;c[a+348+(H<<2)>>2]=B;B=s+1|0;if(B>>>0>=3){break L3384}H=c[f>>2]|0;s=B;z=H;A=c[H+32>>2]|0}if((D|0)==2656){i=b;return C|0}else if((D|0)==2658){i=b;return C|0}}}while(0);C=0;i=b;return C|0}function aCZ(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,R=0.0,S=0.0;i=b+9800|0;j=c[i>>2]|0;if((j|0)==0){c[b>>2]=5;k=0;return k|0}l=j+52|0;m=c[l>>2]|0;n=j+48|0;if((m|0)!=0){c[m+48>>2]=c[n>>2]}m=c[n>>2]|0;if((m|0)!=0){c[m+52>>2]=c[l>>2]}if((c[i>>2]|0)==(j|0)){c[i>>2]=c[l>>2]}m=b+9804|0;c[m>>2]=(c[m>>2]|0)-1;c[n>>2]=0;o=b+9792|0;c[l>>2]=c[o>>2];p=c[o>>2]|0;if((p|0)!=0){c[p+48>>2]=j}c[o>>2]=j;p=b+9796|0;c[p>>2]=(c[p>>2]|0)+1;a[j+59|0]=0;c[j+24>>2]=d;c[j+28>>2]=e;c[j+32>>2]=f;q=e+16|0;r=d+16|0;s=+g[r>>2];t=+g[q>>2]-s;u=e+20|0;v=d+20|0;w=+g[v>>2];x=+g[u>>2]-w;y=e+24|0;e=d+24|0;z=+g[e>>2];A=+g[y>>2]-z;d=f+16|0;B=+g[d>>2]-s;C=f+20|0;s=+g[C>>2]-w;D=f+24|0;w=+g[D>>2]-z;z=x*w-A*s;E=A*B-t*w;w=t*s-x*B;f=j|0;g[f>>2]=z;F=j+4|0;g[F>>2]=E;G=j+8|0;g[G>>2]=w;g[j+12>>2]=0.0;B=+Q(+(z*z+E*E+w*w));H=B>9999999747378752.0e-20;x=+g[r>>2];s=+g[q>>2];t=x-s;A=+g[v>>2];I=+g[u>>2];J=A-I;K=+g[e>>2];L=+g[y>>2];M=K-L;N=K*(z*J-E*t)+(x*(E*M-w*J)+A*(w*t-z*M));M=+g[d>>2];t=s-M;J=+g[C>>2];O=I-J;P=+g[D>>2];R=L-P;S=L*(z*O-E*t)+(s*(E*R-w*O)+I*(w*t-z*R));R=M-x;x=J-A;A=P-K;K=P*(z*x-E*R)+(M*(E*A-w*x)+J*(w*R-z*A));A=N>2]=S<-.009999999776482582?S:0.0;do{if(H){S=(+g[r>>2]*z+ +g[v>>2]*E+ +g[e>>2]*w)/B;g[j+16>>2]=S;K=1.0/B;g[f>>2]=K*z;g[F>>2]=K*E;g[G>>2]=K*w;if(S<-9999999747378752.0e-21&(h^1)){c[b>>2]=3;break}else{k=j;return k|0}}else{c[b>>2]=2}}while(0);b=c[l>>2]|0;if((b|0)!=0){c[b+48>>2]=c[n>>2]}b=c[n>>2]|0;if((b|0)!=0){c[b+52>>2]=c[l>>2]}if((c[o>>2]|0)==(j|0)){c[o>>2]=c[l>>2]}c[p>>2]=(c[p>>2]|0)-1;c[n>>2]=0;c[l>>2]=c[i>>2];l=c[i>>2]|0;if((l|0)!=0){c[l+48>>2]=j}c[i>>2]=j;c[m>>2]=(c[m>>2]|0)+1;k=0;return k|0}function aC_(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;h=i;i=i+48|0;j=h|0;k=h+16|0;l=h+32|0;m=1.0/+Q(+(b*b+d*d+e*e));n=f|0;g[n>>2]=m*b;o=f+4|0;g[o>>2]=m*d;p=f+8|0;g[p>>2]=m*e;g[f+12>>2]=0.0;q=a+120|0;r=(c[a>>2]|0)+(c[q+4>>2]|0)|0;s=c[q>>2]|0;if((s&1|0)==0){t=s}else{t=c[(c[r>>2]|0)+(s-1)>>2]|0}dA[t&511](l,r,f|0);e=-0.0- +g[n>>2];m=-0.0- +g[o>>2];d=-0.0- +g[p>>2];p=(c[a+4>>2]|0)+(c[q+4>>2]|0)|0;o=c[q>>2]|0;if((o&1|0)==0){u=o}else{u=c[(c[p>>2]|0)+(o-1)>>2]|0}b=+g[a+24>>2]*e+ +g[a+28>>2]*m+ +g[a+32>>2]*d;v=+g[a+40>>2]*e+ +g[a+44>>2]*m+ +g[a+48>>2]*d;g[k>>2]=+g[a+8>>2]*e+ +g[a+12>>2]*m+ +g[a+16>>2]*d;g[k+4>>2]=b;g[k+8>>2]=v;g[k+12>>2]=0.0;dA[u&511](j,p,k);v=+g[j>>2];b=+g[j+4>>2];d=+g[j+8>>2];m=+g[l+4>>2]-(+g[a+108>>2]+(v*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]));e=+g[l+8>>2]-(+g[a+112>>2]+(v*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]));g[f+16>>2]=+g[l>>2]-(+g[a+104>>2]+(+g[a+56>>2]*v+ +g[a+60>>2]*b+ +g[a+64>>2]*d));g[f+20>>2]=m;g[f+24>>2]=e;g[f+28>>2]=0.0;i=h;return}function aC$(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;f=b|0;h=a|0;i=+g[h>>2];j=+g[f>>2]-i;k=b+4|0;l=a+4|0;m=+g[l>>2];n=+g[k>>2]-m;o=b+8|0;b=a+8|0;p=+g[b>>2];q=+g[o>>2]-p;r=j*j+n*n+q*q;if(r<=0.0){s=-1.0;return+s}t=(-0.0-(i*j+m*n+p*q))/r;if(t>=1.0){g[d>>2]=0.0;g[d+4>>2]=1.0;c[e>>2]=2;r=+g[f>>2];p=+g[k>>2];m=+g[o>>2];s=r*r+p*p+m*m;return+s}if(t>0.0){g[d+4>>2]=t;g[d>>2]=1.0-t;c[e>>2]=3;m=j*t+ +g[h>>2];j=n*t+ +g[l>>2];n=q*t+ +g[b>>2];s=m*m+j*j+n*n;return+s}else{g[d>>2]=1.0;g[d+4>>2]=0.0;c[e>>2]=1;n=+g[h>>2];j=+g[l>>2];m=+g[b>>2];s=n*n+j*j+m*m;return+s}return 0.0}function aC0(b,e,f,h,i,j){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=h+59|0;if((d[k]|0|0)==(e|0)){l=0;return l|0}m=c[18320+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]- +g[h+16>>2]<-9999999747378752.0e-21){n=aCZ(b,c[h+24+(m<<2)>>2]|0,c[h+24+(i<<2)>>2]|0,f,0)|0;if((n|0)==0){l=0;return l|0}a[n+56|0]=i&255;c[n+36>>2]=h;a[h+56+i|0]=0;c[h+36+(i<<2)>>2]=n;o=j|0;p=c[o>>2]|0;if((p|0)==0){c[j+4>>2]=n}else{a[p+57|0]=2;c[p+40>>2]=n;a[n+58|0]=1;c[n+44>>2]=p}c[o>>2]=n;n=j+8|0;c[n>>2]=(c[n>>2]|0)+1;l=1;return l|0}n=c[18336+(i<<2)>>2]|0;a[k]=e&255;if(!(aC0(b,e,f,c[h+36+(m<<2)>>2]|0,d[h+56+m|0]|0,j)|0)){l=0;return l|0}if(!(aC0(b,e,f,c[h+36+(n<<2)>>2]|0,d[h+56+n|0]|0,j)|0)){l=0;return l|0}j=h+52|0;n=c[j>>2]|0;f=h+48|0;if((n|0)!=0){c[n+48>>2]=c[f>>2]}n=c[f>>2]|0;if((n|0)!=0){c[n+52>>2]=c[j>>2]}n=b+9792|0;if((c[n>>2]|0)==(h|0)){c[n>>2]=c[j>>2]}n=b+9796|0;c[n>>2]=(c[n>>2]|0)-1;c[f>>2]=0;f=b+9800|0;c[j>>2]=c[f>>2];j=c[f>>2]|0;if((j|0)!=0){c[j+48>>2]=h}c[f>>2]=h;h=b+9804|0;c[h>>2]=(c[h>>2]|0)+1;l=1;return l|0}function aC1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0.0,O=0,P=0.0,R=0.0,S=0;h=i;i=i+80|0;j=h|0;k=h+16|0;l=h+64|0;m=h+72|0;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;n=a|0;o=+g[n>>2];p=b|0;q=+g[p>>2];r=o-q;s=a+4|0;t=+g[s>>2];u=b+4|0;v=+g[u>>2];w=t-v;x=a+8|0;y=+g[x>>2];z=b+8|0;A=+g[z>>2];B=y-A;g[k>>2]=r;g[k+4>>2]=w;g[k+8>>2]=B;g[k+12>>2]=0.0;b=d|0;C=+g[b>>2];D=q-C;E=d+4|0;q=+g[E>>2];F=v-q;G=d+8|0;v=+g[G>>2];H=A-v;g[k+16>>2]=D;g[k+20>>2]=F;g[k+24>>2]=H;g[k+28>>2]=0.0;A=C-o;C=q-t;q=v-y;g[k+32>>2]=A;g[k+36>>2]=C;g[k+40>>2]=q;g[k+44>>2]=0.0;v=w*H-B*F;I=B*D-H*r;J=F*r-w*D;K=J*J+(v*v+I*I);if(K<=0.0){L=-1.0;i=h;return+L}c[l>>2]=0;c[l+4>>2]=0;c[m>>2]=0;d=l;M=l+4|0;l=0;N=-1.0;O=a;P=w;w=B;B=r;r=o;o=t;t=y;while(1){do{if(r*(J*P-I*w)+o*(v*w-J*B)+(I*B-v*P)*t>0.0){a=c[18320+(l<<2)>>2]|0;y=+aC$(O,c[j+(a<<2)>>2]|0,d,m);if(!(N<0.0|y>2]|0;c[f>>2]=((S&1|0)==0?0:1<>2]=+g[d>>2];g[e+(a<<2)>>2]=+g[M>>2];g[e+(c[18320+(a<<2)>>2]<<2)>>2]=0.0;R=y}else{R=N}}while(0);a=l+1|0;if(a>>>0>=3){break}S=c[j+(a<<2)>>2]|0;l=a;N=R;O=S;P=+g[k+(a<<4)+4>>2];w=+g[k+(a<<4)+8>>2];B=+g[k+(a<<4)>>2];r=+g[S>>2];o=+g[S+4>>2];t=+g[S+8>>2]}if(R>=0.0){L=R;i=h;return+L}R=v*+g[n>>2]+I*+g[s>>2]+J*+g[x>>2];t=+Q(+K);o=R/K;K=v*o;v=I*o;I=J*o;c[f>>2]=7;o=+g[p>>2]-K;J=+g[u>>2]-v;R=+g[z>>2]-I;r=F*R-J*H;B=o*H-R*D;R=J*D-o*F;F=+Q(+(R*R+(r*r+B*B)))/t;g[e>>2]=F;B=+g[b>>2]-K;r=+g[E>>2]-v;R=+g[G>>2]-I;o=C*R-r*q;D=B*q-R*A;R=r*A-B*C;C=+Q(+(R*R+(o*o+D*D)))/t;g[e+4>>2]=C;g[e+8>>2]=1.0-(C+F);L=I*I+(K*K+v*v);i=h;return+L}function aC2(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 h=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0;h=i;i=i+32|0;j=h|0;k=h+8|0;l=h+16|0;m=h+24|0;aCT(a,c,e,j,k);aCT(b,d,e,l,m);n=+g[k>>2];o=+g[l>>2];if(n>2];r=+g[j>>2];if(q>2]=s>2]=0;c[m+4>>2]=0;r=m+8|0;c[r>>2]=0;s=c[f+4>>2]|0;if((s|0)>0){c[9806]=(c[9806]|0)+1;t=aDx((s<<4|4)+15|0)|0;if((t|0)==0){u=0}else{v=-(t+4|0)&15;c[t+v>>2]=t;u=t+(v+4)|0}a[p]=1;c[q>>2]=u;c[r>>2]=s;w=u}else{w=0}u=c[d+28>>2]|0;do{if((u|0)>0){s=d+36|0;r=c[s>>2]|0;v=e|0;x=+g[v>>2];t=e+4|0;y=+g[t>>2];z=e+8|0;A=+g[z>>2];B=e+16|0;C=+g[B>>2];D=e+20|0;E=+g[D>>2];F=e+24|0;G=+g[F>>2];H=e+32|0;I=+g[H>>2];J=e+36|0;K=+g[J>>2];L=e+40|0;M=+g[L>>2];N=+g[b>>2];O=+g[b+4>>2];P=+g[b+8>>2];Q=0;R=3.4028234663852886e+38;S=-1;while(1){T=+g[r+(Q*56|0)+40>>2];U=+g[r+(Q*56|0)+44>>2];V=+g[r+(Q*56|0)+48>>2];W=(T*x+U*y+V*A)*N+(T*C+U*E+V*G)*O+(T*I+U*K+V*M)*P;X=W>2]|0;if((S|0)>0){Q=r+(Y*56|0)+32|0;X=e+48|0;Z=e+52|0;$=e+56|0;aa=n;ab=f;ac=m;ad=0;ae=r;R=x;P=y;O=A;N=C;W=E;V=G;U=I;T=K;af=M;while(1){ag=c[(c[Q>>2]|0)+(ad<<2)>>2]|0;ah=+g[ae+(ag*56|0)+40>>2];ai=+g[ae+(ag*56|0)+44>>2];aj=+g[ae+(ag*56|0)+48>>2];ak=ah*R+ai*P+aj*O;al=ah*N+ai*W+aj*V;am=ah*U+ai*T+aj*af;aj=+g[ae+(ag*56|0)+52>>2]-(ak*+g[X>>2]+al*+g[Z>>2]+am*+g[$>>2]);ag=ab+4|0;an=c[ag>>2]|0;if((an|0)<2){ao=an}else{ap=an-1|0;aq=ab+12|0;ar=c[aq>>2]|0;ai=+g[ar+(ap<<4)>>2];ah=+g[ar+(ap<<4)+4>>2];as=+g[ar+(ap<<4)+8>>2];ap=ac+4|0;at=ac+8|0;au=ac+12|0;av=ac+16|0;aw=as;ax=ah;ay=ai;az=ai*ak+ah*al+as*am+aj;aA=0;aB=ar;while(1){as=+g[aB+(aA<<4)>>2];ah=+g[aB+(aA<<4)+4>>2];ai=+g[aB+(aA<<4)+8>>2];aC=+g[aB+(aA<<4)+12>>2];aD=as*ak+ah*al+ai*am+aj;ar=aD<0.0;do{if(az<0.0){if(ar){aE=c[ap>>2]|0;do{if((aE|0)==(c[at>>2]|0)){aF=(aE|0)==0?1:aE<<1;if((aE|0)>=(aF|0)){aG=aE;break}if((aF|0)==0){aH=0;aI=aE}else{c[9806]=(c[9806]|0)+1;aJ=aDx((aF<<4|4)+15|0)|0;if((aJ|0)==0){aK=0}else{aL=-(aJ+4|0)&15;c[aJ+aL>>2]=aJ;aK=aJ+(aL+4)|0}aH=aK;aI=c[ap>>2]|0}if((aI|0)>0){aL=0;do{aJ=aH+(aL<<4)|0;if((aJ|0)!=0){aM=aJ;aJ=(c[au>>2]|0)+(aL<<4)|0;c[aM>>2]=c[aJ>>2];c[aM+4>>2]=c[aJ+4>>2];c[aM+8>>2]=c[aJ+8>>2];c[aM+12>>2]=c[aJ+12>>2]}aL=aL+1|0;}while((aL|0)<(aI|0))}aL=c[au>>2]|0;if((aL|0)!=0){if((a[av]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aL-16+12>>2]|0)}c[au>>2]=0}a[av]=1;c[au>>2]=aH;c[at>>2]=aF;aG=c[ap>>2]|0}else{aG=aE}}while(0);aE=c[au>>2]|0;aL=aE+(aG<<4)|0;if((aL|0)==0){aN=aG}else{g[aL>>2]=as;g[aE+(aG<<4)+4>>2]=ah;g[aE+(aG<<4)+8>>2]=ai;g[aE+(aG<<4)+12>>2]=aC;aN=c[ap>>2]|0}c[ap>>2]=aN+1;break}else{aO=az/(az-aD);aP=ay+(as-ay)*aO;aQ=ax+(ah-ax)*aO;aR=aw+(ai-aw)*aO;aE=c[ap>>2]|0;do{if((aE|0)==(c[at>>2]|0)){aL=(aE|0)==0?1:aE<<1;if((aE|0)>=(aL|0)){aS=aE;break}if((aL|0)==0){aT=0;aU=aE}else{c[9806]=(c[9806]|0)+1;aJ=aDx((aL<<4|4)+15|0)|0;if((aJ|0)==0){aV=0}else{aM=-(aJ+4|0)&15;c[aJ+aM>>2]=aJ;aV=aJ+(aM+4)|0}aT=aV;aU=c[ap>>2]|0}if((aU|0)>0){aM=0;do{aJ=aT+(aM<<4)|0;if((aJ|0)!=0){aW=aJ;aJ=(c[au>>2]|0)+(aM<<4)|0;c[aW>>2]=c[aJ>>2];c[aW+4>>2]=c[aJ+4>>2];c[aW+8>>2]=c[aJ+8>>2];c[aW+12>>2]=c[aJ+12>>2]}aM=aM+1|0;}while((aM|0)<(aU|0))}aM=c[au>>2]|0;if((aM|0)!=0){if((a[av]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aM-16+12>>2]|0)}c[au>>2]=0}a[av]=1;c[au>>2]=aT;c[at>>2]=aL;aS=c[ap>>2]|0}else{aS=aE}}while(0);aE=c[au>>2]|0;aM=aE+(aS<<4)|0;if((aM|0)==0){aX=aS}else{g[aM>>2]=aP;g[aE+(aS<<4)+4>>2]=aQ;g[aE+(aS<<4)+8>>2]=aR;g[aE+(aS<<4)+12>>2]=0.0;aX=c[ap>>2]|0}c[ap>>2]=aX+1;break}}else{if(!ar){break}aO=az/(az-aD);aY=ay+(as-ay)*aO;aZ=ax+(ah-ax)*aO;a_=aw+(ai-aw)*aO;aE=c[ap>>2]|0;aM=c[at>>2]|0;do{if((aE|0)==(aM|0)){aF=(aE|0)==0?1:aE<<1;if((aE|0)>=(aF|0)){a$=aE;a0=aE;break}if((aF|0)==0){a1=0;a2=aE}else{c[9806]=(c[9806]|0)+1;aJ=aDx((aF<<4|4)+15|0)|0;if((aJ|0)==0){a3=0}else{aW=-(aJ+4|0)&15;c[aJ+aW>>2]=aJ;a3=aJ+(aW+4)|0}a1=a3;a2=c[ap>>2]|0}if((a2|0)>0){aW=0;do{aJ=a1+(aW<<4)|0;if((aJ|0)!=0){a4=aJ;aJ=(c[au>>2]|0)+(aW<<4)|0;c[a4>>2]=c[aJ>>2];c[a4+4>>2]=c[aJ+4>>2];c[a4+8>>2]=c[aJ+8>>2];c[a4+12>>2]=c[aJ+12>>2]}aW=aW+1|0;}while((aW|0)<(a2|0))}aW=c[au>>2]|0;if((aW|0)!=0){if((a[av]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aW-16+12>>2]|0)}c[au>>2]=0}a[av]=1;c[au>>2]=a1;c[at>>2]=aF;a$=c[ap>>2]|0;a0=aF}else{a$=aE;a0=aM}}while(0);aM=c[au>>2]|0;aE=aM+(a$<<4)|0;if((aE|0)==0){a5=a$;a6=a0}else{g[aE>>2]=aY;g[aM+(a$<<4)+4>>2]=aZ;g[aM+(a$<<4)+8>>2]=a_;g[aM+(a$<<4)+12>>2]=0.0;a5=c[ap>>2]|0;a6=c[at>>2]|0}aM=a5+1|0;c[ap>>2]=aM;do{if((aM|0)==(a6|0)){aE=(a6|0)==0?1:a6<<1;if((a6|0)>=(aE|0)){a7=a6;break}if((aE|0)==0){a8=0;a9=a6}else{c[9806]=(c[9806]|0)+1;aW=aDx((aE<<4|4)+15|0)|0;if((aW|0)==0){ba=0}else{aL=-(aW+4|0)&15;c[aW+aL>>2]=aW;ba=aW+(aL+4)|0}a8=ba;a9=c[ap>>2]|0}if((a9|0)>0){aL=0;do{aW=a8+(aL<<4)|0;if((aW|0)!=0){aJ=aW;aW=(c[au>>2]|0)+(aL<<4)|0;c[aJ>>2]=c[aW>>2];c[aJ+4>>2]=c[aW+4>>2];c[aJ+8>>2]=c[aW+8>>2];c[aJ+12>>2]=c[aW+12>>2]}aL=aL+1|0;}while((aL|0)<(a9|0))}aL=c[au>>2]|0;if((aL|0)!=0){if((a[av]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aL-16+12>>2]|0)}c[au>>2]=0}a[av]=1;c[au>>2]=a8;c[at>>2]=aE;a7=c[ap>>2]|0}else{a7=aM}}while(0);aM=c[au>>2]|0;aL=aM+(a7<<4)|0;if((aL|0)==0){bb=a7}else{g[aL>>2]=as;g[aM+(a7<<4)+4>>2]=ah;g[aM+(a7<<4)+8>>2]=ai;g[aM+(a7<<4)+12>>2]=aC;bb=c[ap>>2]|0}c[ap>>2]=bb+1}}while(0);ar=aA+1|0;if((ar|0)>=(an|0)){break}aw=ai;ax=ah;ay=as;az=aD;aA=ar;aB=c[aq>>2]|0}ao=c[ag>>2]|0}if((ao|0)<0){aq=ab+8|0;aB=ab+12|0;if((c[aq>>2]|0)<0){aA=c[aB>>2]|0;an=ab+16|0;if((aA|0)!=0){if((a[an]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[aA-16+12>>2]|0)}c[aB>>2]=0}a[an]=1;c[aB>>2]=0;c[aq>>2]=0;bc=ao}else{bc=ao}do{aq=(c[aB>>2]|0)+(bc<<4)|0;if((aq|0)!=0){an=aq;c[an>>2]=c[aa>>2];c[an+4>>2]=c[aa+4>>2];c[an+8>>2]=c[aa+8>>2];c[an+12>>2]=c[aa+12>>2]}bc=bc+1|0;}while((bc|0)<0)}c[ag>>2]=0;aB=ad+1|0;if((aB|0)>=(S|0)){break}an=ab;ab=ac;ad=aB;ae=c[s>>2]|0;R=+g[v>>2];P=+g[t>>2];O=+g[z>>2];N=+g[B>>2];W=+g[D>>2];V=+g[F>>2];U=+g[H>>2];T=+g[J>>2];af=+g[L>>2];ac=an}bd=ac;be=X;bf=Z;bg=$;bh=+g[v>>2];bi=+g[t>>2];bj=+g[z>>2];bk=+g[B>>2];bl=+g[D>>2];bm=+g[F>>2];bn=+g[H>>2];bo=+g[J>>2];bp=+g[L>>2]}else{bd=f;be=e+48|0;bf=e+52|0;bg=e+56|0;bh=x;bi=y;bj=A;bk=C;bl=E;bm=G;bn=I;bo=K;bp=M}af=+g[r+(Y*56|0)+40>>2];T=+g[r+(Y*56|0)+44>>2];U=+g[r+(Y*56|0)+48>>2];V=af*bh+T*bi+U*bj;W=af*bk+T*bl+U*bm;N=af*bn+T*bo+U*bp;U=+g[r+(Y*56|0)+52>>2]-(V*+g[be>>2]+W*+g[bf>>2]+N*+g[bg>>2]);s=bd+4|0;ae=c[s>>2]|0;if((ae|0)>0){ad=bd+12|0;ab=o;S=k;aa=0;Q=ae;while(1){ae=c[ad>>2]|0;an=ae+(aa<<4)|0;T=U+(V*+g[an>>2]+W*+g[ae+(aa<<4)+4>>2]+N*+g[ae+(aa<<4)+8>>2]);if(T>j|T>2]=c[ae>>2];c[ab+4>>2]=c[ae+4>>2];c[ab+8>>2]=c[ae+8>>2];c[ab+12>>2]=c[ae+12>>2];dw[c[(c[S>>2]|0)+16>>2]&127](k,b,o,T);bq=c[s>>2]|0}ae=aa+1|0;if((ae|0)<(bq|0)){aa=ae;Q=bq}else{break}}}_=c[q>>2]|0}else{_=w}}while(0);if((_|0)==0){i=l;return}if((a[p]&1)!=0){c[9804]=(c[9804]|0)+1;aDB(c[_-16+12>>2]|0)}c[q>>2]=0;i=l;return}function aC4(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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=c[g+16>>2]|0;if((h|0)!=(f|0)){i=f-h|0;return i|0}if((f|0)==0){i=0;return i|0}h=g+8|0;j=c[h+4>>2]|0;k=a|0;a=b&0;l=c[h>>2]|0;h=j&0;m=(D=(+(l>>>0)+ +(h|0)*4294967296.0)*(+(k>>>0)+ +(a|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);n=j;j=0;o=(D=(+(n>>>0)+ +(j|0)*4294967296.0)*(+(k>>>0)+ +(a|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);p=b;b=0;q=(D=(+(l>>>0)+ +(h|0)*4294967296.0)*(+(p>>>0)+ +(b|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);r=~~((+(n>>>0)+ +(j|0)*4294967296.0)*(+(p>>>0)+ +(b|0)*4294967296.0))>>>0;s=(D=(+(n>>>0)+ +(j|0)*4294967296.0)*(+(p>>>0)+ +(b|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);t=~~((+(n>>>0)+ +(j|0)*4294967296.0)*(+(k>>>0)+ +(a|0)*4294967296.0))>>>0|0;j=o&0;n=~~((+(l>>>0)+ +(h|0)*4294967296.0)*(+(p>>>0)+ +(b|0)*4294967296.0))>>>0|0;b=q&0;p=(D=+(t>>>0)+ +(j|0)*4294967296.0+(+(n>>>0)+ +(b|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);u=o;o=0;v=~~(+(u>>>0)+ +(o|0)*4294967296.0+(+(r>>>0)+ +(s|0)*4294967296.0))>>>0;w=(D=+(u>>>0)+ +(o|0)*4294967296.0+(+(r>>>0)+ +(s|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);s=q;q=0;r=~~(+(v>>>0)+ +(w|0)*4294967296.0+(+(s>>>0)+ +(q|0)*4294967296.0))>>>0;o=(D=+(v>>>0)+ +(w|0)*4294967296.0+(+(s>>>0)+ +(q|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);q=p;p=0;s=aDF(~~((+(l>>>0)+ +(h|0)*4294967296.0)*(+(k>>>0)+ +(a|0)*4294967296.0))>>>0|0,m|0,0,~~(+(t>>>0)+ +(j|0)*4294967296.0+(+(n>>>0)+ +(b|0)*4294967296.0))>>>0|0)|0;b=s;s=E;n=F&1;j=0;t=~~(+(r>>>0)+ +(o|0)*4294967296.0+(+(n>>>0)+ +(j|0)*4294967296.0))>>>0;m=(D=+(r>>>0)+ +(o|0)*4294967296.0+(+(n>>>0)+ +(j|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);j=~~(+(t>>>0)+ +(m|0)*4294967296.0+(+(q>>>0)+ +(p|0)*4294967296.0))>>>0;n=(D=+(t>>>0)+ +(m|0)*4294967296.0+(+(q>>>0)+ +(p|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);p=g|0;g=c[p+4>>2]|0;q=d|0;d=e&0;m=c[p>>2]|0;p=g&0;t=(D=(+(m>>>0)+ +(p|0)*4294967296.0)*(+(q>>>0)+ +(d|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);o=g;g=0;r=(D=(+(o>>>0)+ +(g|0)*4294967296.0)*(+(q>>>0)+ +(d|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);a=e;e=0;k=(D=(+(m>>>0)+ +(p|0)*4294967296.0)*(+(a>>>0)+ +(e|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);h=~~((+(o>>>0)+ +(g|0)*4294967296.0)*(+(a>>>0)+ +(e|0)*4294967296.0))>>>0;l=(D=(+(o>>>0)+ +(g|0)*4294967296.0)*(+(a>>>0)+ +(e|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);w=~~((+(o>>>0)+ +(g|0)*4294967296.0)*(+(q>>>0)+ +(d|0)*4294967296.0))>>>0|0;g=r&0;o=~~((+(m>>>0)+ +(p|0)*4294967296.0)*(+(a>>>0)+ +(e|0)*4294967296.0))>>>0|0;e=k&0;a=(D=+(w>>>0)+ +(g|0)*4294967296.0+(+(o>>>0)+ +(e|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);v=r;r=0;u=~~(+(v>>>0)+ +(r|0)*4294967296.0+(+(h>>>0)+ +(l|0)*4294967296.0))>>>0;x=(D=+(v>>>0)+ +(r|0)*4294967296.0+(+(h>>>0)+ +(l|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);l=k;k=0;h=~~(+(u>>>0)+ +(x|0)*4294967296.0+(+(l>>>0)+ +(k|0)*4294967296.0))>>>0;r=(D=+(u>>>0)+ +(x|0)*4294967296.0+(+(l>>>0)+ +(k|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);k=a;a=0;l=aDF(~~((+(m>>>0)+ +(p|0)*4294967296.0)*(+(q>>>0)+ +(d|0)*4294967296.0))>>>0|0,t|0,0,~~(+(w>>>0)+ +(g|0)*4294967296.0+(+(o>>>0)+ +(e|0)*4294967296.0))>>>0|0)|0;e=l;l=E;o=F&1;g=0;w=~~(+(h>>>0)+ +(r|0)*4294967296.0+(+(o>>>0)+ +(g|0)*4294967296.0))>>>0;t=(D=+(h>>>0)+ +(r|0)*4294967296.0+(+(o>>>0)+ +(g|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);g=~~(+(w>>>0)+ +(t|0)*4294967296.0+(+(k>>>0)+ +(a|0)*4294967296.0))>>>0;o=(D=+(w>>>0)+ +(t|0)*4294967296.0+(+(k>>>0)+ +(a|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);do{if(n>>>0>>0|n>>>0==o>>>0&j>>>0>>0){y=-1}else{if(n>>>0>o>>>0|n>>>0==o>>>0&j>>>0>g>>>0){y=1;break}if(s>>>0>>0|s>>>0==l>>>0&b>>>0>>0){y=-1;break}y=(s>>>0>l>>>0|s>>>0==l>>>0&b>>>0>e>>>0)&1}}while(0);i=aa(y,f)|0;return i|0}function aC5(a){a=a|0;var b=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;b=a+8|0;d=c[b>>2]|0;do{if((d|0)==0){e=a+4|0;f=c[e>>2]|0;if((f|0)==0){c[9806]=(c[9806]|0)+1;g=aDx(31)|0;do{if((g|0)==0){h=0}else{i=-(g+4|0)&15;j=g+(i+4)|0;c[g+i>>2]=g;if((j|0)==0){h=0;break}k=c[a+12>>2]|0;c[g+(i+8)>>2]=k;c[g+(i+12)>>2]=0;c[9806]=(c[9806]|0)+1;i=aDx((k*24|0|4)+15|0)|0;if((i|0)==0){l=0}else{k=-(i+4|0)&15;c[i+k>>2]=i;l=i+(k+4)|0}c[j>>2]=l;h=j}}while(0);g=a|0;c[h+8>>2]=c[g>>2];c[g>>2]=h;m=h}else{c[e>>2]=c[f+8>>2];m=f}g=m|0;j=m+4|0;k=c[j>>2]|0;if((k|0)>0){i=c[g>>2]|0;n=0;o=k;while(1){k=n+1|0;p=i+24|0;c[i>>2]=(k|0)<(o|0)?p:0;q=c[j>>2]|0;if((k|0)<(q|0)){i=p;n=k;o=q}else{break}}}o=c[g>>2]|0;c[b>>2]=c[o>>2];if((o|0)==0){r=0}else{s=o;break}return r|0}else{c[b>>2]=c[d>>2];s=d}}while(0);aDD(s|0,0,24);r=s;return r|0}function aC6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,ab=0,ac=0,ad=0,ae=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,ba=0,bb=0,bc=0,bd=0,be=0,bf=0,bg=0,bh=0,bi=0,bj=0,bk=0,bl=0,bm=0,bn=0,bo=0,bp=0,bq=0,br=0,bs=0,bt=0,bu=0,bv=0,bw=0,bx=0,by=0,bz=0,bA=0,bB=0,bC=0,bD=0,bE=0,bF=0,bG=0,bH=0,bI=0,bJ=0,bK=0,bL=0,bM=0,bN=0,bO=0,bP=0,bQ=0,bR=0,bS=0,bT=0,bU=0,bV=0,bW=0,bX=0,bY=0,bZ=0,b_=0,b$=0;f=i;i=i+160|0;g=f|0;h=f+8|0;j=f+16|0;k=f+32|0;l=f+56|0;m=f+80|0;n=f+104|0;o=f+128|0;p=f+136|0;q=f+144|0;r=d-b|0;L3751:do{if((r|0)==0){aDD(e|0,0,16);i=f;return}else if((r|0)==1){s=c[(c[a+92>>2]|0)+(b<<2)>>2]|0}else if((r|0)==2){t=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;u=t+112|0;v=c[t+88>>2]|0;w=c[t+200>>2]|0;x=(v|0)==(w|0);y=c[t+92>>2]|0;z=c[t+204>>2]|0;A=(y|0)==(z|0);do{if(x){if(A){if((c[t+96>>2]|0)==(c[t+208>>2]|0)){s=t;break L3751}else{B=y}}else{B=z}if((y|0)!=(B|0)){C=B;E=0;F=2918;break}G=(c[t+96>>2]|0)>(c[t+208>>2]|0);H=G?u:t;c[H>>2]=H;c[H+4>>2]=H;c[e>>2]=H;c[e+4>>2]=H;c[e+8>>2]=H;c[e+12>>2]=H;I=H;J=G?t:u}else{C=z;E=A;F=2918}}while(0);do{if((F|0)==2918){A=y-C|0;c[t>>2]=u;c[t+4>>2]=u;c[u>>2]=t;c[t+116>>2]=t;z=(v-w|0)<0;do{if(z){F=2920}else{if(x&(A|0)<0){F=2920;break}c[e>>2]=u;c[e+4>>2]=t}}while(0);if((F|0)==2920){c[e>>2]=t;c[e+4>>2]=u}G=e+8|0;if((A|0)<0|E&z){c[G>>2]=t;c[e+12>>2]=u;I=t;J=u;break}else{c[G>>2]=u;c[e+12>>2]=t;I=t;J=u;break}}}while(0);u=a+48|0;t=aC5(u)|0;x=aC5(u)|0;u=t+8|0;c[u>>2]=x;c[x+8>>2]=t;w=a+100|0;c[t+20>>2]=c[w>>2];c[x+20>>2]=c[w>>2];c[t+12>>2]=J;c[x+12>>2]=I;c[t+16>>2]=0;c[x+16>>2]=0;x=a+116|0;w=(c[x>>2]|0)+1|0;c[x>>2]=w;x=a+120|0;if((w|0)>(c[x>>2]|0)){c[x>>2]=w}c[t>>2]=t;c[t+4>>2]=t;c[I+8>>2]=t;t=c[u>>2]|0;c[t>>2]=t;c[t+4>>2]=t;c[J+8>>2]=t;i=f;return}else{t=((r|0)/2|0)+b|0;u=c[a+92>>2]|0;w=c[u+(t-1<<2)>>2]|0;x=c[w+88>>2]|0;v=c[w+92>>2]|0;y=c[w+96>>2]|0;w=t;while(1){if((w|0)>=(d|0)){break}G=c[u+(w<<2)>>2]|0;if((c[G+88>>2]|0)!=(x|0)){break}if((c[G+92>>2]|0)!=(v|0)){break}if((c[G+96>>2]|0)==(y|0)){w=w+1|0}else{break}}aC6(a,b,t,e);y=q;aDD(y|0,0,16);aC6(a,w,d,q);v=m;x=n;u=q+4|0;G=c[u>>2]|0;if((G|0)==0){i=f;return}H=e+4|0;if((c[H>>2]|0)==0){K=e;c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];i=f;return}y=a+100|0;c[y>>2]=(c[y>>2]|0)-1;K=e+12|0;L=c[K>>2]|0;M=c[q+8>>2]|0;N=c[L+88>>2]|0;L3766:do{if((N|0)==(c[M+88>>2]|0)){if((c[L+92>>2]|0)!=(c[M+92>>2]|0)){Q=G;F=2954;break}R=c[M+4>>2]|0;if((R|0)==(M|0)){S=c[M+8>>2]|0;if((S|0)==0){T=M;U=N}else{V=c[S+12>>2]|0;T=V;U=c[V+88>>2]|0}W=U+1|0;X=c[T+96>>2]|0;Y=T;Z=L;break}V=c[M>>2]|0;c[R>>2]=V;c[V+4>>2]=R;S=q|0;L3775:do{if((M|0)==(c[S>>2]|0)){_=c[V+88>>2]|0;ab=c[R+88>>2]|0;do{if((_|0)>=(ab|0)){if((_|0)==(ab|0)){if((c[V+92>>2]|0)<(c[R+92>>2]|0)){break}}c[S>>2]=R;break L3775}}while(0);c[S>>2]=V}}while(0);S=c[u>>2]|0;if((M|0)!=(S|0)){Q=S;F=2954;break}S=c[V+88>>2]|0;z=c[R+88>>2]|0;do{if((S|0)<=(z|0)){if((S|0)==(z|0)){if((c[V+92>>2]|0)>(c[R+92>>2]|0)){break}}c[u>>2]=R;Q=R;F=2954;break L3766}}while(0);c[u>>2]=V;Q=V;F=2954}else{Q=G;F=2954}}while(0);if((F|0)==2954){G=e|0;M=q|0;L=c[M>>2]|0;N=0;w=1;t=0;R=0;z=Q;S=H;L3793:while(1){A=N;ab=z;_=c[S>>2]|0;while(1){ac=c[_+88>>2]|0;ad=aa((c[ab+88>>2]|0)-ac|0,w)|0;L3797:do{if((ad|0)>0){ae=(A|0)!=0;ag=_;ah=ab;ai=ad;aj=c[ab+92>>2]|0;while(1){ak=ah+88|0;al=ag+88|0;am=c[ag+92>>2]|0;an=aj-am|0;ao=c[(ae?ag|0:ag+4|0)>>2]|0;L3855:do{if((ao|0)==(ag|0)){ap=ai;aq=ag;ar=al;as=an}else{at=ak|0;au=ai;av=ag;aw=al;ax=am;ay=an;az=ao;while(1){aA=c[az+88>>2]|0;aB=aa(aA-(c[aw>>2]|0)|0,w)|0;aC=c[az+92>>2]|0;aD=aC-ax|0;if((aD|0)>=1){ap=au;aq=av;ar=aw;as=ay;break L3855}if((aB|0)!=0){if((aB|0)>=0){ap=au;aq=av;ar=aw;as=ay;break L3855}aE=aa(aD,au)|0;if((aE|0)>(aa(aB,ay)|0)){ap=au;aq=av;ar=aw;as=ay;break L3855}}aB=aa((c[at>>2]|0)-aA|0,w)|0;aA=az+88|0;aE=aj-aC|0;aD=c[(ae?az|0:az+4|0)>>2]|0;if((aD|0)==(az|0)){ap=aB;aq=az;ar=aA;as=aE;break}else{au=aB;av=az;aw=aA;ax=aC;ay=aE;az=aD}}}}while(0);ao=c[(ae?ah|0:ah+4|0)>>2]|0;if((ao|0)==(ah|0)){aF=aq;aG=ah;break L3797}an=c[ao+88>>2]|0;am=aa(an-(c[ak>>2]|0)|0,w)|0;al=c[ao+92>>2]|0;az=al-aj|0;ay=aa(an-(c[ar>>2]|0)|0,w)|0;if(!((ay|0)>0&(az|0)<0)){aF=aq;aG=ah;break L3797}if((am|0)==0){ag=aq;ah=ao;ai=ay;aj=al;continue}if((am|0)>=0){aF=aq;aG=ah;break L3797}an=aa(az,ap)|0;if((an|0)<(aa(am,as)|0)){ag=aq;ah=ao;ai=ay;aj=al}else{aF=aq;aG=ah;break}}}else{if((ad|0)>=0){ah=c[_+92>>2]|0;aj=(A|0)!=0;L3801:do{if(aj){ai=_;ag=ah;while(1){ae=c[ai>>2]|0;if((ae|0)==(_|0)){aH=ai;break L3801}if((c[ae+88>>2]|0)!=(ac|0)){aH=ai;break L3801}al=c[ae+92>>2]|0;if((al|0)>(ag|0)){aH=ai;break}else{ai=ae;ag=al}}}else{ag=_;ai=ah;while(1){ak=c[ag+4>>2]|0;if((ak|0)==(_|0)){aH=ag;break L3801}if((c[ak+88>>2]|0)!=(ac|0)){aH=ag;break L3801}al=c[ak+92>>2]|0;if((al|0)>(ai|0)){aH=ag;break}else{ag=ak;ai=al}}}}while(0);ah=c[ab+92>>2]|0;if(aj){ai=ab;ag=ah;while(1){al=c[ai+4>>2]|0;if((al|0)==(ab|0)){aF=aH;aG=ai;break L3797}if((c[al+88>>2]|0)!=(ac|0)){aF=aH;aG=ai;break L3797}ak=c[al+92>>2]|0;if((ak|0)<(ag|0)){aF=aH;aG=ai;break L3797}else{ai=al;ag=ak}}}else{ag=ab;ai=ah;while(1){aj=c[ag>>2]|0;if((aj|0)==(ab|0)){aF=aH;aG=ag;break L3797}if((c[aj+88>>2]|0)!=(ac|0)){aF=aH;aG=ag;break L3797}ak=c[aj+92>>2]|0;if((ak|0)<(ai|0)){aF=aH;aG=ag;break L3797}else{ag=aj;ai=ak}}}}ai=c[ab+92>>2]|0;ag=c[_+92>>2]|0;if((A|0)==0){ah=_;ak=ab;aj=ad;al=ai;ae=ag;while(1){ay=c[ak>>2]|0;ao=(ay|0)==(ak|0);am=ak+88|0;an=ay+88|0;az=ay+92|0;ax=ah;aw=aj;av=ae;L3839:while(1){aI=ax+88|0;au=al-av|0;do{if(!ao){aJ=c[an>>2]|0;at=aa(aJ-(c[am>>2]|0)|0,w)|0;aK=c[az>>2]|0;aD=aK-al|0;if((aD|0)<=-1){break}if((at|0)==0){break L3839}if((at|0)>=0){break}aE=aa(aD,aw)|0;if((aE|0)<=(aa(at,au)|0)){break L3839}}}while(0);at=c[ax>>2]|0;if((at|0)==(ax|0)){aF=ax;aG=ak;break L3797}aE=c[at+88>>2]|0;aD=aa(aE-(c[aI>>2]|0)|0,w)|0;aC=c[at+92>>2]|0;aA=aC-av|0;aB=aa((c[am>>2]|0)-aE|0,w)|0;if(!((aB|0)<0&(aA|0)>0)){aF=ax;aG=ak;break L3797}if((aD|0)==0){ax=at;aw=aB;av=aC;continue}if((aD|0)>=0){aF=ax;aG=ak;break L3797}aE=aa(aA,aw)|0;if((aE|0)<(aa(aD,au)|0)){ax=at;aw=aB;av=aC}else{aF=ax;aG=ak;break L3797}}ah=ax;ak=ay;aj=aa(aJ-(c[aI>>2]|0)|0,w)|0;al=aK;ae=av}}else{ae=_;al=ab;aj=ad;ak=ai;ah=ag;while(1){aw=c[al+4>>2]|0;am=(aw|0)==(al|0);az=al+88|0;an=aw+88|0;ao=aw+92|0;aC=ae;aB=aj;at=ah;L3824:while(1){aL=aC+88|0;aD=ak-at|0;do{if(!am){aM=c[an>>2]|0;aE=aa(aM-(c[az>>2]|0)|0,w)|0;aN=c[ao>>2]|0;aA=aN-ak|0;if((aA|0)<=-1){break}if((aE|0)==0){break L3824}if((aE|0)>=0){break}aO=aa(aA,aB)|0;if((aO|0)<=(aa(aE,aD)|0)){break L3824}}}while(0);au=c[aC+4>>2]|0;if((au|0)==(aC|0)){aF=aC;aG=al;break L3797}aE=c[au+88>>2]|0;aO=aa(aE-(c[aL>>2]|0)|0,w)|0;aA=c[au+92>>2]|0;aP=aA-at|0;aQ=aa((c[az>>2]|0)-aE|0,w)|0;if(!((aQ|0)<0&(aP|0)>0)){aF=aC;aG=al;break L3797}if((aO|0)==0){aC=au;aB=aQ;at=aA;continue}if((aO|0)>=0){aF=aC;aG=al;break L3797}aE=aa(aP,aB)|0;if((aE|0)<(aa(aO,aD)|0)){aC=au;aB=aQ;at=aA}else{aF=aC;aG=al;break L3797}}ae=aC;al=aw;aj=aa(aM-(c[aL>>2]|0)|0,w)|0;ak=aN;ah=at}}}}while(0);if((A|0)==0){N=1;w=-1;t=aG;R=aF;z=L;S=G;continue L3793}ad=A+1|0;if((ad|0)<2){A=ad;ab=aG;_=aF}else{break L3793}}}c[aF+4>>2]=aG;c[aG>>2]=aF;c[R>>2]=t;c[t+4>>2]=R;S=c[M>>2]|0;if((c[S+88>>2]|0)<(c[(c[G>>2]|0)+88>>2]|0)){c[G>>2]=S}S=c[u>>2]|0;if((c[S+88>>2]|0)>=(c[(c[H>>2]|0)+88>>2]|0)){c[H>>2]=S}c[K>>2]=c[q+12>>2];S=c[t+88>>2]|0;L=c[R+88>>2]|0;z=S-L|0;w=c[t+92>>2]|0;N=c[R+92>>2]|0;_=w-N|0;ab=c[t+96>>2]|0;A=c[R+96>>2]|0;V=ab-A|0;ad=_;ac=(_|0)<0?-1:0;_=-z|0;ah=_;ak=(_|0)<0?-1:0;_=V;aj=(V|0)<0?-1:0;V=0;al=0;ae=~~(+(V>>>0)+ +(al|0)*4294967296.0-(+(ah>>>0)+ +(ak|0)*4294967296.0))>>>0;ag=(D=+(V>>>0)+ +(al|0)*4294967296.0-(+(ah>>>0)+ +(ak|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);al=~~((+(_>>>0)+ +(aj|0)*4294967296.0)*(+(ae>>>0)+ +(ag|0)*4294967296.0))>>>0;V=(D=(+(_>>>0)+ +(aj|0)*4294967296.0)*(+(ae>>>0)+ +(ag|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ag=~~((+(_>>>0)+ +(aj|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0))>>>0;ae=(D=(+(_>>>0)+ +(aj|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=z;_=(z|0)<0?-1:0;z=~~((+(aj>>>0)+ +(_|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0))>>>0;ai=(D=(+(aj>>>0)+ +(_|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);_=~~((+(ad>>>0)+ +(ac|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0))>>>0;aj=(D=(+(ad>>>0)+ +(ac|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aB=~~(+(z>>>0)+ +(ai|0)*4294967296.0-(+(_>>>0)+ +(aj|0)*4294967296.0))>>>0;az=(D=+(z>>>0)+ +(ai|0)*4294967296.0-(+(_>>>0)+ +(aj|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=c[R+8>>2]|0;c[g>>2]=0;if((aj|0)==0){aR=0}else{_=0;ai=0;z=~~(+(_>>>0)+ +(ai|0)*4294967296.0-(+(ad>>>0)+ +(ac|0)*4294967296.0))>>>0;ao=(D=+(_>>>0)+ +(ai|0)*4294967296.0-(+(ad>>>0)+ +(ac|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ai=aj;_=0;while(1){an=c[ai+12>>2]|0;am=c[an+88>>2]|0;av=am-L|0;ay=c[an+92>>2]|0;ax=ay-N|0;aA=c[an+96>>2]|0;an=av;aQ=(av|0)<0?-1:0;av=ax;au=(ax|0)<0?-1:0;ax=(D=(+(av>>>0)+ +(au|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);do{if((~~((+(av>>>0)+ +(au|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0))>>>0|0)==(~~((+(an>>>0)+ +(aQ|0)*4294967296.0)*(+(z>>>0)+ +(ao|0)*4294967296.0))>>>0|0)&(ax|0)==((D=(+(an>>>0)+ +(aQ|0)*4294967296.0)*(+(z>>>0)+ +(ao|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0)|0)){aO=aA-A|0;aE=aO;aP=(aO|0)<0?-1:0;aO=~~((+(an>>>0)+ +(aQ|0)*4294967296.0)*(+(al>>>0)+ +(V|0)*4294967296.0))>>>0;aS=(D=(+(an>>>0)+ +(aQ|0)*4294967296.0)*(+(al>>>0)+ +(V|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aT=~~((+(av>>>0)+ +(au|0)*4294967296.0)*(+(ag>>>0)+ +(ae|0)*4294967296.0))>>>0;aU=(D=(+(av>>>0)+ +(au|0)*4294967296.0)*(+(ag>>>0)+ +(ae|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aV=~~(+(aT>>>0)+ +(aU|0)*4294967296.0+(+(aO>>>0)+ +(aS|0)*4294967296.0))>>>0;aW=(D=+(aT>>>0)+ +(aU|0)*4294967296.0+(+(aO>>>0)+ +(aS|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aS=~~((+(aE>>>0)+ +(aP|0)*4294967296.0)*(+(aB>>>0)+ +(az|0)*4294967296.0))>>>0;aO=(D=(+(aE>>>0)+ +(aP|0)*4294967296.0)*(+(aB>>>0)+ +(az|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aP=(D=+(aV>>>0)+ +(aW|0)*4294967296.0+(+(aS>>>0)+ +(aO|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aE=0;if(!((aP|0)>(aE|0)|(aP|0)==(aE|0)&~~(+(aV>>>0)+ +(aW|0)*4294967296.0+(+(aS>>>0)+ +(aO|0)*4294967296.0))>>>0>>>0>0>>>0)){aX=_;break}if((_|0)!=0){aO=(c[_+4>>2]|0)==(ai|0);if((c[_>>2]|0)==(ai|0)){if(!aO){aX=_;break}aS=c[_+12>>2]|0;aW=c[(c[ai+8>>2]|0)+12>>2]|0;aV=c[aW+88>>2]|0;aE=(c[aS+88>>2]|0)-aV|0;aP=c[aW+92>>2]|0;aU=c[aW+96>>2]|0;aW=(c[aS+96>>2]|0)-aU|0;aT=aA-aU|0;aU=aa(aT,(c[aS+92>>2]|0)-aP|0)|0;aS=aU-(aa(aW,ay-aP|0)|0)|0;aP=aS;aU=(aS|0)<0?-1:0;aS=aa(aW,am-aV|0)|0;aV=aS-(aa(aT,aE)|0)|0;aE=aV;aT=(aV|0)<0?-1:0;aV=~~((+(aP>>>0)+ +(aU|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0))>>>0;aS=(D=(+(aP>>>0)+ +(aU|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aU=~~((+(aE>>>0)+ +(aT|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0))>>>0;aP=(D=(+(aE>>>0)+ +(aT|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aT=(D=+(aV>>>0)+ +(aS|0)*4294967296.0+(+(aU>>>0)+ +(aP|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aE=0;aY=(aT|0)>(aE|0)|(aT|0)==(aE|0)&~~(+(aV>>>0)+ +(aS|0)*4294967296.0+(+(aU>>>0)+ +(aP|0)*4294967296.0))>>>0>>>0>0>>>0?2:1}else{aY=aO&1}if((aY|0)!=1){aX=_;break}}c[g>>2]=ai;aX=ai}else{aX=_}}while(0);am=c[ai>>2]|0;if((am|0)==(aj|0)){aR=aX;break}else{ai=am;_=aX}}}_=c[t+8>>2]|0;c[h>>2]=0;if((_|0)==0){aZ=0}else{ai=0;aj=0;A=~~(+(ai>>>0)+ +(aj|0)*4294967296.0-(+(ad>>>0)+ +(ac|0)*4294967296.0))>>>0;ao=(D=+(ai>>>0)+ +(aj|0)*4294967296.0-(+(ad>>>0)+ +(ac|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=_;ai=0;while(1){z=c[aj+12>>2]|0;N=c[z+88>>2]|0;L=N-S|0;K=c[z+92>>2]|0;H=K-w|0;u=c[z+96>>2]|0;z=L;G=(L|0)<0?-1:0;L=H;M=(H|0)<0?-1:0;H=(D=(+(L>>>0)+ +(M|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);L3899:do{if((~~((+(L>>>0)+ +(M|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0))>>>0|0)==(~~((+(z>>>0)+ +(G|0)*4294967296.0)*(+(A>>>0)+ +(ao|0)*4294967296.0))>>>0|0)&(H|0)==((D=(+(z>>>0)+ +(G|0)*4294967296.0)*(+(A>>>0)+ +(ao|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0)|0)){am=u-ab|0;ay=am;aA=(am|0)<0?-1:0;am=~~((+(z>>>0)+ +(G|0)*4294967296.0)*(+(al>>>0)+ +(V|0)*4294967296.0))>>>0;au=(D=(+(z>>>0)+ +(G|0)*4294967296.0)*(+(al>>>0)+ +(V|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);av=~~((+(L>>>0)+ +(M|0)*4294967296.0)*(+(ag>>>0)+ +(ae|0)*4294967296.0))>>>0;aQ=(D=(+(L>>>0)+ +(M|0)*4294967296.0)*(+(ag>>>0)+ +(ae|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);an=~~(+(av>>>0)+ +(aQ|0)*4294967296.0+(+(am>>>0)+ +(au|0)*4294967296.0))>>>0;ax=(D=+(av>>>0)+ +(aQ|0)*4294967296.0+(+(am>>>0)+ +(au|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);au=~~((+(ay>>>0)+ +(aA|0)*4294967296.0)*(+(aB>>>0)+ +(az|0)*4294967296.0))>>>0;am=(D=(+(ay>>>0)+ +(aA|0)*4294967296.0)*(+(aB>>>0)+ +(az|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aA=(D=+(an>>>0)+ +(ax|0)*4294967296.0+(+(au>>>0)+ +(am|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ay=0;if(!((aA|0)>(ay|0)|(aA|0)==(ay|0)&~~(+(an>>>0)+ +(ax|0)*4294967296.0+(+(au>>>0)+ +(am|0)*4294967296.0))>>>0>>>0>0>>>0)){a_=ai;break}do{if((ai|0)!=0){if((c[ai>>2]|0)!=(aj|0)){a_=ai;break L3899}if((c[ai+4>>2]|0)!=(aj|0)){break}am=c[ai+12>>2]|0;au=c[(c[aj+8>>2]|0)+12>>2]|0;ax=c[au+88>>2]|0;an=(c[am+88>>2]|0)-ax|0;ay=c[au+92>>2]|0;aA=c[au+96>>2]|0;au=(c[am+96>>2]|0)-aA|0;aQ=u-aA|0;aA=aa(aQ,(c[am+92>>2]|0)-ay|0)|0;am=aA-(aa(au,K-ay|0)|0)|0;ay=am;aA=(am|0)<0?-1:0;am=aa(au,N-ax|0)|0;ax=am-(aa(aQ,an)|0)|0;an=ax;aQ=(ax|0)<0?-1:0;ax=~~((+(ay>>>0)+ +(aA|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0))>>>0;am=(D=(+(ay>>>0)+ +(aA|0)*4294967296.0)*(+(ad>>>0)+ +(ac|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aA=~~((+(an>>>0)+ +(aQ|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0))>>>0;ay=(D=(+(an>>>0)+ +(aQ|0)*4294967296.0)*(+(ah>>>0)+ +(ak|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aQ=(D=+(ax>>>0)+ +(am|0)*4294967296.0+(+(aA>>>0)+ +(ay|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);an=0;if(!((aQ|0)>(an|0)|(aQ|0)==(an|0)&~~(+(ax>>>0)+ +(am|0)*4294967296.0+(+(aA>>>0)+ +(ay|0)*4294967296.0))>>>0>>>0>0>>>0)){a_=ai;break L3899}}}while(0);c[h>>2]=aj;a_=aj}else{a_=ai}}while(0);N=c[aj>>2]|0;if((N|0)==(_|0)){aZ=a_;break}else{aj=N;ai=a_}}}do{if((aR|0)==0&(aZ|0)==0){a$=t;a0=R}else{aC8(a,R,t,g,h);ai=c[g>>2]|0;if((ai|0)==0){a1=R}else{a1=c[ai+12>>2]|0}ai=c[h>>2]|0;if((ai|0)==0){a$=t;a0=a1;break}a$=c[ai+12>>2]|0;a0=a1}}while(0);W=c[a$+88>>2]|0;X=(c[a$+96>>2]|0)+1|0;Y=a$;Z=a0}t=c[Y+92>>2]|0;R=j|0;ai=j+4|0;aj=j+8|0;_=j+12|0;ak=k|0;ah=k+8|0;ac=k+16|0;ad=l|0;az=l+8|0;aB=l+16|0;ae=m+16|0;ag=m+8|0;V=n+16|0;al=n+8|0;ab=a+48|0;ao=a+116|0;A=a+120|0;w=a+56|0;S=m|0;N=0;K=0;u=0;M=0;L=1;G=0;z=0;H=0;ay=0;aA=W;am=t;ax=X;an=Y;aQ=Z;au=t;while(1){t=aQ+88|0;av=(c[an+88>>2]|0)-(c[t>>2]|0)|0;aO=aQ+92|0;aP=au-(c[aO>>2]|0)|0;aU=aQ+96|0;aS=(c[an+96>>2]|0)-(c[aU>>2]|0)|0;c[R>>2]=av;c[ai>>2]=aP;c[aj>>2]=aS;c[_>>2]=-1;aV=aA-(c[t>>2]|0)|0;t=am-(c[aO>>2]|0)|0;aO=ax-(c[aU>>2]|0)|0;aU=aa(aS,t)|0;aE=aU-(aa(aP,aO)|0)|0;aU=aE;aT=(aE|0)<0?-1:0;aE=aa(av,aO)|0;aO=aE-(aa(aS,aV)|0)|0;aE=aO;aW=(aO|0)<0?-1:0;aO=aa(aP,aV)|0;aV=aO-(aa(av,t)|0)|0;t=aV;aO=(aV|0)<0?-1:0;c[ak>>2]=aU;c[ak+4>>2]=aT;c[ah>>2]=aE;c[ah+4>>2]=aW;c[ac>>2]=t;c[ac+4>>2]=aO;aV=aP;a2=(aP|0)<0?-1:0;aP=~~((+(t>>>0)+ +(aO|0)*4294967296.0)*(+(aV>>>0)+ +(a2|0)*4294967296.0))>>>0;a3=(D=(+(t>>>0)+ +(aO|0)*4294967296.0)*(+(aV>>>0)+ +(a2|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);a4=aS;a5=(aS|0)<0?-1:0;aS=~~((+(a4>>>0)+ +(a5|0)*4294967296.0)*(+(aE>>>0)+ +(aW|0)*4294967296.0))>>>0;a6=(D=(+(a4>>>0)+ +(a5|0)*4294967296.0)*(+(aE>>>0)+ +(aW|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);a7=(D=+(aP>>>0)+ +(a3|0)*4294967296.0-(+(aS>>>0)+ +(a6|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);a8=~~((+(aU>>>0)+ +(aT|0)*4294967296.0)*(+(a4>>>0)+ +(a5|0)*4294967296.0))>>>0;a9=(D=(+(aU>>>0)+ +(aT|0)*4294967296.0)*(+(a4>>>0)+ +(a5|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);a5=av;a4=(av|0)<0?-1:0;av=~~((+(a5>>>0)+ +(a4|0)*4294967296.0)*(+(t>>>0)+ +(aO|0)*4294967296.0))>>>0;ba=(D=(+(a5>>>0)+ +(a4|0)*4294967296.0)*(+(t>>>0)+ +(aO|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aO=(D=+(a8>>>0)+ +(a9|0)*4294967296.0-(+(av>>>0)+ +(ba|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);t=~~((+(a5>>>0)+ +(a4|0)*4294967296.0)*(+(aE>>>0)+ +(aW|0)*4294967296.0))>>>0;bb=(D=(+(a5>>>0)+ +(a4|0)*4294967296.0)*(+(aE>>>0)+ +(aW|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aW=~~((+(aU>>>0)+ +(aT|0)*4294967296.0)*(+(aV>>>0)+ +(a2|0)*4294967296.0))>>>0;aE=(D=(+(aU>>>0)+ +(aT|0)*4294967296.0)*(+(aV>>>0)+ +(a2|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);a2=(D=+(t>>>0)+ +(bb|0)*4294967296.0-(+(aW>>>0)+ +(aE|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[ad>>2]=~~(+(aP>>>0)+ +(a3|0)*4294967296.0-(+(aS>>>0)+ +(a6|0)*4294967296.0))>>>0;c[ad+4>>2]=a7;c[az>>2]=~~(+(a8>>>0)+ +(a9|0)*4294967296.0-(+(av>>>0)+ +(ba|0)*4294967296.0))>>>0;c[az+4>>2]=aO;c[aB>>2]=~~(+(t>>>0)+ +(bb|0)*4294967296.0-(+(aW>>>0)+ +(aE|0)*4294967296.0))>>>0;c[aB+4>>2]=a2;aDD(v|0,0,20);a2=aC7(a,0,aQ,j,k,l,m)|0;aDD(x|0,0,20);aE=aC7(a,1,an,j,k,l,n)|0;aW=(a2|0)!=0;bb=aW^1;t=(aE|0)==0;if(t&bb){F=3047;break}if(t|bb){bc=aW?-1:1}else{bc=aC4(c[S>>2]|0,c[S+4>>2]|0,c[ag>>2]|0,c[ag+4>>2]|0,c[ae>>2]|0,n)|0}do{if(L){F=3059}else{if((bc|0)>-1){if((c[V>>2]|0)>=0){F=3059;break}if((c[al>>2]|0)==0&(c[al+4>>2]|0)==0){bd=u;be=M;bf=H;bg=ay;F=3066;break}else{F=3059;break}}if((c[ae>>2]|0)>=0){F=3059;break}if(!((c[ag>>2]|0)==0&(c[ag+4>>2]|0)==0)){F=3059;break}c[o>>2]=a2;c[p>>2]=aE;bh=ax;bi=am;bj=aA;bk=ay;bl=H;bm=z;bn=G;bo=a2;bp=M;bq=u;br=an;F=3088}}while(0);if((F|0)==3059){F=0;aW=aC5(ab)|0;bb=aC5(ab)|0;t=aW+8|0;c[t>>2]=bb;c[bb+8>>2]=aW;c[aW+20>>2]=c[y>>2];c[bb+20>>2]=c[y>>2];c[aW+12>>2]=an;c[bb+12>>2]=aQ;c[aW+16>>2]=0;c[bb+16>>2]=0;bb=(c[ao>>2]|0)+1|0;c[ao>>2]=bb;if((bb|0)>(c[A>>2]|0)){c[A>>2]=bb}if((M|0)==0){bs=aW}else{c[M+4>>2]=aW;bs=u}c[aW>>2]=M;bb=c[t>>2]|0;if((ay|0)==0){bt=bb}else{c[ay>>2]=bb;bt=H}c[bb+4>>2]=ay;bd=bs;be=aW;bf=bt;bg=bb;F=3066}do{if((F|0)==3066){F=0;c[o>>2]=a2;c[p>>2]=aE;if((bc|0)==0){aC8(a,aQ,an,o,p);bu=c[p>>2]|0}else{if((bc|0)>-1){bu=aE}else{bh=ax;bi=am;bj=aA;bk=bg;bl=bf;bm=z;bn=G;bo=a2;bp=be;bq=bd;br=an;F=3088;break}}if((bu|0)==0){bv=G;bw=z;bx=bf;by=bg;bz=aA;bA=am;bB=ax;bC=an}else{bb=(G|0)!=0;do{if(bb){aW=c[G>>2]|0;if((aW|0)==(aE|0)){break}else{bD=aW}while(1){aW=bD|0;t=c[aW>>2]|0;aO=c[bD+8>>2]|0;if((t|0)==(bD|0)){c[(c[aO+12>>2]|0)+8>>2]=0}else{ba=bD+4|0;c[t+4>>2]=c[ba>>2];c[c[ba>>2]>>2]=t;c[(c[aO+12>>2]|0)+8>>2]=t}ba=aO|0;av=c[ba>>2]|0;if((av|0)==(aO|0)){c[(c[bD+12>>2]|0)+8>>2]=0}else{a9=aO+4|0;c[av+4>>2]=c[a9>>2];c[c[a9>>2]>>2]=av;c[(c[bD+12>>2]|0)+8>>2]=av}aDD(bD|0,0,20);c[aW>>2]=c[w>>2];c[w>>2]=bD;aDD(aO|0,0,20);c[ba>>2]=c[w>>2];c[w>>2]=aO;c[ao>>2]=(c[ao>>2]|0)-1;if((t|0)==(aE|0)){break}else{bD=t}}}}while(0);if((bg|0)==0){bE=bb?z:aE;bF=bf;bG=bu}else{if(bb){c[G>>2]=bf;c[bf+4>>2]=G;bH=z;bI=aE+4|0}else{t=aE+4|0;aO=c[t>>2]|0;c[aO>>2]=bf;c[bf+4>>2]=aO;bH=bf;bI=t}c[bg>>2]=aE;c[bI>>2]=bg;bE=bH;bF=0;bG=c[p>>2]|0}bv=c[bG+8>>2]|0;bw=bE;bx=bF;by=0;bz=c[an+88>>2]|0;bA=c[an+92>>2]|0;bB=c[an+96>>2]|0;bC=c[bG+12>>2]|0}if((bc|0)>=1){bJ=N;bK=K;bL=bd;bM=be;bN=bz;bO=bA;bP=bB;bQ=by;bR=bx;bS=bw;bT=bv;bU=bC;bV=aQ;break}bh=bB;bi=bA;bj=bz;bk=by;bl=bx;bm=bw;bn=bv;bo=c[o>>2]|0;bp=be;bq=bd;br=bC;F=3088}}while(0);do{if((F|0)==3088){F=0;if((bo|0)==0){bJ=N;bK=K;bL=bq;bM=bp;bN=bj;bO=bi;bP=bh;bQ=bk;bR=bl;bS=bm;bT=bn;bU=br;bV=aQ;break}aE=(N|0)!=0;do{if(aE){t=c[N+4>>2]|0;if((t|0)==(a2|0)){break}else{bW=t}while(1){t=bW+4|0;aO=c[t>>2]|0;ba=bW|0;aW=c[ba>>2]|0;av=c[bW+8>>2]|0;if((aW|0)==(bW|0)){c[(c[av+12>>2]|0)+8>>2]=0}else{c[aW+4>>2]=aO;c[c[t>>2]>>2]=aW;c[(c[av+12>>2]|0)+8>>2]=aW}aW=av|0;t=c[aW>>2]|0;if((t|0)==(av|0)){c[(c[bW+12>>2]|0)+8>>2]=0}else{a9=av+4|0;c[t+4>>2]=c[a9>>2];c[c[a9>>2]>>2]=t;c[(c[bW+12>>2]|0)+8>>2]=t}aDD(bW|0,0,20);c[ba>>2]=c[w>>2];c[w>>2]=bW;aDD(av|0,0,20);c[aW>>2]=c[w>>2];c[w>>2]=av;c[ao>>2]=(c[ao>>2]|0)-1;if((aO|0)==(a2|0)){break}else{bW=aO}}}}while(0);if((bp|0)==0){bX=aE?K:a2;bY=bq;bZ=bo}else{if(aE){c[bq>>2]=N;c[N+4>>2]=bq;b_=K;b$=a2|0}else{bb=a2|0;aO=c[bb>>2]|0;c[bq>>2]=aO;c[aO+4>>2]=bq;b_=bq;b$=bb}c[b$>>2]=bp;c[bp+4>>2]=a2;bX=b_;bY=0;bZ=c[o>>2]|0}bJ=c[bZ+8>>2]|0;bK=bX;bL=bY;bM=0;bN=c[aQ+88>>2]|0;bO=c[aQ+92>>2]|0;bP=c[aQ+96>>2]|0;bQ=bk;bR=bl;bS=bm;bT=bn;bU=br;bV=c[bZ+12>>2]|0}}while(0);if((bV|0)==(Z|0)&(bU|0)==(Y|0)){break}N=bJ;K=bK;u=bL;M=bM;L=0;G=bT;z=bS;H=bR;ay=bQ;aA=bN;am=bO;ax=bP;an=bU;aQ=bV;au=c[bU+92>>2]|0}if((F|0)==3047){au=aC5(ab)|0;ax=aC5(ab)|0;am=au+8|0;c[am>>2]=ax;c[ax+8>>2]=au;c[au+20>>2]=c[y>>2];c[ax+20>>2]=c[y>>2];c[au+12>>2]=an;c[ax+12>>2]=aQ;c[au+16>>2]=0;c[ax+16>>2]=0;ax=(c[ao>>2]|0)+1|0;c[ao>>2]=ax;if((ax|0)>(c[A>>2]|0)){c[A>>2]=ax}c[au>>2]=au;c[au+4>>2]=au;c[aQ+8>>2]=au;au=c[am>>2]|0;c[au>>2]=au;c[au+4>>2]=au;c[an+8>>2]=au;i=f;return}do{if((bJ|0)==0){c[bL>>2]=bM;c[bM+4>>2]=bL;c[Z+8>>2]=bM}else{au=bJ+4|0;am=c[au>>2]|0;if((am|0)!=(bK|0)){ax=am;while(1){am=ax+4|0;aA=c[am>>2]|0;ay=ax|0;H=c[ay>>2]|0;z=c[ax+8>>2]|0;if((H|0)==(ax|0)){c[(c[z+12>>2]|0)+8>>2]=0}else{c[H+4>>2]=aA;c[c[am>>2]>>2]=H;c[(c[z+12>>2]|0)+8>>2]=H}H=z|0;am=c[H>>2]|0;if((am|0)==(z|0)){c[(c[ax+12>>2]|0)+8>>2]=0}else{G=z+4|0;c[am+4>>2]=c[G>>2];c[c[G>>2]>>2]=am;c[(c[ax+12>>2]|0)+8>>2]=am}aDD(ax|0,0,20);c[ay>>2]=c[w>>2];c[w>>2]=ax;aDD(z|0,0,20);c[H>>2]=c[w>>2];c[w>>2]=z;c[ao>>2]=(c[ao>>2]|0)-1;if((aA|0)==(bK|0)){break}else{ax=aA}}}if((bM|0)==0){break}c[bL>>2]=bJ;c[au>>2]=bL;c[bK>>2]=bM;c[bM+4>>2]=bK}}while(0);if((bT|0)==0){c[bQ>>2]=bR;c[bR+4>>2]=bQ;c[Y+8>>2]=bQ;i=f;return}an=bT|0;aQ=c[an>>2]|0;if((aQ|0)!=(bS|0)){A=aQ;while(1){aQ=A|0;y=c[aQ>>2]|0;ab=c[A+8>>2]|0;if((y|0)==(A|0)){c[(c[ab+12>>2]|0)+8>>2]=0}else{ax=A+4|0;c[y+4>>2]=c[ax>>2];c[c[ax>>2]>>2]=y;c[(c[ab+12>>2]|0)+8>>2]=y}ax=ab|0;aA=c[ax>>2]|0;if((aA|0)==(ab|0)){c[(c[A+12>>2]|0)+8>>2]=0}else{z=ab+4|0;c[aA+4>>2]=c[z>>2];c[c[z>>2]>>2]=aA;c[(c[A+12>>2]|0)+8>>2]=aA}aDD(A|0,0,20);c[aQ>>2]=c[w>>2];c[w>>2]=A;aDD(ab|0,0,20);c[ax>>2]=c[w>>2];c[w>>2]=ab;c[ao>>2]=(c[ao>>2]|0)-1;if((y|0)==(bS|0)){break}else{A=y}}}if((bQ|0)==0){i=f;return}c[an>>2]=bR;c[bR+4>>2]=bT;c[bQ>>2]=bS;c[bS+4>>2]=bQ;i=f;return}}while(0);c[s+8>>2]=0;c[s>>2]=s;c[s+4>>2]=s;c[e>>2]=s;c[e+4>>2]=s;c[e+8>>2]=s;c[e+12>>2]=s;i=f;return}function aC7(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,ab=0,ac=0,ad=0,ae=0,ag=0,ah=0,ai=0;i=d+8|0;j=c[i>>2]|0;if((j|0)==0){k=0;return k|0}l=a+100|0;a=d+88|0;m=d+92|0;n=d+96|0;d=g|0;o=g+8|0;p=g+16|0;g=f|0;q=f+8|0;r=f+16|0;f=h|0;s=h+8|0;t=h+16|0;u=e+8|0;v=e+4|0;w=e|0;e=0;x=j;while(1){do{if((c[x+20>>2]|0)>(c[l>>2]|0)){j=c[x+12>>2]|0;y=c[j+88>>2]|0;z=y-(c[a>>2]|0)|0;A=c[j+92>>2]|0;B=A-(c[m>>2]|0)|0;C=c[j+96>>2]|0;j=C-(c[n>>2]|0)|0;E=z;F=(z|0)<0?-1:0;G=c[d>>2]|0;H=c[d+4>>2]|0;I=~~((+(E>>>0)+ +(F|0)*4294967296.0)*(+(G>>>0)+ +(H|0)*4294967296.0))>>>0;J=(D=(+(E>>>0)+ +(F|0)*4294967296.0)*(+(G>>>0)+ +(H|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);H=B;G=(B|0)<0?-1:0;K=c[o>>2]|0;L=c[o+4>>2]|0;M=~~((+(H>>>0)+ +(G|0)*4294967296.0)*(+(K>>>0)+ +(L|0)*4294967296.0))>>>0;N=(D=(+(H>>>0)+ +(G|0)*4294967296.0)*(+(K>>>0)+ +(L|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);L=~~(+(M>>>0)+ +(N|0)*4294967296.0+(+(I>>>0)+ +(J|0)*4294967296.0))>>>0;K=(D=+(M>>>0)+ +(N|0)*4294967296.0+(+(I>>>0)+ +(J|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);J=j;I=(j|0)<0?-1:0;N=c[p>>2]|0;M=c[p+4>>2]|0;Q=~~((+(J>>>0)+ +(I|0)*4294967296.0)*(+(N>>>0)+ +(M|0)*4294967296.0))>>>0;R=(D=(+(J>>>0)+ +(I|0)*4294967296.0)*(+(N>>>0)+ +(M|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);M=~~(+(L>>>0)+ +(K|0)*4294967296.0+(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;N=(D=+(L>>>0)+ +(K|0)*4294967296.0+(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);R=c[g>>2]|0;Q=c[g+4>>2]|0;K=~~((+(R>>>0)+ +(Q|0)*4294967296.0)*(+(E>>>0)+ +(F|0)*4294967296.0))>>>0;L=(D=(+(R>>>0)+ +(Q|0)*4294967296.0)*(+(E>>>0)+ +(F|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);F=c[q>>2]|0;E=c[q+4>>2]|0;Q=~~((+(F>>>0)+ +(E|0)*4294967296.0)*(+(H>>>0)+ +(G|0)*4294967296.0))>>>0;R=(D=(+(F>>>0)+ +(E|0)*4294967296.0)*(+(H>>>0)+ +(G|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);G=~~(+(Q>>>0)+ +(R|0)*4294967296.0+(+(K>>>0)+ +(L|0)*4294967296.0))>>>0;H=(D=+(Q>>>0)+ +(R|0)*4294967296.0+(+(K>>>0)+ +(L|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);L=c[r>>2]|0;K=c[r+4>>2]|0;R=~~((+(L>>>0)+ +(K|0)*4294967296.0)*(+(J>>>0)+ +(I|0)*4294967296.0))>>>0;Q=(D=(+(L>>>0)+ +(K|0)*4294967296.0)*(+(J>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);I=~~(+(G>>>0)+ +(H|0)*4294967296.0+(+(R>>>0)+ +(Q|0)*4294967296.0))>>>0;J=(D=+(G>>>0)+ +(H|0)*4294967296.0+(+(R>>>0)+ +(Q|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);Q=0;if((N|0)>(Q|0)|(N|0)==(Q|0)&M>>>0>0>>>0){S=N;T=M;U=1}else{Q=0;R=(N|0)<(Q|0)|(N|0)==(Q|0)&M>>>0<0>>>0;Q=0;H=0;S=R?(D=+(Q>>>0)+ +(H|0)*4294967296.0-(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0):0;T=R?~~(+(Q>>>0)+ +(H|0)*4294967296.0-(+(M>>>0)+ +(N|0)*4294967296.0))>>>0:0;U=R?-1:0}R=0;if((J|0)>(R|0)|(J|0)==(R|0)&I>>>0>0>>>0){V=J;W=I;X=U}else{R=0;if((J|0)<(R|0)|(J|0)==(R|0)&I>>>0<0>>>0){R=0;N=0;Y=(I|0)==0&(J|0)==0;Z=(D=+(R>>>0)+ +(N|0)*4294967296.0-(+(I>>>0)+ +(J|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);_=~~(+(R>>>0)+ +(N|0)*4294967296.0-(+(I>>>0)+ +(J|0)*4294967296.0))>>>0;ab=-U|0}else{Y=1;Z=0;_=0;ab=U}if((ab|0)==0&Y){ac=e;break}else{V=Z;W=_;X=ab}}if((e|0)==0){c[f>>2]=T;c[f+4>>2]=S;c[s>>2]=W;c[s+4>>2]=V;c[t>>2]=X;ac=x;break}J=aC4(T,S,W,V,X,h)|0;if((J|0)<0){c[f>>2]=T;c[f+4>>2]=S;c[s>>2]=W;c[s+4>>2]=V;c[t>>2]=X;ac=x;break}if((J|0)!=0){ac=e;break}J=(c[e+4>>2]|0)==(x|0);do{if((c[e>>2]|0)==(x|0)){if(!J){ad=2;break}I=c[u>>2]|0;N=aa(I,B)|0;R=c[v>>2]|0;M=N-(aa(R,j)|0)|0;N=M;H=(M|0)<0?-1:0;M=c[w>>2]|0;Q=aa(M,j)|0;G=Q-(aa(z,I)|0)|0;I=G;Q=(G|0)<0?-1:0;G=aa(z,R)|0;R=G-(aa(M,B)|0)|0;M=R;G=(R|0)<0?-1:0;R=c[e+12>>2]|0;K=c[(c[x+8>>2]|0)+12>>2]|0;L=c[K+88>>2]|0;E=(c[R+88>>2]|0)-L|0;F=c[K+92>>2]|0;ae=(c[R+92>>2]|0)-F|0;ag=c[K+96>>2]|0;K=(c[R+96>>2]|0)-ag|0;R=y-L|0;L=A-F|0;F=C-ag|0;ag=aa(F,ae)|0;ah=ag-(aa(L,K)|0)|0;ag=ah;ai=(ah|0)<0?-1:0;ah=aa(R,K)|0;K=ah-(aa(F,E)|0)|0;F=K;ah=(K|0)<0?-1:0;K=aa(L,E)|0;E=K-(aa(R,ae)|0)|0;ae=E;R=(E|0)<0?-1:0;E=~~((+(ag>>>0)+ +(ai|0)*4294967296.0)*(+(N>>>0)+ +(H|0)*4294967296.0))>>>0;K=(D=(+(ag>>>0)+ +(ai|0)*4294967296.0)*(+(N>>>0)+ +(H|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);H=~~((+(F>>>0)+ +(ah|0)*4294967296.0)*(+(I>>>0)+ +(Q|0)*4294967296.0))>>>0;N=(D=(+(F>>>0)+ +(ah|0)*4294967296.0)*(+(I>>>0)+ +(Q|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);Q=~~((+(ae>>>0)+ +(R|0)*4294967296.0)*(+(M>>>0)+ +(G|0)*4294967296.0))>>>0;I=(D=(+(ae>>>0)+ +(R|0)*4294967296.0)*(+(M>>>0)+ +(G|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);G=~~(+(E>>>0)+ +(K|0)*4294967296.0+(+(Q>>>0)+ +(I|0)*4294967296.0))>>>0;M=(D=+(E>>>0)+ +(K|0)*4294967296.0+(+(Q>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);I=(D=+(G>>>0)+ +(M|0)*4294967296.0+(+(H>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);Q=0;ad=(I|0)>(Q|0)|(I|0)==(Q|0)&~~(+(G>>>0)+ +(M|0)*4294967296.0+(+(H>>>0)+ +(N|0)*4294967296.0))>>>0>>>0>0>>>0?2:1}else{ad=J&1}}while(0);ac=(ad|0)==2^b?e:x}else{ac=e}}while(0);J=c[x>>2]|0;if((J|0)==(c[i>>2]|0)){k=ac;break}else{e=ac;x=J}}return k|0}function aC8(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,ab=0,ac=0,ad=0,ae=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0,aH=0,aI=0,aJ=0,aK=0,aL=0,aM=0,aN=0,aO=0,aP=0,aQ=0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,ba=0,bb=0,bc=0,bd=0,be=0,bf=0,bg=0,bh=0,bi=0,bj=0;g=i;i=i+96|0;h=g|0;j=g+24|0;k=g+48|0;l=g+72|0;m=c[e>>2]|0;n=c[f>>2]|0;o=(m|0)!=0;if(o){p=c[m+12>>2]|0}else{p=b}q=c[p+88>>2]|0;r=c[p+92>>2]|0;s=c[p+96>>2]|0;if((n|0)==0){t=d}else{t=c[n+12>>2]|0}p=c[t+88>>2]|0;u=c[t+92>>2]|0;v=c[t+96>>2]|0;t=c[b+88>>2]|0;w=(c[d+88>>2]|0)-t|0;x=c[b+92>>2]|0;y=(c[d+92>>2]|0)-x|0;z=c[b+96>>2]|0;b=(c[d+96>>2]|0)-z|0;d=c[(o?m:n)+12>>2]|0;o=(c[d+88>>2]|0)-t|0;A=(c[d+92>>2]|0)-x|0;B=(c[d+96>>2]|0)-z|0;d=aa(A,b)|0;C=d-(aa(B,y)|0)|0;d=C;E=(C|0)<0?-1:0;C=aa(B,w)|0;B=C-(aa(o,b)|0)|0;C=B;F=(B|0)<0?-1:0;B=aa(o,y)|0;o=B-(aa(A,w)|0)|0;A=o;B=(o|0)<0?-1:0;o=t;G=(t|0)<0?-1:0;t=~~((+(d>>>0)+ +(E|0)*4294967296.0)*(+(o>>>0)+ +(G|0)*4294967296.0))>>>0;H=(D=(+(d>>>0)+ +(E|0)*4294967296.0)*(+(o>>>0)+ +(G|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);G=x;o=(x|0)<0?-1:0;x=~~((+(C>>>0)+ +(F|0)*4294967296.0)*(+(G>>>0)+ +(o|0)*4294967296.0))>>>0;I=(D=(+(C>>>0)+ +(F|0)*4294967296.0)*(+(G>>>0)+ +(o|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);o=z;G=(z|0)<0?-1:0;z=~~((+(A>>>0)+ +(B|0)*4294967296.0)*(+(o>>>0)+ +(G|0)*4294967296.0))>>>0;J=(D=(+(A>>>0)+ +(B|0)*4294967296.0)*(+(o>>>0)+ +(G|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);G=~~(+(t>>>0)+ +(H|0)*4294967296.0+(+(z>>>0)+ +(J|0)*4294967296.0))>>>0;o=(D=+(t>>>0)+ +(H|0)*4294967296.0+(+(z>>>0)+ +(J|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);J=~~(+(G>>>0)+ +(o|0)*4294967296.0+(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;z=(D=+(G>>>0)+ +(o|0)*4294967296.0+(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);I=y;x=(y|0)<0?-1:0;o=~~((+(A>>>0)+ +(B|0)*4294967296.0)*(+(I>>>0)+ +(x|0)*4294967296.0))>>>0;G=(D=(+(A>>>0)+ +(B|0)*4294967296.0)*(+(I>>>0)+ +(x|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);H=b;t=(b|0)<0?-1:0;K=~~((+(C>>>0)+ +(F|0)*4294967296.0)*(+(H>>>0)+ +(t|0)*4294967296.0))>>>0;L=(D=(+(C>>>0)+ +(F|0)*4294967296.0)*(+(H>>>0)+ +(t|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);M=~~(+(o>>>0)+ +(G|0)*4294967296.0-(+(K>>>0)+ +(L|0)*4294967296.0))>>>0;N=(D=+(o>>>0)+ +(G|0)*4294967296.0-(+(K>>>0)+ +(L|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);L=~~((+(d>>>0)+ +(E|0)*4294967296.0)*(+(H>>>0)+ +(t|0)*4294967296.0))>>>0;K=(D=(+(d>>>0)+ +(E|0)*4294967296.0)*(+(H>>>0)+ +(t|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);t=w;H=(w|0)<0?-1:0;G=~~((+(A>>>0)+ +(B|0)*4294967296.0)*(+(t>>>0)+ +(H|0)*4294967296.0))>>>0;o=(D=(+(A>>>0)+ +(B|0)*4294967296.0)*(+(t>>>0)+ +(H|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);Q=~~(+(L>>>0)+ +(K|0)*4294967296.0-(+(G>>>0)+ +(o|0)*4294967296.0))>>>0;R=(D=+(L>>>0)+ +(K|0)*4294967296.0-(+(G>>>0)+ +(o|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);o=~~((+(C>>>0)+ +(F|0)*4294967296.0)*(+(t>>>0)+ +(H|0)*4294967296.0))>>>0;G=(D=(+(C>>>0)+ +(F|0)*4294967296.0)*(+(t>>>0)+ +(H|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);H=~~((+(d>>>0)+ +(E|0)*4294967296.0)*(+(I>>>0)+ +(x|0)*4294967296.0))>>>0;t=(D=(+(d>>>0)+ +(E|0)*4294967296.0)*(+(I>>>0)+ +(x|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);x=~~(+(o>>>0)+ +(G|0)*4294967296.0-(+(H>>>0)+ +(t|0)*4294967296.0))>>>0;I=(D=+(o>>>0)+ +(G|0)*4294967296.0-(+(H>>>0)+ +(t|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);t=q;H=(q|0)<0?-1:0;G=~~((+(M>>>0)+ +(N|0)*4294967296.0)*(+(t>>>0)+ +(H|0)*4294967296.0))>>>0;o=(D=(+(M>>>0)+ +(N|0)*4294967296.0)*(+(t>>>0)+ +(H|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);H=r;t=(r|0)<0?-1:0;K=~~((+(Q>>>0)+ +(R|0)*4294967296.0)*(+(H>>>0)+ +(t|0)*4294967296.0))>>>0;L=(D=(+(Q>>>0)+ +(R|0)*4294967296.0)*(+(H>>>0)+ +(t|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);t=~~(+(K>>>0)+ +(L|0)*4294967296.0+(+(G>>>0)+ +(o|0)*4294967296.0))>>>0;H=(D=+(K>>>0)+ +(L|0)*4294967296.0+(+(G>>>0)+ +(o|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);o=s;G=(s|0)<0?-1:0;L=~~((+(x>>>0)+ +(I|0)*4294967296.0)*(+(o>>>0)+ +(G|0)*4294967296.0))>>>0;K=(D=(+(x>>>0)+ +(I|0)*4294967296.0)*(+(o>>>0)+ +(G|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);G=~~(+(t>>>0)+ +(H|0)*4294967296.0+(+(L>>>0)+ +(K|0)*4294967296.0))>>>0;o=(D=+(t>>>0)+ +(H|0)*4294967296.0+(+(L>>>0)+ +(K|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);do{if((m|0)==0){S=o;T=G;U=q;V=r;W=s;X=n}else{if((c[m+12>>2]|0)==0){S=o;T=G;U=q;V=r;W=s;X=n;break}K=a+100|0;L=s;H=r;t=q;Y=o;Z=G;_=m;while(1){ab=c[(c[_+8>>2]|0)+4>>2]|0;ac=ab+12|0;ad=c[ac>>2]|0;ae=c[ad+88>>2]|0;ag=ae;ah=(ae|0)<0?-1:0;ae=~~((+(ag>>>0)+ +(ah|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0))>>>0;ai=(D=(+(ag>>>0)+ +(ah|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=c[ad+92>>2]|0;ak=aj;al=(aj|0)<0?-1:0;aj=~~((+(ak>>>0)+ +(al|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0))>>>0;am=(D=(+(ak>>>0)+ +(al|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);an=~~(+(aj>>>0)+ +(am|0)*4294967296.0+(+(ae>>>0)+ +(ai|0)*4294967296.0))>>>0;ao=(D=+(aj>>>0)+ +(am|0)*4294967296.0+(+(ae>>>0)+ +(ai|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ai=c[ad+96>>2]|0;ad=ai;ae=(ai|0)<0?-1:0;ai=~~((+(ad>>>0)+ +(ae|0)*4294967296.0)*(+(A>>>0)+ +(B|0)*4294967296.0))>>>0;am=(D=(+(ad>>>0)+ +(ae|0)*4294967296.0)*(+(A>>>0)+ +(B|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=(D=+(an>>>0)+ +(ao|0)*4294967296.0+(+(ai>>>0)+ +(am|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);if((aj|0)<(z|0)|(aj|0)==(z|0)&~~(+(an>>>0)+ +(ao|0)*4294967296.0+(+(ai>>>0)+ +(am|0)*4294967296.0))>>>0>>>0>>0){ap=L;aq=H;ar=t;as=Y;at=Z;break}if((c[ab+20>>2]|0)==(c[K>>2]|0)){ap=L;aq=H;ar=t;as=Y;at=Z;break}am=~~((+(ag>>>0)+ +(ah|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;ai=(D=(+(ag>>>0)+ +(ah|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ah=~~((+(ak>>>0)+ +(al|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;ag=(D=(+(ak>>>0)+ +(al|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);al=~~(+(ah>>>0)+ +(ag|0)*4294967296.0+(+(am>>>0)+ +(ai|0)*4294967296.0))>>>0;ak=(D=+(ah>>>0)+ +(ag|0)*4294967296.0+(+(am>>>0)+ +(ai|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ai=~~((+(ad>>>0)+ +(ae|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;am=(D=(+(ad>>>0)+ +(ae|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ae=~~(+(al>>>0)+ +(ak|0)*4294967296.0+(+(ai>>>0)+ +(am|0)*4294967296.0))>>>0;ad=(D=+(al>>>0)+ +(ak|0)*4294967296.0+(+(ai>>>0)+ +(am|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);if(!((ad|0)>(Y|0)|(ad|0)==(Y|0)&ae>>>0>Z>>>0)){ap=L;aq=H;ar=t;as=Y;at=Z;break}c[e>>2]=ab;am=c[ac>>2]|0;ac=c[am+88>>2]|0;ai=c[am+92>>2]|0;ak=c[am+96>>2]|0;if((am|0)==0){ap=ak;aq=ai;ar=ac;as=ad;at=ae;break}else{L=ak;H=ai;t=ac;Y=ad;Z=ae;_=ab}}S=as;T=at;U=ar;V=aq;W=ap;X=c[f>>2]|0}}while(0);ap=p;aq=(p|0)<0?-1:0;ar=~~((+(M>>>0)+ +(N|0)*4294967296.0)*(+(ap>>>0)+ +(aq|0)*4294967296.0))>>>0;at=(D=(+(M>>>0)+ +(N|0)*4294967296.0)*(+(ap>>>0)+ +(aq|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aq=u;ap=(u|0)<0?-1:0;as=~~((+(Q>>>0)+ +(R|0)*4294967296.0)*(+(aq>>>0)+ +(ap|0)*4294967296.0))>>>0;G=(D=(+(Q>>>0)+ +(R|0)*4294967296.0)*(+(aq>>>0)+ +(ap|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ap=~~(+(as>>>0)+ +(G|0)*4294967296.0+(+(ar>>>0)+ +(at|0)*4294967296.0))>>>0;aq=(D=+(as>>>0)+ +(G|0)*4294967296.0+(+(ar>>>0)+ +(at|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);at=v;ar=(v|0)<0?-1:0;G=~~((+(x>>>0)+ +(I|0)*4294967296.0)*(+(at>>>0)+ +(ar|0)*4294967296.0))>>>0;as=(D=(+(x>>>0)+ +(I|0)*4294967296.0)*(+(at>>>0)+ +(ar|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ar=~~(+(ap>>>0)+ +(aq|0)*4294967296.0+(+(G>>>0)+ +(as|0)*4294967296.0))>>>0;at=(D=+(ap>>>0)+ +(aq|0)*4294967296.0+(+(G>>>0)+ +(as|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);L4119:do{if((X|0)==0){au=at;av=ar;aw=p;ax=u;ay=v;az=0}else{if((c[X+12>>2]|0)==0){au=at;av=ar;aw=p;ax=u;ay=v;az=X;break}as=a+100|0;G=v;aq=u;ap=p;o=at;q=ar;r=X;while(1){s=c[c[r+8>>2]>>2]|0;_=s+12|0;Z=c[_>>2]|0;Y=c[Z+88>>2]|0;t=Y;H=(Y|0)<0?-1:0;Y=~~((+(t>>>0)+ +(H|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0))>>>0;L=(D=(+(t>>>0)+ +(H|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);K=c[Z+92>>2]|0;ab=K;ae=(K|0)<0?-1:0;K=~~((+(ab>>>0)+ +(ae|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0))>>>0;ad=(D=(+(ab>>>0)+ +(ae|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ac=~~(+(K>>>0)+ +(ad|0)*4294967296.0+(+(Y>>>0)+ +(L|0)*4294967296.0))>>>0;ai=(D=+(K>>>0)+ +(ad|0)*4294967296.0+(+(Y>>>0)+ +(L|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);L=c[Z+96>>2]|0;Z=L;Y=(L|0)<0?-1:0;L=~~((+(Z>>>0)+ +(Y|0)*4294967296.0)*(+(A>>>0)+ +(B|0)*4294967296.0))>>>0;ad=(D=(+(Z>>>0)+ +(Y|0)*4294967296.0)*(+(A>>>0)+ +(B|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);K=(D=+(ac>>>0)+ +(ai|0)*4294967296.0+(+(L>>>0)+ +(ad|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);if((K|0)<(z|0)|(K|0)==(z|0)&~~(+(ac>>>0)+ +(ai|0)*4294967296.0+(+(L>>>0)+ +(ad|0)*4294967296.0))>>>0>>>0>>0){au=o;av=q;aw=ap;ax=aq;ay=G;az=r;break L4119}if((c[s+20>>2]|0)==(c[as>>2]|0)){au=o;av=q;aw=ap;ax=aq;ay=G;az=r;break L4119}ad=~~((+(t>>>0)+ +(H|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;L=(D=(+(t>>>0)+ +(H|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);H=~~((+(ab>>>0)+ +(ae|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;t=(D=(+(ab>>>0)+ +(ae|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ae=~~(+(H>>>0)+ +(t|0)*4294967296.0+(+(ad>>>0)+ +(L|0)*4294967296.0))>>>0;ab=(D=+(H>>>0)+ +(t|0)*4294967296.0+(+(ad>>>0)+ +(L|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);L=~~((+(Z>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;ad=(D=(+(Z>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);Y=~~(+(ae>>>0)+ +(ab|0)*4294967296.0+(+(L>>>0)+ +(ad|0)*4294967296.0))>>>0;Z=(D=+(ae>>>0)+ +(ab|0)*4294967296.0+(+(L>>>0)+ +(ad|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);if(!((Z|0)>(o|0)|(Z|0)==(o|0)&Y>>>0>q>>>0)){au=o;av=q;aw=ap;ax=aq;ay=G;az=r;break L4119}c[f>>2]=s;ad=c[_>>2]|0;_=c[ad+88>>2]|0;L=c[ad+92>>2]|0;ab=c[ad+96>>2]|0;if((ad|0)==0){au=Z;av=Y;aw=_;ax=L;ay=ab;az=s;break}else{G=ab;aq=L;ap=_;o=Z;q=Y;r=s}}}}while(0);J=~~(+(av>>>0)+ +(au|0)*4294967296.0-(+(T>>>0)+ +(S|0)*4294967296.0))>>>0;z=(D=+(av>>>0)+ +(au|0)*4294967296.0-(+(T>>>0)+ +(S|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);S=0;if((z|0)>(S|0)|(z|0)==(S|0)&J>>>0>0>>>0){S=a+100|0;T=0;au=0;av=~~(+(T>>>0)+ +(au|0)*4294967296.0-(+(A>>>0)+ +(B|0)*4294967296.0))>>>0;X=(D=+(T>>>0)+ +(au|0)*4294967296.0-(+(A>>>0)+ +(B|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);au=j+16|0;T=j|0;ar=j+8|0;at=h+16|0;p=h|0;u=h+8|0;v=z;r=J;q=aw;o=ax;ap=ay;aq=U;G=V;as=W;L4130:while(1){s=v;Y=r;Z=q;_=o;L=ap;L4132:while(1){ab=aa(Z-aq|0,w)|0;ad=aa(_-G|0,y)|0;ae=ad+(aa(L-as|0,b)|0)+ab|0;ab=ae;ad=(ae|0)<0?-1:0;aA=c[e>>2]|0;do{if((aA|0)!=0){if((c[aA+12>>2]|0)==0){break}aB=c[(c[aA>>2]|0)+8>>2]|0;if((c[aB+20>>2]|0)<=(c[S>>2]|0)){break}t=c[aB+12>>2]|0;aC=c[t+88>>2]|0;H=aC-aq|0;aD=c[t+92>>2]|0;ai=aD-G|0;aE=c[t+96>>2]|0;t=aE-as|0;ac=H;K=(H|0)<0?-1:0;ak=~~((+(ac>>>0)+ +(K|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;am=(D=(+(ac>>>0)+ +(K|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);K=ai;ac=(ai|0)<0?-1:0;al=~~((+(K>>>0)+ +(ac|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;ag=(D=(+(K>>>0)+ +(ac|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ac=~~(+(al>>>0)+ +(ag|0)*4294967296.0+(+(ak>>>0)+ +(am|0)*4294967296.0))>>>0;K=(D=+(al>>>0)+ +(ag|0)*4294967296.0+(+(ak>>>0)+ +(am|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);am=t;ak=(t|0)<0?-1:0;ag=~~((+(am>>>0)+ +(ak|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;al=(D=(+(am>>>0)+ +(ak|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ak=~~(+(ac>>>0)+ +(K|0)*4294967296.0+(+(ag>>>0)+ +(al|0)*4294967296.0))>>>0;am=(D=+(ac>>>0)+ +(K|0)*4294967296.0+(+(ag>>>0)+ +(al|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);al=aa(H,w)|0;H=(aa(ai,y)|0)+al|0;al=H+(aa(t,b)|0)|0;t=al;H=(al|0)<0?-1:0;if((ak|0)==0&(am|0)==0){if((al|0)<0){break L4132}else{break}}ai=0;if(!((am|0)<(ai|0)|(am|0)==(ai|0)&ak>>>0<0>>>0)){break}if((al|0)>0){aF=1;aG=H;aH=t}else{ai=(al|0)<0;al=0;ag=0;aF=ai?-1:0;aG=ai?(D=+(al>>>0)+ +(ag|0)*4294967296.0-(+(t>>>0)+ +(H|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0):0;aH=ai?~~(+(al>>>0)+ +(ag|0)*4294967296.0-(+(t>>>0)+ +(H|0)*4294967296.0))>>>0:0}H=0;if((am|0)>(H|0)|(am|0)==(H|0)&ak>>>0>0>>>0){aI=am;aJ=ak;aK=aF}else{H=0;t=0;aI=(D=+(H>>>0)+ +(t|0)*4294967296.0-(+(ak>>>0)+ +(am|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aJ=~~(+(H>>>0)+ +(t|0)*4294967296.0-(+(ak>>>0)+ +(am|0)*4294967296.0))>>>0;aK=-aF|0}do{if((ae|0)>0){c[at>>2]=1;c[p>>2]=ab;c[p+4>>2]=ad;aL=1}else{if((ae|0)<0){c[at>>2]=-1;am=0;ak=0;t=(D=+(am>>>0)+ +(ak|0)*4294967296.0-(+(ab>>>0)+ +(ad|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[p>>2]=~~(+(am>>>0)+ +(ak|0)*4294967296.0-(+(ab>>>0)+ +(ad|0)*4294967296.0))>>>0;c[p+4>>2]=t;aL=-1;break}else{c[at>>2]=0;c[p>>2]=0;c[p+4>>2]=0;aL=0;break}}}while(0);t=0;do{if((s|0)>(t|0)|(s|0)==(t|0)&Y>>>0>0>>>0){c[u>>2]=Y;c[u+4>>2]=s}else{ak=0;if((s|0)<(ak|0)|(s|0)==(ak|0)&Y>>>0<0>>>0){c[at>>2]=-aL;ak=0;am=0;H=(D=+(ak>>>0)+ +(am|0)*4294967296.0-(+(Y>>>0)+ +(s|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[u>>2]=~~(+(ak>>>0)+ +(am|0)*4294967296.0-(+(Y>>>0)+ +(s|0)*4294967296.0))>>>0;c[u+4>>2]=H;break}else{c[u>>2]=0;c[u+4>>2]=0;break}}}while(0);if((aC4(aH,aG,aJ,aI,aK,h)|0)>-1){break L4132}}}while(0);t=c[f>>2]|0;if((t|0)==0){aM=3282;break L4130}if((c[t+12>>2]|0)==0){aM=3283;break L4130}H=c[c[t+8>>2]>>2]|0;if((c[H+20>>2]|0)<=(c[S>>2]|0)){aM=3284;break L4130}t=H+12|0;am=c[t>>2]|0;ak=c[am+88>>2]|0;ag=ak-Z|0;al=c[am+92>>2]|0;ai=al-_|0;K=c[am+96>>2]|0;am=K-L|0;ac=ag;ah=(ag|0)<0?-1:0;ao=~~((+(ac>>>0)+ +(ah|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0))>>>0;an=(D=(+(ac>>>0)+ +(ah|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=ai;aN=(ai|0)<0?-1:0;aO=~~((+(aj>>>0)+ +(aN|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0))>>>0;aP=(D=(+(aj>>>0)+ +(aN|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aQ=(D=+(aO>>>0)+ +(aP|0)*4294967296.0+(+(ao>>>0)+ +(an|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aR=am;aS=(am|0)<0?-1:0;if(!((~~(+(aO>>>0)+ +(aP|0)*4294967296.0+(+(ao>>>0)+ +(an|0)*4294967296.0))>>>0|0)==(~~((+(aR>>>0)+ +(aS|0)*4294967296.0)*(+(av>>>0)+ +(X|0)*4294967296.0))>>>0|0)&(aQ|0)==((D=(+(aR>>>0)+ +(aS|0)*4294967296.0)*(+(av>>>0)+ +(X|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0)|0))){aM=3285;break L4130}aQ=~~((+(ac>>>0)+ +(ah|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;an=(D=(+(ac>>>0)+ +(ah|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ah=~~((+(aj>>>0)+ +(aN|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;ac=(D=(+(aj>>>0)+ +(aN|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aN=~~(+(ah>>>0)+ +(ac|0)*4294967296.0+(+(aQ>>>0)+ +(an|0)*4294967296.0))>>>0;aj=(D=+(ah>>>0)+ +(ac|0)*4294967296.0+(+(aQ>>>0)+ +(an|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);an=~~((+(aR>>>0)+ +(aS|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;aQ=(D=(+(aR>>>0)+ +(aS|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aS=~~(+(aN>>>0)+ +(aj|0)*4294967296.0+(+(an>>>0)+ +(aQ|0)*4294967296.0))>>>0;aR=(D=+(aN>>>0)+ +(aj|0)*4294967296.0+(+(an>>>0)+ +(aQ|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aQ=aa(ag,w)|0;ag=(aa(ai,y)|0)+aQ|0;aQ=ag+(aa(am,b)|0)|0;am=aQ;ag=(aQ|0)<0?-1:0;ai=ak-aq|0;ak=al-G|0;al=K-as|0;K=ai;an=(ai|0)<0?-1:0;ai=~~((+(K>>>0)+ +(an|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;aj=(D=(+(K>>>0)+ +(an|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);an=ak;K=(ak|0)<0?-1:0;ak=~~((+(an>>>0)+ +(K|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;aN=(D=(+(an>>>0)+ +(K|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);K=~~(+(ak>>>0)+ +(aN|0)*4294967296.0+(+(ai>>>0)+ +(aj|0)*4294967296.0))>>>0;an=(D=+(ak>>>0)+ +(aN|0)*4294967296.0+(+(ai>>>0)+ +(aj|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=al;ai=(al|0)<0?-1:0;al=~~((+(aj>>>0)+ +(ai|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;aN=(D=(+(aj>>>0)+ +(ai|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ai=~~(+(K>>>0)+ +(an|0)*4294967296.0+(+(al>>>0)+ +(aN|0)*4294967296.0))>>>0;aj=(D=+(K>>>0)+ +(an|0)*4294967296.0+(+(al>>>0)+ +(aN|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aN=0;if(!((aj|0)>(aN|0)|(aj|0)==(aN|0)&ai>>>0>0>>>0)){aM=3286;break L4130}if((aS|0)==0&(aR|0)==0){if((aQ|0)>=0){aM=3287;break L4130}}else{aN=0;if(!((aR|0)<(aN|0)|(aR|0)==(aN|0)&aS>>>0<0>>>0)){aM=3297;break L4130}if((aQ|0)>0){aT=ag;aU=am;aV=1}else{aN=(aQ|0)<0;aQ=0;al=0;aT=aN?(D=+(aQ>>>0)+ +(al|0)*4294967296.0-(+(am>>>0)+ +(ag|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0):0;aU=aN?~~(+(aQ>>>0)+ +(al|0)*4294967296.0-(+(am>>>0)+ +(ag|0)*4294967296.0))>>>0:0;aV=aN?-1:0}aN=0;if((aR|0)>(aN|0)|(aR|0)==(aN|0)&aS>>>0>0>>>0){aW=aR;aX=aS;aY=aV}else{aN=0;ag=0;aW=(D=+(aN>>>0)+ +(ag|0)*4294967296.0-(+(aS>>>0)+ +(aR|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aX=~~(+(aN>>>0)+ +(ag|0)*4294967296.0-(+(aS>>>0)+ +(aR|0)*4294967296.0))>>>0;aY=-aV|0}do{if((ae|0)>0){c[au>>2]=1;c[T>>2]=ab;c[T+4>>2]=ad;aZ=1}else{if((ae|0)<0){c[au>>2]=-1;aR=0;aS=0;ag=(D=+(aR>>>0)+ +(aS|0)*4294967296.0-(+(ab>>>0)+ +(ad|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[T>>2]=~~(+(aR>>>0)+ +(aS|0)*4294967296.0-(+(ab>>>0)+ +(ad|0)*4294967296.0))>>>0;c[T+4>>2]=ag;aZ=-1;break}else{c[au>>2]=0;c[T>>2]=0;c[T+4>>2]=0;aZ=0;break}}}while(0);ad=0;do{if((s|0)>(ad|0)|(s|0)==(ad|0)&Y>>>0>0>>>0){c[ar>>2]=Y;c[ar+4>>2]=s}else{ab=0;if((s|0)<(ab|0)|(s|0)==(ab|0)&Y>>>0<0>>>0){c[au>>2]=-aZ;ab=0;ae=0;ag=(D=+(ab>>>0)+ +(ae|0)*4294967296.0-(+(Y>>>0)+ +(s|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[ar>>2]=~~(+(ab>>>0)+ +(ae|0)*4294967296.0-(+(Y>>>0)+ +(s|0)*4294967296.0))>>>0;c[ar+4>>2]=ag;break}else{c[ar>>2]=0;c[ar+4>>2]=0;break}}}while(0);if((aC4(aU,aT,aX,aW,aY,j)|0)<=0){aM=3288;break L4130}}c[f>>2]=H;ad=c[t>>2]|0;s=aj;Y=ai;Z=c[ad+88>>2]|0;_=c[ad+92>>2]|0;L=c[ad+96>>2]|0}Y=Z-aC|0;s=_-aD|0;ad=L-aE|0;ag=Y;ae=(Y|0)<0?-1:0;Y=~~((+(ag>>>0)+ +(ae|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;ab=(D=(+(ag>>>0)+ +(ae|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ae=s;ag=(s|0)<0?-1:0;s=~~((+(ae>>>0)+ +(ag|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;aS=(D=(+(ae>>>0)+ +(ag|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ag=~~(+(s>>>0)+ +(aS|0)*4294967296.0+(+(Y>>>0)+ +(ab|0)*4294967296.0))>>>0;ae=(D=+(s>>>0)+ +(aS|0)*4294967296.0+(+(Y>>>0)+ +(ab|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ab=ad;Y=(ad|0)<0?-1:0;ad=~~((+(ab>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;aS=(D=(+(ab>>>0)+ +(Y|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);Y=(D=+(ag>>>0)+ +(ae|0)*4294967296.0+(+(ad>>>0)+ +(aS|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[e>>2]=(aA|0)==(m|0)?0:aB;v=Y;r=~~(+(ag>>>0)+ +(ae|0)*4294967296.0+(+(ad>>>0)+ +(aS|0)*4294967296.0))>>>0;q=Z;o=_;ap=L;aq=aC;G=aD;as=aE}if((aM|0)==3282){i=g;return}else if((aM|0)==3283){i=g;return}else if((aM|0)==3284){i=g;return}else if((aM|0)==3285){i=g;return}else if((aM|0)==3286){i=g;return}else if((aM|0)==3287){i=g;return}else if((aM|0)==3288){i=g;return}else if((aM|0)==3297){i=g;return}}aE=0;if(!((z|0)<(aE|0)|(z|0)==(aE|0)&J>>>0<0>>>0)){i=g;return}aE=a+100|0;a=0;as=0;aD=~~(+(a>>>0)+ +(as|0)*4294967296.0-(+(A>>>0)+ +(B|0)*4294967296.0))>>>0;G=(D=+(a>>>0)+ +(as|0)*4294967296.0-(+(A>>>0)+ +(B|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);B=l+16|0;A=l|0;as=l+8|0;a=k+16|0;aC=k|0;aq=k+8|0;ap=z;z=J;J=aw;aw=ax;ax=ay;ay=U;U=V;V=W;W=az;while(1){az=aa(J-ay|0,w)|0;o=aa(aw-U|0,y)|0;q=o+(aa(ax-V|0,b)|0)+az|0;az=q;o=(q|0)<0?-1:0;L4209:do{if((W|0)==0){a_=ax;a$=aw;a0=J;a1=ap;a2=z;a3=q;a4=o;a5=az}else{r=ax;v=aw;aB=J;m=ap;aA=z;j=q;aY=o;aW=az;aX=W;while(1){if((c[aX+12>>2]|0)==0){a_=r;a$=v;a0=aB;a1=m;a2=aA;a3=j;a4=aY;a5=aW;break L4209}aT=c[(c[aX+4>>2]|0)+8>>2]|0;if((c[aT+20>>2]|0)<=(c[aE>>2]|0)){a_=r;a$=v;a0=aB;a1=m;a2=aA;a3=j;a4=aY;a5=aW;break L4209}aU=c[aT+12>>2]|0;ar=c[aU+88>>2]|0;aZ=ar-aB|0;au=c[aU+92>>2]|0;T=au-v|0;aV=c[aU+96>>2]|0;aU=aV-r|0;X=aZ;av=(aZ|0)<0?-1:0;S=~~((+(X>>>0)+ +(av|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;h=(D=(+(X>>>0)+ +(av|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);av=T;X=(T|0)<0?-1:0;aK=~~((+(av>>>0)+ +(X|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;aI=(D=(+(av>>>0)+ +(X|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);X=~~(+(aK>>>0)+ +(aI|0)*4294967296.0+(+(S>>>0)+ +(h|0)*4294967296.0))>>>0;av=(D=+(aK>>>0)+ +(aI|0)*4294967296.0+(+(S>>>0)+ +(h|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);h=aU;S=(aU|0)<0?-1:0;aI=~~((+(h>>>0)+ +(S|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;aK=(D=(+(h>>>0)+ +(S|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);S=~~(+(X>>>0)+ +(av|0)*4294967296.0+(+(aI>>>0)+ +(aK|0)*4294967296.0))>>>0;h=(D=+(X>>>0)+ +(av|0)*4294967296.0+(+(aI>>>0)+ +(aK|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aK=aa(aZ,w)|0;aZ=(aa(T,y)|0)+aK|0;aK=aZ+(aa(aU,b)|0)|0;aU=aK;aZ=(aK|0)<0?-1:0;if((S|0)==0&(h|0)==0){if((aK|0)<=0){a_=r;a$=v;a0=aB;a1=m;a2=aA;a3=j;a4=aY;a5=aW;break L4209}}else{T=0;if(!((h|0)<(T|0)|(h|0)==(T|0)&S>>>0<0>>>0)){a_=r;a$=v;a0=aB;a1=m;a2=aA;a3=j;a4=aY;a5=aW;break L4209}if((aK|0)>0){a6=aZ;a7=aU;a8=1}else{T=(aK|0)<0;aK=0;aI=0;a6=T?(D=+(aK>>>0)+ +(aI|0)*4294967296.0-(+(aU>>>0)+ +(aZ|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0):0;a7=T?~~(+(aK>>>0)+ +(aI|0)*4294967296.0-(+(aU>>>0)+ +(aZ|0)*4294967296.0))>>>0:0;a8=T?-1:0}T=0;if((h|0)>(T|0)|(h|0)==(T|0)&S>>>0>0>>>0){a9=h;ba=S;bb=a8}else{T=0;aZ=0;a9=(D=+(T>>>0)+ +(aZ|0)*4294967296.0-(+(S>>>0)+ +(h|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);ba=~~(+(T>>>0)+ +(aZ|0)*4294967296.0-(+(S>>>0)+ +(h|0)*4294967296.0))>>>0;bb=-a8|0}do{if((j|0)>0){c[a>>2]=1;c[aC>>2]=aW;c[aC+4>>2]=aY;bc=1}else{if((j|0)<0){c[a>>2]=-1;h=0;S=0;aZ=(D=+(h>>>0)+ +(S|0)*4294967296.0-(+(aW>>>0)+ +(aY|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[aC>>2]=~~(+(h>>>0)+ +(S|0)*4294967296.0-(+(aW>>>0)+ +(aY|0)*4294967296.0))>>>0;c[aC+4>>2]=aZ;bc=-1;break}else{c[a>>2]=0;c[aC>>2]=0;c[aC+4>>2]=0;bc=0;break}}}while(0);aZ=0;do{if((m|0)>(aZ|0)|(m|0)==(aZ|0)&aA>>>0>0>>>0){c[aq>>2]=aA;c[aq+4>>2]=m}else{S=0;if((m|0)<(S|0)|(m|0)==(S|0)&aA>>>0<0>>>0){c[a>>2]=-bc;S=0;h=0;T=(D=+(S>>>0)+ +(h|0)*4294967296.0-(+(aA>>>0)+ +(m|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[aq>>2]=~~(+(S>>>0)+ +(h|0)*4294967296.0-(+(aA>>>0)+ +(m|0)*4294967296.0))>>>0;c[aq+4>>2]=T;break}else{c[aq>>2]=0;c[aq+4>>2]=0;break}}}while(0);if((aC4(a7,a6,ba,a9,bb,k)|0)>=1){a_=r;a$=v;a0=aB;a1=m;a2=aA;a3=j;a4=aY;a5=aW;break L4209}}aZ=ar-ay|0;T=au-U|0;h=aV-V|0;S=aZ;aU=(aZ|0)<0?-1:0;aI=~~((+(S>>>0)+ +(aU|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;aK=(D=(+(S>>>0)+ +(aU|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aU=T;S=(T|0)<0?-1:0;av=~~((+(aU>>>0)+ +(S|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;X=(D=(+(aU>>>0)+ +(S|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);S=~~(+(av>>>0)+ +(X|0)*4294967296.0+(+(aI>>>0)+ +(aK|0)*4294967296.0))>>>0;aU=(D=+(av>>>0)+ +(X|0)*4294967296.0+(+(aI>>>0)+ +(aK|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aK=h;aI=(h|0)<0?-1:0;X=~~((+(aK>>>0)+ +(aI|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;av=(D=(+(aK>>>0)+ +(aI|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aI=~~(+(S>>>0)+ +(aU|0)*4294967296.0+(+(X>>>0)+ +(av|0)*4294967296.0))>>>0;aK=(D=+(S>>>0)+ +(aU|0)*4294967296.0+(+(X>>>0)+ +(av|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);av=(aX|0)==(n|0)?0:aT;c[f>>2]=av;X=aa(aZ,w)|0;aZ=aa(T,y)|0;T=aZ+(aa(h,b)|0)+X|0;X=T;h=(T|0)<0?-1:0;if((av|0)==0){a_=aV;a$=au;a0=ar;a1=aK;a2=aI;a3=T;a4=h;a5=X;break}else{r=aV;v=au;aB=ar;m=aK;aA=aI;j=T;aY=h;aW=X;aX=av}}}}while(0);az=c[e>>2]|0;if((az|0)==0){aM=3289;break}if((c[az+12>>2]|0)==0){aM=3290;break}o=c[(c[az+8>>2]|0)+4>>2]|0;if((c[o+20>>2]|0)<=(c[aE>>2]|0)){aM=3291;break}az=o+12|0;q=c[az>>2]|0;L=c[q+88>>2]|0;_=L-ay|0;Z=c[q+92>>2]|0;aX=Z-U|0;aW=c[q+96>>2]|0;q=aW-V|0;aY=_;j=(_|0)<0?-1:0;aA=~~((+(aY>>>0)+ +(j|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0))>>>0;m=(D=(+(aY>>>0)+ +(j|0)*4294967296.0)*(+(d>>>0)+ +(E|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aB=aX;v=(aX|0)<0?-1:0;r=~~((+(aB>>>0)+ +(v|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0))>>>0;ai=(D=(+(aB>>>0)+ +(v|0)*4294967296.0)*(+(C>>>0)+ +(F|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=(D=+(r>>>0)+ +(ai|0)*4294967296.0+(+(aA>>>0)+ +(m|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);t=q;H=(q|0)<0?-1:0;if(!((~~(+(r>>>0)+ +(ai|0)*4294967296.0+(+(aA>>>0)+ +(m|0)*4294967296.0))>>>0|0)==(~~((+(t>>>0)+ +(H|0)*4294967296.0)*(+(aD>>>0)+ +(G|0)*4294967296.0))>>>0|0)&(aj|0)==((D=(+(t>>>0)+ +(H|0)*4294967296.0)*(+(aD>>>0)+ +(G|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0)|0))){aM=3292;break}aj=~~((+(aY>>>0)+ +(j|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;m=(D=(+(aY>>>0)+ +(j|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);j=~~((+(aB>>>0)+ +(v|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;aY=(D=(+(aB>>>0)+ +(v|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);v=~~(+(j>>>0)+ +(aY|0)*4294967296.0+(+(aj>>>0)+ +(m|0)*4294967296.0))>>>0;aB=(D=+(j>>>0)+ +(aY|0)*4294967296.0+(+(aj>>>0)+ +(m|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);m=~~((+(t>>>0)+ +(H|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;aj=(D=(+(t>>>0)+ +(H|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);H=~~(+(v>>>0)+ +(aB|0)*4294967296.0+(+(m>>>0)+ +(aj|0)*4294967296.0))>>>0;t=(D=+(v>>>0)+ +(aB|0)*4294967296.0+(+(m>>>0)+ +(aj|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aj=aa(_,w)|0;_=(aa(aX,y)|0)+aj|0;aj=_+(aa(q,b)|0)|0;q=aj;_=(aj|0)<0?-1:0;aX=a0-L|0;L=a$-Z|0;Z=a_-aW|0;aW=aX;m=(aX|0)<0?-1:0;aX=~~((+(aW>>>0)+ +(m|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0))>>>0;aB=(D=(+(aW>>>0)+ +(m|0)*4294967296.0)*(+(M>>>0)+ +(N|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);m=L;aW=(L|0)<0?-1:0;L=~~((+(m>>>0)+ +(aW|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0))>>>0;v=(D=(+(m>>>0)+ +(aW|0)*4294967296.0)*(+(Q>>>0)+ +(R|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aW=~~(+(L>>>0)+ +(v|0)*4294967296.0+(+(aX>>>0)+ +(aB|0)*4294967296.0))>>>0;m=(D=+(L>>>0)+ +(v|0)*4294967296.0+(+(aX>>>0)+ +(aB|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aB=Z;aX=(Z|0)<0?-1:0;Z=~~((+(aB>>>0)+ +(aX|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0))>>>0;v=(D=(+(aB>>>0)+ +(aX|0)*4294967296.0)*(+(x>>>0)+ +(I|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);aX=~~(+(aW>>>0)+ +(m|0)*4294967296.0+(+(Z>>>0)+ +(v|0)*4294967296.0))>>>0;aB=(D=+(aW>>>0)+ +(m|0)*4294967296.0+(+(Z>>>0)+ +(v|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);v=0;if(!((aB|0)<(v|0)|(aB|0)==(v|0)&aX>>>0<0>>>0)){aM=3293;break}if((H|0)==0&(t|0)==0){if((aj|0)<=0){aM=3294;break}}else{v=0;if(!((t|0)<(v|0)|(t|0)==(v|0)&H>>>0<0>>>0)){aM=3295;break}if((aj|0)>0){bd=_;be=q;bf=1}else{v=(aj|0)<0;aj=0;Z=0;bd=v?(D=+(aj>>>0)+ +(Z|0)*4294967296.0-(+(q>>>0)+ +(_|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0):0;be=v?~~(+(aj>>>0)+ +(Z|0)*4294967296.0-(+(q>>>0)+ +(_|0)*4294967296.0))>>>0:0;bf=v?-1:0}v=0;if((t|0)>(v|0)|(t|0)==(v|0)&H>>>0>0>>>0){bg=t;bh=H;bi=bf}else{v=0;_=0;bg=(D=+(v>>>0)+ +(_|0)*4294967296.0-(+(H>>>0)+ +(t|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);bh=~~(+(v>>>0)+ +(_|0)*4294967296.0-(+(H>>>0)+ +(t|0)*4294967296.0))>>>0;bi=-bf|0}do{if((a3|0)>0){c[B>>2]=1;c[A>>2]=a5;c[A+4>>2]=a4;bj=1}else{if((a3|0)<0){c[B>>2]=-1;t=0;H=0;_=(D=+(t>>>0)+ +(H|0)*4294967296.0-(+(a5>>>0)+ +(a4|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[A>>2]=~~(+(t>>>0)+ +(H|0)*4294967296.0-(+(a5>>>0)+ +(a4|0)*4294967296.0))>>>0;c[A+4>>2]=_;bj=-1;break}else{c[B>>2]=0;c[A>>2]=0;c[A+4>>2]=0;bj=0;break}}}while(0);_=0;do{if((a1|0)>(_|0)|(a1|0)==(_|0)&a2>>>0>0>>>0){c[as>>2]=a2;c[as+4>>2]=a1}else{H=0;if((a1|0)<(H|0)|(a1|0)==(H|0)&a2>>>0<0>>>0){c[B>>2]=-bj;H=0;t=0;v=(D=+(H>>>0)+ +(t|0)*4294967296.0-(+(a2>>>0)+ +(a1|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);c[as>>2]=~~(+(H>>>0)+ +(t|0)*4294967296.0-(+(a2>>>0)+ +(a1|0)*4294967296.0))>>>0;c[as+4>>2]=v;break}else{c[as>>2]=0;c[as+4>>2]=0;break}}}while(0);if((aC4(be,bd,bh,bg,bi,l)|0)>=0){aM=3281;break}}c[e>>2]=o;_=c[az>>2]|0;ap=aB;z=aX;J=a0;aw=a$;ax=a_;ay=c[_+88>>2]|0;U=c[_+92>>2]|0;V=c[_+96>>2]|0;W=c[f>>2]|0}if((aM|0)==3281){i=g;return}else if((aM|0)==3289){i=g;return}else if((aM|0)==3290){i=g;return}else if((aM|0)==3291){i=g;return}else if((aM|0)==3292){i=g;return}else if((aM|0)==3293){i=g;return}else if((aM|0)==3294){i=g;return}else if((aM|0)==3295){i=g;return}}function aC9(a){a=a|0;return}function aDa(a){a=a|0;return}function aDb(a){a=a|0;return}function aDc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((c[d+8>>2]|0)!=(b|0)){return}b=d+16|0;g=c[b>>2]|0;if((g|0)==0){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((g|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}e=d+24|0;if((c[e>>2]|0)!=2){return}c[e>>2]=f;return}function aDd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+16|0;d=b|0;e=a+8|0;f=c[e>>2]|0;g=c[e+4>>2]|0;e=-1;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>-1>>>0){e=a|0;h=(+(f>>>0)+ +(g>>>0)*4294967296.0)*18446744073709552000.0+(+((c[e>>2]|0)>>>0)+ +((c[e+4>>2]|0)>>>0)*4294967296.0);i=b;return+h}else{e=a|0;a=c[e>>2]|0;j=c[e+4>>2]|0;e=0;k=0;l=(D=+(e>>>0)+ +(k|0)*4294967296.0-(+(a>>>0)+ +(j|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);m=~f;f=~g;g=(a|0)==0&(j|0)==0&1;n=0;o=(D=+(g>>>0)+ +(n|0)*4294967296.0+(+(m>>>0)+ +(f|0)*4294967296.0),+P(D)>=1.0?D>0.0?(af(+O(D/4294967296.0),4294967295.0)|0)>>>0:~~+$((D- +(~~D>>>0))/4294967296.0)>>>0:0);p=d|0;c[p>>2]=~~(+(e>>>0)+ +(k|0)*4294967296.0-(+(a>>>0)+ +(j|0)*4294967296.0))>>>0;c[p+4>>2]=l;l=d+8|0;c[l>>2]=~~(+(g>>>0)+ +(n|0)*4294967296.0+(+(m>>>0)+ +(f|0)*4294967296.0))>>>0;c[l+4>>2]=o;h=-0.0- +aDd(d);i=b;return+h}return 0.0}function aDe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;e=i;i=i+16|0;f=(d+b|0)/2|0;g=a+12|0;h=c[g>>2]|0;j=c[h+(f<<4)>>2]|0;k=c[h+(f<<4)+4>>2]|0;l=c[h+(f<<4)+8>>2]|0;f=e|0;m=d;n=b;o=h;while(1){h=n;L4307:while(1){p=c[o+(h<<4)+4>>2]|0;do{if((p|0)>=(k|0)){if((p|0)!=(k|0)){q=3327;break L4307}r=c[o+(h<<4)>>2]|0;if((r|0)<(j|0)){break}if((r|0)!=(j|0)){q=3327;break L4307}r=h+1|0;if((c[o+(h<<4)+8>>2]|0)<(l|0)){h=r;continue L4307}else{s=r;break L4307}}}while(0);h=h+1|0}if((q|0)==3327){q=0;s=h+1|0}p=m;L4318:while(1){r=c[o+(p<<4)+4>>2]|0;do{if((k|0)>=(r|0)){if((k|0)!=(r|0)){q=3335;break L4318}t=c[o+(p<<4)>>2]|0;if((j|0)<(t|0)){break}if((j|0)!=(t|0)){q=3335;break L4318}t=p-1|0;if((l|0)<(c[o+(p<<4)+8>>2]|0)){p=t;continue L4318}else{u=t;break L4318}}}while(0);p=p-1|0}if((q|0)==3335){q=0;u=p-1|0}if((h|0)>(p|0)){v=p;w=h}else{r=o+(h<<4)|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];t=o+(p<<4)|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];t=(c[g>>2]|0)+(p<<4)|0;c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[t+12>>2]=c[f+12>>2];v=u;w=s}if((w|0)>(v|0)){break}m=v;n=w;o=c[g>>2]|0}if((v|0)>(b|0)){aDe(a,b,v)}if((w|0)>=(d|0)){i=e;return}aDe(a,w,d);i=e;return}function aDf(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)==0){return}aDB(b);return}function aDg(a){a=a|0;var b=0;b=a;do{c[b+4>>2]=0;g[b+8>>2]=0.0;a=c[b+24>>2]|0;if((a|0)!=0){aDg(a)}b=c[b+28>>2]|0;}while((b|0)!=0);return}function aDh(a){a=a|0;var b=0;b=c[a+24>>2]|0;if((b|0)!=0){aDh(b);aDB(b)}b=c[a+28>>2]|0;if((b|0)==0){return}a=c[b+24>>2]|0;if((a|0)!=0){aDh(a);aDB(a)}a=c[b+28>>2]|0;if((a|0)!=0){aDh(a);aDB(a)}aDB(b);return}function aDi(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a|0;d=a+8|0;b3(c[10742]|0,0)|0;aDg(42912);c[10729]=(c[10729]|0)+1;e=c[10732]|0;c[10732]=e+1;if((e|0)!=0){c[10736]=0;f=b;g=b3(b|0,0)|0;i=a;return}b3(d|0,0)|0;e=c[10742]|0;c[10731]=(c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0);c[10736]=0;f=b;g=b3(b|0,0)|0;i=a;return}function aDj(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aDk(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aDl(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aDm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+112|0;f=e|0;g=e+56|0;if((a|0)==(b|0)){h=1;i=e;return h|0}if((b|0)==0){h=0;i=e;return h|0}j=b;k=c[b>>2]|0;b=j+(c[k-8>>2]|0)|0;l=c[k-4>>2]|0;k=l;c[f>>2]=34680;c[f+4>>2]=j;c[f+8>>2]=34696;c[f+12>>2]=-1;j=f+16|0;m=f+20|0;n=f+24|0;o=f+28|0;p=f+32|0;q=f+40|0;aDD(j|0,0,39);do{if((l|0)==34680){c[f+48>>2]=1;c_[c[(c[8670]|0)+20>>2]&127](k,f,b,b,1,0);r=(c[n>>2]|0)==1?b:0}else{co[c[(c[l>>2]|0)+24>>2]&255](k,f,b,1,0);s=c[f+36>>2]|0;if((s|0)==0){if((c[q>>2]|0)!=1){r=0;break}if((c[o>>2]|0)!=1){r=0;break}r=(c[p>>2]|0)==1?c[m>>2]|0:0;break}else if((s|0)!=1){r=0;break}if((c[n>>2]|0)!=1){if((c[q>>2]|0)!=0){r=0;break}if((c[o>>2]|0)!=1){r=0;break}if((c[p>>2]|0)!=1){r=0;break}}r=c[j>>2]|0}}while(0);j=r;if((r|0)==0){h=0;i=e;return h|0}aDD(g|0,0,56);c[g>>2]=j;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;dI[c[(c[r>>2]|0)+28>>2]&1023](j,g,c[d>>2]|0,1);if((c[g+24>>2]|0)!=1){h=0;i=e;return h|0}c[d>>2]=c[g+16>>2];h=1;i=e;return h|0}function aDn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((b|0)!=(c[d+8>>2]|0)){g=c[b+8>>2]|0;dI[c[(c[g>>2]|0)+28>>2]&1023](g,d,e,f);return}g=d+16|0;b=c[g>>2]|0;if((b|0)==0){c[g>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((b|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}e=d+24|0;if((c[e>>2]|0)!=2){return}c[e>>2]=f;return}function aDo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+8|0;d=b|0;e=c[9152]|0;if((c[e>>2]|0)==(a|0)){f=e}else{g=e+24|0;h=g;while(1){j=c[h>>2]|0;if((j|0)==0){k=3437;break}if((c[j>>2]|0)==(a|0)){l=j;break}else{h=j+28|0}}do{if((k|0)==3437){while(1){k=0;m=aDx(32)|0;if((m|0)!=0){k=3447;break}h=(C=c[10744]|0,c[10744]=C+0,C);if((h|0)==0){break}dC[h&63]();k=3437}if((k|0)==3447){h=m;c[m>>2]=a;aDD(m+4|0,0,16);c[m+20>>2]=e;c[m+24>>2]=0;j=m+28|0;c[j>>2]=0;aDg(h);c[j>>2]=c[g>>2];c[g>>2]=h;l=h;break}h=cd(4)|0;c[h>>2]=19096;bF(h|0,34368,676)}}while(0);c[9152]=l;f=l}l=f+4|0;c[l>>2]=(c[l>>2]|0)+1;l=f+16|0;g=c[l>>2]|0;c[l>>2]=g+1;if((g|0)!=0){i=b;return}b3(d|0,0)|0;g=c[10742]|0;c[f+12>>2]=(c[d+4>>2]|0)-(c[g+4>>2]|0)+(((c[d>>2]|0)-(c[g>>2]|0)|0)*1e6|0);i=b;return}function aDp(){var a=0,b=0,d=0;while(1){a=aDx(8)|0;if((a|0)!=0){b=3465;break}d=(C=c[10744]|0,c[10744]=C+0,C);if((d|0)==0){break}dC[d&63]()}if((b|0)==3465){c[10742]=a;b=a;b3(b|0,0)|0;bG(496,42968,o|0)|0;c[10728]=16072;aDD(42916,0,28);aDg(42912);bG(650,42912,o|0)|0;return}b=cd(4)|0;c[b>>2]=19096;bF(b|0,34368,676)}function aDq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((c[d+8>>2]|0)==(b|0)){if((c[d+4>>2]|0)!=(e|0)){return}g=d+28|0;if((c[g>>2]|0)==1){return}c[g>>2]=f;return}if((c[d>>2]|0)!=(b|0)){return}do{if((c[d+16>>2]|0)!=(e|0)){b=d+20|0;if((c[b>>2]|0)==(e|0)){break}c[d+32>>2]=f;c[b>>2]=e;b=d+40|0;c[b>>2]=(c[b>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){break}a[d+54|0]=1}}while(0);c[d+44>>2]=4;return}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}function aDr(b,d,e,f){b=b|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((b|0)==(c[d+8>>2]|0)){g=d+16|0;h=c[g>>2]|0;if((h|0)==0){c[g>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;return}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;return}h=d+24|0;if((c[h>>2]|0)!=2){return}c[h>>2]=f;return}h=c[b+12>>2]|0;g=b+16+(h<<3)|0;i=c[b+20>>2]|0;j=i>>8;if((i&1|0)==0){k=j}else{k=c[(c[e>>2]|0)+j>>2]|0}j=c[b+16>>2]|0;dI[c[(c[j>>2]|0)+28>>2]&1023](j,d,e+k|0,(i&2|0)!=0?f:2);if((h|0)<=1){return}h=d+54|0;i=e;k=b+24|0;while(1){b=c[k+4>>2]|0;j=b>>8;if((b&1|0)==0){l=j}else{l=c[(c[i>>2]|0)+j>>2]|0}j=c[k>>2]|0;dI[c[(c[j>>2]|0)+28>>2]&1023](j,d,e+l|0,(b&2|0)!=0?f:2);if((a[h]&1)!=0){m=3509;break}b=k+8|0;if(b>>>0>>0){k=b}else{m=3507;break}}if((m|0)==3509){return}else if((m|0)==3507){return}}function aDs(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=b|0;if((h|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){return}i=d+28|0;if((c[i>>2]|0)==1){return}c[i>>2]=f;return}if((h|0)==(c[d>>2]|0)){do{if((c[d+16>>2]|0)!=(e|0)){h=d+20|0;if((c[h>>2]|0)==(e|0)){break}c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4){return}j=c[b+12>>2]|0;k=b+16+(j<<3)|0;L4542:do{if((j|0)>0){l=d+52|0;m=d+53|0;n=d+54|0;o=b+8|0;p=d+24|0;q=e;r=0;s=b+16|0;t=0;L4544:while(1){a[l]=0;a[m]=0;u=c[s+4>>2]|0;v=u>>8;if((u&1|0)==0){w=v}else{w=c[(c[q>>2]|0)+v>>2]|0}v=c[s>>2]|0;c_[c[(c[v>>2]|0)+20>>2]&127](v,d,e,e+w|0,2-(u>>>1&1)|0,g);if((a[n]&1)!=0){x=t;y=r;break}do{if((a[m]&1)==0){z=t;A=r}else{if((a[l]&1)==0){if((c[o>>2]&1|0)==0){x=1;y=r;break L4544}else{z=1;A=r;break}}if((c[p>>2]|0)==1){B=3536;break L4542}if((c[o>>2]&2|0)==0){B=3536;break L4542}else{z=1;A=1}}}while(0);u=s+8|0;if(u>>>0>>0){r=A;s=u;t=z}else{x=z;y=A;break}}if(y){C=x;B=3535}else{D=x;B=3532}}else{D=0;B=3532}}while(0);do{if((B|0)==3532){c[h>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)!=1){C=D;B=3535;break}if((c[d+24>>2]|0)!=2){C=D;B=3535;break}a[d+54|0]=1;if(D){B=3536}else{B=3537}}}while(0);if((B|0)==3535){if(C){B=3536}else{B=3537}}if((B|0)==3537){c[i>>2]=4;return}else if((B|0)==3536){c[i>>2]=3;return}}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}C=c[b+12>>2]|0;D=b+16+(C<<3)|0;x=c[b+20>>2]|0;y=x>>8;if((x&1|0)==0){E=y}else{E=c[(c[e>>2]|0)+y>>2]|0}y=c[b+16>>2]|0;co[c[(c[y>>2]|0)+24>>2]&255](y,d,e+E|0,(x&2|0)!=0?f:2,g);x=b+24|0;if((C|0)<=1){return}C=c[b+8>>2]|0;do{if((C&2|0)==0){b=d+36|0;if((c[b>>2]|0)==1){break}if((C&1|0)==0){E=d+54|0;y=e;A=x;while(1){if((a[E]&1)!=0){B=3574;break}if((c[b>>2]|0)==1){B=3568;break}z=c[A+4>>2]|0;w=z>>8;if((z&1|0)==0){F=w}else{F=c[(c[y>>2]|0)+w>>2]|0}w=c[A>>2]|0;co[c[(c[w>>2]|0)+24>>2]&255](w,d,e+F|0,(z&2|0)!=0?f:2,g);z=A+8|0;if(z>>>0>>0){A=z}else{B=3577;break}}if((B|0)==3568){return}else if((B|0)==3577){return}else if((B|0)==3574){return}}A=d+24|0;y=d+54|0;E=e;i=x;while(1){if((a[y]&1)!=0){B=3563;break}if((c[b>>2]|0)==1){if((c[A>>2]|0)==1){B=3566;break}}z=c[i+4>>2]|0;w=z>>8;if((z&1|0)==0){G=w}else{G=c[(c[E>>2]|0)+w>>2]|0}w=c[i>>2]|0;co[c[(c[w>>2]|0)+24>>2]&255](w,d,e+G|0,(z&2|0)!=0?f:2,g);z=i+8|0;if(z>>>0>>0){i=z}else{B=3567;break}}if((B|0)==3563){return}else if((B|0)==3566){return}else if((B|0)==3567){return}}}while(0);G=d+54|0;F=e;C=x;while(1){if((a[G]&1)!=0){B=3572;break}x=c[C+4>>2]|0;i=x>>8;if((x&1|0)==0){H=i}else{H=c[(c[F>>2]|0)+i>>2]|0}i=c[C>>2]|0;co[c[(c[i>>2]|0)+24>>2]&255](i,d,e+H|0,(x&2|0)!=0?f:2,g);x=C+8|0;if(x>>>0>>0){C=x}else{B=3565;break}}if((B|0)==3565){return}else if((B|0)==3572){return}}function aDt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b|0;if((h|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){return}i=d+28|0;if((c[i>>2]|0)==1){return}c[i>>2]=f;return}if((h|0)!=(c[d>>2]|0)){h=c[b+8>>2]|0;co[c[(c[h>>2]|0)+24>>2]&255](h,d,e,f,g);return}do{if((c[d+16>>2]|0)!=(e|0)){h=d+20|0;if((c[h>>2]|0)==(e|0)){break}c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4){return}j=d+52|0;a[j]=0;k=d+53|0;a[k]=0;l=c[b+8>>2]|0;c_[c[(c[l>>2]|0)+20>>2]&127](l,d,e,e,1,g);if((a[k]&1)==0){m=0;n=3592}else{if((a[j]&1)==0){m=1;n=3592}}L4644:do{if((n|0)==3592){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){n=3595;break}a[d+54|0]=1;if(m){break L4644}}else{n=3595}}while(0);if((n|0)==3595){if(m){break}}c[i>>2]=4;return}}while(0);c[i>>2]=3;return}}while(0);if((f|0)!=1){return}c[d+32>>2]=1;return}function aDu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;if((b|0)!=(c[d+8>>2]|0)){i=d+52|0;j=a[i]&1;k=d+53|0;l=a[k]&1;m=c[b+12>>2]|0;n=b+16+(m<<3)|0;a[i]=0;a[k]=0;o=c[b+20>>2]|0;p=o>>8;if((o&1|0)==0){q=p}else{q=c[(c[f>>2]|0)+p>>2]|0}p=c[b+16>>2]|0;c_[c[(c[p>>2]|0)+20>>2]&127](p,d,e,f+q|0,(o&2|0)!=0?g:2,h);L4666:do{if((m|0)>1){o=d+24|0;q=b+8|0;p=d+54|0;r=f;s=b+24|0;do{if((a[p]&1)!=0){break L4666}do{if((a[i]&1)==0){if((a[k]&1)==0){break}if((c[q>>2]&1|0)==0){break L4666}}else{if((c[o>>2]|0)==1){break L4666}if((c[q>>2]&2|0)==0){break L4666}}}while(0);a[i]=0;a[k]=0;t=c[s+4>>2]|0;u=t>>8;if((t&1|0)==0){v=u}else{v=c[(c[r>>2]|0)+u>>2]|0}u=c[s>>2]|0;c_[c[(c[u>>2]|0)+20>>2]&127](u,d,e,f+v|0,(t&2|0)!=0?g:2,h);s=s+8|0;}while(s>>>0>>0)}}while(0);a[i]=j;a[k]=l;return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;f=d+16|0;l=c[f>>2]|0;if((l|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((l|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;l=c[e>>2]|0;if((l|0)==2){c[e>>2]=g;w=g}else{w=l}if(!((c[d+48>>2]|0)==1&(w|0)==1)){return}a[d+54|0]=1;return}function aDv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[d+8>>2]|0)!=(b|0)){return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;f=d+16|0;b=c[f>>2]|0;if((b|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((b|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;b=c[e>>2]|0;if((b|0)==2){c[e>>2]=g;i=g}else{i=b}if(!((c[d+48>>2]|0)==1&(i|0)==1)){return}a[d+54|0]=1;return}function aDw(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((b|0)!=(c[d+8>>2]|0)){i=c[b+8>>2]|0;c_[c[(c[i>>2]|0)+20>>2]&127](i,d,e,f,g,h);return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){return}a[d+52|0]=1;f=d+16|0;h=c[f>>2]|0;if((h|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){return}a[d+54|0]=1;return}if((h|0)!=(e|0)){e=d+36|0;c[e>>2]=(c[e>>2]|0)+1;a[d+54|0]=1;return}e=d+24|0;h=c[e>>2]|0;if((h|0)==2){c[e>>2]=g;j=g}else{j=h}if(!((c[d+48>>2]|0)==1&(j|0)==1)){return}a[d+54|0]=1;return}function aDx(a){a=a|0;var b=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,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ab=0,ac=0,ad=0,ae=0,af=0,ag=0,ah=0,ai=0,aj=0,ak=0,al=0,am=0,an=0,ao=0,ap=0,aq=0,ar=0,as=0,at=0,au=0,av=0,aw=0,ax=0,ay=0,az=0,aA=0,aB=0,aC=0,aD=0,aE=0,aF=0,aG=0;do{if(a>>>0<245){if(a>>>0<11){b=16}else{b=a+11&-8}d=b>>>3;e=c[9814]|0;f=e>>>(d>>>0);if((f&3|0)!=0){g=(f&1^1)+d|0;h=g<<1;i=39296+(h<<2)|0;j=39296+(h+2<<2)|0;h=c[j>>2]|0;k=h+8|0;l=c[k>>2]|0;do{if((i|0)==(l|0)){c[9814]=e&~(1<>>0<(c[9818]|0)>>>0){bH();return 0}m=l+12|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=i;c[j>>2]=l;break}else{bH();return 0}}}while(0);l=g<<3;c[h+4>>2]=l|3;j=h+(l|4)|0;c[j>>2]=c[j>>2]|1;n=k;return n|0}if(b>>>0<=(c[9816]|0)>>>0){o=b;break}if((f|0)!=0){j=2<>>12&16;i=j>>>(l>>>0);j=i>>>5&8;m=i>>>(j>>>0);i=m>>>2&4;p=m>>>(i>>>0);m=p>>>1&2;q=p>>>(m>>>0);p=q>>>1&1;r=(j|l|i|m|p)+(q>>>(p>>>0))|0;p=r<<1;q=39296+(p<<2)|0;m=39296+(p+2<<2)|0;p=c[m>>2]|0;i=p+8|0;l=c[i>>2]|0;do{if((q|0)==(l|0)){c[9814]=e&~(1<>>0<(c[9818]|0)>>>0){bH();return 0}j=l+12|0;if((c[j>>2]|0)==(p|0)){c[j>>2]=q;c[m>>2]=l;break}else{bH();return 0}}}while(0);l=r<<3;m=l-b|0;c[p+4>>2]=b|3;q=p;e=q+b|0;c[q+(b|4)>>2]=m|1;c[q+l>>2]=m;l=c[9816]|0;if((l|0)!=0){q=c[9819]|0;d=l>>>3;l=d<<1;f=39296+(l<<2)|0;k=c[9814]|0;h=1<>2]|0;if(g>>>0>=(c[9818]|0)>>>0){s=g;t=d;break}bH();return 0}}while(0);c[t>>2]=q;c[s+12>>2]=q;c[q+8>>2]=s;c[q+12>>2]=f}c[9816]=m;c[9819]=e;n=i;return n|0}l=c[9815]|0;if((l|0)==0){o=b;break}h=(l&-l)-1|0;l=h>>>12&16;k=h>>>(l>>>0);h=k>>>5&8;p=k>>>(h>>>0);k=p>>>2&4;r=p>>>(k>>>0);p=r>>>1&2;d=r>>>(p>>>0);r=d>>>1&1;g=c[39560+((h|l|k|p|r)+(d>>>(r>>>0))<<2)>>2]|0;r=g;d=g;p=(c[g+4>>2]&-8)-b|0;while(1){g=c[r+16>>2]|0;if((g|0)==0){k=c[r+20>>2]|0;if((k|0)==0){break}else{u=k}}else{u=g}g=(c[u+4>>2]&-8)-b|0;k=g>>>0

>>0;r=u;d=k?u:d;p=k?g:p}r=d;i=c[9818]|0;if(r>>>0>>0){bH();return 0}e=r+b|0;m=e;if(r>>>0>=e>>>0){bH();return 0}e=c[d+24>>2]|0;f=c[d+12>>2]|0;do{if((f|0)==(d|0)){q=d+20|0;g=c[q>>2]|0;if((g|0)==0){k=d+16|0;l=c[k>>2]|0;if((l|0)==0){v=0;break}else{w=l;x=k}}else{w=g;x=q}while(1){q=w+20|0;g=c[q>>2]|0;if((g|0)!=0){w=g;x=q;continue}q=w+16|0;g=c[q>>2]|0;if((g|0)==0){break}else{w=g;x=q}}if(x>>>0>>0){bH();return 0}else{c[x>>2]=0;v=w;break}}else{q=c[d+8>>2]|0;if(q>>>0>>0){bH();return 0}g=q+12|0;if((c[g>>2]|0)!=(d|0)){bH();return 0}k=f+8|0;if((c[k>>2]|0)==(d|0)){c[g>>2]=f;c[k>>2]=q;v=f;break}else{bH();return 0}}}while(0);L4833:do{if((e|0)!=0){f=d+28|0;i=39560+(c[f>>2]<<2)|0;do{if((d|0)==(c[i>>2]|0)){c[i>>2]=v;if((v|0)!=0){break}c[9815]=c[9815]&~(1<>2]);break L4833}else{if(e>>>0<(c[9818]|0)>>>0){bH();return 0}q=e+16|0;if((c[q>>2]|0)==(d|0)){c[q>>2]=v}else{c[e+20>>2]=v}if((v|0)==0){break L4833}}}while(0);if(v>>>0<(c[9818]|0)>>>0){bH();return 0}c[v+24>>2]=e;f=c[d+16>>2]|0;do{if((f|0)!=0){if(f>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[v+16>>2]=f;c[f+24>>2]=v;break}}}while(0);f=c[d+20>>2]|0;if((f|0)==0){break}if(f>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[v+20>>2]=f;c[f+24>>2]=v;break}}}while(0);if(p>>>0<16){e=p+b|0;c[d+4>>2]=e|3;f=r+(e+4)|0;c[f>>2]=c[f>>2]|1}else{c[d+4>>2]=b|3;c[r+(b|4)>>2]=p|1;c[r+(p+b)>>2]=p;f=c[9816]|0;if((f|0)!=0){e=c[9819]|0;i=f>>>3;f=i<<1;q=39296+(f<<2)|0;k=c[9814]|0;g=1<>2]|0;if(l>>>0>=(c[9818]|0)>>>0){y=l;z=i;break}bH();return 0}}while(0);c[z>>2]=e;c[y+12>>2]=e;c[e+8>>2]=y;c[e+12>>2]=q}c[9816]=p;c[9819]=m}f=d+8|0;if((f|0)==0){o=b;break}else{n=f}return n|0}else{if(a>>>0>4294967231){o=-1;break}f=a+11|0;g=f&-8;k=c[9815]|0;if((k|0)==0){o=g;break}r=-g|0;i=f>>>8;do{if((i|0)==0){A=0}else{if(g>>>0>16777215){A=31;break}f=(i+1048320|0)>>>16&8;l=i<>>16&4;j=l<>>16&2;B=14-(h|f|l)+(j<>>15)|0;A=g>>>((B+7|0)>>>0)&1|B<<1}}while(0);i=c[39560+(A<<2)>>2]|0;L4881:do{if((i|0)==0){C=0;D=r;E=0}else{if((A|0)==31){F=0}else{F=25-(A>>>1)|0}d=0;m=r;p=i;q=g<>2]&-8;l=B-g|0;if(l>>>0>>0){if((B|0)==(g|0)){C=p;D=l;E=p;break L4881}else{G=p;H=l}}else{G=d;H=m}l=c[p+20>>2]|0;B=c[p+16+(q>>>31<<2)>>2]|0;j=(l|0)==0|(l|0)==(B|0)?e:l;if((B|0)==0){C=G;D=H;E=j;break}else{d=G;m=H;p=B;q=q<<1;e=j}}}}while(0);if((E|0)==0&(C|0)==0){i=2<>>12&16;e=i>>>(r>>>0);i=e>>>5&8;q=e>>>(i>>>0);e=q>>>2&4;p=q>>>(e>>>0);q=p>>>1&2;m=p>>>(q>>>0);p=m>>>1&1;I=c[39560+((i|r|e|q|p)+(m>>>(p>>>0))<<2)>>2]|0}else{I=E}if((I|0)==0){J=D;K=C}else{p=I;m=D;q=C;while(1){e=(c[p+4>>2]&-8)-g|0;r=e>>>0>>0;i=r?e:m;e=r?p:q;r=c[p+16>>2]|0;if((r|0)!=0){p=r;m=i;q=e;continue}r=c[p+20>>2]|0;if((r|0)==0){J=i;K=e;break}else{p=r;m=i;q=e}}}if((K|0)==0){o=g;break}if(J>>>0>=((c[9816]|0)-g|0)>>>0){o=g;break}q=K;m=c[9818]|0;if(q>>>0>>0){bH();return 0}p=q+g|0;k=p;if(q>>>0>=p>>>0){bH();return 0}e=c[K+24>>2]|0;i=c[K+12>>2]|0;do{if((i|0)==(K|0)){r=K+20|0;d=c[r>>2]|0;if((d|0)==0){j=K+16|0;B=c[j>>2]|0;if((B|0)==0){L=0;break}else{M=B;N=j}}else{M=d;N=r}while(1){r=M+20|0;d=c[r>>2]|0;if((d|0)!=0){M=d;N=r;continue}r=M+16|0;d=c[r>>2]|0;if((d|0)==0){break}else{M=d;N=r}}if(N>>>0>>0){bH();return 0}else{c[N>>2]=0;L=M;break}}else{r=c[K+8>>2]|0;if(r>>>0>>0){bH();return 0}d=r+12|0;if((c[d>>2]|0)!=(K|0)){bH();return 0}j=i+8|0;if((c[j>>2]|0)==(K|0)){c[d>>2]=i;c[j>>2]=r;L=i;break}else{bH();return 0}}}while(0);L4931:do{if((e|0)!=0){i=K+28|0;m=39560+(c[i>>2]<<2)|0;do{if((K|0)==(c[m>>2]|0)){c[m>>2]=L;if((L|0)!=0){break}c[9815]=c[9815]&~(1<>2]);break L4931}else{if(e>>>0<(c[9818]|0)>>>0){bH();return 0}r=e+16|0;if((c[r>>2]|0)==(K|0)){c[r>>2]=L}else{c[e+20>>2]=L}if((L|0)==0){break L4931}}}while(0);if(L>>>0<(c[9818]|0)>>>0){bH();return 0}c[L+24>>2]=e;i=c[K+16>>2]|0;do{if((i|0)!=0){if(i>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[L+16>>2]=i;c[i+24>>2]=L;break}}}while(0);i=c[K+20>>2]|0;if((i|0)==0){break}if(i>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[L+20>>2]=i;c[i+24>>2]=L;break}}}while(0);do{if(J>>>0<16){e=J+g|0;c[K+4>>2]=e|3;i=q+(e+4)|0;c[i>>2]=c[i>>2]|1}else{c[K+4>>2]=g|3;c[q+(g|4)>>2]=J|1;c[q+(J+g)>>2]=J;i=J>>>3;if(J>>>0<256){e=i<<1;m=39296+(e<<2)|0;r=c[9814]|0;j=1<>2]|0;if(d>>>0>=(c[9818]|0)>>>0){O=d;P=i;break}bH();return 0}}while(0);c[P>>2]=k;c[O+12>>2]=k;c[q+(g+8)>>2]=O;c[q+(g+12)>>2]=m;break}e=p;j=J>>>8;do{if((j|0)==0){Q=0}else{if(J>>>0>16777215){Q=31;break}r=(j+1048320|0)>>>16&8;i=j<>>16&4;B=i<>>16&2;l=14-(d|r|i)+(B<>>15)|0;Q=J>>>((l+7|0)>>>0)&1|l<<1}}while(0);j=39560+(Q<<2)|0;c[q+(g+28)>>2]=Q;c[q+(g+20)>>2]=0;c[q+(g+16)>>2]=0;m=c[9815]|0;l=1<>2]=e;c[q+(g+24)>>2]=j;c[q+(g+12)>>2]=e;c[q+(g+8)>>2]=e;break}if((Q|0)==31){R=0}else{R=25-(Q>>>1)|0}l=J<>2]|0;while(1){if((c[m+4>>2]&-8|0)==(J|0)){break}S=m+16+(l>>>31<<2)|0;j=c[S>>2]|0;if((j|0)==0){T=3831;break}else{l=l<<1;m=j}}if((T|0)==3831){if(S>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[S>>2]=e;c[q+(g+24)>>2]=m;c[q+(g+12)>>2]=e;c[q+(g+8)>>2]=e;break}}l=m+8|0;j=c[l>>2]|0;i=c[9818]|0;if(m>>>0>>0){bH();return 0}if(j>>>0>>0){bH();return 0}else{c[j+12>>2]=e;c[l>>2]=e;c[q+(g+8)>>2]=j;c[q+(g+12)>>2]=m;c[q+(g+24)>>2]=0;break}}}while(0);q=K+8|0;if((q|0)==0){o=g;break}else{n=q}return n|0}}while(0);K=c[9816]|0;if(o>>>0<=K>>>0){S=K-o|0;J=c[9819]|0;if(S>>>0>15){R=J;c[9819]=R+o;c[9816]=S;c[R+(o+4)>>2]=S|1;c[R+K>>2]=S;c[J+4>>2]=o|3}else{c[9816]=0;c[9819]=0;c[J+4>>2]=K|3;S=J+(K+4)|0;c[S>>2]=c[S>>2]|1}n=J+8|0;return n|0}J=c[9817]|0;if(o>>>0>>0){S=J-o|0;c[9817]=S;J=c[9820]|0;K=J;c[9820]=K+o;c[K+(o+4)>>2]=S|1;c[J+4>>2]=o|3;n=J+8|0;return n|0}do{if((c[9782]|0)==0){J=bE(8)|0;if((J-1&J|0)==0){c[9784]=J;c[9783]=J;c[9785]=-1;c[9786]=-1;c[9787]=0;c[9925]=0;c[9782]=(b_(0)|0)&-16^1431655768;break}else{bH();return 0}}}while(0);J=o+48|0;S=c[9784]|0;K=o+47|0;R=S+K|0;Q=-S|0;S=R&Q;if(S>>>0<=o>>>0){n=0;return n|0}O=c[9924]|0;do{if((O|0)!=0){P=c[9922]|0;L=P+S|0;if(L>>>0<=P>>>0|L>>>0>O>>>0){n=0}else{break}return n|0}}while(0);L5023:do{if((c[9925]&4|0)==0){O=c[9820]|0;L5025:do{if((O|0)==0){T=3861}else{L=O;P=39704;while(1){U=P|0;M=c[U>>2]|0;if(M>>>0<=L>>>0){V=P+4|0;if((M+(c[V>>2]|0)|0)>>>0>L>>>0){break}}M=c[P+8>>2]|0;if((M|0)==0){T=3861;break L5025}else{P=M}}if((P|0)==0){T=3861;break}L=R-(c[9817]|0)&Q;if(L>>>0>=2147483647){W=0;break}m=cb(L|0)|0;e=(m|0)==((c[U>>2]|0)+(c[V>>2]|0)|0);X=e?m:-1;Y=e?L:0;Z=m;_=L;T=3870}}while(0);do{if((T|0)==3861){O=cb(0)|0;if((O|0)==-1){W=0;break}g=O;L=c[9783]|0;m=L-1|0;if((m&g|0)==0){$=S}else{$=S-g+(m+g&-L)|0}L=c[9922]|0;g=L+$|0;if(!($>>>0>o>>>0&$>>>0<2147483647)){W=0;break}m=c[9924]|0;if((m|0)!=0){if(g>>>0<=L>>>0|g>>>0>m>>>0){W=0;break}}m=cb($|0)|0;g=(m|0)==(O|0);X=g?O:-1;Y=g?$:0;Z=m;_=$;T=3870}}while(0);L5045:do{if((T|0)==3870){m=-_|0;if((X|0)!=-1){aa=Y;ab=X;T=3881;break L5023}do{if((Z|0)!=-1&_>>>0<2147483647&_>>>0>>0){g=c[9784]|0;O=K-_+g&-g;if(O>>>0>=2147483647){ac=_;break}if((cb(O|0)|0)==-1){cb(m|0)|0;W=Y;break L5045}else{ac=O+_|0;break}}else{ac=_}}while(0);if((Z|0)==-1){W=Y}else{aa=ac;ab=Z;T=3881;break L5023}}}while(0);c[9925]=c[9925]|4;ad=W;T=3878}else{ad=0;T=3878}}while(0);do{if((T|0)==3878){if(S>>>0>=2147483647){break}W=cb(S|0)|0;Z=cb(0)|0;if(!((Z|0)!=-1&(W|0)!=-1&W>>>0>>0)){break}ac=Z-W|0;Z=ac>>>0>(o+40|0)>>>0;Y=Z?W:-1;if((Y|0)!=-1){aa=Z?ac:ad;ab=Y;T=3881}}}while(0);do{if((T|0)==3881){ad=(c[9922]|0)+aa|0;c[9922]=ad;if(ad>>>0>(c[9923]|0)>>>0){c[9923]=ad}ad=c[9820]|0;L5065:do{if((ad|0)==0){S=c[9818]|0;if((S|0)==0|ab>>>0>>0){c[9818]=ab}c[9926]=ab;c[9927]=aa;c[9929]=0;c[9823]=c[9782];c[9822]=-1;S=0;do{Y=S<<1;ac=39296+(Y<<2)|0;c[39296+(Y+3<<2)>>2]=ac;c[39296+(Y+2<<2)>>2]=ac;S=S+1|0;}while(S>>>0<32);S=ab+8|0;if((S&7|0)==0){ae=0}else{ae=-S&7}S=aa-40-ae|0;c[9820]=ab+ae;c[9817]=S;c[ab+(ae+4)>>2]=S|1;c[ab+(aa-36)>>2]=40;c[9821]=c[9786]}else{S=39704;while(1){af=c[S>>2]|0;ag=S+4|0;ah=c[ag>>2]|0;if((ab|0)==(af+ah|0)){T=3893;break}ac=c[S+8>>2]|0;if((ac|0)==0){break}else{S=ac}}do{if((T|0)==3893){if((c[S+12>>2]&8|0)!=0){break}ac=ad;if(!(ac>>>0>=af>>>0&ac>>>0>>0)){break}c[ag>>2]=ah+aa;ac=c[9820]|0;Y=(c[9817]|0)+aa|0;Z=ac;W=ac+8|0;if((W&7|0)==0){ai=0}else{ai=-W&7}W=Y-ai|0;c[9820]=Z+ai;c[9817]=W;c[Z+(ai+4)>>2]=W|1;c[Z+(Y+4)>>2]=40;c[9821]=c[9786];break L5065}}while(0);if(ab>>>0<(c[9818]|0)>>>0){c[9818]=ab}S=ab+aa|0;Y=39704;while(1){aj=Y|0;if((c[aj>>2]|0)==(S|0)){T=3903;break}Z=c[Y+8>>2]|0;if((Z|0)==0){break}else{Y=Z}}do{if((T|0)==3903){if((c[Y+12>>2]&8|0)!=0){break}c[aj>>2]=ab;S=Y+4|0;c[S>>2]=(c[S>>2]|0)+aa;S=ab+8|0;if((S&7|0)==0){ak=0}else{ak=-S&7}S=ab+(aa+8)|0;if((S&7|0)==0){al=0}else{al=-S&7}S=ab+(al+aa)|0;Z=S;W=ak+o|0;ac=ab+W|0;_=ac;K=S-(ab+ak)-o|0;c[ab+(ak+4)>>2]=o|3;do{if((Z|0)==(c[9820]|0)){J=(c[9817]|0)+K|0;c[9817]=J;c[9820]=_;c[ab+(W+4)>>2]=J|1}else{if((Z|0)==(c[9819]|0)){J=(c[9816]|0)+K|0;c[9816]=J;c[9819]=_;c[ab+(W+4)>>2]=J|1;c[ab+(J+W)>>2]=J;break}J=aa+4|0;X=c[ab+(J+al)>>2]|0;if((X&3|0)==1){$=X&-8;V=X>>>3;L5110:do{if(X>>>0<256){U=c[ab+((al|8)+aa)>>2]|0;Q=c[ab+(aa+12+al)>>2]|0;R=39296+(V<<1<<2)|0;do{if((U|0)!=(R|0)){if(U>>>0<(c[9818]|0)>>>0){bH();return 0}if((c[U+12>>2]|0)==(Z|0)){break}bH();return 0}}while(0);if((Q|0)==(U|0)){c[9814]=c[9814]&~(1<>>0<(c[9818]|0)>>>0){bH();return 0}m=Q+8|0;if((c[m>>2]|0)==(Z|0)){am=m;break}bH();return 0}}while(0);c[U+12>>2]=Q;c[am>>2]=U}else{R=S;m=c[ab+((al|24)+aa)>>2]|0;P=c[ab+(aa+12+al)>>2]|0;do{if((P|0)==(R|0)){O=al|16;g=ab+(J+O)|0;L=c[g>>2]|0;if((L|0)==0){e=ab+(O+aa)|0;O=c[e>>2]|0;if((O|0)==0){an=0;break}else{ao=O;ap=e}}else{ao=L;ap=g}while(1){g=ao+20|0;L=c[g>>2]|0;if((L|0)!=0){ao=L;ap=g;continue}g=ao+16|0;L=c[g>>2]|0;if((L|0)==0){break}else{ao=L;ap=g}}if(ap>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[ap>>2]=0;an=ao;break}}else{g=c[ab+((al|8)+aa)>>2]|0;if(g>>>0<(c[9818]|0)>>>0){bH();return 0}L=g+12|0;if((c[L>>2]|0)!=(R|0)){bH();return 0}e=P+8|0;if((c[e>>2]|0)==(R|0)){c[L>>2]=P;c[e>>2]=g;an=P;break}else{bH();return 0}}}while(0);if((m|0)==0){break}P=ab+(aa+28+al)|0;U=39560+(c[P>>2]<<2)|0;do{if((R|0)==(c[U>>2]|0)){c[U>>2]=an;if((an|0)!=0){break}c[9815]=c[9815]&~(1<>2]);break L5110}else{if(m>>>0<(c[9818]|0)>>>0){bH();return 0}Q=m+16|0;if((c[Q>>2]|0)==(R|0)){c[Q>>2]=an}else{c[m+20>>2]=an}if((an|0)==0){break L5110}}}while(0);if(an>>>0<(c[9818]|0)>>>0){bH();return 0}c[an+24>>2]=m;R=al|16;P=c[ab+(R+aa)>>2]|0;do{if((P|0)!=0){if(P>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[an+16>>2]=P;c[P+24>>2]=an;break}}}while(0);P=c[ab+(J+R)>>2]|0;if((P|0)==0){break}if(P>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[an+20>>2]=P;c[P+24>>2]=an;break}}}while(0);aq=ab+(($|al)+aa)|0;ar=$+K|0}else{aq=Z;ar=K}J=aq+4|0;c[J>>2]=c[J>>2]&-2;c[ab+(W+4)>>2]=ar|1;c[ab+(ar+W)>>2]=ar;J=ar>>>3;if(ar>>>0<256){V=J<<1;X=39296+(V<<2)|0;P=c[9814]|0;m=1<>2]|0;if(U>>>0>=(c[9818]|0)>>>0){as=U;at=J;break}bH();return 0}}while(0);c[at>>2]=_;c[as+12>>2]=_;c[ab+(W+8)>>2]=as;c[ab+(W+12)>>2]=X;break}V=ac;m=ar>>>8;do{if((m|0)==0){au=0}else{if(ar>>>0>16777215){au=31;break}P=(m+1048320|0)>>>16&8;$=m<>>16&4;U=$<>>16&2;Q=14-(J|P|$)+(U<<$>>>15)|0;au=ar>>>((Q+7|0)>>>0)&1|Q<<1}}while(0);m=39560+(au<<2)|0;c[ab+(W+28)>>2]=au;c[ab+(W+20)>>2]=0;c[ab+(W+16)>>2]=0;X=c[9815]|0;Q=1<>2]=V;c[ab+(W+24)>>2]=m;c[ab+(W+12)>>2]=V;c[ab+(W+8)>>2]=V;break}if((au|0)==31){av=0}else{av=25-(au>>>1)|0}Q=ar<>2]|0;while(1){if((c[X+4>>2]&-8|0)==(ar|0)){break}aw=X+16+(Q>>>31<<2)|0;m=c[aw>>2]|0;if((m|0)==0){T=3976;break}else{Q=Q<<1;X=m}}if((T|0)==3976){if(aw>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[aw>>2]=V;c[ab+(W+24)>>2]=X;c[ab+(W+12)>>2]=V;c[ab+(W+8)>>2]=V;break}}Q=X+8|0;m=c[Q>>2]|0;$=c[9818]|0;if(X>>>0<$>>>0){bH();return 0}if(m>>>0<$>>>0){bH();return 0}else{c[m+12>>2]=V;c[Q>>2]=V;c[ab+(W+8)>>2]=m;c[ab+(W+12)>>2]=X;c[ab+(W+24)>>2]=0;break}}}while(0);n=ab+(ak|8)|0;return n|0}}while(0);Y=ad;W=39704;while(1){ax=c[W>>2]|0;if(ax>>>0<=Y>>>0){ay=c[W+4>>2]|0;az=ax+ay|0;if(az>>>0>Y>>>0){break}}W=c[W+8>>2]|0}W=ax+(ay-39)|0;if((W&7|0)==0){aA=0}else{aA=-W&7}W=ax+(ay-47+aA)|0;ac=W>>>0<(ad+16|0)>>>0?Y:W;W=ac+8|0;_=ab+8|0;if((_&7|0)==0){aB=0}else{aB=-_&7}_=aa-40-aB|0;c[9820]=ab+aB;c[9817]=_;c[ab+(aB+4)>>2]=_|1;c[ab+(aa-36)>>2]=40;c[9821]=c[9786];c[ac+4>>2]=27;c[W>>2]=c[9926];c[W+4>>2]=c[39708>>2];c[W+8>>2]=c[39712>>2];c[W+12>>2]=c[39716>>2];c[9926]=ab;c[9927]=aa;c[9929]=0;c[9928]=W;W=ac+28|0;c[W>>2]=7;if((ac+32|0)>>>0>>0){_=W;while(1){W=_+4|0;c[W>>2]=7;if((_+8|0)>>>0>>0){_=W}else{break}}}if((ac|0)==(Y|0)){break}_=ac-ad|0;W=Y+(_+4)|0;c[W>>2]=c[W>>2]&-2;c[ad+4>>2]=_|1;c[Y+_>>2]=_;W=_>>>3;if(_>>>0<256){K=W<<1;Z=39296+(K<<2)|0;S=c[9814]|0;m=1<>2]|0;if(Q>>>0>=(c[9818]|0)>>>0){aC=Q;aD=W;break}bH();return 0}}while(0);c[aD>>2]=ad;c[aC+12>>2]=ad;c[ad+8>>2]=aC;c[ad+12>>2]=Z;break}K=ad;m=_>>>8;do{if((m|0)==0){aE=0}else{if(_>>>0>16777215){aE=31;break}S=(m+1048320|0)>>>16&8;Y=m<>>16&4;W=Y<>>16&2;Q=14-(ac|S|Y)+(W<>>15)|0;aE=_>>>((Q+7|0)>>>0)&1|Q<<1}}while(0);m=39560+(aE<<2)|0;c[ad+28>>2]=aE;c[ad+20>>2]=0;c[ad+16>>2]=0;Z=c[9815]|0;Q=1<>2]=K;c[ad+24>>2]=m;c[ad+12>>2]=ad;c[ad+8>>2]=ad;break}if((aE|0)==31){aF=0}else{aF=25-(aE>>>1)|0}Q=_<>2]|0;while(1){if((c[Z+4>>2]&-8|0)==(_|0)){break}aG=Z+16+(Q>>>31<<2)|0;m=c[aG>>2]|0;if((m|0)==0){T=4011;break}else{Q=Q<<1;Z=m}}if((T|0)==4011){if(aG>>>0<(c[9818]|0)>>>0){bH();return 0}else{c[aG>>2]=K;c[ad+24>>2]=Z;c[ad+12>>2]=ad;c[ad+8>>2]=ad;break}}Q=Z+8|0;_=c[Q>>2]|0;m=c[9818]|0;if(Z>>>0>>0){bH();return 0}if(_>>>0>>0){bH();return 0}else{c[_+12>>2]=K;c[Q>>2]=K;c[ad+8>>2]=_;c[ad+12>>2]=Z;c[ad+24>>2]=0;break}}}while(0);ad=c[9817]|0;if(ad>>>0<=o>>>0){break}_=ad-o|0;c[9817]=_;ad=c[9820]|0;Q=ad;c[9820]=Q+o;c[Q+(o+4)>>2]=_|1;c[ad+4>>2]=o|3;n=ad+8|0;return n|0}}while(0);c[(ce()|0)>>2]=12;n=0;return n|0}function aDy(a){a=a|0;return}function aDz(a){a=a|0;return 17040|0}function aDA(a){a=a|0;if((a|0)==0){return}aDB(a);return}function aDB(a){a=a|0;var b=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,v=0,w=0,x=0,y=0,z=0,A=0,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,O=0;if((a|0)==0){return}b=a-8|0;d=b;e=c[9818]|0;if(b>>>0>>0){bH()}f=c[a-4>>2]|0;g=f&3;if((g|0)==1){bH()}h=f&-8;i=a+(h-8)|0;j=i;L5289:do{if((f&1|0)==0){k=c[b>>2]|0;if((g|0)==0){return}l=-8-k|0;m=a+l|0;n=m;o=k+h|0;if(m>>>0>>0){bH()}if((n|0)==(c[9819]|0)){p=a+(h-4)|0;if((c[p>>2]&3|0)!=3){q=n;r=o;break}c[9816]=o;c[p>>2]=c[p>>2]&-2;c[a+(l+4)>>2]=o|1;c[i>>2]=o;return}p=k>>>3;if(k>>>0<256){k=c[a+(l+8)>>2]|0;s=c[a+(l+12)>>2]|0;t=39296+(p<<1<<2)|0;do{if((k|0)!=(t|0)){if(k>>>0>>0){bH()}if((c[k+12>>2]|0)==(n|0)){break}bH()}}while(0);if((s|0)==(k|0)){c[9814]=c[9814]&~(1<>>0>>0){bH()}v=s+8|0;if((c[v>>2]|0)==(n|0)){u=v;break}bH()}}while(0);c[k+12>>2]=s;c[u>>2]=k;q=n;r=o;break}t=m;p=c[a+(l+24)>>2]|0;v=c[a+(l+12)>>2]|0;do{if((v|0)==(t|0)){w=a+(l+20)|0;x=c[w>>2]|0;if((x|0)==0){y=a+(l+16)|0;z=c[y>>2]|0;if((z|0)==0){A=0;break}else{B=z;C=y}}else{B=x;C=w}while(1){w=B+20|0;x=c[w>>2]|0;if((x|0)!=0){B=x;C=w;continue}w=B+16|0;x=c[w>>2]|0;if((x|0)==0){break}else{B=x;C=w}}if(C>>>0>>0){bH()}else{c[C>>2]=0;A=B;break}}else{w=c[a+(l+8)>>2]|0;if(w>>>0>>0){bH()}x=w+12|0;if((c[x>>2]|0)!=(t|0)){bH()}y=v+8|0;if((c[y>>2]|0)==(t|0)){c[x>>2]=v;c[y>>2]=w;A=v;break}else{bH()}}}while(0);if((p|0)==0){q=n;r=o;break}v=a+(l+28)|0;m=39560+(c[v>>2]<<2)|0;do{if((t|0)==(c[m>>2]|0)){c[m>>2]=A;if((A|0)!=0){break}c[9815]=c[9815]&~(1<>2]);q=n;r=o;break L5289}else{if(p>>>0<(c[9818]|0)>>>0){bH()}k=p+16|0;if((c[k>>2]|0)==(t|0)){c[k>>2]=A}else{c[p+20>>2]=A}if((A|0)==0){q=n;r=o;break L5289}}}while(0);if(A>>>0<(c[9818]|0)>>>0){bH()}c[A+24>>2]=p;t=c[a+(l+16)>>2]|0;do{if((t|0)!=0){if(t>>>0<(c[9818]|0)>>>0){bH()}else{c[A+16>>2]=t;c[t+24>>2]=A;break}}}while(0);t=c[a+(l+20)>>2]|0;if((t|0)==0){q=n;r=o;break}if(t>>>0<(c[9818]|0)>>>0){bH()}else{c[A+20>>2]=t;c[t+24>>2]=A;q=n;r=o;break}}else{q=d;r=h}}while(0);d=q;if(d>>>0>=i>>>0){bH()}A=a+(h-4)|0;e=c[A>>2]|0;if((e&1|0)==0){bH()}do{if((e&2|0)==0){if((j|0)==(c[9820]|0)){B=(c[9817]|0)+r|0;c[9817]=B;c[9820]=q;c[q+4>>2]=B|1;if((q|0)!=(c[9819]|0)){return}c[9819]=0;c[9816]=0;return}if((j|0)==(c[9819]|0)){B=(c[9816]|0)+r|0;c[9816]=B;c[9819]=q;c[q+4>>2]=B|1;c[d+B>>2]=B;return}B=(e&-8)+r|0;C=e>>>3;L5392:do{if(e>>>0<256){u=c[a+h>>2]|0;g=c[a+(h|4)>>2]|0;b=39296+(C<<1<<2)|0;do{if((u|0)!=(b|0)){if(u>>>0<(c[9818]|0)>>>0){bH()}if((c[u+12>>2]|0)==(j|0)){break}bH()}}while(0);if((g|0)==(u|0)){c[9814]=c[9814]&~(1<>>0<(c[9818]|0)>>>0){bH()}f=g+8|0;if((c[f>>2]|0)==(j|0)){D=f;break}bH()}}while(0);c[u+12>>2]=g;c[D>>2]=u}else{b=i;f=c[a+(h+16)>>2]|0;t=c[a+(h|4)>>2]|0;do{if((t|0)==(b|0)){p=a+(h+12)|0;v=c[p>>2]|0;if((v|0)==0){m=a+(h+8)|0;k=c[m>>2]|0;if((k|0)==0){E=0;break}else{F=k;G=m}}else{F=v;G=p}while(1){p=F+20|0;v=c[p>>2]|0;if((v|0)!=0){F=v;G=p;continue}p=F+16|0;v=c[p>>2]|0;if((v|0)==0){break}else{F=v;G=p}}if(G>>>0<(c[9818]|0)>>>0){bH()}else{c[G>>2]=0;E=F;break}}else{p=c[a+h>>2]|0;if(p>>>0<(c[9818]|0)>>>0){bH()}v=p+12|0;if((c[v>>2]|0)!=(b|0)){bH()}m=t+8|0;if((c[m>>2]|0)==(b|0)){c[v>>2]=t;c[m>>2]=p;E=t;break}else{bH()}}}while(0);if((f|0)==0){break}t=a+(h+20)|0;u=39560+(c[t>>2]<<2)|0;do{if((b|0)==(c[u>>2]|0)){c[u>>2]=E;if((E|0)!=0){break}c[9815]=c[9815]&~(1<>2]);break L5392}else{if(f>>>0<(c[9818]|0)>>>0){bH()}g=f+16|0;if((c[g>>2]|0)==(b|0)){c[g>>2]=E}else{c[f+20>>2]=E}if((E|0)==0){break L5392}}}while(0);if(E>>>0<(c[9818]|0)>>>0){bH()}c[E+24>>2]=f;b=c[a+(h+8)>>2]|0;do{if((b|0)!=0){if(b>>>0<(c[9818]|0)>>>0){bH()}else{c[E+16>>2]=b;c[b+24>>2]=E;break}}}while(0);b=c[a+(h+12)>>2]|0;if((b|0)==0){break}if(b>>>0<(c[9818]|0)>>>0){bH()}else{c[E+20>>2]=b;c[b+24>>2]=E;break}}}while(0);c[q+4>>2]=B|1;c[d+B>>2]=B;if((q|0)!=(c[9819]|0)){H=B;break}c[9816]=B;return}else{c[A>>2]=e&-2;c[q+4>>2]=r|1;c[d+r>>2]=r;H=r}}while(0);r=H>>>3;if(H>>>0<256){d=r<<1;e=39296+(d<<2)|0;A=c[9814]|0;E=1<>2]|0;if(h>>>0>=(c[9818]|0)>>>0){I=h;J=r;break}bH()}}while(0);c[J>>2]=q;c[I+12>>2]=q;c[q+8>>2]=I;c[q+12>>2]=e;return}e=q;I=H>>>8;do{if((I|0)==0){K=0}else{if(H>>>0>16777215){K=31;break}J=(I+1048320|0)>>>16&8;d=I<>>16&4;A=d<>>16&2;r=14-(E|J|d)+(A<>>15)|0;K=H>>>((r+7|0)>>>0)&1|r<<1}}while(0);I=39560+(K<<2)|0;c[q+28>>2]=K;c[q+20>>2]=0;c[q+16>>2]=0;r=c[9815]|0;d=1<>2]=e;c[q+24>>2]=I;c[q+12>>2]=q;c[q+8>>2]=q}else{if((K|0)==31){L=0}else{L=25-(K>>>1)|0}A=H<>2]|0;while(1){if((c[J+4>>2]&-8|0)==(H|0)){break}M=J+16+(A>>>31<<2)|0;E=c[M>>2]|0;if((E|0)==0){N=4195;break}else{A=A<<1;J=E}}if((N|0)==4195){if(M>>>0<(c[9818]|0)>>>0){bH()}else{c[M>>2]=e;c[q+24>>2]=J;c[q+12>>2]=q;c[q+8>>2]=q;break}}A=J+8|0;B=c[A>>2]|0;E=c[9818]|0;if(J>>>0>>0){bH()}if(B>>>0>>0){bH()}else{c[B+12>>2]=e;c[A>>2]=e;c[q+8>>2]=B;c[q+12>>2]=J;c[q+24>>2]=0;break}}}while(0);q=(c[9822]|0)-1|0;c[9822]=q;if((q|0)==0){O=39712}else{return}while(1){q=c[O>>2]|0;if((q|0)==0){break}else{O=q+8|0}}c[9822]=-1;return}function aDC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)return f|0;a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function aDD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b+e|0;if((e|0)>=20){d=d&255;e=b&3;g=d|d<<8|d<<16|d<<24;h=f&~3;if(e){e=b+4-e|0;while((b|0)<(e|0)){a[b]=d;b=b+1|0}}while((b|0)<(h|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b]=d;b=b+1|0}}function aDE(b){b=b|0;var c=0;c=b;while(a[c]|0){c=c+1|0}return c-b|0}function aDF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;c=b+d>>>0;d=c>>>0>>0|0;if(e>>>0>>0){c=c+1>>>0;d=d|!c}return(E=c,F=d,e|0)|0}function aDG(b,c,d){b=b|0;c=c|0;d=d|0;if((c|0)<(b|0)&(b|0)<(c+d|0)){c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b]=a[c]|0}}else{aDC(b,c,d)|0}} +function aDH(){bW()}function aDI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;co[a&255](b|0,c|0,d|0,e|0,f|0)}function aDJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(0,a|0,b|0,c|0,d|0,e|0)}function aDK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(1,a|0,b|0,c|0,d|0,e|0)}function aDL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(2,a|0,b|0,c|0,d|0,e|0)}function aDM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(3,a|0,b|0,c|0,d|0,e|0)}function aDN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(4,a|0,b|0,c|0,d|0,e|0)}function aDO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(5,a|0,b|0,c|0,d|0,e|0)}function aDP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(6,a|0,b|0,c|0,d|0,e|0)}function aDQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(7,a|0,b|0,c|0,d|0,e|0)}function aDR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(8,a|0,b|0,c|0,d|0,e|0)}function aDS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(9,a|0,b|0,c|0,d|0,e|0)}function aDT(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(10,a|0,b|0,c|0,d|0,e|0)}function aDU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(11,a|0,b|0,c|0,d|0,e|0)}function aDV(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(12,a|0,b|0,c|0,d|0,e|0)}function aDW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(13,a|0,b|0,c|0,d|0,e|0)}function aDX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(14,a|0,b|0,c|0,d|0,e|0)}function aDY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(15,a|0,b|0,c|0,d|0,e|0)}function aDZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(16,a|0,b|0,c|0,d|0,e|0)}function aD_(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(17,a|0,b|0,c|0,d|0,e|0)}function aD$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(18,a|0,b|0,c|0,d|0,e|0)}function aD0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ag(19,a|0,b|0,c|0,d|0,e|0)}function aD1(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return cp[a&63](b|0,c|0,d|0,e|0,f|0,+g)|0}function aD2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(0,a|0,b|0,c|0,d|0,e|0,+f)|0}function aD3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(1,a|0,b|0,c|0,d|0,e|0,+f)|0}function aD4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(2,a|0,b|0,c|0,d|0,e|0,+f)|0}function aD5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(3,a|0,b|0,c|0,d|0,e|0,+f)|0}function aD6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(4,a|0,b|0,c|0,d|0,e|0,+f)|0}function aD7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(5,a|0,b|0,c|0,d|0,e|0,+f)|0}function aD8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(6,a|0,b|0,c|0,d|0,e|0,+f)|0}function aD9(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(7,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEa(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(8,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(9,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(10,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(11,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(12,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(13,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(14,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(15,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(16,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(17,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(18,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return ag(19,a|0,b|0,c|0,d|0,e|0,+f)|0}function aEm(a,b,c){a=a|0;b=b|0;c=+c;cq[a&1023](b|0,+c)}function aEn(a,b){a=a|0;b=+b;ag(0,a|0,+b)}function aEo(a,b){a=a|0;b=+b;ag(1,a|0,+b)}function aEp(a,b){a=a|0;b=+b;ag(2,a|0,+b)}function aEq(a,b){a=a|0;b=+b;ag(3,a|0,+b)}function aEr(a,b){a=a|0;b=+b;ag(4,a|0,+b)}function aEs(a,b){a=a|0;b=+b;ag(5,a|0,+b)}function aEt(a,b){a=a|0;b=+b;ag(6,a|0,+b)}function aEu(a,b){a=a|0;b=+b;ag(7,a|0,+b)}function aEv(a,b){a=a|0;b=+b;ag(8,a|0,+b)}function aEw(a,b){a=a|0;b=+b;ag(9,a|0,+b)}function aEx(a,b){a=a|0;b=+b;ag(10,a|0,+b)}function aEy(a,b){a=a|0;b=+b;ag(11,a|0,+b)}function aEz(a,b){a=a|0;b=+b;ag(12,a|0,+b)}function aEA(a,b){a=a|0;b=+b;ag(13,a|0,+b)}function aEB(a,b){a=a|0;b=+b;ag(14,a|0,+b)}function aEC(a,b){a=a|0;b=+b;ag(15,a|0,+b)}function aED(a,b){a=a|0;b=+b;ag(16,a|0,+b)}function aEE(a,b){a=a|0;b=+b;ag(17,a|0,+b)}function aEF(a,b){a=a|0;b=+b;ag(18,a|0,+b)}function aEG(a,b){a=a|0;b=+b;ag(19,a|0,+b)}function aEH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;cr[a&63](b|0,c|0,+d,e|0,f|0)}function aEI(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(0,a|0,b|0,+c,d|0,e|0)}function aEJ(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(1,a|0,b|0,+c,d|0,e|0)}function aEK(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(2,a|0,b|0,+c,d|0,e|0)}function aEL(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(3,a|0,b|0,+c,d|0,e|0)}function aEM(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(4,a|0,b|0,+c,d|0,e|0)}function aEN(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(5,a|0,b|0,+c,d|0,e|0)}function aEO(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(6,a|0,b|0,+c,d|0,e|0)}function aEP(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(7,a|0,b|0,+c,d|0,e|0)}function aEQ(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(8,a|0,b|0,+c,d|0,e|0)}function aER(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(9,a|0,b|0,+c,d|0,e|0)}function aES(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(10,a|0,b|0,+c,d|0,e|0)}function aET(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(11,a|0,b|0,+c,d|0,e|0)}function aEU(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(12,a|0,b|0,+c,d|0,e|0)}function aEV(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(13,a|0,b|0,+c,d|0,e|0)}function aEW(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(14,a|0,b|0,+c,d|0,e|0)}function aEX(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(15,a|0,b|0,+c,d|0,e|0)}function aEY(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(16,a|0,b|0,+c,d|0,e|0)}function aEZ(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(17,a|0,b|0,+c,d|0,e|0)}function aE_(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(18,a|0,b|0,+c,d|0,e|0)}function aE$(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ag(19,a|0,b|0,+c,d|0,e|0)}function aE0(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;cs[a&63](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l)}function aE1(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(0,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE2(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(1,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE3(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(2,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE4(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(3,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE5(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(4,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE6(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(5,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE7(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(6,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE8(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(7,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aE9(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(8,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(9,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFb(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(10,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFc(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(11,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFd(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(12,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFe(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(13,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFf(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(14,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFg(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(15,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFh(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(16,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFi(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(17,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(18,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFk(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ag(19,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k)}function aFl(a,b){a=a|0;b=b|0;ct[a&2047](b|0)}function aFm(a){a=a|0;ag(0,a|0)}function aFn(a){a=a|0;ag(1,a|0)}function aFo(a){a=a|0;ag(2,a|0)}function aFp(a){a=a|0;ag(3,a|0)}function aFq(a){a=a|0;ag(4,a|0)}function aFr(a){a=a|0;ag(5,a|0)}function aFs(a){a=a|0;ag(6,a|0)}function aFt(a){a=a|0;ag(7,a|0)}function aFu(a){a=a|0;ag(8,a|0)}function aFv(a){a=a|0;ag(9,a|0)}function aFw(a){a=a|0;ag(10,a|0)}function aFx(a){a=a|0;ag(11,a|0)}function aFy(a){a=a|0;ag(12,a|0)}function aFz(a){a=a|0;ag(13,a|0)}function aFA(a){a=a|0;ag(14,a|0)}function aFB(a){a=a|0;ag(15,a|0)}function aFC(a){a=a|0;ag(16,a|0)}function aFD(a){a=a|0;ag(17,a|0)}function aFE(a){a=a|0;ag(18,a|0)}function aFF(a){a=a|0;ag(19,a|0)}function aFG(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=h|0;i=i|0;return cu[a&63](b|0,c|0,d|0,e|0,+f,+g,h|0,i|0)|0}function aFH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(0,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFI(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(1,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFJ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(2,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFK(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(3,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFL(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(4,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFM(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(5,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFN(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(6,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFO(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(7,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(8,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFQ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(9,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFR(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(10,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFS(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(11,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFT(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(12,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFU(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(13,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFV(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(14,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFW(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(15,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFX(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(16,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFY(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(17,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aFZ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(18,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aF_(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;return ag(19,a|0,b|0,c|0,d|0,+e,+f,g|0,h|0)|0}function aF$(a,b,c){a=a|0;b=b|0;c=c|0;cv[a&2047](b|0,c|0)}function aF0(a,b){a=a|0;b=b|0;ag(0,a|0,b|0)}function aF1(a,b){a=a|0;b=b|0;ag(1,a|0,b|0)}function aF2(a,b){a=a|0;b=b|0;ag(2,a|0,b|0)}function aF3(a,b){a=a|0;b=b|0;ag(3,a|0,b|0)}function aF4(a,b){a=a|0;b=b|0;ag(4,a|0,b|0)}function aF5(a,b){a=a|0;b=b|0;ag(5,a|0,b|0)}function aF6(a,b){a=a|0;b=b|0;ag(6,a|0,b|0)}function aF7(a,b){a=a|0;b=b|0;ag(7,a|0,b|0)}function aF8(a,b){a=a|0;b=b|0;ag(8,a|0,b|0)}function aF9(a,b){a=a|0;b=b|0;ag(9,a|0,b|0)}function aGa(a,b){a=a|0;b=b|0;ag(10,a|0,b|0)}function aGb(a,b){a=a|0;b=b|0;ag(11,a|0,b|0)}function aGc(a,b){a=a|0;b=b|0;ag(12,a|0,b|0)}function aGd(a,b){a=a|0;b=b|0;ag(13,a|0,b|0)}function aGe(a,b){a=a|0;b=b|0;ag(14,a|0,b|0)}function aGf(a,b){a=a|0;b=b|0;ag(15,a|0,b|0)}function aGg(a,b){a=a|0;b=b|0;ag(16,a|0,b|0)}function aGh(a,b){a=a|0;b=b|0;ag(17,a|0,b|0)}function aGi(a,b){a=a|0;b=b|0;ag(18,a|0,b|0)}function aGj(a,b){a=a|0;b=b|0;ag(19,a|0,b|0)}function aGk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;cw[a&63](b|0,c|0,d|0,+e,f|0,g|0)}function aGl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(0,a|0,b|0,c|0,+d,e|0,f|0)}function aGm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(1,a|0,b|0,c|0,+d,e|0,f|0)}function aGn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(2,a|0,b|0,c|0,+d,e|0,f|0)}function aGo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(3,a|0,b|0,c|0,+d,e|0,f|0)}function aGp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(4,a|0,b|0,c|0,+d,e|0,f|0)}function aGq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(5,a|0,b|0,c|0,+d,e|0,f|0)}function aGr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(6,a|0,b|0,c|0,+d,e|0,f|0)}function aGs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(7,a|0,b|0,c|0,+d,e|0,f|0)}function aGt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(8,a|0,b|0,c|0,+d,e|0,f|0)}function aGu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(9,a|0,b|0,c|0,+d,e|0,f|0)}function aGv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(10,a|0,b|0,c|0,+d,e|0,f|0)}function aGw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(11,a|0,b|0,c|0,+d,e|0,f|0)}function aGx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(12,a|0,b|0,c|0,+d,e|0,f|0)}function aGy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(13,a|0,b|0,c|0,+d,e|0,f|0)}function aGz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(14,a|0,b|0,c|0,+d,e|0,f|0)}function aGA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(15,a|0,b|0,c|0,+d,e|0,f|0)}function aGB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(16,a|0,b|0,c|0,+d,e|0,f|0)}function aGC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(17,a|0,b|0,c|0,+d,e|0,f|0)}function aGD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(18,a|0,b|0,c|0,+d,e|0,f|0)}function aGE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ag(19,a|0,b|0,c|0,+d,e|0,f|0)}function aGF(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;return cx[a&63](+b,+c,+d,+e,+f,+g,+h,+i,+j)|0}function aGG(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(0,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGH(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(1,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGI(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(2,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGJ(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(3,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGK(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(4,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGL(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(5,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGM(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(6,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGN(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(7,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGO(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(8,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGP(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(9,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGQ(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(10,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGR(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(11,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGS(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(12,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGT(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(13,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGU(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(14,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGV(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(15,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGW(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(16,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGX(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(17,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGY(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(18,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aGZ(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;return ag(19,+a,+b,+c,+d,+e,+f,+g,+h,+i)|0}function aG_(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;cy[a&127](b|0,c|0,d|0,e|0,+f)}function aG$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(0,a|0,b|0,c|0,d|0,+e)}function aG0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(1,a|0,b|0,c|0,d|0,+e)}function aG1(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(2,a|0,b|0,c|0,d|0,+e)}function aG2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(3,a|0,b|0,c|0,d|0,+e)}function aG3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(4,a|0,b|0,c|0,d|0,+e)}function aG4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(5,a|0,b|0,c|0,d|0,+e)}function aG5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(6,a|0,b|0,c|0,d|0,+e)}function aG6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(7,a|0,b|0,c|0,d|0,+e)}function aG7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(8,a|0,b|0,c|0,d|0,+e)}function aG8(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(9,a|0,b|0,c|0,d|0,+e)}function aG9(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(10,a|0,b|0,c|0,d|0,+e)}function aHa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(11,a|0,b|0,c|0,d|0,+e)}function aHb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(12,a|0,b|0,c|0,d|0,+e)}function aHc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(13,a|0,b|0,c|0,d|0,+e)}function aHd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(14,a|0,b|0,c|0,d|0,+e)}function aHe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(15,a|0,b|0,c|0,d|0,+e)}function aHf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(16,a|0,b|0,c|0,d|0,+e)}function aHg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(17,a|0,b|0,c|0,d|0,+e)}function aHh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(18,a|0,b|0,c|0,d|0,+e)}function aHi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ag(19,a|0,b|0,c|0,d|0,+e)}function aHj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;cz[a&63](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0)}function aHk(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(0,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(1,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHm(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(2,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHn(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(3,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHo(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(4,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(5,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(6,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(7,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(8,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHt(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(9,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHu(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(10,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHv(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(11,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHw(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(12,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHx(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(13,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHy(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(14,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHz(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(15,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHA(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(16,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHB(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(17,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHC(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(18,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHD(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ag(19,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0)}function aHE(a,b){a=a|0;b=b|0;return cA[a&4095](b|0)|0}function aHF(a){a=a|0;return ag(0,a|0)|0}function aHG(a){a=a|0;return ag(1,a|0)|0}function aHH(a){a=a|0;return ag(2,a|0)|0}function aHI(a){a=a|0;return ag(3,a|0)|0}function aHJ(a){a=a|0;return ag(4,a|0)|0}function aHK(a){a=a|0;return ag(5,a|0)|0}function aHL(a){a=a|0;return ag(6,a|0)|0}function aHM(a){a=a|0;return ag(7,a|0)|0}function aHN(a){a=a|0;return ag(8,a|0)|0}function aHO(a){a=a|0;return ag(9,a|0)|0}function aHP(a){a=a|0;return ag(10,a|0)|0}function aHQ(a){a=a|0;return ag(11,a|0)|0}function aHR(a){a=a|0;return ag(12,a|0)|0}function aHS(a){a=a|0;return ag(13,a|0)|0}function aHT(a){a=a|0;return ag(14,a|0)|0}function aHU(a){a=a|0;return ag(15,a|0)|0}function aHV(a){a=a|0;return ag(16,a|0)|0}function aHW(a){a=a|0;return ag(17,a|0)|0}function aHX(a){a=a|0;return ag(18,a|0)|0}function aHY(a){a=a|0;return ag(19,a|0)|0}function aHZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=+j;return cB[a&63](b|0,c|0,d|0,e|0,f|0,g|0,+h,i|0,+j)|0}function aH_(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH$(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH0(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH1(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH2(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH3(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH4(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH5(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH6(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH7(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH8(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aH9(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIa(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIb(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIc(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aId(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIe(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIf(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIg(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIh(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0,+g,h|0,+i)|0}function aIi(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=f|0;cC[a&63](b|0,+c,+d,+e,f|0)}function aIj(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(0,a|0,+b,+c,+d,e|0)}function aIk(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(1,a|0,+b,+c,+d,e|0)}function aIl(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(2,a|0,+b,+c,+d,e|0)}function aIm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(3,a|0,+b,+c,+d,e|0)}function aIn(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(4,a|0,+b,+c,+d,e|0)}function aIo(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(5,a|0,+b,+c,+d,e|0)}function aIp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(6,a|0,+b,+c,+d,e|0)}function aIq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(7,a|0,+b,+c,+d,e|0)}function aIr(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(8,a|0,+b,+c,+d,e|0)}function aIs(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(9,a|0,+b,+c,+d,e|0)}function aIt(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(10,a|0,+b,+c,+d,e|0)}function aIu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(11,a|0,+b,+c,+d,e|0)}function aIv(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(12,a|0,+b,+c,+d,e|0)}function aIw(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(13,a|0,+b,+c,+d,e|0)}function aIx(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(14,a|0,+b,+c,+d,e|0)}function aIy(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(15,a|0,+b,+c,+d,e|0)}function aIz(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(16,a|0,+b,+c,+d,e|0)}function aIA(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(17,a|0,+b,+c,+d,e|0)}function aIB(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(18,a|0,+b,+c,+d,e|0)}function aIC(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ag(19,a|0,+b,+c,+d,e|0)}function aID(a,b,c,d,e){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;return cD[a&63](+b,c|0,d|0,e|0)|0}function aIE(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(0,+a,b|0,c|0,d|0)|0}function aIF(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(1,+a,b|0,c|0,d|0)|0}function aIG(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(2,+a,b|0,c|0,d|0)|0}function aIH(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(3,+a,b|0,c|0,d|0)|0}function aII(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(4,+a,b|0,c|0,d|0)|0}function aIJ(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(5,+a,b|0,c|0,d|0)|0}function aIK(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(6,+a,b|0,c|0,d|0)|0}function aIL(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(7,+a,b|0,c|0,d|0)|0}function aIM(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(8,+a,b|0,c|0,d|0)|0}function aIN(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(9,+a,b|0,c|0,d|0)|0}function aIO(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(10,+a,b|0,c|0,d|0)|0}function aIP(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(11,+a,b|0,c|0,d|0)|0}function aIQ(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(12,+a,b|0,c|0,d|0)|0}function aIR(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(13,+a,b|0,c|0,d|0)|0}function aIS(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(14,+a,b|0,c|0,d|0)|0}function aIT(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(15,+a,b|0,c|0,d|0)|0}function aIU(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(16,+a,b|0,c|0,d|0)|0}function aIV(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(17,+a,b|0,c|0,d|0)|0}function aIW(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(18,+a,b|0,c|0,d|0)|0}function aIX(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;return ag(19,+a,b|0,c|0,d|0)|0}function aIY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;cE[a&127](b|0,c|0,+d,e|0)}function aIZ(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(0,a|0,b|0,+c,d|0)}function aI_(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(1,a|0,b|0,+c,d|0)}function aI$(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(2,a|0,b|0,+c,d|0)}function aI0(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(3,a|0,b|0,+c,d|0)}function aI1(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(4,a|0,b|0,+c,d|0)}function aI2(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(5,a|0,b|0,+c,d|0)}function aI3(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(6,a|0,b|0,+c,d|0)}function aI4(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(7,a|0,b|0,+c,d|0)}function aI5(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(8,a|0,b|0,+c,d|0)}function aI6(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(9,a|0,b|0,+c,d|0)}function aI7(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(10,a|0,b|0,+c,d|0)}function aI8(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(11,a|0,b|0,+c,d|0)}function aI9(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(12,a|0,b|0,+c,d|0)}function aJa(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(13,a|0,b|0,+c,d|0)}function aJb(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(14,a|0,b|0,+c,d|0)}function aJc(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(15,a|0,b|0,+c,d|0)}function aJd(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(16,a|0,b|0,+c,d|0)}function aJe(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(17,a|0,b|0,+c,d|0)}function aJf(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(18,a|0,b|0,+c,d|0)}function aJg(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ag(19,a|0,b|0,+c,d|0)}function aJh(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;cF[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aJi(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJj(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJk(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJo(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJp(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJq(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJr(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJs(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJy(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJz(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJA(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJB(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aJC(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=+i;cG[a&63](b|0,c|0,d|0,e|0,f|0,g|0,+h,+i)}function aJD(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(0,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJE(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(1,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJF(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(2,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(3,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(4,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJI(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(5,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJJ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(6,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJK(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(7,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJL(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(8,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJM(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(9,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJN(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(10,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJO(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(11,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(12,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJQ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(13,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJR(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(14,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJS(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(15,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJT(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(16,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJU(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(17,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJV(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(18,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJW(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ag(19,a|0,b|0,c|0,d|0,e|0,f|0,+g,+h)}function aJX(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;h=h|0;return cH[a&63](b|0,c|0,d|0,+e,f|0,g|0,h|0)|0}function aJY(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(0,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJZ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(1,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ_(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(2,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ$(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(3,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(4,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ1(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(5,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ2(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(6,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(7,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ4(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(8,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ5(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(9,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(10,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ7(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(11,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ8(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(12,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aJ9(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(13,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aKa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(14,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aKb(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(15,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aKc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(16,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aKd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(17,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aKe(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(18,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aKf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;return ag(19,a|0,b|0,c|0,+d,e|0,f|0,g|0)|0}function aKg(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;return cI[a&63](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)|0}function aKh(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKi(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKj(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKk(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKl(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKm(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKn(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKo(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKp(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKq(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKr(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKs(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKt(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKu(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKv(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKw(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKx(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKy(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKz(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKA(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aKB(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;cJ[a&63](b|0,+c,+d,+e,+f)}function aKC(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(0,a|0,+b,+c,+d,+e)}function aKD(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(1,a|0,+b,+c,+d,+e)}function aKE(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(2,a|0,+b,+c,+d,+e)}function aKF(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(3,a|0,+b,+c,+d,+e)}function aKG(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(4,a|0,+b,+c,+d,+e)}function aKH(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(5,a|0,+b,+c,+d,+e)}function aKI(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(6,a|0,+b,+c,+d,+e)}function aKJ(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(7,a|0,+b,+c,+d,+e)}function aKK(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(8,a|0,+b,+c,+d,+e)}function aKL(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(9,a|0,+b,+c,+d,+e)}function aKM(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(10,a|0,+b,+c,+d,+e)}function aKN(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(11,a|0,+b,+c,+d,+e)}function aKO(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(12,a|0,+b,+c,+d,+e)}function aKP(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(13,a|0,+b,+c,+d,+e)}function aKQ(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(14,a|0,+b,+c,+d,+e)}function aKR(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(15,a|0,+b,+c,+d,+e)}function aKS(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(16,a|0,+b,+c,+d,+e)}function aKT(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(17,a|0,+b,+c,+d,+e)}function aKU(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(18,a|0,+b,+c,+d,+e)}function aKV(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ag(19,a|0,+b,+c,+d,+e)}function aKW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;cK[a&63](b|0,+c,+d,e|0,f|0,g|0)}function aKX(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(0,a|0,+b,+c,d|0,e|0,f|0)}function aKY(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(1,a|0,+b,+c,d|0,e|0,f|0)}function aKZ(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(2,a|0,+b,+c,d|0,e|0,f|0)}function aK_(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(3,a|0,+b,+c,d|0,e|0,f|0)}function aK$(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(4,a|0,+b,+c,d|0,e|0,f|0)}function aK0(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(5,a|0,+b,+c,d|0,e|0,f|0)}function aK1(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(6,a|0,+b,+c,d|0,e|0,f|0)}function aK2(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(7,a|0,+b,+c,d|0,e|0,f|0)}function aK3(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(8,a|0,+b,+c,d|0,e|0,f|0)}function aK4(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(9,a|0,+b,+c,d|0,e|0,f|0)}function aK5(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(10,a|0,+b,+c,d|0,e|0,f|0)}function aK6(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(11,a|0,+b,+c,d|0,e|0,f|0)}function aK7(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(12,a|0,+b,+c,d|0,e|0,f|0)}function aK8(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(13,a|0,+b,+c,d|0,e|0,f|0)}function aK9(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(14,a|0,+b,+c,d|0,e|0,f|0)}function aLa(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(15,a|0,+b,+c,d|0,e|0,f|0)}function aLb(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(16,a|0,+b,+c,d|0,e|0,f|0)}function aLc(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(17,a|0,+b,+c,d|0,e|0,f|0)}function aLd(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(18,a|0,+b,+c,d|0,e|0,f|0)}function aLe(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ag(19,a|0,+b,+c,d|0,e|0,f|0)}function aLf(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cL[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aLg(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLh(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLi(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLj(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLk(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLl(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLm(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLn(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLo(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLr(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLs(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLu(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLv(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLw(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLx(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLy(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLz(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function aLA(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=f|0;g=g|0;return+cM[a&63](b|0,+c,d|0,+e,f|0,g|0)}function aLB(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(0,a|0,+b,c|0,+d,e|0,f|0)}function aLC(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(1,a|0,+b,c|0,+d,e|0,f|0)}function aLD(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(2,a|0,+b,c|0,+d,e|0,f|0)}function aLE(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(3,a|0,+b,c|0,+d,e|0,f|0)}function aLF(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(4,a|0,+b,c|0,+d,e|0,f|0)}function aLG(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(5,a|0,+b,c|0,+d,e|0,f|0)}function aLH(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(6,a|0,+b,c|0,+d,e|0,f|0)}function aLI(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(7,a|0,+b,c|0,+d,e|0,f|0)}function aLJ(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(8,a|0,+b,c|0,+d,e|0,f|0)}function aLK(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(9,a|0,+b,c|0,+d,e|0,f|0)}function aLL(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(10,a|0,+b,c|0,+d,e|0,f|0)}function aLM(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(11,a|0,+b,c|0,+d,e|0,f|0)}function aLN(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(12,a|0,+b,c|0,+d,e|0,f|0)}function aLO(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(13,a|0,+b,c|0,+d,e|0,f|0)}function aLP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(14,a|0,+b,c|0,+d,e|0,f|0)}function aLQ(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(15,a|0,+b,c|0,+d,e|0,f|0)}function aLR(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(16,a|0,+b,c|0,+d,e|0,f|0)}function aLS(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(17,a|0,+b,c|0,+d,e|0,f|0)}function aLT(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(18,a|0,+b,c|0,+d,e|0,f|0)}function aLU(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;return+ag(19,a|0,+b,c|0,+d,e|0,f|0)}function aLV(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return+cN[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function aLW(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aLX(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aLY(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aLZ(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL_(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL$(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL0(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL1(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL2(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL3(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL4(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL5(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL6(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL7(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL8(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aL9(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aMa(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aMb(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aMc(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aMd(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aMe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+cO[a&63](b|0,c|0,+d,e|0,f|0)}function aMf(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(0,a|0,b|0,+c,d|0,e|0)}function aMg(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(1,a|0,b|0,+c,d|0,e|0)}function aMh(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(2,a|0,b|0,+c,d|0,e|0)}function aMi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(3,a|0,b|0,+c,d|0,e|0)}function aMj(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(4,a|0,b|0,+c,d|0,e|0)}function aMk(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(5,a|0,b|0,+c,d|0,e|0)}function aMl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(6,a|0,b|0,+c,d|0,e|0)}function aMm(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(7,a|0,b|0,+c,d|0,e|0)}function aMn(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(8,a|0,b|0,+c,d|0,e|0)}function aMo(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(9,a|0,b|0,+c,d|0,e|0)}function aMp(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(10,a|0,b|0,+c,d|0,e|0)}function aMq(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(11,a|0,b|0,+c,d|0,e|0)}function aMr(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(12,a|0,b|0,+c,d|0,e|0)}function aMs(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(13,a|0,b|0,+c,d|0,e|0)}function aMt(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(14,a|0,b|0,+c,d|0,e|0)}function aMu(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(15,a|0,b|0,+c,d|0,e|0)}function aMv(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(16,a|0,b|0,+c,d|0,e|0)}function aMw(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(17,a|0,b|0,+c,d|0,e|0)}function aMx(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(18,a|0,b|0,+c,d|0,e|0)}function aMy(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return+ag(19,a|0,b|0,+c,d|0,e|0)}function aMz(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return cP[a&63](+b,+c,+d)|0}function aMA(a,b,c){a=+a;b=+b;c=+c;return ag(0,+a,+b,+c)|0}function aMB(a,b,c){a=+a;b=+b;c=+c;return ag(1,+a,+b,+c)|0}function aMC(a,b,c){a=+a;b=+b;c=+c;return ag(2,+a,+b,+c)|0}function aMD(a,b,c){a=+a;b=+b;c=+c;return ag(3,+a,+b,+c)|0}function aME(a,b,c){a=+a;b=+b;c=+c;return ag(4,+a,+b,+c)|0}function aMF(a,b,c){a=+a;b=+b;c=+c;return ag(5,+a,+b,+c)|0}function aMG(a,b,c){a=+a;b=+b;c=+c;return ag(6,+a,+b,+c)|0}function aMH(a,b,c){a=+a;b=+b;c=+c;return ag(7,+a,+b,+c)|0}function aMI(a,b,c){a=+a;b=+b;c=+c;return ag(8,+a,+b,+c)|0}function aMJ(a,b,c){a=+a;b=+b;c=+c;return ag(9,+a,+b,+c)|0}function aMK(a,b,c){a=+a;b=+b;c=+c;return ag(10,+a,+b,+c)|0}function aML(a,b,c){a=+a;b=+b;c=+c;return ag(11,+a,+b,+c)|0}function aMM(a,b,c){a=+a;b=+b;c=+c;return ag(12,+a,+b,+c)|0}function aMN(a,b,c){a=+a;b=+b;c=+c;return ag(13,+a,+b,+c)|0}function aMO(a,b,c){a=+a;b=+b;c=+c;return ag(14,+a,+b,+c)|0}function aMP(a,b,c){a=+a;b=+b;c=+c;return ag(15,+a,+b,+c)|0}function aMQ(a,b,c){a=+a;b=+b;c=+c;return ag(16,+a,+b,+c)|0}function aMR(a,b,c){a=+a;b=+b;c=+c;return ag(17,+a,+b,+c)|0}function aMS(a,b,c){a=+a;b=+b;c=+c;return ag(18,+a,+b,+c)|0}function aMT(a,b,c){a=+a;b=+b;c=+c;return ag(19,+a,+b,+c)|0}function aMU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;cQ[a&63](b|0,c|0,+d,+e)}function aMV(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(0,a|0,b|0,+c,+d)}function aMW(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(1,a|0,b|0,+c,+d)}function aMX(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(2,a|0,b|0,+c,+d)}function aMY(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(3,a|0,b|0,+c,+d)}function aMZ(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(4,a|0,b|0,+c,+d)}function aM_(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(5,a|0,b|0,+c,+d)}function aM$(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(6,a|0,b|0,+c,+d)}function aM0(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(7,a|0,b|0,+c,+d)}function aM1(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(8,a|0,b|0,+c,+d)}function aM2(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(9,a|0,b|0,+c,+d)}function aM3(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(10,a|0,b|0,+c,+d)}function aM4(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(11,a|0,b|0,+c,+d)}function aM5(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(12,a|0,b|0,+c,+d)}function aM6(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(13,a|0,b|0,+c,+d)}function aM7(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(14,a|0,b|0,+c,+d)}function aM8(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(15,a|0,b|0,+c,+d)}function aM9(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(16,a|0,b|0,+c,+d)}function aNa(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(17,a|0,b|0,+c,+d)}function aNb(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(18,a|0,b|0,+c,+d)}function aNc(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ag(19,a|0,b|0,+c,+d)}function aNd(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;return cR[a&63](b|0,+c,d|0)|0}function aNe(a,b,c){a=a|0;b=+b;c=c|0;return ag(0,a|0,+b,c|0)|0}function aNf(a,b,c){a=a|0;b=+b;c=c|0;return ag(1,a|0,+b,c|0)|0}function aNg(a,b,c){a=a|0;b=+b;c=c|0;return ag(2,a|0,+b,c|0)|0}function aNh(a,b,c){a=a|0;b=+b;c=c|0;return ag(3,a|0,+b,c|0)|0}function aNi(a,b,c){a=a|0;b=+b;c=c|0;return ag(4,a|0,+b,c|0)|0}function aNj(a,b,c){a=a|0;b=+b;c=c|0;return ag(5,a|0,+b,c|0)|0}function aNk(a,b,c){a=a|0;b=+b;c=c|0;return ag(6,a|0,+b,c|0)|0}function aNl(a,b,c){a=a|0;b=+b;c=c|0;return ag(7,a|0,+b,c|0)|0}function aNm(a,b,c){a=a|0;b=+b;c=c|0;return ag(8,a|0,+b,c|0)|0}function aNn(a,b,c){a=a|0;b=+b;c=c|0;return ag(9,a|0,+b,c|0)|0}function aNo(a,b,c){a=a|0;b=+b;c=c|0;return ag(10,a|0,+b,c|0)|0}function aNp(a,b,c){a=a|0;b=+b;c=c|0;return ag(11,a|0,+b,c|0)|0}function aNq(a,b,c){a=a|0;b=+b;c=c|0;return ag(12,a|0,+b,c|0)|0}function aNr(a,b,c){a=a|0;b=+b;c=c|0;return ag(13,a|0,+b,c|0)|0}function aNs(a,b,c){a=a|0;b=+b;c=c|0;return ag(14,a|0,+b,c|0)|0}function aNt(a,b,c){a=a|0;b=+b;c=c|0;return ag(15,a|0,+b,c|0)|0}function aNu(a,b,c){a=a|0;b=+b;c=c|0;return ag(16,a|0,+b,c|0)|0}function aNv(a,b,c){a=a|0;b=+b;c=c|0;return ag(17,a|0,+b,c|0)|0}function aNw(a,b,c){a=a|0;b=+b;c=c|0;return ag(18,a|0,+b,c|0)|0}function aNx(a,b,c){a=a|0;b=+b;c=c|0;return ag(19,a|0,+b,c|0)|0}function aNy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return cS[a&511](b|0,c|0,d|0)|0}function aNz(a,b,c){a=a|0;b=b|0;c=c|0;return ag(0,a|0,b|0,c|0)|0}function aNA(a,b,c){a=a|0;b=b|0;c=c|0;return ag(1,a|0,b|0,c|0)|0}function aNB(a,b,c){a=a|0;b=b|0;c=c|0;return ag(2,a|0,b|0,c|0)|0}function aNC(a,b,c){a=a|0;b=b|0;c=c|0;return ag(3,a|0,b|0,c|0)|0}function aND(a,b,c){a=a|0;b=b|0;c=c|0;return ag(4,a|0,b|0,c|0)|0}function aNE(a,b,c){a=a|0;b=b|0;c=c|0;return ag(5,a|0,b|0,c|0)|0}function aNF(a,b,c){a=a|0;b=b|0;c=c|0;return ag(6,a|0,b|0,c|0)|0}function aNG(a,b,c){a=a|0;b=b|0;c=c|0;return ag(7,a|0,b|0,c|0)|0}function aNH(a,b,c){a=a|0;b=b|0;c=c|0;return ag(8,a|0,b|0,c|0)|0}function aNI(a,b,c){a=a|0;b=b|0;c=c|0;return ag(9,a|0,b|0,c|0)|0}function aNJ(a,b,c){a=a|0;b=b|0;c=c|0;return ag(10,a|0,b|0,c|0)|0}function aNK(a,b,c){a=a|0;b=b|0;c=c|0;return ag(11,a|0,b|0,c|0)|0}function aNL(a,b,c){a=a|0;b=b|0;c=c|0;return ag(12,a|0,b|0,c|0)|0}function aNM(a,b,c){a=a|0;b=b|0;c=c|0;return ag(13,a|0,b|0,c|0)|0}function aNN(a,b,c){a=a|0;b=b|0;c=c|0;return ag(14,a|0,b|0,c|0)|0}function aNO(a,b,c){a=a|0;b=b|0;c=c|0;return ag(15,a|0,b|0,c|0)|0}function aNP(a,b,c){a=a|0;b=b|0;c=c|0;return ag(16,a|0,b|0,c|0)|0}function aNQ(a,b,c){a=a|0;b=b|0;c=c|0;return ag(17,a|0,b|0,c|0)|0}function aNR(a,b,c){a=a|0;b=b|0;c=c|0;return ag(18,a|0,b|0,c|0)|0}function aNS(a,b,c){a=a|0;b=b|0;c=c|0;return ag(19,a|0,b|0,c|0)|0}function aNT(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;cT[a&63](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0)}function aNU(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(0,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aNV(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(1,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aNW(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(2,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aNX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(3,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aNY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(4,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aNZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(5,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN_(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(6,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN$(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(7,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(8,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN1(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(9,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN2(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(10,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN3(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(11,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(12,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN5(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(13,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN6(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(14,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN7(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(15,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN8(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(16,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aN9(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(17,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aOa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(18,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aOb(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ag(19,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0)}function aOc(a,b,c){a=a|0;b=b|0;c=+c;return+cU[a&127](b|0,+c)}function aOd(a,b){a=a|0;b=+b;return+ag(0,a|0,+b)}function aOe(a,b){a=a|0;b=+b;return+ag(1,a|0,+b)}function aOf(a,b){a=a|0;b=+b;return+ag(2,a|0,+b)}function aOg(a,b){a=a|0;b=+b;return+ag(3,a|0,+b)}function aOh(a,b){a=a|0;b=+b;return+ag(4,a|0,+b)}function aOi(a,b){a=a|0;b=+b;return+ag(5,a|0,+b)}function aOj(a,b){a=a|0;b=+b;return+ag(6,a|0,+b)}function aOk(a,b){a=a|0;b=+b;return+ag(7,a|0,+b)}function aOl(a,b){a=a|0;b=+b;return+ag(8,a|0,+b)}function aOm(a,b){a=a|0;b=+b;return+ag(9,a|0,+b)}function aOn(a,b){a=a|0;b=+b;return+ag(10,a|0,+b)}function aOo(a,b){a=a|0;b=+b;return+ag(11,a|0,+b)}function aOp(a,b){a=a|0;b=+b;return+ag(12,a|0,+b)}function aOq(a,b){a=a|0;b=+b;return+ag(13,a|0,+b)}function aOr(a,b){a=a|0;b=+b;return+ag(14,a|0,+b)}function aOs(a,b){a=a|0;b=+b;return+ag(15,a|0,+b)}function aOt(a,b){a=a|0;b=+b;return+ag(16,a|0,+b)}function aOu(a,b){a=a|0;b=+b;return+ag(17,a|0,+b)}function aOv(a,b){a=a|0;b=+b;return+ag(18,a|0,+b)}function aOw(a,b){a=a|0;b=+b;return+ag(19,a|0,+b)}function aOx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return cV[a&63](b|0,c|0,d|0,+e,+f)|0}function aOy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(0,a|0,b|0,c|0,+d,+e)|0}function aOz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(1,a|0,b|0,c|0,+d,+e)|0}function aOA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(2,a|0,b|0,c|0,+d,+e)|0}function aOB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(3,a|0,b|0,c|0,+d,+e)|0}function aOC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(4,a|0,b|0,c|0,+d,+e)|0}function aOD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(5,a|0,b|0,c|0,+d,+e)|0}function aOE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(6,a|0,b|0,c|0,+d,+e)|0}function aOF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(7,a|0,b|0,c|0,+d,+e)|0}function aOG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(8,a|0,b|0,c|0,+d,+e)|0}function aOH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(9,a|0,b|0,c|0,+d,+e)|0}function aOI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(10,a|0,b|0,c|0,+d,+e)|0}function aOJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(11,a|0,b|0,c|0,+d,+e)|0}function aOK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(12,a|0,b|0,c|0,+d,+e)|0}function aOL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(13,a|0,b|0,c|0,+d,+e)|0}function aOM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(14,a|0,b|0,c|0,+d,+e)|0}function aON(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(15,a|0,b|0,c|0,+d,+e)|0}function aOO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(16,a|0,b|0,c|0,+d,+e)|0}function aOP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(17,a|0,b|0,c|0,+d,+e)|0}function aOQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(18,a|0,b|0,c|0,+d,+e)|0}function aOR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return ag(19,a|0,b|0,c|0,+d,+e)|0}function aOS(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;cW[a&63](b|0,+c,+d)}function aOT(a,b,c){a=a|0;b=+b;c=+c;ag(0,a|0,+b,+c)}function aOU(a,b,c){a=a|0;b=+b;c=+c;ag(1,a|0,+b,+c)}function aOV(a,b,c){a=a|0;b=+b;c=+c;ag(2,a|0,+b,+c)}function aOW(a,b,c){a=a|0;b=+b;c=+c;ag(3,a|0,+b,+c)}function aOX(a,b,c){a=a|0;b=+b;c=+c;ag(4,a|0,+b,+c)}function aOY(a,b,c){a=a|0;b=+b;c=+c;ag(5,a|0,+b,+c)}function aOZ(a,b,c){a=a|0;b=+b;c=+c;ag(6,a|0,+b,+c)}function aO_(a,b,c){a=a|0;b=+b;c=+c;ag(7,a|0,+b,+c)}function aO$(a,b,c){a=a|0;b=+b;c=+c;ag(8,a|0,+b,+c)}function aO0(a,b,c){a=a|0;b=+b;c=+c;ag(9,a|0,+b,+c)}function aO1(a,b,c){a=a|0;b=+b;c=+c;ag(10,a|0,+b,+c)}function aO2(a,b,c){a=a|0;b=+b;c=+c;ag(11,a|0,+b,+c)}function aO3(a,b,c){a=a|0;b=+b;c=+c;ag(12,a|0,+b,+c)}function aO4(a,b,c){a=a|0;b=+b;c=+c;ag(13,a|0,+b,+c)}function aO5(a,b,c){a=a|0;b=+b;c=+c;ag(14,a|0,+b,+c)}function aO6(a,b,c){a=a|0;b=+b;c=+c;ag(15,a|0,+b,+c)}function aO7(a,b,c){a=a|0;b=+b;c=+c;ag(16,a|0,+b,+c)}function aO8(a,b,c){a=a|0;b=+b;c=+c;ag(17,a|0,+b,+c)}function aO9(a,b,c){a=a|0;b=+b;c=+c;ag(18,a|0,+b,+c)}function aPa(a,b,c){a=a|0;b=+b;c=+c;ag(19,a|0,+b,+c)}function aPb(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;cX[a&255](b|0,+c,d|0)}function aPc(a,b,c){a=a|0;b=+b;c=c|0;ag(0,a|0,+b,c|0)}function aPd(a,b,c){a=a|0;b=+b;c=c|0;ag(1,a|0,+b,c|0)}function aPe(a,b,c){a=a|0;b=+b;c=c|0;ag(2,a|0,+b,c|0)}function aPf(a,b,c){a=a|0;b=+b;c=c|0;ag(3,a|0,+b,c|0)}function aPg(a,b,c){a=a|0;b=+b;c=c|0;ag(4,a|0,+b,c|0)}function aPh(a,b,c){a=a|0;b=+b;c=c|0;ag(5,a|0,+b,c|0)}function aPi(a,b,c){a=a|0;b=+b;c=c|0;ag(6,a|0,+b,c|0)}function aPj(a,b,c){a=a|0;b=+b;c=c|0;ag(7,a|0,+b,c|0)}function aPk(a,b,c){a=a|0;b=+b;c=c|0;ag(8,a|0,+b,c|0)}function aPl(a,b,c){a=a|0;b=+b;c=c|0;ag(9,a|0,+b,c|0)}function aPm(a,b,c){a=a|0;b=+b;c=c|0;ag(10,a|0,+b,c|0)}function aPn(a,b,c){a=a|0;b=+b;c=c|0;ag(11,a|0,+b,c|0)}function aPo(a,b,c){a=a|0;b=+b;c=c|0;ag(12,a|0,+b,c|0)}function aPp(a,b,c){a=a|0;b=+b;c=c|0;ag(13,a|0,+b,c|0)}function aPq(a,b,c){a=a|0;b=+b;c=c|0;ag(14,a|0,+b,c|0)}function aPr(a,b,c){a=a|0;b=+b;c=c|0;ag(15,a|0,+b,c|0)}function aPs(a,b,c){a=a|0;b=+b;c=c|0;ag(16,a|0,+b,c|0)}function aPt(a,b,c){a=a|0;b=+b;c=c|0;ag(17,a|0,+b,c|0)}function aPu(a,b,c){a=a|0;b=+b;c=c|0;ag(18,a|0,+b,c|0)}function aPv(a,b,c){a=a|0;b=+b;c=c|0;ag(19,a|0,+b,c|0)}function aPw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;cY[a&63](b|0,c|0,d|0,e|0,f|0,+g)}function aPx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(0,a|0,b|0,c|0,d|0,e|0,+f)}function aPy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(1,a|0,b|0,c|0,d|0,e|0,+f)}function aPz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(2,a|0,b|0,c|0,d|0,e|0,+f)}function aPA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(3,a|0,b|0,c|0,d|0,e|0,+f)}function aPB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(4,a|0,b|0,c|0,d|0,e|0,+f)}function aPC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(5,a|0,b|0,c|0,d|0,e|0,+f)}function aPD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(6,a|0,b|0,c|0,d|0,e|0,+f)}function aPE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(7,a|0,b|0,c|0,d|0,e|0,+f)}function aPF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(8,a|0,b|0,c|0,d|0,e|0,+f)}function aPG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(9,a|0,b|0,c|0,d|0,e|0,+f)}function aPH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(10,a|0,b|0,c|0,d|0,e|0,+f)}function aPI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(11,a|0,b|0,c|0,d|0,e|0,+f)}function aPJ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(12,a|0,b|0,c|0,d|0,e|0,+f)}function aPK(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(13,a|0,b|0,c|0,d|0,e|0,+f)}function aPL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(14,a|0,b|0,c|0,d|0,e|0,+f)}function aPM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(15,a|0,b|0,c|0,d|0,e|0,+f)}function aPN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(16,a|0,b|0,c|0,d|0,e|0,+f)}function aPO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(17,a|0,b|0,c|0,d|0,e|0,+f)}function aPP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(18,a|0,b|0,c|0,d|0,e|0,+f)}function aPQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ag(19,a|0,b|0,c|0,d|0,e|0,+f)}function aPR(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;cZ[a&127](b|0,+c,+d,+e)}function aPS(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(0,a|0,+b,+c,+d)}function aPT(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(1,a|0,+b,+c,+d)}function aPU(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(2,a|0,+b,+c,+d)}function aPV(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(3,a|0,+b,+c,+d)}function aPW(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(4,a|0,+b,+c,+d)}function aPX(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(5,a|0,+b,+c,+d)}function aPY(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(6,a|0,+b,+c,+d)}function aPZ(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(7,a|0,+b,+c,+d)}function aP_(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(8,a|0,+b,+c,+d)}function aP$(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(9,a|0,+b,+c,+d)}function aP0(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(10,a|0,+b,+c,+d)}function aP1(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(11,a|0,+b,+c,+d)}function aP2(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(12,a|0,+b,+c,+d)}function aP3(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(13,a|0,+b,+c,+d)}function aP4(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(14,a|0,+b,+c,+d)}function aP5(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(15,a|0,+b,+c,+d)}function aP6(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(16,a|0,+b,+c,+d)}function aP7(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(17,a|0,+b,+c,+d)}function aP8(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(18,a|0,+b,+c,+d)}function aP9(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ag(19,a|0,+b,+c,+d)}function aQa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;c_[a&127](b|0,c|0,d|0,e|0,f|0,g|0)}function aQb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(0,a|0,b|0,c|0,d|0,e|0,f|0)}function aQc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(1,a|0,b|0,c|0,d|0,e|0,f|0)}function aQd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(2,a|0,b|0,c|0,d|0,e|0,f|0)}function aQe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(3,a|0,b|0,c|0,d|0,e|0,f|0)}function aQf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(4,a|0,b|0,c|0,d|0,e|0,f|0)}function aQg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(5,a|0,b|0,c|0,d|0,e|0,f|0)}function aQh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(6,a|0,b|0,c|0,d|0,e|0,f|0)}function aQi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(7,a|0,b|0,c|0,d|0,e|0,f|0)}function aQj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(8,a|0,b|0,c|0,d|0,e|0,f|0)}function aQk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(9,a|0,b|0,c|0,d|0,e|0,f|0)}function aQl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(10,a|0,b|0,c|0,d|0,e|0,f|0)}function aQm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(11,a|0,b|0,c|0,d|0,e|0,f|0)}function aQn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(12,a|0,b|0,c|0,d|0,e|0,f|0)}function aQo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(13,a|0,b|0,c|0,d|0,e|0,f|0)}function aQp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(14,a|0,b|0,c|0,d|0,e|0,f|0)}function aQq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(15,a|0,b|0,c|0,d|0,e|0,f|0)}function aQr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(16,a|0,b|0,c|0,d|0,e|0,f|0)}function aQs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(17,a|0,b|0,c|0,d|0,e|0,f|0)}function aQt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(18,a|0,b|0,c|0,d|0,e|0,f|0)}function aQu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ag(19,a|0,b|0,c|0,d|0,e|0,f|0)}function aQv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return+c$[a&63](b|0,c|0,+d,+e)}function aQw(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(0,a|0,b|0,+c,+d)}function aQx(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(1,a|0,b|0,+c,+d)}function aQy(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(2,a|0,b|0,+c,+d)}function aQz(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(3,a|0,b|0,+c,+d)}function aQA(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(4,a|0,b|0,+c,+d)}function aQB(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(5,a|0,b|0,+c,+d)}function aQC(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(6,a|0,b|0,+c,+d)}function aQD(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(7,a|0,b|0,+c,+d)}function aQE(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(8,a|0,b|0,+c,+d)}function aQF(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(9,a|0,b|0,+c,+d)}function aQG(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(10,a|0,b|0,+c,+d)}function aQH(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(11,a|0,b|0,+c,+d)}function aQI(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(12,a|0,b|0,+c,+d)}function aQJ(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(13,a|0,b|0,+c,+d)}function aQK(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(14,a|0,b|0,+c,+d)}function aQL(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(15,a|0,b|0,+c,+d)}function aQM(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(16,a|0,b|0,+c,+d)}function aQN(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(17,a|0,b|0,+c,+d)}function aQO(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(18,a|0,b|0,+c,+d)}function aQP(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return+ag(19,a|0,b|0,+c,+d)}function aQQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return c0[a&127](b|0,c|0,+d)|0}function aQR(a,b,c){a=a|0;b=b|0;c=+c;return ag(0,a|0,b|0,+c)|0}function aQS(a,b,c){a=a|0;b=b|0;c=+c;return ag(1,a|0,b|0,+c)|0}function aQT(a,b,c){a=a|0;b=b|0;c=+c;return ag(2,a|0,b|0,+c)|0}function aQU(a,b,c){a=a|0;b=b|0;c=+c;return ag(3,a|0,b|0,+c)|0}function aQV(a,b,c){a=a|0;b=b|0;c=+c;return ag(4,a|0,b|0,+c)|0}function aQW(a,b,c){a=a|0;b=b|0;c=+c;return ag(5,a|0,b|0,+c)|0}function aQX(a,b,c){a=a|0;b=b|0;c=+c;return ag(6,a|0,b|0,+c)|0}function aQY(a,b,c){a=a|0;b=b|0;c=+c;return ag(7,a|0,b|0,+c)|0}function aQZ(a,b,c){a=a|0;b=b|0;c=+c;return ag(8,a|0,b|0,+c)|0}function aQ_(a,b,c){a=a|0;b=b|0;c=+c;return ag(9,a|0,b|0,+c)|0}function aQ$(a,b,c){a=a|0;b=b|0;c=+c;return ag(10,a|0,b|0,+c)|0}function aQ0(a,b,c){a=a|0;b=b|0;c=+c;return ag(11,a|0,b|0,+c)|0}function aQ1(a,b,c){a=a|0;b=b|0;c=+c;return ag(12,a|0,b|0,+c)|0}function aQ2(a,b,c){a=a|0;b=b|0;c=+c;return ag(13,a|0,b|0,+c)|0}function aQ3(a,b,c){a=a|0;b=b|0;c=+c;return ag(14,a|0,b|0,+c)|0}function aQ4(a,b,c){a=a|0;b=b|0;c=+c;return ag(15,a|0,b|0,+c)|0}function aQ5(a,b,c){a=a|0;b=b|0;c=+c;return ag(16,a|0,b|0,+c)|0}function aQ6(a,b,c){a=a|0;b=b|0;c=+c;return ag(17,a|0,b|0,+c)|0}function aQ7(a,b,c){a=a|0;b=b|0;c=+c;return ag(18,a|0,b|0,+c)|0}function aQ8(a,b,c){a=a|0;b=b|0;c=+c;return ag(19,a|0,b|0,+c)|0}function aQ9(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return c1[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function aRa(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRb(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRe(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRf(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRg(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRi(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function aRu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c2[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aRv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRy(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRB(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRC(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRD(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRE(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRF(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRI(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRJ(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRK(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRL(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRM(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRN(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRO(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aRP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;c3[a&63](b|0,+c,+d,+e,+f,+g,+h)}function aRQ(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(0,a|0,+b,+c,+d,+e,+f,+g)}function aRR(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(1,a|0,+b,+c,+d,+e,+f,+g)}function aRS(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(2,a|0,+b,+c,+d,+e,+f,+g)}function aRT(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(3,a|0,+b,+c,+d,+e,+f,+g)}function aRU(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(4,a|0,+b,+c,+d,+e,+f,+g)}function aRV(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(5,a|0,+b,+c,+d,+e,+f,+g)}function aRW(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(6,a|0,+b,+c,+d,+e,+f,+g)}function aRX(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(7,a|0,+b,+c,+d,+e,+f,+g)}function aRY(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(8,a|0,+b,+c,+d,+e,+f,+g)}function aRZ(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(9,a|0,+b,+c,+d,+e,+f,+g)}function aR_(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(10,a|0,+b,+c,+d,+e,+f,+g)}function aR$(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(11,a|0,+b,+c,+d,+e,+f,+g)}function aR0(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(12,a|0,+b,+c,+d,+e,+f,+g)}function aR1(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(13,a|0,+b,+c,+d,+e,+f,+g)}function aR2(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(14,a|0,+b,+c,+d,+e,+f,+g)}function aR3(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(15,a|0,+b,+c,+d,+e,+f,+g)}function aR4(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(16,a|0,+b,+c,+d,+e,+f,+g)}function aR5(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(17,a|0,+b,+c,+d,+e,+f,+g)}function aR6(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(18,a|0,+b,+c,+d,+e,+f,+g)}function aR7(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ag(19,a|0,+b,+c,+d,+e,+f,+g)}function aR8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return+c4[a&127](b|0,c|0,d|0)}function aR9(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(0,a|0,b|0,c|0)}function aSa(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(1,a|0,b|0,c|0)}function aSb(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(2,a|0,b|0,c|0)}function aSc(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(3,a|0,b|0,c|0)}function aSd(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(4,a|0,b|0,c|0)}function aSe(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(5,a|0,b|0,c|0)}function aSf(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(6,a|0,b|0,c|0)}function aSg(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(7,a|0,b|0,c|0)}function aSh(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(8,a|0,b|0,c|0)}function aSi(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(9,a|0,b|0,c|0)}function aSj(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(10,a|0,b|0,c|0)}function aSk(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(11,a|0,b|0,c|0)}function aSl(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(12,a|0,b|0,c|0)}function aSm(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(13,a|0,b|0,c|0)}function aSn(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(14,a|0,b|0,c|0)}function aSo(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(15,a|0,b|0,c|0)}function aSp(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(16,a|0,b|0,c|0)}function aSq(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(17,a|0,b|0,c|0)}function aSr(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(18,a|0,b|0,c|0)}function aSs(a,b,c){a=a|0;b=b|0;c=c|0;return+ag(19,a|0,b|0,c|0)}function aSt(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return c5[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function aSu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSy(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSz(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSA(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSB(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSC(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSD(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSE(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSF(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSG(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSH(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSI(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSJ(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSK(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSL(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSM(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSN(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function aSO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return+c6[a&63](b|0,c|0,+d)}function aSP(a,b,c){a=a|0;b=b|0;c=+c;return+ag(0,a|0,b|0,+c)}function aSQ(a,b,c){a=a|0;b=b|0;c=+c;return+ag(1,a|0,b|0,+c)}function aSR(a,b,c){a=a|0;b=b|0;c=+c;return+ag(2,a|0,b|0,+c)}function aSS(a,b,c){a=a|0;b=b|0;c=+c;return+ag(3,a|0,b|0,+c)}function aST(a,b,c){a=a|0;b=b|0;c=+c;return+ag(4,a|0,b|0,+c)}function aSU(a,b,c){a=a|0;b=b|0;c=+c;return+ag(5,a|0,b|0,+c)}function aSV(a,b,c){a=a|0;b=b|0;c=+c;return+ag(6,a|0,b|0,+c)}function aSW(a,b,c){a=a|0;b=b|0;c=+c;return+ag(7,a|0,b|0,+c)}function aSX(a,b,c){a=a|0;b=b|0;c=+c;return+ag(8,a|0,b|0,+c)}function aSY(a,b,c){a=a|0;b=b|0;c=+c;return+ag(9,a|0,b|0,+c)}function aSZ(a,b,c){a=a|0;b=b|0;c=+c;return+ag(10,a|0,b|0,+c)}function aS_(a,b,c){a=a|0;b=b|0;c=+c;return+ag(11,a|0,b|0,+c)}function aS$(a,b,c){a=a|0;b=b|0;c=+c;return+ag(12,a|0,b|0,+c)}function aS0(a,b,c){a=a|0;b=b|0;c=+c;return+ag(13,a|0,b|0,+c)}function aS1(a,b,c){a=a|0;b=b|0;c=+c;return+ag(14,a|0,b|0,+c)}function aS2(a,b,c){a=a|0;b=b|0;c=+c;return+ag(15,a|0,b|0,+c)}function aS3(a,b,c){a=a|0;b=b|0;c=+c;return+ag(16,a|0,b|0,+c)}function aS4(a,b,c){a=a|0;b=b|0;c=+c;return+ag(17,a|0,b|0,+c)}function aS5(a,b,c){a=a|0;b=b|0;c=+c;return+ag(18,a|0,b|0,+c)}function aS6(a,b,c){a=a|0;b=b|0;c=+c;return+ag(19,a|0,b|0,+c)}function aS7(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+c7[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aS8(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aS9(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTa(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTb(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTc(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTd(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTe(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTf(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTg(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTh(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTi(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTj(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTk(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTm(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTn(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTo(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTs(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;return c8[a&63](+b,c|0,d|0)|0}function aTt(a,b,c){a=+a;b=b|0;c=c|0;return ag(0,+a,b|0,c|0)|0}function aTu(a,b,c){a=+a;b=b|0;c=c|0;return ag(1,+a,b|0,c|0)|0}function aTv(a,b,c){a=+a;b=b|0;c=c|0;return ag(2,+a,b|0,c|0)|0}function aTw(a,b,c){a=+a;b=b|0;c=c|0;return ag(3,+a,b|0,c|0)|0}function aTx(a,b,c){a=+a;b=b|0;c=c|0;return ag(4,+a,b|0,c|0)|0}function aTy(a,b,c){a=+a;b=b|0;c=c|0;return ag(5,+a,b|0,c|0)|0}function aTz(a,b,c){a=+a;b=b|0;c=c|0;return ag(6,+a,b|0,c|0)|0}function aTA(a,b,c){a=+a;b=b|0;c=c|0;return ag(7,+a,b|0,c|0)|0}function aTB(a,b,c){a=+a;b=b|0;c=c|0;return ag(8,+a,b|0,c|0)|0}function aTC(a,b,c){a=+a;b=b|0;c=c|0;return ag(9,+a,b|0,c|0)|0}function aTD(a,b,c){a=+a;b=b|0;c=c|0;return ag(10,+a,b|0,c|0)|0}function aTE(a,b,c){a=+a;b=b|0;c=c|0;return ag(11,+a,b|0,c|0)|0}function aTF(a,b,c){a=+a;b=b|0;c=c|0;return ag(12,+a,b|0,c|0)|0}function aTG(a,b,c){a=+a;b=b|0;c=c|0;return ag(13,+a,b|0,c|0)|0}function aTH(a,b,c){a=+a;b=b|0;c=c|0;return ag(14,+a,b|0,c|0)|0}function aTI(a,b,c){a=+a;b=b|0;c=c|0;return ag(15,+a,b|0,c|0)|0}function aTJ(a,b,c){a=+a;b=b|0;c=c|0;return ag(16,+a,b|0,c|0)|0}function aTK(a,b,c){a=+a;b=b|0;c=c|0;return ag(17,+a,b|0,c|0)|0}function aTL(a,b,c){a=+a;b=b|0;c=c|0;return ag(18,+a,b|0,c|0)|0}function aTM(a,b,c){a=+a;b=b|0;c=c|0;return ag(19,+a,b|0,c|0)|0}function aTN(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return+c9[a&63](b|0,+c,+d,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aTO(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(0,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTP(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(1,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTQ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(2,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTR(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(3,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTS(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(4,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTT(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(5,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTU(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(6,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTV(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(7,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTW(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(8,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(9,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(10,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aTZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(11,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT_(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(12,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT$(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(13,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(14,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT1(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(15,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT2(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(16,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT3(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(17,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(18,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT5(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return+ag(19,a|0,+b,+c,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aT6(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;return da[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)|0}function aT7(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aT8(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aT9(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUa(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUb(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUc(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUd(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUe(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUf(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUg(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUh(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUi(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUj(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUk(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUl(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUm(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUn(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUo(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUp(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUq(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function aUr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return+db[a&127](b|0,c|0,d|0,e|0,f|0)}function aUs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(0,a|0,b|0,c|0,d|0,e|0)}function aUt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(1,a|0,b|0,c|0,d|0,e|0)}function aUu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(2,a|0,b|0,c|0,d|0,e|0)}function aUv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(3,a|0,b|0,c|0,d|0,e|0)}function aUw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(4,a|0,b|0,c|0,d|0,e|0)}function aUx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(5,a|0,b|0,c|0,d|0,e|0)}function aUy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(6,a|0,b|0,c|0,d|0,e|0)}function aUz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(7,a|0,b|0,c|0,d|0,e|0)}function aUA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(8,a|0,b|0,c|0,d|0,e|0)}function aUB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(9,a|0,b|0,c|0,d|0,e|0)}function aUC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(10,a|0,b|0,c|0,d|0,e|0)}function aUD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(11,a|0,b|0,c|0,d|0,e|0)}function aUE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(12,a|0,b|0,c|0,d|0,e|0)}function aUF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(13,a|0,b|0,c|0,d|0,e|0)}function aUG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(14,a|0,b|0,c|0,d|0,e|0)}function aUH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(15,a|0,b|0,c|0,d|0,e|0)}function aUI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(16,a|0,b|0,c|0,d|0,e|0)}function aUJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(17,a|0,b|0,c|0,d|0,e|0)}function aUK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(18,a|0,b|0,c|0,d|0,e|0)}function aUL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+ag(19,a|0,b|0,c|0,d|0,e|0)}function aUM(a,b,c){a=a|0;b=b|0;c=+c;return dc[a&127](b|0,+c)|0}function aUN(a,b){a=a|0;b=+b;return ag(0,a|0,+b)|0}function aUO(a,b){a=a|0;b=+b;return ag(1,a|0,+b)|0}function aUP(a,b){a=a|0;b=+b;return ag(2,a|0,+b)|0}function aUQ(a,b){a=a|0;b=+b;return ag(3,a|0,+b)|0}function aUR(a,b){a=a|0;b=+b;return ag(4,a|0,+b)|0}function aUS(a,b){a=a|0;b=+b;return ag(5,a|0,+b)|0}function aUT(a,b){a=a|0;b=+b;return ag(6,a|0,+b)|0}function aUU(a,b){a=a|0;b=+b;return ag(7,a|0,+b)|0}function aUV(a,b){a=a|0;b=+b;return ag(8,a|0,+b)|0}function aUW(a,b){a=a|0;b=+b;return ag(9,a|0,+b)|0}function aUX(a,b){a=a|0;b=+b;return ag(10,a|0,+b)|0}function aUY(a,b){a=a|0;b=+b;return ag(11,a|0,+b)|0}function aUZ(a,b){a=a|0;b=+b;return ag(12,a|0,+b)|0}function aU_(a,b){a=a|0;b=+b;return ag(13,a|0,+b)|0}function aU$(a,b){a=a|0;b=+b;return ag(14,a|0,+b)|0}function aU0(a,b){a=a|0;b=+b;return ag(15,a|0,+b)|0}function aU1(a,b){a=a|0;b=+b;return ag(16,a|0,+b)|0}function aU2(a,b){a=a|0;b=+b;return ag(17,a|0,+b)|0}function aU3(a,b){a=a|0;b=+b;return ag(18,a|0,+b)|0}function aU4(a,b){a=a|0;b=+b;return ag(19,a|0,+b)|0}function aU5(a,b){a=a|0;b=+b;return dd[a&63](+b)|0}function aU6(a){a=+a;return ag(0,+a)|0}function aU7(a){a=+a;return ag(1,+a)|0}function aU8(a){a=+a;return ag(2,+a)|0}function aU9(a){a=+a;return ag(3,+a)|0}function aVa(a){a=+a;return ag(4,+a)|0}function aVb(a){a=+a;return ag(5,+a)|0}function aVc(a){a=+a;return ag(6,+a)|0}function aVd(a){a=+a;return ag(7,+a)|0}function aVe(a){a=+a;return ag(8,+a)|0}function aVf(a){a=+a;return ag(9,+a)|0}function aVg(a){a=+a;return ag(10,+a)|0}function aVh(a){a=+a;return ag(11,+a)|0}function aVi(a){a=+a;return ag(12,+a)|0}function aVj(a){a=+a;return ag(13,+a)|0}function aVk(a){a=+a;return ag(14,+a)|0}function aVl(a){a=+a;return ag(15,+a)|0}function aVm(a){a=+a;return ag(16,+a)|0}function aVn(a){a=+a;return ag(17,+a)|0}function aVo(a){a=+a;return ag(18,+a)|0}function aVp(a){a=+a;return ag(19,+a)|0}function aVq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;de[a&63](b|0,+c,+d,+e,+f,+g)}function aVr(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(0,a|0,+b,+c,+d,+e,+f)}function aVs(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(1,a|0,+b,+c,+d,+e,+f)}function aVt(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(2,a|0,+b,+c,+d,+e,+f)}function aVu(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(3,a|0,+b,+c,+d,+e,+f)}function aVv(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(4,a|0,+b,+c,+d,+e,+f)}function aVw(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(5,a|0,+b,+c,+d,+e,+f)}function aVx(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(6,a|0,+b,+c,+d,+e,+f)}function aVy(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(7,a|0,+b,+c,+d,+e,+f)}function aVz(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(8,a|0,+b,+c,+d,+e,+f)}function aVA(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(9,a|0,+b,+c,+d,+e,+f)}function aVB(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(10,a|0,+b,+c,+d,+e,+f)}function aVC(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(11,a|0,+b,+c,+d,+e,+f)}function aVD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(12,a|0,+b,+c,+d,+e,+f)}function aVE(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(13,a|0,+b,+c,+d,+e,+f)}function aVF(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(14,a|0,+b,+c,+d,+e,+f)}function aVG(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(15,a|0,+b,+c,+d,+e,+f)}function aVH(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(16,a|0,+b,+c,+d,+e,+f)}function aVI(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(17,a|0,+b,+c,+d,+e,+f)}function aVJ(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(18,a|0,+b,+c,+d,+e,+f)}function aVK(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ag(19,a|0,+b,+c,+d,+e,+f)}function aVL(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;df[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,+j)}function aVM(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVN(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVO(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVQ(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVR(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVS(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVT(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVU(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVV(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVW(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVY(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aVZ(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aV_(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aV$(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aV0(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aV1(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aV2(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aV3(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aV4(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;dg[a&63](b|0,+c,d|0,e|0)}function aV5(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(0,a|0,+b,c|0,d|0)}function aV6(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(1,a|0,+b,c|0,d|0)}function aV7(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(2,a|0,+b,c|0,d|0)}function aV8(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(3,a|0,+b,c|0,d|0)}function aV9(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(4,a|0,+b,c|0,d|0)}function aWa(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(5,a|0,+b,c|0,d|0)}function aWb(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(6,a|0,+b,c|0,d|0)}function aWc(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(7,a|0,+b,c|0,d|0)}function aWd(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(8,a|0,+b,c|0,d|0)}function aWe(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(9,a|0,+b,c|0,d|0)}function aWf(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(10,a|0,+b,c|0,d|0)}function aWg(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(11,a|0,+b,c|0,d|0)}function aWh(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(12,a|0,+b,c|0,d|0)}function aWi(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(13,a|0,+b,c|0,d|0)}function aWj(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(14,a|0,+b,c|0,d|0)}function aWk(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(15,a|0,+b,c|0,d|0)}function aWl(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(16,a|0,+b,c|0,d|0)}function aWm(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(17,a|0,+b,c|0,d|0)}function aWn(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(18,a|0,+b,c|0,d|0)}function aWo(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ag(19,a|0,+b,c|0,d|0)}function aWp(a,b){a=a|0;b=b|0;return+dh[a&1023](b|0)}function aWq(a){a=a|0;return+ag(0,a|0)}function aWr(a){a=a|0;return+ag(1,a|0)}function aWs(a){a=a|0;return+ag(2,a|0)}function aWt(a){a=a|0;return+ag(3,a|0)}function aWu(a){a=a|0;return+ag(4,a|0)}function aWv(a){a=a|0;return+ag(5,a|0)}function aWw(a){a=a|0;return+ag(6,a|0)}function aWx(a){a=a|0;return+ag(7,a|0)}function aWy(a){a=a|0;return+ag(8,a|0)}function aWz(a){a=a|0;return+ag(9,a|0)}function aWA(a){a=a|0;return+ag(10,a|0)}function aWB(a){a=a|0;return+ag(11,a|0)}function aWC(a){a=a|0;return+ag(12,a|0)}function aWD(a){a=a|0;return+ag(13,a|0)}function aWE(a){a=a|0;return+ag(14,a|0)}function aWF(a){a=a|0;return+ag(15,a|0)}function aWG(a){a=a|0;return+ag(16,a|0)}function aWH(a){a=a|0;return+ag(17,a|0)}function aWI(a){a=a|0;return+ag(18,a|0)}function aWJ(a){a=a|0;return+ag(19,a|0)}function aWK(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;di[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function aWL(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWM(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWN(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWO(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWP(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWQ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWR(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWS(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWT(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWU(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWV(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWW(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aWZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aW_(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aW$(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aW0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aW1(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aW2(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function aW3(a,b,c){a=a|0;b=b|0;c=c|0;return dj[a&511](b|0,c|0)|0}function aW4(a,b){a=a|0;b=b|0;return ag(0,a|0,b|0)|0}function aW5(a,b){a=a|0;b=b|0;return ag(1,a|0,b|0)|0}function aW6(a,b){a=a|0;b=b|0;return ag(2,a|0,b|0)|0}function aW7(a,b){a=a|0;b=b|0;return ag(3,a|0,b|0)|0}function aW8(a,b){a=a|0;b=b|0;return ag(4,a|0,b|0)|0}function aW9(a,b){a=a|0;b=b|0;return ag(5,a|0,b|0)|0}function aXa(a,b){a=a|0;b=b|0;return ag(6,a|0,b|0)|0}function aXb(a,b){a=a|0;b=b|0;return ag(7,a|0,b|0)|0}function aXc(a,b){a=a|0;b=b|0;return ag(8,a|0,b|0)|0}function aXd(a,b){a=a|0;b=b|0;return ag(9,a|0,b|0)|0}function aXe(a,b){a=a|0;b=b|0;return ag(10,a|0,b|0)|0}function aXf(a,b){a=a|0;b=b|0;return ag(11,a|0,b|0)|0}function aXg(a,b){a=a|0;b=b|0;return ag(12,a|0,b|0)|0}function aXh(a,b){a=a|0;b=b|0;return ag(13,a|0,b|0)|0}function aXi(a,b){a=a|0;b=b|0;return ag(14,a|0,b|0)|0}function aXj(a,b){a=a|0;b=b|0;return ag(15,a|0,b|0)|0}function aXk(a,b){a=a|0;b=b|0;return ag(16,a|0,b|0)|0}function aXl(a,b){a=a|0;b=b|0;return ag(17,a|0,b|0)|0}function aXm(a,b){a=a|0;b=b|0;return ag(18,a|0,b|0)|0}function aXn(a,b){a=a|0;b=b|0;return ag(19,a|0,b|0)|0}function aXo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return dk[a&63](b|0,c|0,d|0,e|0,f|0)|0}function aXp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(0,a|0,b|0,c|0,d|0,e|0)|0}function aXq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(1,a|0,b|0,c|0,d|0,e|0)|0}function aXr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(2,a|0,b|0,c|0,d|0,e|0)|0}function aXs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(3,a|0,b|0,c|0,d|0,e|0)|0}function aXt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(4,a|0,b|0,c|0,d|0,e|0)|0}function aXu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(5,a|0,b|0,c|0,d|0,e|0)|0}function aXv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(6,a|0,b|0,c|0,d|0,e|0)|0}function aXw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(7,a|0,b|0,c|0,d|0,e|0)|0}function aXx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(8,a|0,b|0,c|0,d|0,e|0)|0}function aXy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(9,a|0,b|0,c|0,d|0,e|0)|0}function aXz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(10,a|0,b|0,c|0,d|0,e|0)|0}function aXA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(11,a|0,b|0,c|0,d|0,e|0)|0}function aXB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(12,a|0,b|0,c|0,d|0,e|0)|0}function aXC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(13,a|0,b|0,c|0,d|0,e|0)|0}function aXD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(14,a|0,b|0,c|0,d|0,e|0)|0}function aXE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(15,a|0,b|0,c|0,d|0,e|0)|0}function aXF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(16,a|0,b|0,c|0,d|0,e|0)|0}function aXG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(17,a|0,b|0,c|0,d|0,e|0)|0}function aXH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(18,a|0,b|0,c|0,d|0,e|0)|0}function aXI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ag(19,a|0,b|0,c|0,d|0,e|0)|0}function aXJ(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return dl[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function aXK(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXL(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXQ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXR(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXS(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXT(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXU(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXV(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aXZ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX_(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX$(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX2(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;dm[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aX3(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aX4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aX5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aX6(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aX7(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aX8(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aX9(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYb(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYc(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYd(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYe(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYg(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYh(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYi(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,+h)}function aYn(a,b,c){a=a|0;b=b|0;c=c|0;return+dn[a&127](b|0,c|0)}function aYo(a,b){a=a|0;b=b|0;return+ag(0,a|0,b|0)}function aYp(a,b){a=a|0;b=b|0;return+ag(1,a|0,b|0)}function aYq(a,b){a=a|0;b=b|0;return+ag(2,a|0,b|0)}function aYr(a,b){a=a|0;b=b|0;return+ag(3,a|0,b|0)}function aYs(a,b){a=a|0;b=b|0;return+ag(4,a|0,b|0)}function aYt(a,b){a=a|0;b=b|0;return+ag(5,a|0,b|0)}function aYu(a,b){a=a|0;b=b|0;return+ag(6,a|0,b|0)}function aYv(a,b){a=a|0;b=b|0;return+ag(7,a|0,b|0)}function aYw(a,b){a=a|0;b=b|0;return+ag(8,a|0,b|0)}function aYx(a,b){a=a|0;b=b|0;return+ag(9,a|0,b|0)}function aYy(a,b){a=a|0;b=b|0;return+ag(10,a|0,b|0)}function aYz(a,b){a=a|0;b=b|0;return+ag(11,a|0,b|0)}function aYA(a,b){a=a|0;b=b|0;return+ag(12,a|0,b|0)}function aYB(a,b){a=a|0;b=b|0;return+ag(13,a|0,b|0)}function aYC(a,b){a=a|0;b=b|0;return+ag(14,a|0,b|0)}function aYD(a,b){a=a|0;b=b|0;return+ag(15,a|0,b|0)}function aYE(a,b){a=a|0;b=b|0;return+ag(16,a|0,b|0)}function aYF(a,b){a=a|0;b=b|0;return+ag(17,a|0,b|0)}function aYG(a,b){a=a|0;b=b|0;return+ag(18,a|0,b|0)}function aYH(a,b){a=a|0;b=b|0;return+ag(19,a|0,b|0)}function aYI(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;k=+k;dp[a&63](b|0,+c,+d,+e,+f,+g,+h,+i,+j,+k)}function aYJ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(0,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYK(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(1,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYL(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(2,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYM(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(3,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYN(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(4,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYO(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(5,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYP(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(6,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYQ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(7,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYR(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(8,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYS(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(9,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYT(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(10,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYU(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(11,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYV(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(12,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYW(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(13,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(14,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(15,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aYZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(16,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aY_(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(17,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aY$(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(18,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aY0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ag(19,a|0,+b,+c,+d,+e,+f,+g,+h,+i,+j)}function aY1(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return+dq[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function aY2(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aY3(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aY4(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aY5(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aY6(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aY7(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aY8(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aY9(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZa(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZb(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZc(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZd(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZe(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZg(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZh(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZi(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return+ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function aZm(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return dr[a&63](b|0,+c,d|0,+e)|0}function aZn(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(0,a|0,+b,c|0,+d)|0}function aZo(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(1,a|0,+b,c|0,+d)|0}function aZp(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(2,a|0,+b,c|0,+d)|0}function aZq(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(3,a|0,+b,c|0,+d)|0}function aZr(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(4,a|0,+b,c|0,+d)|0}function aZs(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(5,a|0,+b,c|0,+d)|0}function aZt(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(6,a|0,+b,c|0,+d)|0}function aZu(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(7,a|0,+b,c|0,+d)|0}function aZv(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(8,a|0,+b,c|0,+d)|0}function aZw(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(9,a|0,+b,c|0,+d)|0}function aZx(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(10,a|0,+b,c|0,+d)|0}function aZy(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(11,a|0,+b,c|0,+d)|0}function aZz(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(12,a|0,+b,c|0,+d)|0}function aZA(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(13,a|0,+b,c|0,+d)|0}function aZB(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(14,a|0,+b,c|0,+d)|0}function aZC(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(15,a|0,+b,c|0,+d)|0}function aZD(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(16,a|0,+b,c|0,+d)|0}function aZE(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(17,a|0,+b,c|0,+d)|0}function aZF(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(18,a|0,+b,c|0,+d)|0}function aZG(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return ag(19,a|0,+b,c|0,+d)|0}function aZH(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;return ds[a&63](+b,+c,+d,+e)|0}function aZI(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(0,+a,+b,+c,+d)|0}function aZJ(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(1,+a,+b,+c,+d)|0}function aZK(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(2,+a,+b,+c,+d)|0}function aZL(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(3,+a,+b,+c,+d)|0}function aZM(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(4,+a,+b,+c,+d)|0}function aZN(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(5,+a,+b,+c,+d)|0}function aZO(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(6,+a,+b,+c,+d)|0}function aZP(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(7,+a,+b,+c,+d)|0}function aZQ(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(8,+a,+b,+c,+d)|0}function aZR(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(9,+a,+b,+c,+d)|0}function aZS(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(10,+a,+b,+c,+d)|0}function aZT(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(11,+a,+b,+c,+d)|0}function aZU(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(12,+a,+b,+c,+d)|0}function aZV(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(13,+a,+b,+c,+d)|0}function aZW(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(14,+a,+b,+c,+d)|0}function aZX(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(15,+a,+b,+c,+d)|0}function aZY(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(16,+a,+b,+c,+d)|0}function aZZ(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(17,+a,+b,+c,+d)|0}function aZ_(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(18,+a,+b,+c,+d)|0}function aZ$(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return ag(19,+a,+b,+c,+d)|0}function aZ0(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;dt[a&63](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function aZ1(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(0,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ2(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(1,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ3(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(2,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ4(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(3,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ5(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(4,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ6(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(5,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ7(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(6,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ8(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(7,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function aZ9(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(8,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_a(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(9,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_b(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(10,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_c(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(11,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_d(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(12,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_e(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(13,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_f(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(14,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_g(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(15,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_h(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(16,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_i(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(17,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_j(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(18,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_k(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ag(19,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function a_l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return du[a&63](b|0,c|0,d|0,e|0,+f)|0}function a_m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(0,a|0,b|0,c|0,d|0,+e)|0}function a_n(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(1,a|0,b|0,c|0,d|0,+e)|0}function a_o(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(2,a|0,b|0,c|0,d|0,+e)|0}function a_p(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(3,a|0,b|0,c|0,d|0,+e)|0}function a_q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(4,a|0,b|0,c|0,d|0,+e)|0}function a_r(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(5,a|0,b|0,c|0,d|0,+e)|0}function a_s(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(6,a|0,b|0,c|0,d|0,+e)|0}function a_t(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(7,a|0,b|0,c|0,d|0,+e)|0}function a_u(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(8,a|0,b|0,c|0,d|0,+e)|0}function a_v(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(9,a|0,b|0,c|0,d|0,+e)|0}function a_w(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(10,a|0,b|0,c|0,d|0,+e)|0}function a_x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(11,a|0,b|0,c|0,d|0,+e)|0}function a_y(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(12,a|0,b|0,c|0,d|0,+e)|0}function a_z(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(13,a|0,b|0,c|0,d|0,+e)|0}function a_A(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(14,a|0,b|0,c|0,d|0,+e)|0}function a_B(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(15,a|0,b|0,c|0,d|0,+e)|0}function a_C(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(16,a|0,b|0,c|0,d|0,+e)|0}function a_D(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(17,a|0,b|0,c|0,d|0,+e)|0}function a_E(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(18,a|0,b|0,c|0,d|0,+e)|0}function a_F(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return ag(19,a|0,b|0,c|0,d|0,+e)|0}function a_G(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return dv[a&63](b|0,+c,+d)|0}function a_H(a,b,c){a=a|0;b=+b;c=+c;return ag(0,a|0,+b,+c)|0}function a_I(a,b,c){a=a|0;b=+b;c=+c;return ag(1,a|0,+b,+c)|0}function a_J(a,b,c){a=a|0;b=+b;c=+c;return ag(2,a|0,+b,+c)|0}function a_K(a,b,c){a=a|0;b=+b;c=+c;return ag(3,a|0,+b,+c)|0}function a_L(a,b,c){a=a|0;b=+b;c=+c;return ag(4,a|0,+b,+c)|0}function a_M(a,b,c){a=a|0;b=+b;c=+c;return ag(5,a|0,+b,+c)|0}function a_N(a,b,c){a=a|0;b=+b;c=+c;return ag(6,a|0,+b,+c)|0}function a_O(a,b,c){a=a|0;b=+b;c=+c;return ag(7,a|0,+b,+c)|0}function a_P(a,b,c){a=a|0;b=+b;c=+c;return ag(8,a|0,+b,+c)|0}function a_Q(a,b,c){a=a|0;b=+b;c=+c;return ag(9,a|0,+b,+c)|0}function a_R(a,b,c){a=a|0;b=+b;c=+c;return ag(10,a|0,+b,+c)|0}function a_S(a,b,c){a=a|0;b=+b;c=+c;return ag(11,a|0,+b,+c)|0}function a_T(a,b,c){a=a|0;b=+b;c=+c;return ag(12,a|0,+b,+c)|0}function a_U(a,b,c){a=a|0;b=+b;c=+c;return ag(13,a|0,+b,+c)|0}function a_V(a,b,c){a=a|0;b=+b;c=+c;return ag(14,a|0,+b,+c)|0}function a_W(a,b,c){a=a|0;b=+b;c=+c;return ag(15,a|0,+b,+c)|0}function a_X(a,b,c){a=a|0;b=+b;c=+c;return ag(16,a|0,+b,+c)|0}function a_Y(a,b,c){a=a|0;b=+b;c=+c;return ag(17,a|0,+b,+c)|0}function a_Z(a,b,c){a=a|0;b=+b;c=+c;return ag(18,a|0,+b,+c)|0}function a__(a,b,c){a=a|0;b=+b;c=+c;return ag(19,a|0,+b,+c)|0}function a_$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;dw[a&127](b|0,c|0,d|0,+e)}function a_0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(0,a|0,b|0,c|0,+d)}function a_1(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(1,a|0,b|0,c|0,+d)}function a_2(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(2,a|0,b|0,c|0,+d)}function a_3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(3,a|0,b|0,c|0,+d)}function a_4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(4,a|0,b|0,c|0,+d)}function a_5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(5,a|0,b|0,c|0,+d)}function a_6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(6,a|0,b|0,c|0,+d)}function a_7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(7,a|0,b|0,c|0,+d)}function a_8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(8,a|0,b|0,c|0,+d)}function a_9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(9,a|0,b|0,c|0,+d)}function a$a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(10,a|0,b|0,c|0,+d)}function a$b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(11,a|0,b|0,c|0,+d)}function a$c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(12,a|0,b|0,c|0,+d)}function a$d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(13,a|0,b|0,c|0,+d)}function a$e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(14,a|0,b|0,c|0,+d)}function a$f(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(15,a|0,b|0,c|0,+d)}function a$g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(16,a|0,b|0,c|0,+d)}function a$h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(17,a|0,b|0,c|0,+d)}function a$i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(18,a|0,b|0,c|0,+d)}function a$j(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ag(19,a|0,b|0,c|0,+d)}function a$k(a){a=a|0;return dx[a&255]()|0}function a$l(){return ag(0)|0}function a$m(){return ag(1)|0}function a$n(){return ag(2)|0}function a$o(){return ag(3)|0}function a$p(){return ag(4)|0}function a$q(){return ag(5)|0}function a$r(){return ag(6)|0}function a$s(){return ag(7)|0}function a$t(){return ag(8)|0}function a$u(){return ag(9)|0}function a$v(){return ag(10)|0}function a$w(){return ag(11)|0}function a$x(){return ag(12)|0}function a$y(){return ag(13)|0}function a$z(){return ag(14)|0}function a$A(){return ag(15)|0}function a$B(){return ag(16)|0}function a$C(){return ag(17)|0}function a$D(){return ag(18)|0}function a$E(){return ag(19)|0}function a$F(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;dy[a&127](b|0,c|0,d|0,e|0,+f,g|0,h|0)}function a$G(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(0,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$H(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(1,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$I(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(2,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$J(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(3,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$K(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(4,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$L(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(5,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$M(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(6,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$N(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(7,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$O(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(8,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$P(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(9,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$Q(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(10,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$R(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(11,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$S(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(12,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$T(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(13,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$U(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(14,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$V(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(15,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$W(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(16,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$X(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(17,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$Y(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(18,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$Z(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ag(19,a|0,b|0,c|0,d|0,+e,f|0,g|0)}function a$_(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=h|0;i=i|0;j=j|0;return dz[a&63](b|0,c|0,d|0,+e,+f,+g,h|0,i|0,j|0)|0}function a$$(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(0,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$0(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(1,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$1(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(2,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$2(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(3,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$3(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(4,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$4(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(5,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$5(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(6,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$6(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(7,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$7(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(8,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$8(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(9,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a$9(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(10,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0a(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(11,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0b(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(12,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0c(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(13,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0d(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(14,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0e(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(15,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0f(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(16,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0g(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(17,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0h(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(18,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0i(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;return ag(19,a|0,b|0,c|0,+d,+e,+f,g|0,h|0,i|0)|0}function a0j(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;dA[a&511](b|0,c|0,d|0)}function a0k(a,b,c){a=a|0;b=b|0;c=c|0;ag(0,a|0,b|0,c|0)}function a0l(a,b,c){a=a|0;b=b|0;c=c|0;ag(1,a|0,b|0,c|0)}function a0m(a,b,c){a=a|0;b=b|0;c=c|0;ag(2,a|0,b|0,c|0)}function a0n(a,b,c){a=a|0;b=b|0;c=c|0;ag(3,a|0,b|0,c|0)}function a0o(a,b,c){a=a|0;b=b|0;c=c|0;ag(4,a|0,b|0,c|0)}function a0p(a,b,c){a=a|0;b=b|0;c=c|0;ag(5,a|0,b|0,c|0)}function a0q(a,b,c){a=a|0;b=b|0;c=c|0;ag(6,a|0,b|0,c|0)}function a0r(a,b,c){a=a|0;b=b|0;c=c|0;ag(7,a|0,b|0,c|0)}function a0s(a,b,c){a=a|0;b=b|0;c=c|0;ag(8,a|0,b|0,c|0)}function a0t(a,b,c){a=a|0;b=b|0;c=c|0;ag(9,a|0,b|0,c|0)}function a0u(a,b,c){a=a|0;b=b|0;c=c|0;ag(10,a|0,b|0,c|0)}function a0v(a,b,c){a=a|0;b=b|0;c=c|0;ag(11,a|0,b|0,c|0)}function a0w(a,b,c){a=a|0;b=b|0;c=c|0;ag(12,a|0,b|0,c|0)}function a0x(a,b,c){a=a|0;b=b|0;c=c|0;ag(13,a|0,b|0,c|0)}function a0y(a,b,c){a=a|0;b=b|0;c=c|0;ag(14,a|0,b|0,c|0)}function a0z(a,b,c){a=a|0;b=b|0;c=c|0;ag(15,a|0,b|0,c|0)}function a0A(a,b,c){a=a|0;b=b|0;c=c|0;ag(16,a|0,b|0,c|0)}function a0B(a,b,c){a=a|0;b=b|0;c=c|0;ag(17,a|0,b|0,c|0)}function a0C(a,b,c){a=a|0;b=b|0;c=c|0;ag(18,a|0,b|0,c|0)}function a0D(a,b,c){a=a|0;b=b|0;c=c|0;ag(19,a|0,b|0,c|0)}function a0E(a,b,c){a=a|0;b=+b;c=+c;return dB[a&63](+b,+c)|0}function a0F(a,b){a=+a;b=+b;return ag(0,+a,+b)|0}function a0G(a,b){a=+a;b=+b;return ag(1,+a,+b)|0}function a0H(a,b){a=+a;b=+b;return ag(2,+a,+b)|0}function a0I(a,b){a=+a;b=+b;return ag(3,+a,+b)|0}function a0J(a,b){a=+a;b=+b;return ag(4,+a,+b)|0}function a0K(a,b){a=+a;b=+b;return ag(5,+a,+b)|0}function a0L(a,b){a=+a;b=+b;return ag(6,+a,+b)|0}function a0M(a,b){a=+a;b=+b;return ag(7,+a,+b)|0}function a0N(a,b){a=+a;b=+b;return ag(8,+a,+b)|0}function a0O(a,b){a=+a;b=+b;return ag(9,+a,+b)|0}function a0P(a,b){a=+a;b=+b;return ag(10,+a,+b)|0}function a0Q(a,b){a=+a;b=+b;return ag(11,+a,+b)|0}function a0R(a,b){a=+a;b=+b;return ag(12,+a,+b)|0}function a0S(a,b){a=+a;b=+b;return ag(13,+a,+b)|0}function a0T(a,b){a=+a;b=+b;return ag(14,+a,+b)|0}function a0U(a,b){a=+a;b=+b;return ag(15,+a,+b)|0}function a0V(a,b){a=+a;b=+b;return ag(16,+a,+b)|0}function a0W(a,b){a=+a;b=+b;return ag(17,+a,+b)|0}function a0X(a,b){a=+a;b=+b;return ag(18,+a,+b)|0}function a0Y(a,b){a=+a;b=+b;return ag(19,+a,+b)|0}function a0Z(a){a=a|0;dC[a&63]()}function a0_(){ag(0)}function a0$(){ag(1)}function a00(){ag(2)}function a01(){ag(3)}function a02(){ag(4)}function a03(){ag(5)}function a04(){ag(6)}function a05(){ag(7)}function a06(){ag(8)}function a07(){ag(9)}function a08(){ag(10)}function a09(){ag(11)}function a1a(){ag(12)}function a1b(){ag(13)}function a1c(){ag(14)}function a1d(){ag(15)}function a1e(){ag(16)}function a1f(){ag(17)}function a1g(){ag(18)}function a1h(){ag(19)}function a1i(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return dD[a&63](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function a1j(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1k(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1l(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1m(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1n(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1o(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1p(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1q(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1r(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1s(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1t(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1u(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1v(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1w(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1x(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1y(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1z(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1A(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1B(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1C(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ag(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function a1D(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return dE[a&127](b|0,c|0,d|0,e|0)|0}function a1E(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(0,a|0,b|0,c|0,d|0)|0}function a1F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(1,a|0,b|0,c|0,d|0)|0}function a1G(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(2,a|0,b|0,c|0,d|0)|0}function a1H(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(3,a|0,b|0,c|0,d|0)|0}function a1I(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(4,a|0,b|0,c|0,d|0)|0}function a1J(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(5,a|0,b|0,c|0,d|0)|0}function a1K(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(6,a|0,b|0,c|0,d|0)|0}function a1L(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(7,a|0,b|0,c|0,d|0)|0}function a1M(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(8,a|0,b|0,c|0,d|0)|0}function a1N(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(9,a|0,b|0,c|0,d|0)|0}function a1O(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(10,a|0,b|0,c|0,d|0)|0}function a1P(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(11,a|0,b|0,c|0,d|0)|0}function a1Q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(12,a|0,b|0,c|0,d|0)|0}function a1R(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(13,a|0,b|0,c|0,d|0)|0}function a1S(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(14,a|0,b|0,c|0,d|0)|0}function a1T(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(15,a|0,b|0,c|0,d|0)|0}function a1U(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(16,a|0,b|0,c|0,d|0)|0}function a1V(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(17,a|0,b|0,c|0,d|0)|0}function a1W(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(18,a|0,b|0,c|0,d|0)|0}function a1X(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ag(19,a|0,b|0,c|0,d|0)|0}function a1Y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;dF[a&255](b|0,c|0,+d)}function a1Z(a,b,c){a=a|0;b=b|0;c=+c;ag(0,a|0,b|0,+c)}function a1_(a,b,c){a=a|0;b=b|0;c=+c;ag(1,a|0,b|0,+c)}function a1$(a,b,c){a=a|0;b=b|0;c=+c;ag(2,a|0,b|0,+c)}function a10(a,b,c){a=a|0;b=b|0;c=+c;ag(3,a|0,b|0,+c)}function a11(a,b,c){a=a|0;b=b|0;c=+c;ag(4,a|0,b|0,+c)}function a12(a,b,c){a=a|0;b=b|0;c=+c;ag(5,a|0,b|0,+c)}function a13(a,b,c){a=a|0;b=b|0;c=+c;ag(6,a|0,b|0,+c)}function a14(a,b,c){a=a|0;b=b|0;c=+c;ag(7,a|0,b|0,+c)}function a15(a,b,c){a=a|0;b=b|0;c=+c;ag(8,a|0,b|0,+c)}function a16(a,b,c){a=a|0;b=b|0;c=+c;ag(9,a|0,b|0,+c)}function a17(a,b,c){a=a|0;b=b|0;c=+c;ag(10,a|0,b|0,+c)}function a18(a,b,c){a=a|0;b=b|0;c=+c;ag(11,a|0,b|0,+c)}function a19(a,b,c){a=a|0;b=b|0;c=+c;ag(12,a|0,b|0,+c)}function a2a(a,b,c){a=a|0;b=b|0;c=+c;ag(13,a|0,b|0,+c)}function a2b(a,b,c){a=a|0;b=b|0;c=+c;ag(14,a|0,b|0,+c)}function a2c(a,b,c){a=a|0;b=b|0;c=+c;ag(15,a|0,b|0,+c)}function a2d(a,b,c){a=a|0;b=b|0;c=+c;ag(16,a|0,b|0,+c)}function a2e(a,b,c){a=a|0;b=b|0;c=+c;ag(17,a|0,b|0,+c)}function a2f(a,b,c){a=a|0;b=b|0;c=+c;ag(18,a|0,b|0,+c)}function a2g(a,b,c){a=a|0;b=b|0;c=+c;ag(19,a|0,b|0,+c)}function a2h(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return dG[a&63](b|0,c|0,d|0,+e)|0}function a2i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(0,a|0,b|0,c|0,+d)|0}function a2j(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(1,a|0,b|0,c|0,+d)|0}function a2k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(2,a|0,b|0,c|0,+d)|0}function a2l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(3,a|0,b|0,c|0,+d)|0}function a2m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(4,a|0,b|0,c|0,+d)|0}function a2n(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(5,a|0,b|0,c|0,+d)|0}function a2o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(6,a|0,b|0,c|0,+d)|0}function a2p(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(7,a|0,b|0,c|0,+d)|0}function a2q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(8,a|0,b|0,c|0,+d)|0}function a2r(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(9,a|0,b|0,c|0,+d)|0}function a2s(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(10,a|0,b|0,c|0,+d)|0}function a2t(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(11,a|0,b|0,c|0,+d)|0}function a2u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(12,a|0,b|0,c|0,+d)|0}function a2v(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(13,a|0,b|0,c|0,+d)|0}function a2w(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(14,a|0,b|0,c|0,+d)|0}function a2x(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(15,a|0,b|0,c|0,+d)|0}function a2y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(16,a|0,b|0,c|0,+d)|0}function a2z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(17,a|0,b|0,c|0,+d)|0}function a2A(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(18,a|0,b|0,c|0,+d)|0}function a2B(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ag(19,a|0,b|0,c|0,+d)|0}function a2C(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return+dH[a&63](b|0,c|0,d|0,+e,f|0,g|0)}function a2D(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(0,a|0,b|0,c|0,+d,e|0,f|0)}function a2E(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(1,a|0,b|0,c|0,+d,e|0,f|0)}function a2F(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(2,a|0,b|0,c|0,+d,e|0,f|0)}function a2G(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(3,a|0,b|0,c|0,+d,e|0,f|0)}function a2H(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(4,a|0,b|0,c|0,+d,e|0,f|0)}function a2I(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(5,a|0,b|0,c|0,+d,e|0,f|0)}function a2J(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(6,a|0,b|0,c|0,+d,e|0,f|0)}function a2K(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(7,a|0,b|0,c|0,+d,e|0,f|0)}function a2L(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(8,a|0,b|0,c|0,+d,e|0,f|0)}function a2M(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(9,a|0,b|0,c|0,+d,e|0,f|0)}function a2N(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(10,a|0,b|0,c|0,+d,e|0,f|0)}function a2O(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(11,a|0,b|0,c|0,+d,e|0,f|0)}function a2P(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(12,a|0,b|0,c|0,+d,e|0,f|0)}function a2Q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(13,a|0,b|0,c|0,+d,e|0,f|0)}function a2R(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(14,a|0,b|0,c|0,+d,e|0,f|0)}function a2S(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(15,a|0,b|0,c|0,+d,e|0,f|0)}function a2T(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(16,a|0,b|0,c|0,+d,e|0,f|0)}function a2U(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(17,a|0,b|0,c|0,+d,e|0,f|0)}function a2V(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(18,a|0,b|0,c|0,+d,e|0,f|0)}function a2W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+ag(19,a|0,b|0,c|0,+d,e|0,f|0)}function a2X(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;dI[a&1023](b|0,c|0,d|0,e|0)}function a2Y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(0,a|0,b|0,c|0,d|0)}function a2Z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(1,a|0,b|0,c|0,d|0)}function a2_(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(2,a|0,b|0,c|0,d|0)}function a2$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(3,a|0,b|0,c|0,d|0)}function a20(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(4,a|0,b|0,c|0,d|0)}function a21(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(5,a|0,b|0,c|0,d|0)}function a22(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(6,a|0,b|0,c|0,d|0)}function a23(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(7,a|0,b|0,c|0,d|0)}function a24(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(8,a|0,b|0,c|0,d|0)}function a25(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(9,a|0,b|0,c|0,d|0)}function a26(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(10,a|0,b|0,c|0,d|0)}function a27(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(11,a|0,b|0,c|0,d|0)}function a28(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(12,a|0,b|0,c|0,d|0)}function a29(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(13,a|0,b|0,c|0,d|0)}function a3a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(14,a|0,b|0,c|0,d|0)}function a3b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(15,a|0,b|0,c|0,d|0)}function a3c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(16,a|0,b|0,c|0,d|0)}function a3d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(17,a|0,b|0,c|0,d|0)}function a3e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(18,a|0,b|0,c|0,d|0)}function a3f(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(19,a|0,b|0,c|0,d|0)}function a3g(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab(0)}function a3h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ab(1);return 0}function a3i(a,b){a=a|0;b=+b;ab(2)}function a3j(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ab(3)}function a3k(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;ab(4)}function a3l(a){a=a|0;ab(5)}function a3m(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;ab(6);return 0}function a3n(a,b){a=a|0;b=b|0;ab(7)}function a3o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ab(8)}function a3p(a,b,c,d,e,f,g,h,i){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;ab(9);return 0}function a3q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ab(10)}function a3r(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;ab(11)}function a3s(a){a=a|0;ab(12);return 0}function a3t(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=+i;ab(13);return 0}function a3u(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=e|0;ab(14)}function a3v(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;ab(15);return 0}function a3w(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ab(16)}function a3x(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ab(17)}function a3y(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;ab(18)}function a3z(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;g=g|0;ab(19);return 0}function a3A(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;ab(20);return 0}function a3B(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;ab(21)}function a3C(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ab(22)}function a3D(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ab(23);return 0}function a3E(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=+d;e=e|0;f=f|0;ab(24);return 0.0}function a3F(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ab(25);return 0.0}function a3G(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ab(26);return 0.0}function a3H(a,b,c){a=+a;b=+b;c=+c;ab(27);return 0}function a3I(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ab(28)}function a3J(a,b,c){a=a|0;b=+b;c=c|0;ab(29);return 0}function a3K(a,b,c){a=a|0;b=b|0;c=c|0;ab(30);return 0}function a3L(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;ab(31)}function a3M(a,b){a=a|0;b=+b;ab(32);return 0.0}function a3N(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;ab(33);return 0}function a3O(a,b,c){a=a|0;b=+b;c=+c;ab(34)}function a3P(a,b,c){a=a|0;b=+b;c=c|0;ab(35)}function a3Q(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ab(36)}function a3R(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;ab(37)}function a3S(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ab(38)}function a3T(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ab(39);return 0.0}function a3U(a,b,c){a=a|0;b=b|0;c=+c;ab(40);return 0}function a3V(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ab(41);return 0}function a3W(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ab(42)}function a3X(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;ab(43)}function a3Y(a,b,c){a=a|0;b=b|0;c=c|0;ab(44);return 0.0}function a3Z(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ab(45);return 0}function a3_(a,b,c){a=a|0;b=b|0;c=+c;ab(46);return 0.0}function a3$(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ab(47);return 0.0}function a30(a,b,c){a=+a;b=b|0;c=c|0;ab(48);return 0}function a31(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ab(49);return 0.0}function a32(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;ab(50);return 0}function a33(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab(51);return 0.0}function a34(a,b){a=a|0;b=+b;ab(52);return 0}function a35(a){a=+a;ab(53);return 0}function a36(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;ab(54)}function a37(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;ab(55)}function a38(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ab(56)}function a39(a){a=a|0;ab(57);return 0.0}function a4a(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ab(58)}function a4b(a,b){a=a|0;b=b|0;ab(59);return 0}function a4c(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab(60);return 0}function a4d(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ab(61);return 0}function a4e(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;ab(62)}function a4f(a,b){a=a|0;b=b|0;ab(63);return 0.0}function a4g(a,b,c,d,e,f,g,h,i,j){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=+j;ab(64)}function a4h(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ab(65);return 0.0}function a4i(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;ab(66);return 0}function a4j(a,b,c,d){a=+a;b=+b;c=+c;d=+d;ab(67);return 0}function a4k(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;ab(68)}function a4l(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ab(69);return 0}function a4m(a,b,c){a=a|0;b=+b;c=+c;ab(70);return 0}function a4n(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ab(71)}function a4o(){ab(72);return 0}function a4p(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;ab(73)}function a4q(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;ab(74);return 0}function a4r(a,b,c){a=a|0;b=b|0;c=c|0;ab(75)}function a4s(a,b){a=+a;b=+b;ab(76);return 0}function a4t(){ab(77)}function a4u(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ab(78);return 0}function a4v(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ab(79);return 0}function a4w(a,b,c){a=a|0;b=b|0;c=+c;ab(80)}function a4x(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ab(81);return 0}function a4y(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ab(82);return 0.0}function a4z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ab(83)} +// EMSCRIPTEN_END_FUNCS +var co=[a3g,a3g,aDJ,a3g,aDK,a3g,aDL,a3g,aDM,a3g,aDN,a3g,aDO,a3g,aDP,a3g,aDQ,a3g,aDR,a3g,aDS,a3g,aDT,a3g,aDU,a3g,aDV,a3g,aDW,a3g,aDX,a3g,aDY,a3g,aDZ,a3g,aD_,a3g,aD$,a3g,aD0,a3g,ti,a3g,Ox,a3g,um,a3g,vb,a3g,we,a3g,SP,a3g,alH,a3g,aAx,a3g,rz,a3g,alK,a3g,alF,a3g,aAb,a3g,CW,a3g,al_,a3g,akv,a3g,arc,a3g,kj,a3g,axX,a3g,tr,a3g,aB5,a3g,rw,a3g,aB7,a3g,tB,a3g,aru,a3g,aAH,a3g,BN,a3g,i0,a3g,aDq,a3g,tz,a3g,aCz,a3g,wG,a3g,aDt,a3g,u6,a3g,u8,a3g,aB0,a3g,aDs,a3g,i2,a3g,ZU,a3g,aCq,a3g,jJ,a3g,RE,a3g,awK,a3g,H1,a3g,aCP,a3g,aCd,a3g,kg,a3g,UU,a3g,ma,a3g,axr,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g,a3g];var cp=[a3h,a3h,aD2,a3h,aD3,a3h,aD4,a3h,aD5,a3h,aD6,a3h,aD7,a3h,aD8,a3h,aD9,a3h,aEa,a3h,aEb,a3h,aEc,a3h,aEd,a3h,aEe,a3h,aEf,a3h,aEg,a3h,aEh,a3h,aEi,a3h,aEj,a3h,aEk,a3h,aEl,a3h,R_,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h,a3h];var cq=[a3i,a3i,aEn,a3i,aEo,a3i,aEp,a3i,aEq,a3i,aEr,a3i,aEs,a3i,aEt,a3i,aEu,a3i,aEv,a3i,aEw,a3i,aEx,a3i,aEy,a3i,aEz,a3i,aEA,a3i,aEB,a3i,aEC,a3i,aED,a3i,aEE,a3i,aEF,a3i,aEG,a3i,yK,a3i,XY,a3i,$t,a3i,vR,a3i,Qr,a3i,ab_,a3i,vS,a3i,aeo,a3i,JQ,a3i,$o,a3i,pK,a3i,T3,a3i,eW,a3i,xl,a3i,DV,a3i,akU,a3i,Bs,a3i,rh,a3i,sC,a3i,k1,a3i,yI,a3i,XS,a3i,G3,a3i,y7,a3i,aoH,a3i,LO,a3i,Zr,a3i,$C,a3i,pI,a3i,T6,a3i,xB,a3i,zc,a3i,DN,a3i,aAl,a3i,aBT,a3i,e_,a3i,yJ,a3i,g7,a3i,D5,a3i,om,a3i,_r,a3i,yQ,a3i,$U,a3i,mp,a3i,$I,a3i,fF,a3i,L_,a3i,_2,a3i,akb,a3i,D2,a3i,aaN,a3i,yP,a3i,Z3,a3i,Yq,a3i,ye,a3i,Jm,a3i,_3,a3i,IO,a3i,Cc,a3i,S5,a3i,Gg,a3i,_K,a3i,wU,a3i,Hd,a3i,jq,a3i,anp,a3i,Ef,a3i,Em,a3i,Kc,a3i,mm,a3i,tU,a3i,Ik,a3i,qb,a3i,Rb,a3i,XP,a3i,g$,a3i,adZ,a3i,D3,a3i,KE,a3i,eU,a3i,aaR,a3i,VX,a3i,qS,a3i,hG,a3i,nA,a3i,ahL,a3i,agn,a3i,y_,a3i,D0,a3i,Vb,a3i,w4,a3i,El,a3i,DM,a3i,hC,a3i,an9,a3i,FT,a3i,Hr,a3i,qj,a3i,FV,a3i,lL,a3i,FU,a3i,amf,a3i,_u,a3i,_R,a3i,Eo,a3i,L5,a3i,G_,a3i,Yf,a3i,L3,a3i,_4,a3i,_p,a3i,aiU,a3i,aos,a3i,$A,a3i,akV,a3i,_W,a3i,Yk,a3i,IP,a3i,ajL,a3i,$s,a3i,asf,a3i,_f,a3i,qG,a3i,Ea,a3i,Av,a3i,Px,a3i,$b,a3i,ho,a3i,pb,a3i,aiS,a3i,Ed,a3i,WT,a3i,q6,a3i,zh,a3i,L4,a3i,T1,a3i,wW,a3i,aip,a3i,aoe,a3i,aiq,a3i,ain,a3i,ahh,a3i,akS,a3i,S6,a3i,WN,a3i,Wo,a3i,apR,a3i,aio,a3i,oU,a3i,Jg,a3i,apS,a3i,abN,a3i,ac5,a3i,asp,a3i,nT,a3i,rr,a3i,_D,a3i,aaF,a3i,sD,a3i,zZ,a3i,ajK,a3i,Yb,a3i,ajk,a3i,DJ,a3i,aoa,a3i,_Q,a3i,alx,a3i,Ep,a3i,Bw,a3i,$Z,a3i,pU,a3i,nw,a3i,$g,a3i,Ys,a3i,Z7,a3i,Yg,a3i,y1,a3i,y5,a3i,mq,a3i,G$,a3i,gv,a3i,_S,a3i,akY,a3i,akL,a3i,aac,a3i,$v,a3i,Uf,a3i,nB,a3i,XU,a3i,jx,a3i,Dc,a3i,Kb,a3i,_n,a3i,aup,a3i,$B,a3i,_6,a3i,U7,a3i,po,a3i,px,a3i,auN,a3i,Eg,a3i,aaK,a3i,aaJ,a3i,AI,a3i,aen,a3i,asT,a3i,y6,a3i,$p,a3i,D$,a3i,ww,a3i,M2,a3i,aeh,a3i,JL,a3i,ak3,a3i,hh,a3i,eV,a3i,xq,a3i,_g,a3i,Z$,a3i,yd,a3i,Hf,a3i,aoQ,a3i,s$,a3i,aai,a3i,$i,a3i,ak_,a3i,zd,a3i,QO,a3i,$3,a3i,ZF,a3i,xU,a3i,XR,a3i,It,a3i,xo,a3i,yM,a3i,aj7,a3i,Lk,a3i,iM,a3i,Ta,a3i,ya,a3i,Uy,a3i,_k,a3i,rb,a3i,Ce,a3i,R1,a3i,Ei,a3i,acU,a3i,Hy,a3i,aad,a3i,G9,a3i,aam,a3i,awh,a3i,NE,a3i,aaO,a3i,g1,a3i,ab0,a3i,aiX,a3i,GZ,a3i,aod,a3i,aoN,a3i,abV,a3i,DB,a3i,Up,a3i,WS,a3i,IK,a3i,Zn,a3i,aav,a3i,YE,a3i,Wy,a3i,Ft,a3i,_C,a3i,LF,a3i,akZ,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i,a3i];var cr=[a3j,a3j,aEI,a3j,aEJ,a3j,aEK,a3j,aEL,a3j,aEM,a3j,aEN,a3j,aEO,a3j,aEP,a3j,aEQ,a3j,aER,a3j,aES,a3j,aET,a3j,aEU,a3j,aEV,a3j,aEW,a3j,aEX,a3j,aEY,a3j,aEZ,a3j,aE_,a3j,aE$,a3j,adK,a3j,to,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j,a3j];var cs=[a3k,a3k,aE1,a3k,aE2,a3k,aE3,a3k,aE4,a3k,aE5,a3k,aE6,a3k,aE7,a3k,aE8,a3k,aE9,a3k,aFa,a3k,aFb,a3k,aFc,a3k,aFd,a3k,aFe,a3k,aFf,a3k,aFg,a3k,aFh,a3k,aFi,a3k,aFj,a3k,aFk,a3k,tu,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k,a3k];var ct=[a3l,a3l,aFm,a3l,aFn,a3l,aFo,a3l,aFp,a3l,aFq,a3l,aFr,a3l,aFs,a3l,aFt,a3l,aFu,a3l,aFv,a3l,aFw,a3l,aFx,a3l,aFy,a3l,aFz,a3l,aFA,a3l,aFB,a3l,aFC,a3l,aFD,a3l,aFE,a3l,aFF,a3l,C2,a3l,Qs,a3l,Ig,a3l,apt,a3l,qQ,a3l,m4,a3l,auf,a3l,xM,a3l,auh,a3l,ank,a3l,aAh,a3l,ayd,a3l,ayF,a3l,azm,a3l,HZ,a3l,aAv,a3l,pz,a3l,awa,a3l,awz,a3l,m_,a3l,aDa,a3l,atR,a3l,lZ,a3l,xi,a3l,uH,a3l,Ka,a3l,aoF,a3l,atH,a3l,hV,a3l,BX,a3l,aAU,a3l,ayz,a3l,axt,a3l,wd,a3l,aqp,a3l,asn,a3l,atA,a3l,azB,a3l,atS,a3l,avN,a3l,auF,a3l,atL,a3l,any,a3l,ZV,a3l,amk,a3l,ao8,a3l,aok,a3l,aAG,a3l,auw,a3l,rs,a3l,an8,a3l,aDl,a3l,asZ,a3l,aB1,a3l,wm,a3l,nN,a3l,wF,a3l,auB,a3l,anU,a3l,aut,a3l,rW,a3l,Ic,a3l,EK,a3l,aht,a3l,Ip,a3l,axq,a3l,aCw,a3l,am9,a3l,axJ,a3l,aso,a3l,atX,a3l,at4,a3l,axh,a3l,adL,a3l,aqe,a3l,m3,a3l,Fx,a3l,ape,a3l,apL,a3l,aeZ,a3l,wa,a3l,av7,a3l,axl,a3l,axV,a3l,aBH,a3l,ayK,a3l,SM,a3l,tF,a3l,CS,a3l,aCK,a3l,adB,a3l,i6,a3l,aAg,a3l,asM,a3l,Tu,a3l,hU,a3l,ZC,a3l,CR,a3l,ST,a3l,aq8,a3l,arS,a3l,o1,a3l,nK,a3l,aCs,a3l,atz,a3l,Gd,a3l,BP,a3l,vZ,a3l,aAF,a3l,adT,a3l,axE,a3l,RU,a3l,ax9,a3l,ZE,a3l,au0,a3l,mJ,a3l,r4,a3l,jz,a3l,aBz,a3l,are,a3l,ax3,a3l,lW,a3l,apz,a3l,HX,a3l,asK,a3l,v9,a3l,gt,a3l,aA6,a3l,as8,a3l,aw0,a3l,F9,a3l,YI,a3l,apm,a3l,fI,a3l,jK,a3l,X0,a3l,B6,a3l,nE,a3l,$L,a3l,X5,a3l,ayr,a3l,SA,a3l,axd,a3l,ast,a3l,zG,a3l,acr,a3l,awn,a3l,awc,a3l,Ou,a3l,anA,a3l,l7,a3l,aui,a3l,aoj,a3l,ahf,a3l,auD,a3l,GR,a3l,alQ,a3l,atJ,a3l,aAJ,a3l,asc,a3l,axP,a3l,axo,a3l,W5,a3l,NQ,a3l,axI,a3l,azA,a3l,axW,a3l,aAQ,a3l,Dg,a3l,wA,a3l,ayD,a3l,aDk,a3l,Wt,a3l,aoV,a3l,j4,a3l,Mq,a3l,ajH,a3l,SO,a3l,atV,a3l,z0,a3l,aq9,a3l,au4,a3l,ald,a3l,SF,a3l,uu,a3l,PQ,a3l,Ju,a3l,oV,a3l,abc,a3l,adU,a3l,axG,a3l,atD,a3l,axM,a3l,avU,a3l,qi,a3l,I3,a3l,aq$,a3l,awU,a3l,aqH,a3l,aDj,a3l,am3,a3l,Jb,a3l,m1,a3l,g3,a3l,aye,a3l,avM,a3l,YK,a3l,azl,a3l,auG,a3l,aq5,a3l,fk,a3l,aqd,a3l,h5,a3l,vd,a3l,NV,a3l,apT,a3l,aAz,a3l,aeT,a3l,iK,a3l,jL,a3l,asX,a3l,ay2,a3l,ajn,a3l,aDb,a3l,NU,a3l,arW,a3l,aqf,a3l,aDf,a3l,k4,a3l,avV,a3l,aog,a3l,afb,a3l,arT,a3l,aBF,a3l,ays,a3l,aC9,a3l,aAf,a3l,anB,a3l,anK,a3l,apc,a3l,ML,a3l,axQ,a3l,LC,a3l,_V,a3l,atY,a3l,auP,a3l,aw5,a3l,VY,a3l,arV,a3l,axv,a3l,auL,a3l,axp,a3l,kp,a3l,apM,a3l,ayu,a3l,HS,a3l,as_,a3l,awA,a3l,arr,a3l,ao1,a3l,OZ,a3l,azJ,a3l,E9,a3l,agg,a3l,aA7,a3l,YN,a3l,aoi,a3l,UH,a3l,asV,a3l,Ca,a3l,aBs,a3l,aBo,a3l,H6,a3l,aw4,a3l,aCx,a3l,aqO,a3l,fn,a3l,az_,a3l,ayQ,a3l,OV,a3l,abI,a3l,aCc,a3l,aoW,a3l,au1,a3l,aCi,a3l,awW,a3l,mc,a3l,awf,a3l,vl,a3l,alS,a3l,as$,a3l,axc,a3l,aCW,a3l,aun,a3l,aoc,a3l,kH,a3l,apA,a3l,ayL,a3l,tI,a3l,Bc,a3l,adx,a3l,aqW,a3l,auo,a3l,az2,a3l,aDh,a3l,auz,a3l,aua,a3l,apJ,a3l,Le,a3l,aDA,a3l,I8,a3l,aml,a3l,ann,a3l,k3,a3l,aqn,a3l,au$,a3l,vV,a3l,aDy,a3l,asd,a3l,amG,a3l,adJ,a3l,anC,a3l,m0,a3l,aw6,a3l,rH,a3l,asE,a3l,asD,a3l,avD,a3l,aCI,a3l,YM,a3l,anE,a3l,OF,a3l,awl,a3l,aym,a3l,vf,a3l,SB,a3l,anI,a3l,JF,a3l,ayy,a3l,pM,a3l,ai0,a3l,avb,a3l,afg,a3l,axY,a3l,CV,a3l,au7,a3l,aqt,a3l,aCo,a3l,abi,a3l,amX,a3l,arf,a3l,aoG,a3l,Ie,a3l,auj,a3l,l9,a3l,as7,a3l,AL,a3l,aB9,a3l,am0,a3l,aAu,a3l,azK,a3l,gA,a3l,axj,a3l,atm,a3l,aCR,a3l,axC,a3l,atQ,a3l,ZJ,a3l,U_,a3l,Xh,a3l,aB3,a3l,aBt,a3l,acN,a3l,atM,a3l,rN,a3l,akQ,a3l,Xy,a3l,awy,a3l,atb,a3l,anv,a3l,aCu,a3l,aqY,a3l,anS,a3l,app,a3l,axf,a3l,apH,a3l,N5,a3l,arX,a3l,tH,a3l,awN,a3l,ay8,a3l,axN,a3l,avt,a3l,Mn,a3l,aBp,a3l,jr,a3l,jj,a3l,azV,a3l,anF,a3l,at2,a3l,anl,a3l,Ke,a3l,am5,a3l,at6,a3l,aCS,a3l,apN,a3l,PB,a3l,atZ,a3l,OR,a3l,aBJ,a3l,Uc,a3l,aA1,a3l,awI,a3l,as9,a3l,axn,a3l,Xc,a3l,aCl,a3l,N2,a3l,an0,a3l,atF,a3l,aCA,a3l,ayl,a3l,EA,a3l,arY,a3l,au_,a3l,$J,a3l,ayt,a3l,pP,a3l,atK,a3l,YQ,a3l,au8,a3l,QR,a3l,Fr,a3l,anh,a3l,apZ,a3l,aBv,a3l,aCL,a3l,avc,a3l,aB8,a3l,lM,a3l,avu,a3l,awB,a3l,apg,a3l,xK,a3l,asu,a3l,m5,a3l,apk,a3l,asQ,a3l,aB2,a3l,YJ,a3l,ez,a3l,yz,a3l,awY,a3l,aB_,a3l,aqq,a3l,ao6,a3l,asB,a3l,aAw,a3l,at8,a3l,aCr,a3l,arq,a3l,atk,a3l,axZ,a3l,auc,a3l,ay7,a3l,$M,a3l,Xz,a3l,Ow,a3l,an7,a3l,aAT,a3l,aCe,a3l,$e,a3l,aqP,a3l,aA5,a3l,atc,a3l,aw2,a3l,kB,a3l,avY,a3l,aCU,a3l,ax2,a3l,av_,a3l,amN,a3l,aCk,a3l,aCy,a3l,aCb,a3l,NR,a3l,aof,a3l,aoS,a3l,iQ,a3l,aCn,a3l,Pv,a3l,aw1,a3l,avW,a3l,aCB,a3l,akA,a3l,QM,a3l,ahO,a3l,az1,a3l,ay3,a3l,aBg,a3l,aw3,a3l,RF,a3l,az4,a3l,aBw,a3l,ayb,a3l,aCM,a3l,ayR,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l,a3l];var cu=[a3m,a3m,aFH,a3m,aFI,a3m,aFJ,a3m,aFK,a3m,aFL,a3m,aFM,a3m,aFN,a3m,aFO,a3m,aFP,a3m,aFQ,a3m,aFR,a3m,aFS,a3m,aFT,a3m,aFU,a3m,aFV,a3m,aFW,a3m,aFX,a3m,aFY,a3m,aFZ,a3m,aF_,a3m,J1,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m,a3m];var cv=[a3n,a3n,aF0,a3n,aF1,a3n,aF2,a3n,aF3,a3n,aF4,a3n,aF5,a3n,aF6,a3n,aF7,a3n,aF8,a3n,aF9,a3n,aGa,a3n,aGb,a3n,aGc,a3n,aGd,a3n,aGe,a3n,aGf,a3n,aGg,a3n,aGh,a3n,aGi,a3n,aGj,a3n,Ah,a3n,az3,a3n,aeD,a3n,J_,a3n,Hm,a3n,WW,a3n,x7,a3n,w7,a3n,z4,a3n,Oq,a3n,kl,a3n,KM,a3n,Rn,a3n,af6,a3n,Rz,a3n,Jr,a3n,acl,a3n,aiQ,a3n,acR,a3n,J9,a3n,AT,a3n,d1,a3n,lX,a3n,aoA,a3n,arK,a3n,acq,a3n,XK,a3n,t$,a3n,aCG,a3n,ut,a3n,pO,a3n,N_,a3n,XI,a3n,asz,a3n,Kh,a3n,gq,a3n,eX,a3n,sw,a3n,OO,a3n,gU,a3n,h_,a3n,auI,a3n,Od,a3n,zk,a3n,J2,a3n,D1,a3n,ad8,a3n,UX,a3n,UZ,a3n,In,a3n,OG,a3n,CK,a3n,S_,a3n,Sw,a3n,aiT,a3n,nl,a3n,xH,a3n,u4,a3n,zq,a3n,X6,a3n,ajd,a3n,Gw,a3n,wV,a3n,aho,a3n,qw,a3n,kb,a3n,w9,a3n,NI,a3n,tj,a3n,I4,a3n,HB,a3n,fG,a3n,sk,a3n,awX,a3n,P$,a3n,ay0,a3n,aeS,a3n,fU,a3n,aov,a3n,tw,a3n,pJ,a3n,aj9,a3n,wB,a3n,Mo,a3n,Ki,a3n,MJ,a3n,De,a3n,acn,a3n,Rs,a3n,$1,a3n,Sf,a3n,Bh,a3n,RB,a3n,Ol,a3n,Lc,a3n,hI,a3n,G1,a3n,aoq,a3n,iE,a3n,oa,a3n,agV,a3n,wg,a3n,awM,a3n,Ru,a3n,Oa,a3n,IA,a3n,ate,a3n,vw,a3n,_7,a3n,ri,a3n,Gp,a3n,aAI,a3n,WE,a3n,Fh,a3n,OT,a3n,ahS,a3n,xX,a3n,EJ,a3n,WG,a3n,mY,a3n,xQ,a3n,tE,a3n,Hc,a3n,ER,a3n,ui,a3n,YP,a3n,lH,a3n,EI,a3n,akx,a3n,C9,a3n,Xj,a3n,i4,a3n,Oz,a3n,$W,a3n,If,a3n,zg,a3n,asy,a3n,Cd,a3n,Zz,a3n,ary,a3n,mX,a3n,he,a3n,all,a3n,asw,a3n,Di,a3n,amK,a3n,K_,a3n,amB,a3n,pf,a3n,gS,a3n,fz,a3n,ai_,a3n,aal,a3n,_w,a3n,Cb,a3n,DC,a3n,qo,a3n,qr,a3n,Rq,a3n,D_,a3n,uk,a3n,eN,a3n,tC,a3n,lS,a3n,afJ,a3n,st,a3n,xS,a3n,eb,a3n,Km,a3n,x_,a3n,Ov,a3n,Iu,a3n,pS,a3n,afQ,a3n,aaZ,a3n,Tv,a3n,K6,a3n,TK,a3n,xf,a3n,t2,a3n,aqS,a3n,jn,a3n,Vf,a3n,aaY,a3n,atx,a3n,w1,a3n,gX,a3n,Xa,a3n,uS,a3n,aku,a3n,md,a3n,q8,a3n,qs,a3n,aw_,a3n,RK,a3n,qK,a3n,CE,a3n,qO,a3n,auS,a3n,AU,a3n,NN,a3n,us,a3n,aor,a3n,amr,a3n,alo,a3n,i5,a3n,ab8,a3n,Jz,a3n,sv,a3n,e1,a3n,d4,a3n,oq,a3n,ob,a3n,vB,a3n,$9,a3n,uv,a3n,mz,a3n,w$,a3n,adF,a3n,avv,a3n,UE,a3n,RV,a3n,e$,a3n,wx,a3n,U9,a3n,Ws,a3n,qm,a3n,RJ,a3n,E2,a3n,Nk,a3n,R9,a3n,Hh,a3n,KG,a3n,q3,a3n,ab6,a3n,aau,a3n,amV,a3n,abs,a3n,adk,a3n,alf,a3n,gm,a3n,aoD,a3n,Ub,a3n,HG,a3n,Bv,a3n,Nt,a3n,UN,a3n,BZ,a3n,Se,a3n,iF,a3n,V2,a3n,ajJ,a3n,Ue,a3n,l5,a3n,KK,a3n,JT,a3n,LV,a3n,rF,a3n,oQ,a3n,T2,a3n,Xs,a3n,Xu,a3n,Iy,a3n,SY,a3n,aoB,a3n,Dh,a3n,afa,a3n,jk,a3n,aqL,a3n,ap8,a3n,NZ,a3n,vm,a3n,IX,a3n,al8,a3n,yU,a3n,k9,a3n,Wc,a3n,so,a3n,alT,a3n,aaA,a3n,h3,a3n,pq,a3n,GF,a3n,h4,a3n,Su,a3n,Sm,a3n,Bq,a3n,pH,a3n,awg,a3n,Xq,a3n,lU,a3n,EE,a3n,o2,a3n,aoC,a3n,QI,a3n,Sv,a3n,PF,a3n,XQ,a3n,BY,a3n,eI,a3n,abD,a3n,o0,a3n,adS,a3n,V0,a3n,pu,a3n,akz,a3n,ac4,a3n,akH,a3n,aeb,a3n,v_,a3n,hX,a3n,sx,a3n,aB6,a3n,nY,a3n,akf,a3n,Cr,a3n,BE,a3n,EL,a3n,adR,a3n,I7,a3n,Vs,a3n,JR,a3n,mU,a3n,n7,a3n,aqF,a3n,ae9,a3n,ajl,a3n,W8,a3n,Du,a3n,s6,a3n,aAk,a3n,aqJ,a3n,Jj,a3n,aey,a3n,YC,a3n,Xn,a3n,rT,a3n,ak4,a3n,aqK,a3n,M9,a3n,H8,a3n,Qc,a3n,AP,a3n,wl,a3n,C3,a3n,u9,a3n,GL,a3n,ajx,a3n,Ts,a3n,J6,a3n,apr,a3n,si,a3n,k2,a3n,B8,a3n,arL,a3n,e2,a3n,_a,a3n,W3,a3n,jX,a3n,ayW,a3n,eF,a3n,q2,a3n,qF,a3n,ajr,a3n,_I,a3n,al9,a3n,aeu,a3n,KF,a3n,uV,a3n,uX,a3n,yc,a3n,ZP,a3n,aeJ,a3n,xZ,a3n,nn,a3n,Z9,a3n,aux,a3n,ao2,a3n,St,a3n,sA,a3n,jm,a3n,auY,a3n,I9,a3n,mS,a3n,g4,a3n,aAM,a3n,IM,a3n,T9,a3n,qE,a3n,pQ,a3n,aot,a3n,_m,a3n,Tj,a3n,mL,a3n,XJ,a3n,yg,a3n,Ye,a3n,UW,a3n,ZO,a3n,Cg,a3n,BU,a3n,Qn,a3n,FJ,a3n,Cm,a3n,my,a3n,aa9,a3n,TJ,a3n,aay,a3n,aoy,a3n,MP,a3n,lP,a3n,anM,a3n,B2,a3n,rn,a3n,aBm,a3n,X$,a3n,sp,a3n,t5,a3n,pj,a3n,ari,a3n,Xb,a3n,Fi,a3n,FB,a3n,T$,a3n,adV,a3n,FP,a3n,aa8,a3n,IC,a3n,afl,a3n,qH,a3n,S$,a3n,adf,a3n,sr,a3n,aou,a3n,YW,a3n,aeR,a3n,t9,a3n,api,a3n,aro,a3n,ac0,a3n,V1,a3n,aeH,a3n,Er,a3n,atT,a3n,_J,a3n,acE,a3n,VT,a3n,sV,a3n,azt,a3n,SD,a3n,mV,a3n,aer,a3n,wC,a3n,Dd,a3n,Rw,a3n,BL,a3n,ale,a3n,A9,a3n,aea,a3n,v$,a3n,h0,a3n,CU,a3n,kA,a3n,pt,a3n,vW,a3n,aBa,a3n,Yi,a3n,kK,a3n,Nx,a3n,Rm,a3n,Nz,a3n,l8,a3n,vT,a3n,ap9,a3n,af7,a3n,XL,a3n,YG,a3n,jH,a3n,I6,a3n,atr,a3n,mi,a3n,E1,a3n,aqU,a3n,rU,a3n,aoP,a3n,NK,a3n,hx,a3n,abf,a3n,ajG,a3n,ajA,a3n,apC,a3n,auq,a3n,abh,a3n,aon,a3n,alb,a3n,FI,a3n,ei,a3n,ac1,a3n,axL,a3n,AC,a3n,aqQ,a3n,uz,a3n,abY,a3n,H2,a3n,asS,a3n,d0,a3n,ZS,a3n,$4,a3n,h6,a3n,atj,a3n,Jq,a3n,alI,a3n,qN,a3n,ls,a3n,apW,a3n,B3,a3n,wc,a3n,avT,a3n,Tx,a3n,Q6,a3n,WL,a3n,HV,a3n,oY,a3n,aaD,a3n,anQ,a3n,gJ,a3n,ajW,a3n,aaU,a3n,v1,a3n,wM,a3n,YO,a3n,SV,a3n,aef,a3n,e4,a3n,akP,a3n,p_,a3n,j$,a3n,aA8,a3n,yX,a3n,abp,a3n,Xm,a3n,gN,a3n,l2,a3n,B4,a3n,afm,a3n,hE,a3n,Db,a3n,tZ,a3n,aa2,a3n,IT,a3n,CY,a3n,gR,a3n,ae$,a3n,amA,a3n,wL,a3n,Go,a3n,lT,a3n,g2,a3n,JG,a3n,fM,a3n,Pq,a3n,o3,a3n,BJ,a3n,IH,a3n,Nc,a3n,ao3,a3n,nJ,a3n,abl,a3n,aj1,a3n,wb,a3n,M8,a3n,_v,a3n,vs,a3n,aoz,a3n,ZZ,a3n,ro,a3n,v7,a3n,tY,a3n,aAe,a3n,abm,a3n,zT,a3n,Bp,a3n,afh,a3n,adH,a3n,vE,a3n,abC,a3n,alY,a3n,uf,a3n,aBb,a3n,eH,a3n,SX,a3n,lA,a3n,N7,a3n,CT,a3n,lR,a3n,arl,a3n,gY,a3n,adj,a3n,WQ,a3n,z_,a3n,N$,a3n,as0,a3n,adu,a3n,vu,a3n,B$,a3n,ajB,a3n,axu,a3n,W4,a3n,uD,a3n,aeB,a3n,Tw,a3n,wt,a3n,ZN,a3n,ac2,a3n,ac8,a3n,aqC,a3n,No,a3n,abU,a3n,awV,a3n,A5,a3n,nL,a3n,wn,a3n,rf,a3n,sm,a3n,ah1,a3n,oC,a3n,NP,a3n,rI,a3n,Hw,a3n,Qv,a3n,aBR,a3n,ajI,a3n,wP,a3n,aqu,a3n,Mk,a3n,abj,a3n,Cj,a3n,mj,a3n,Hs,a3n,hr,a3n,kc,a3n,an3,a3n,atE,a3n,A6,a3n,FK,a3n,p7,a3n,ny,a3n,nX,a3n,Jl,a3n,vX,a3n,afP,a3n,hP,a3n,B_,a3n,wy,a3n,Y3,a3n,Pi,a3n,UO,a3n,Ib,a3n,xx,a3n,Bx,a3n,lu,a3n,RT,a3n,rq,a3n,aBB,a3n,azd,a3n,vL,a3n,vg,a3n,qP,a3n,sG,a3n,Pr,a3n,apq,a3n,Zq,a3n,pL,a3n,aCh,a3n,n5,a3n,ayX,a3n,nd,a3n,XC,a3n,x5,a3n,hg,a3n,ahM,a3n,aa_,a3n,gl,a3n,xW,a3n,aqD,a3n,hY,a3n,sq,a3n,VF,a3n,aek,a3n,acF,a3n,Mp,a3n,abu,a3n,awT,a3n,hb,a3n,Tr,a3n,hK,a3n,Ud,a3n,qe,a3n,aCj,a3n,SZ,a3n,Nj,a3n,AX,a3n,WZ,a3n,OE,a3n,abb,a3n,als,a3n,nH,a3n,acp,a3n,VG,a3n,ae2,a3n,mv,a3n,MD,a3n,Us,a3n,Ng,a3n,qI,a3n,l$,a3n,jT,a3n,uc,a3n,Wk,a3n,afe,a3n,Ia,a3n,FS,a3n,Os,a3n,UP,a3n,anL,a3n,aqM,a3n,JP,a3n,gM,a3n,OS,a3n,ase,a3n,$Q,a3n,aco,a3n,Cz,a3n,aoO,a3n,adA,a3n,kY,a3n,g9,a3n,vK,a3n,an2,a3n,v4,a3n,$k,a3n,aeP,a3n,KC,a3n,C1,a3n,zC,a3n,azu,a3n,UK,a3n,eP,a3n,aqI,a3n,Y2,a3n,EH,a3n,HF,a3n,Vd,a3n,Hk,a3n,SI,a3n,PR,a3n,QV,a3n,ahj,a3n,Id,a3n,adG,a3n,arG,a3n,aA9,a3n,aqv,a3n,Gm,a3n,adz,a3n,ax8,a3n,N0,a3n,OM,a3n,GY,a3n,OP,a3n,Lz,a3n,Cw,a3n,t0,a3n,$G,a3n,pd,a3n,AJ,a3n,s1,a3n,ts,a3n,ni,a3n,np,a3n,adE,a3n,mM,a3n,azY,a3n,QH,a3n,SN,a3n,agk,a3n,N3,a3n,ak0,a3n,GA,a3n,aha,a3n,aqE,a3n,anO,a3n,aqx,a3n,aeA,a3n,le,a3n,nu,a3n,apI,a3n,wR,a3n,ub,a3n,Nn,a3n,L7,a3n,on,a3n,UL,a3n,gW,a3n,Ff,a3n,avp,a3n,abg,a3n,Bk,a3n,U1,a3n,Oi,a3n,x0,a3n,LS,a3n,aoo,a3n,aAE,a3n,aBl,a3n,WB,a3n,ab$,a3n,m2,a3n,WH,a3n,tx,a3n,aCm,a3n,akd,a3n,Bl,a3n,Nh,a3n,abk,a3n,Tt,a3n,avz,a3n,ou,a3n,Xv,a3n,Bb,a3n,ahX,a3n,ajz,a3n,ZY,a3n,Ri,a3n,nc,a3n,ew,a3n,aat,a3n,afC,a3n,ahE,a3n,Io,a3n,YH,a3n,n8,a3n,amZ,a3n,aCQ,a3n,qJ,a3n,aiy,a3n,iU,a3n,pG,a3n,B7,a3n,ae3,a3n,ajw,a3n,wv,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n,a3n];var cw=[a3o,a3o,aGl,a3o,aGm,a3o,aGn,a3o,aGo,a3o,aGp,a3o,aGq,a3o,aGr,a3o,aGs,a3o,aGt,a3o,aGu,a3o,aGv,a3o,aGw,a3o,aGx,a3o,aGy,a3o,aGz,a3o,aGA,a3o,aGB,a3o,aGC,a3o,aGD,a3o,aGE,a3o,te,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o,a3o];var cx=[a3p,a3p,aGG,a3p,aGH,a3p,aGI,a3p,aGJ,a3p,aGK,a3p,aGL,a3p,aGM,a3p,aGN,a3p,aGO,a3p,aGP,a3p,aGQ,a3p,aGR,a3p,aGS,a3p,aGT,a3p,aGU,a3p,aGV,a3p,aGW,a3p,aGX,a3p,aGY,a3p,aGZ,a3p,eg,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p,a3p];var cy=[a3q,a3q,aG$,a3q,aG0,a3q,aG1,a3q,aG2,a3q,aG3,a3q,aG4,a3q,aG5,a3q,aG6,a3q,aG7,a3q,aG8,a3q,aG9,a3q,aHa,a3q,aHb,a3q,aHc,a3q,aHd,a3q,aHe,a3q,aHf,a3q,aHg,a3q,aHh,a3q,aHi,a3q,ahs,a3q,iN,a3q,rX,a3q,acs,a3q,yA,a3q,_U,a3q,abd,a3q,FF,a3q,xF,a3q,n4,a3q,Jh,a3q,Xi,a3q,ae_,a3q,amm,a3q,gw,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q,a3q];var cz=[a3r,a3r,aHk,a3r,aHl,a3r,aHm,a3r,aHn,a3r,aHo,a3r,aHp,a3r,aHq,a3r,aHr,a3r,aHs,a3r,aHt,a3r,aHu,a3r,aHv,a3r,aHw,a3r,aHx,a3r,aHy,a3r,aHz,a3r,aHA,a3r,aHB,a3r,aHC,a3r,aHD,a3r,tf,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r,a3r];var cA=[a3s,a3s,aHF,a3s,aHG,a3s,aHH,a3s,aHI,a3s,aHJ,a3s,aHK,a3s,aHL,a3s,aHM,a3s,aHN,a3s,aHO,a3s,aHP,a3s,aHQ,a3s,aHR,a3s,aHS,a3s,aHT,a3s,aHU,a3s,aHV,a3s,aHW,a3s,aHX,a3s,aHY,a3s,M7,a3s,afS,a3s,aj0,a3s,JZ,a3s,PK,a3s,WD,a3s,ad0,a3s,lj,a3s,g6,a3s,ayx,a3s,FO,a3s,aa$,a3s,j7,a3s,e5,a3s,f8,a3s,Dq,a3s,x6,a3s,kR,a3s,IU,a3s,lr,a3s,Mf,a3s,wZ,a3s,ic,a3s,aiA,a3s,ai$,a3s,kG,a3s,Uu,a3s,q1,a3s,fY,a3s,oc,a3s,CO,a3s,rl,a3s,e6,a3s,aaL,a3s,Qa,a3s,qc,a3s,RA,a3s,Fb,a3s,af5,a3s,BG,a3s,Zw,a3s,sl,a3s,x2,a3s,mW,a3s,IR,a3s,Zh,a3s,jP,a3s,amx,a3s,hf,a3s,hl,a3s,sK,a3s,sQ,a3s,aj2,a3s,sI,a3s,PY,a3s,ahx,a3s,zp,a3s,Qi,a3s,vA,a3s,U5,a3s,Do,a3s,jC,a3s,PZ,a3s,_9,a3s,avk,a3s,hs,a3s,zv,a3s,hi,a3s,HE,a3s,Wd,a3s,PT,a3s,Vh,a3s,ss,a3s,KJ,a3s,alU,a3s,Fu,a3s,qZ,a3s,l1,a3s,ai7,a3s,arO,a3s,pZ,a3s,afs,a3s,Z8,a3s,lb,a3s,uh,a3s,Ad,a3s,af3,a3s,Hx,a3s,add,a3s,kL,a3s,fT,a3s,hM,a3s,nx,a3s,GJ,a3s,ht,a3s,S8,a3s,C5,a3s,ahi,a3s,Aj,a3s,Sk,a3s,sf,a3s,arE,a3s,Bz,a3s,W$,a3s,Or,a3s,oj,a3s,Ze,a3s,rG,a3s,Rl,a3s,I1,a3s,amW,a3s,K2,a3s,lc,a3s,CG,a3s,pg,a3s,T5,a3s,f_,a3s,aeI,a3s,x1,a3s,afE,a3s,ud,a3s,mI,a3s,aly,a3s,wX,a3s,HH,a3s,Tp,a3s,KD,a3s,qq,a3s,agE,a3s,agu,a3s,CQ,a3s,Uo,a3s,sc,a3s,mA,a3s,akt,a3s,afn,a3s,FX,a3s,gO,a3s,I$,a3s,fc,a3s,aBV,a3s,kT,a3s,TG,a3s,MY,a3s,mC,a3s,Qb,a3s,MA,a3s,vh,a3s,aia,a3s,akn,a3s,uQ,a3s,Cu,a3s,Me,a3s,afW,a3s,mG,a3s,agO,a3s,qU,a3s,mx,a3s,M5,a3s,pc,a3s,VB,a3s,ot,a3s,T4,a3s,wQ,a3s,amF,a3s,KI,a3s,zz,a3s,tN,a3s,io,a3s,rV,a3s,Hi,a3s,ug,a3s,BD,a3s,Aq,a3s,aeL,a3s,PW,a3s,n0,a3s,t_,a3s,auM,a3s,eK,a3s,vG,a3s,wS,a3s,kS,a3s,ajZ,a3s,Lt,a3s,Sc,a3s,zy,a3s,LQ,a3s,ala,a3s,aiG,a3s,Ni,a3s,v3,a3s,hT,a3s,Es,a3s,ib,a3s,HK,a3s,hn,a3s,Tf,a3s,abB,a3s,vJ,a3s,n2,a3s,afD,a3s,PP,a3s,r7,a3s,Gc,a3s,aj6,a3s,aeK,a3s,Uk,a3s,JY,a3s,f$,a3s,afv,a3s,Ab,a3s,w6,a3s,HN,a3s,zO,a3s,f0,a3s,pl,a3s,hw,a3s,KU,a3s,CB,a3s,aqB,a3s,avF,a3s,Al,a3s,OC,a3s,Et,a3s,Pa,a3s,GT,a3s,So,a3s,wY,a3s,MW,a3s,nV,a3s,aiH,a3s,yL,a3s,DU,a3s,VE,a3s,aiK,a3s,lo,a3s,afu,a3s,Bg,a3s,aem,a3s,aeF,a3s,_y,a3s,ep,a3s,Df,a3s,oM,a3s,awP,a3s,af2,a3s,tL,a3s,ako,a3s,N9,a3s,zs,a3s,QF,a3s,ag0,a3s,Kn,a3s,lY,a3s,J$,a3s,Ti,a3s,TS,a3s,JJ,a3s,abQ,a3s,IV,a3s,Ai,a3s,oF,a3s,uC,a3s,ft,a3s,TY,a3s,r3,a3s,aiN,a3s,fe,a3s,sh,a3s,Si,a3s,tP,a3s,adl,a3s,L6,a3s,yH,a3s,Va,a3s,sj,a3s,Ht,a3s,Y8,a3s,n1,a3s,IZ,a3s,op,a3s,aqy,a3s,adq,a3s,j5,a3s,DI,a3s,oh,a3s,ue,a3s,II,a3s,azv,a3s,ne,a3s,adw,a3s,$F,a3s,akl,a3s,Nw,a3s,ka,a3s,os,a3s,adh,a3s,EN,a3s,L8,a3s,arg,a3s,QB,a3s,aj$,a3s,Z1,a3s,g8,a3s,aki,a3s,agy,a3s,Qm,a3s,e3,a3s,ow,a3s,oA,a3s,IY,a3s,XM,a3s,jY,a3s,sJ,a3s,Nv,a3s,Lw,a3s,qn,a3s,ES,a3s,ad3,a3s,oi,a3s,XA,a3s,WF,a3s,p0,a3s,Um,a3s,p1,a3s,sb,a3s,adn,a3s,yi,a3s,xA,a3s,abW,a3s,alA,a3s,KA,a3s,E7,a3s,Pg,a3s,Ay,a3s,fw,a3s,e9,a3s,I0,a3s,vr,a3s,DS,a3s,WR,a3s,aoJ,a3s,afX,a3s,_e,a3s,ua,a3s,zu,a3s,akF,a3s,afo,a3s,nU,a3s,yk,a3s,tJ,a3s,_c,a3s,aix,a3s,p8,a3s,Ql,a3s,mO,a3s,Tn,a3s,aa0,a3s,aja,a3s,aqX,a3s,t4,a3s,Mz,a3s,gQ,a3s,gD,a3s,r2,a3s,Zf,a3s,VC,a3s,vt,a3s,KH,a3s,$_,a3s,$0,a3s,OQ,a3s,tT,a3s,kX,a3s,hk,a3s,$H,a3s,rp,a3s,Pn,a3s,gh,a3s,am7,a3s,MZ,a3s,lD,a3s,$V,a3s,Na,a3s,zM,a3s,p$,a3s,amw,a3s,is,a3s,aah,a3s,Vj,a3s,x3,a3s,Ez,a3s,Li,a3s,qf,a3s,vH,a3s,sn,a3s,lm,a3s,WI,a3s,alB,a3s,H$,a3s,P8,a3s,aft,a3s,ag4,a3s,Qj,a3s,asm,a3s,Yy,a3s,I2,a3s,q0,a3s,uK,a3s,aeN,a3s,aj_,a3s,f3,a3s,ahW,a3s,tR,a3s,Sj,a3s,ok,a3s,i_,a3s,lF,a3s,M6,a3s,ab9,a3s,jO,a3s,Hq,a3s,Hj,a3s,oo,a3s,ad_,a3s,ku,a3s,mt,a3s,jp,a3s,CP,a3s,aeG,a3s,i3,a3s,oB,a3s,pv,a3s,Ae,a3s,aw9,a3s,acd,a3s,alC,a3s,amq,a3s,U0,a3s,Ro,a3s,ph,a3s,NH,a3s,w_,a3s,Pc,a3s,as5,a3s,vN,a3s,SW,a3s,ams,a3s,h8,a3s,asG,a3s,R6,a3s,sy,a3s,RC,a3s,fd,a3s,VK,a3s,an4,a3s,Ss,a3s,rc,a3s,hL,a3s,Vo,a3s,U$,a3s,fv,a3s,ack,a3s,acm,a3s,_1,a3s,qL,a3s,ad4,a3s,R7,a3s,af1,a3s,xu,a3s,By,a3s,r5,a3s,adb,a3s,iz,a3s,afB,a3s,akj,a3s,akp,a3s,g5,a3s,Nf,a3s,ge,a3s,BK,a3s,EY,a3s,apB,a3s,gF,a3s,Y5,a3s,YL,a3s,azw,a3s,ajO,a3s,eY,a3s,hF,a3s,ach,a3s,Vp,a3s,avE,a3s,TD,a3s,amo,a3s,s0,a3s,lx,a3s,PV,a3s,vq,a3s,amy,a3s,aqG,a3s,uW,a3s,kU,a3s,pA,a3s,agS,a3s,B5,a3s,tW,a3s,o6,a3s,hy,a3s,tQ,a3s,xp,a3s,F4,a3s,jd,a3s,HU,a3s,n_,a3s,mw,a3s,azG,a3s,GU,a3s,iq,a3s,Vc,a3s,FR,a3s,Yn,a3s,qx,a3s,acB,a3s,$r,a3s,aba,a3s,_d,a3s,alw,a3s,J0,a3s,ar2,a3s,A1,a3s,ed,a3s,Oj,a3s,vD,a3s,ly,a3s,eM,a3s,aaE,a3s,gd,a3s,TQ,a3s,Cp,a3s,ayh,a3s,P3,a3s,qY,a3s,zQ,a3s,_G,a3s,atp,a3s,Aa,a3s,EZ,a3s,Wj,a3s,$h,a3s,auK,a3s,oP,a3s,sz,a3s,zL,a3s,O4,a3s,VR,a3s,aBP,a3s,Ak,a3s,afp,a3s,aoI,a3s,jD,a3s,PX,a3s,TT,a3s,VH,a3s,Wh,a3s,pm,a3s,ul,a3s,akR,a3s,sd,a3s,t3,a3s,Aw,a3s,Rv,a3s,eL,a3s,aBx,a3s,iB,a3s,R8,a3s,zj,a3s,Dr,a3s,Ux,a3s,vz,a3s,nF,a3s,Ph,a3s,Pb,a3s,ng,a3s,w2,a3s,ace,a3s,CD,a3s,aA_,a3s,h2,a3s,akg,a3s,M4,a3s,L9,a3s,Ug,a3s,jS,a3s,ac$,a3s,lG,a3s,Iz,a3s,fQ,a3s,Ej,a3s,Q3,a3s,An,a3s,Jn,a3s,Pf,a3s,Nb,a3s,PU,a3s,O7,a3s,Zj,a3s,auZ,a3s,gG,a3s,eQ,a3s,SE,a3s,zr,a3s,HL,a3s,xz,a3s,alu,a3s,Td,a3s,IL,a3s,ajY,a3s,tS,a3s,pw,a3s,Y6,a3s,kV,a3s,hp,a3s,K$,a3s,hd,a3s,Cy,a3s,al3,a3s,gK,a3s,afw,a3s,MU,a3s,gC,a3s,oe,a3s,Ny,a3s,j_,a3s,agX,a3s,d_,a3s,ajM,a3s,$S,a3s,vQ,a3s,fZ,a3s,hc,a3s,f9,a3s,Cx,a3s,Pd,a3s,oD,a3s,Br,a3s,JB,a3s,aiZ,a3s,ahA,a3s,U2,a3s,YA,a3s,akk,a3s,arN,a3s,q7,a3s,p3,a3s,aiF,a3s,WU,a3s,Ar,a3s,qh,a3s,Nl,a3s,En,a3s,Uv,a3s,adc,a3s,amz,a3s,qv,a3s,wz,a3s,kf,a3s,Tb,a3s,amD,a3s,U6,a3s,fb,a3s,Mj,a3s,wu,a3s,zE,a3s,GM,a3s,QA,a3s,W_,a3s,_T,a3s,Xt,a3s,gI,a3s,Bj,a3s,tX,a3s,agM,a3s,_8,a3s,kd,a3s,Ry,a3s,W6,a3s,fR,a3s,wj,a3s,rg,a3s,aej,a3s,w0,a3s,oy,a3s,Qh,a3s,sF,a3s,kh,a3s,ag7,a3s,av8,a3s,abP,a3s,ayS,a3s,LM,a3s,adi,a3s,Rp,a3s,nC,a3s,fh,a3s,Am,a3s,ON,a3s,VL,a3s,XE,a3s,Kw,a3s,ac_,a3s,oG,a3s,FW,a3s,avj,a3s,t6,a3s,On,a3s,ahB,a3s,Qg,a3s,t1,a3s,Ap,a3s,r8,a3s,Pe,a3s,Ci,a3s,ab4,a3s,CL,a3s,avI,a3s,aeV,a3s,VD,a3s,X8,a3s,GN,a3s,f1,a3s,P5,a3s,Yu,a3s,ff,a3s,agU,a3s,Ex,a3s,Ns,a3s,ga,a3s,aiD,a3s,aep,a3s,To,a3s,U4,a3s,FQ,a3s,zt,a3s,Vu,a3s,acb,a3s,aBu,a3s,GE,a3s,xg,a3s,nm,a3s,R$,a3s,Yt,a3s,Qe,a3s,y0,a3s,an1,a3s,li,a3s,mh,a3s,ml,a3s,OI,a3s,aBf,a3s,p5,a3s,HY,a3s,ayT,a3s,kQ,a3s,fg,a3s,al5,a3s,P_,a3s,Dn,a3s,aAD,a3s,DH,a3s,vI,a3s,RR,a3s,azI,a3s,C$,a3s,aar,a3s,Wi,a3s,JE,a3s,rd,a3s,Zy,a3s,qA,a3s,TH,a3s,aao,a3s,aez,a3s,Zc,a3s,Vq,a3s,adp,a3s,agK,a3s,ai6,a3s,gP,a3s,ar_,a3s,Uw,a3s,HD,a3s,nk,a3s,aaG,a3s,Ym,a3s,et,a3s,agJ,a3s,t7,a3s,Ey,a3s,aBS,a3s,Ma,a3s,CM,a3s,im,a3s,IJ,a3s,W0,a3s,ad9,a3s,Yx,a3s,fs,a3s,BF,a3s,nv,a3s,VS,a3s,ajT,a3s,tM,a3s,lg,a3s,ar1,a3s,Fc,a3s,xV,a3s,eO,a3s,gZ,a3s,arJ,a3s,py,a3s,axx,a3s,Y7,a3s,sB,a3s,aed,a3s,ef,a3s,afF,a3s,Zg,a3s,yl,a3s,ajP,a3s,XD,a3s,aaV,a3s,ET,a3s,j1,a3s,Ul,a3s,e0,a3s,od,a3s,abS,a3s,CN,a3s,U8,a3s,Sd,a3s,Kr,a3s,Z_,a3s,lh,a3s,DG,a3s,aex,a3s,qp,a3s,JW,a3s,uN,a3s,akm,a3s,Fa,a3s,ax_,a3s,acg,a3s,ar$,a3s,ln,a3s,az6,a3s,asH,a3s,afx,a3s,Tl,a3s,JU,a3s,ql,a3s,TX,a3s,Sl,a3s,xs,a3s,ys,a3s,Hn,a3s,$T,a3s,ad5,a3s,J5,a3s,Tq,a3s,arh,a3s,aAi,a3s,vv,a3s,agI,a3s,Ne,a3s,agz,a3s,Mg,a3s,agR,a3s,P2,a3s,o9,a3s,anV,a3s,Bd,a3s,Yl,a3s,aaI,a3s,ak6,a3s,Sr,a3s,HC,a3s,Mw,a3s,x4,a3s,Da,a3s,Vr,a3s,Pk,a3s,aaz,a3s,arM,a3s,iA,a3s,Zb,a3s,Vz,a3s,xY,a3s,MX,a3s,mD,a3s,Lx,a3s,zw,a3s,KS,a3s,o_,a3s,uO,a3s,lk,a3s,M_,a3s,V5,a3s,aif,a3s,S1,a3s,asY,a3s,ir,a3s,ar3,a3s,TW,a3s,ks,a3s,hJ,a3s,_o,a3s,ayV,a3s,az5,a3s,F8,a3s,fV,a3s,NG,a3s,ayP,a3s,ayU,a3s,p4,a3s,ake,a3s,Uq,a3s,amp,a3s,sa,a3s,agp,a3s,WX,a3s,DF,a3s,ac9,a3s,Kz,a3s,arj,a3s,vU,a3s,aiV,a3s,ij,a3s,Zi,a3s,ado,a3s,re,a3s,ad1,a3s,Bm,a3s,agx,a3s,no,a3s,Qd,a3s,Za,a3s,WJ,a3s,Wz,a3s,ag_,a3s,avg,a3s,CJ,a3s,acf,a3s,pp,a3s,abX,a3s,nz,a3s,q5,a3s,ik,a3s,og,a3s,hD,a3s,al2,a3s,ig,a3s,Rk,a3s,Rr,a3s,GH,a3s,P4,a3s,apu,a3s,D4,a3s,VA,a3s,P7,a3s,aiI,a3s,Zo,a3s,Sg,a3s,Ls,a3s,Ve,a3s,$R,a3s,Ho,a3s,Ew,a3s,Po,a3s,as6,a3s,acT,a3s,ab2,a3s,pR,a3s,gV,a3s,lp,a3s,hH,a3s,aec,a3s,ll,a3s,aiY,a3s,$7,a3s,XO,a3s,axb,a3s,ox,a3s,Mc,a3s,Oo,a3s,ii,a3s,zB,a3s,aaj,a3s,aAB,a3s,azO,a3s,Oh,a3s,MV,a3s,Ok,a3s,LP,a3s,Vx,a3s,arZ,a3s,Vi,a3s,aka,a3s,iv,a3s,aeM,a3s,Vm,a3s,Nd,a3s,P9,a3s,Rt,a3s,Ev,a3s,KN,a3s,ie,a3s,avL,a3s,Wa,a3s,afL,a3s,Kt,a3s,vM,a3s,aaQ,a3s,q4,a3s,pW,a3s,aa1,a3s,gH,a3s,p2,a3s,JV,a3s,akh,a3s,azN,a3s,Md,a3s,F6,a3s,agW,a3s,HM,a3s,Q0,a3s,HA,a3s,aaW,a3s,aag,a3s,Mh,a3s,lq,a3s,M0,a3s,Ky,a3s,BH,a3s,aci,a3s,Nq,a3s,Ua,a3s,ay9,a3s,ag8,a3s,KV,a3s,akc,a3s,agL,a3s,Nm,a3s,wp,a3s,ag6,a3s,azH,a3s,KP,a3s,Om,a3s,azM,a3s,axz,a3s,acx,a3s,abR,a3s,agd,a3s,pn,a3s,kM,a3s,$$,a3s,H0,a3s,aes,a3s,Mv,a3s,M$,a3s,asF,a3s,ajQ,a3s,Vk,a3s,ag5,a3s,fj,a3s,Rx,a3s,pi,a3s,$X,a3s,afy,a3s,ade,a3s,yW,a3s,Bi,a3s,Qk,a3s,Qf,a3s,al6,a3s,IB,a3s,afz,a3s,At,a3s,BR,a3s,oE,a3s,Bo,a3s,BC,a3s,ark,a3s,acC,a3s,GB,a3s,alr,a3s,EQ,a3s,ag3,a3s,Y0,a3s,acZ,a3s,ap1,a3s,ajF,a3s,Tm,a3s,aBe,a3s,ar0,a3s,Eb,a3s,xC,a3s,tk,a3s,F_,a3s,aev,a3s,q9,a3s,KT,a3s,aeE,a3s,KL,a3s,sR,a3s,Bn,a3s,LN,a3s,il,a3s,Z0,a3s,sg,a3s,K3,a3s,Cv,a3s,GV,a3s,pk,a3s,aeC,a3s,Fd,a3s,ad2,a3s,mT,a3s,su,a3s,eT,a3s,jB,a3s,UT,a3s,mu,a3s,PS,a3s,Hg,a3s,auJ,a3s,$E,a3s,Vw,a3s,tO,a3s,gL,a3s,A$,a3s,ke,a3s,AS,a3s,T7,a3s,akD,a3s,agF,a3s,Hu,a3s,Sb,a3s,aiJ,a3s,G0,a3s,Z4,a3s,Y4,a3s,t8,a3s,gf,a3s,VJ,a3s,mE,a3s,YF,a3s,kW,a3s,ab7,a3s,ato,a3s,abO,a3s,Kx,a3s,PO,a3s,aiM,a3s,vC,a3s,F3,a3s,adr,a3s,ag2,a3s,abt,a3s,aas,a3s,aiz,a3s,N4,a3s,aaH,a3s,axa,a3s,ayi,a3s,KZ,a3s,Y1,a3s,Z6,a3s,agT,a3s,nZ,a3s,zx,a3s,Q4,a3s,Sh,a3s,jA,a3s,TV,a3s,ax1,a3s,Lm,a3s,aAA,a3s,Ko,a3s,ol,a3s,Op,a3s,agQ,a3s,jW,a3s,mF,a3s,Ks,a3s,HJ,a3s,avd,a3s,JK,a3s,Uj,a3s,Yv,a3s,avO,a3s,aAP,a3s,as4,a3s,ze,a3s,YD,a3s,XB,a3s,Kp,a3s,O9,a3s,Hl,a3s,afA,a3s,se,a3s,aoK,a3s,aA$,a3s,kt,a3s,sP,a3s,vp,a3s,hv,a3s,Vg,a3s,ajU,a3s,acY,a3s,aaP,a3s,ad7,a3s,awb,a3s,JX,a3s,p6,a3s,ac3,a3s,qd,a3s,agP,a3s,aiL,a3s,Yh,a3s,WP,a3s,agD,a3s,fX,a3s,lt,a3s,Fm,a3s,M1,a3s,x8,a3s,KQ,a3s,amv,a3s,zA,a3s,gE,a3s,kO,a3s,Ag,a3s,uY,a3s,_x,a3s,avh,a3s,ak7,a3s,alD,a3s,Py,a3s,afO,a3s,E_,a3s,F$,a3s,ac7,a3s,aaX,a3s,afr,a3s,j9,a3s,awO,a3s,T8,a3s,CA,a3s,Sq,a3s,ak1,a3s,apf,a3s,Au,a3s,akG,a3s,r1,a3s,jo,a3s,ak2,a3s,Ix,a3s,aAZ,a3s,RL,a3s,Zd,a3s,O6,a3s,asW,a3s,Ku,a3s,Ao,a3s,Nr,a3s,uI,a3s,aak,a3s,sE,a3s,xw,a3s,Kv,a3s,JA,a3s,aaf,a3s,yb,a3s,Mi,a3s,BI,a3s,gT,a3s,P6,a3s,ag1,a3s,aAY,a3s,TU,a3s,aDz,a3s,fS,a3s,aca,a3s,Fe,a3s,Vv,a3s,zm,a3s,XH,a3s,Ax,a3s,xv,a3s,aaq,a3s,ip,a3s,ad$,a3s,TC,a3s,ajR,a3s,KO,a3s,fi,a3s,asl,a3s,P1,a3s,apd,a3s,abT,a3s,oO,a3s,VP,a3s,Np,a3s,$2,a3s,r_,a3s,aiW,a3s,Vt,a3s,Fk,a3s,iZ,a3s,BA,a3s,V6,a3s,aic,a3s,it,a3s,hj,a3s,Zp,a3s,QE,a3s,q_,a3s,ai9,a3s,BB,a3s,pX,a3s,E8,a3s,qt,a3s,acy,a3s,JH,a3s,Vl,a3s,lf,a3s,aj8,a3s,aby,a3s,Q$,a3s,S9,a3s,ahy,a3s,mk,a3s,Jo,a3s,of,a3s,aw8,a3s,acj,a3s,Vy,a3s,r9,a3s,alz,a3s,Zt,a3s,afV,a3s,q$,a3s,Y9,a3s,as2,a3s,yh,a3s,Sp,a3s,RI,a3s,NC,a3s,ada,a3s,KR,a3s,aj4,a3s,ld,a3s,ak8,a3s,YB,a3s,vF,a3s,awd,a3s,Hv,a3s,hu,a3s,CC,a3s,av9,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s,a3s];var cB=[a3t,a3t,aH_,a3t,aH$,a3t,aH0,a3t,aH1,a3t,aH2,a3t,aH3,a3t,aH4,a3t,aH5,a3t,aH6,a3t,aH7,a3t,aH8,a3t,aH9,a3t,aIa,a3t,aIb,a3t,aIc,a3t,aId,a3t,aIe,a3t,aIf,a3t,aIg,a3t,aIh,a3t,S0,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t,a3t];var cC=[a3u,a3u,aIj,a3u,aIk,a3u,aIl,a3u,aIm,a3u,aIn,a3u,aIo,a3u,aIp,a3u,aIq,a3u,aIr,a3u,aIs,a3u,aIt,a3u,aIu,a3u,aIv,a3u,aIw,a3u,aIx,a3u,aIy,a3u,aIz,a3u,aIA,a3u,aIB,a3u,aIC,a3u,eD,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u,a3u];var cD=[a3v,a3v,aIE,a3v,aIF,a3v,aIG,a3v,aIH,a3v,aII,a3v,aIJ,a3v,aIK,a3v,aIL,a3v,aIM,a3v,aIN,a3v,aIO,a3v,aIP,a3v,aIQ,a3v,aIR,a3v,aIS,a3v,aIT,a3v,aIU,a3v,aIV,a3v,aIW,a3v,aIX,a3v,pC,a3v,YY,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v,a3v];var cE=[a3w,a3w,aIZ,a3w,aI_,a3w,aI$,a3w,aI0,a3w,aI1,a3w,aI2,a3w,aI3,a3w,aI4,a3w,aI5,a3w,aI6,a3w,aI7,a3w,aI8,a3w,aI9,a3w,aJa,a3w,aJb,a3w,aJc,a3w,aJd,a3w,aJe,a3w,aJf,a3w,aJg,a3w,aqZ,a3w,_0,a3w,Wv,a3w,yp,a3w,abG,a3w,Ii,a3w,eu,a3w,aa5,a3w,rQ,a3w,anW,a3w,ao9,a3w,apv,a3w,apE,a3w,m7,a3w,adN,a3w,wI,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w,a3w];var cF=[a3x,a3x,aJi,a3x,aJj,a3x,aJk,a3x,aJl,a3x,aJm,a3x,aJn,a3x,aJo,a3x,aJp,a3x,aJq,a3x,aJr,a3x,aJs,a3x,aJt,a3x,aJu,a3x,aJv,a3x,aJw,a3x,aJx,a3x,aJy,a3x,aJz,a3x,aJA,a3x,aJB,a3x,A7,a3x,Be,a3x,abn,a3x,afc,a3x,abz,a3x,afM,a3x,a3x,a3x,a3x,a3x,a3x,a3x,a3x,a3x,a3x,a3x];var cG=[a3y,a3y,aJD,a3y,aJE,a3y,aJF,a3y,aJG,a3y,aJH,a3y,aJI,a3y,aJJ,a3y,aJK,a3y,aJL,a3y,aJM,a3y,aJN,a3y,aJO,a3y,aJP,a3y,aJQ,a3y,aJR,a3y,aJS,a3y,aJT,a3y,aJU,a3y,aJV,a3y,aJW,a3y,_X,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y,a3y];var cH=[a3z,a3z,aJY,a3z,aJZ,a3z,aJ_,a3z,aJ$,a3z,aJ0,a3z,aJ1,a3z,aJ2,a3z,aJ3,a3z,aJ4,a3z,aJ5,a3z,aJ6,a3z,aJ7,a3z,aJ8,a3z,aJ9,a3z,aKa,a3z,aKb,a3z,aKc,a3z,aKd,a3z,aKe,a3z,aKf,a3z,PM,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z,a3z];var cI=[a3A,a3A,aKh,a3A,aKi,a3A,aKj,a3A,aKk,a3A,aKl,a3A,aKm,a3A,aKn,a3A,aKo,a3A,aKp,a3A,aKq,a3A,aKr,a3A,aKs,a3A,aKt,a3A,aKu,a3A,aKv,a3A,aKw,a3A,aKx,a3A,aKy,a3A,aKz,a3A,aKA,a3A,Je,a3A,aeX,a3A,nQ,a3A,Xf,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A,a3A];var cJ=[a3B,a3B,aKC,a3B,aKD,a3B,aKE,a3B,aKF,a3B,aKG,a3B,aKH,a3B,aKI,a3B,aKJ,a3B,aKK,a3B,aKL,a3B,aKM,a3B,aKN,a3B,aKO,a3B,aKP,a3B,aKQ,a3B,aKR,a3B,aKS,a3B,aKT,a3B,aKU,a3B,aKV,a3B,LU,a3B,ju,a3B,xc,a3B,yx,a3B,FN,a3B,ah5,a3B,a3B,a3B,a3B,a3B,a3B,a3B,a3B,a3B,a3B,a3B];var cK=[a3C,a3C,aKX,a3C,aKY,a3C,aKZ,a3C,aK_,a3C,aK$,a3C,aK0,a3C,aK1,a3C,aK2,a3C,aK3,a3C,aK4,a3C,aK5,a3C,aK6,a3C,aK7,a3C,aK8,a3C,aK9,a3C,aLa,a3C,aLb,a3C,aLc,a3C,aLd,a3C,aLe,a3C,tp,a3C,td,a3C,tl,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C,a3C];var cL=[a3D,a3D,aLg,a3D,aLh,a3D,aLi,a3D,aLj,a3D,aLk,a3D,aLl,a3D,aLm,a3D,aLn,a3D,aLo,a3D,aLp,a3D,aLq,a3D,aLr,a3D,aLs,a3D,aLt,a3D,aLu,a3D,aLv,a3D,aLw,a3D,aLx,a3D,aLy,a3D,aLz,a3D,axU,a3D,ayc,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D,a3D];var cM=[a3E,a3E,aLB,a3E,aLC,a3E,aLD,a3E,aLE,a3E,aLF,a3E,aLG,a3E,aLH,a3E,aLI,a3E,aLJ,a3E,aLK,a3E,aLL,a3E,aLM,a3E,aLN,a3E,aLO,a3E,aLP,a3E,aLQ,a3E,aLR,a3E,aLS,a3E,aLT,a3E,aLU,a3E,yN,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E,a3E];var cN=[a3F,a3F,aLW,a3F,aLX,a3F,aLY,a3F,aLZ,a3F,aL_,a3F,aL$,a3F,aL0,a3F,aL1,a3F,aL2,a3F,aL3,a3F,aL4,a3F,aL5,a3F,aL6,a3F,aL7,a3F,aL8,a3F,aL9,a3F,aMa,a3F,aMb,a3F,aMc,a3F,aMd,a3F,NY,a3F,Jw,a3F,aqs,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F,a3F];var cO=[a3G,a3G,aMf,a3G,aMg,a3G,aMh,a3G,aMi,a3G,aMj,a3G,aMk,a3G,aMl,a3G,aMm,a3G,aMn,a3G,aMo,a3G,aMp,a3G,aMq,a3G,aMr,a3G,aMs,a3G,aMt,a3G,aMu,a3G,aMv,a3G,aMw,a3G,aMx,a3G,aMy,a3G,auA,a3G,auC,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G,a3G];var cP=[a3H,a3H,aMA,a3H,aMB,a3H,aMC,a3H,aMD,a3H,aME,a3H,aMF,a3H,aMG,a3H,aMH,a3H,aMI,a3H,aMJ,a3H,aMK,a3H,aML,a3H,aMM,a3H,aMN,a3H,aMO,a3H,aMP,a3H,aMQ,a3H,aMR,a3H,aMS,a3H,aMT,a3H,ail,a3H,GX,a3H,MS,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H,a3H];var cQ=[a3I,a3I,aMV,a3I,aMW,a3I,aMX,a3I,aMY,a3I,aMZ,a3I,aM_,a3I,aM$,a3I,aM0,a3I,aM1,a3I,aM2,a3I,aM3,a3I,aM4,a3I,aM5,a3I,aM6,a3I,aM7,a3I,aM8,a3I,aM9,a3I,aNa,a3I,aNb,a3I,aNc,a3I,Xg,a3I,nR,a3I,xD,a3I,aeY,a3I,Jf,a3I,a3I,a3I,a3I,a3I,a3I,a3I,a3I,a3I,a3I,a3I,a3I,a3I];var cR=[a3J,a3J,aNe,a3J,aNf,a3J,aNg,a3J,aNh,a3J,aNi,a3J,aNj,a3J,aNk,a3J,aNl,a3J,aNm,a3J,aNn,a3J,aNo,a3J,aNp,a3J,aNq,a3J,aNr,a3J,aNs,a3J,aNt,a3J,aNu,a3J,aNv,a3J,aNw,a3J,aNx,a3J,mQ,a3J,C7,a3J,wr,a3J,OK,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J,a3J];var cS=[a3K,a3K,aNz,a3K,aNA,a3K,aNB,a3K,aNC,a3K,aND,a3K,aNE,a3K,aNF,a3K,aNG,a3K,aNH,a3K,aNI,a3K,aNJ,a3K,aNK,a3K,aNL,a3K,aNM,a3K,aNN,a3K,aNO,a3K,aNP,a3K,aNQ,a3K,aNR,a3K,aNS,a3K,Xo,a3K,alc,a3K,Dm,a3K,al1,a3K,ahw,a3K,uM,a3K,am1,a3K,ahd,a3K,oL,a3K,rt,a3K,atg,a3K,jU,a3K,ZR,a3K,uB,a3K,Pj,a3K,abH,a3K,an5,a3K,aeQ,a3K,ani,a3K,rO,a3K,yr,a3K,Kk,a3K,aln,a3K,afi,a3K,atw,a3K,$N,a3K,uw,a3K,Sx,a3K,V7,a3K,xh,a3K,Lr,a3K,Ij,a3K,rB,a3K,gj,a3K,lC,a3K,PJ,a3K,uE,a3K,arI,a3K,asg,a3K,kF,a3K,kv,a3K,ay1,a3K,RS,a3K,amT,a3K,KY,a3K,nI,a3K,W9,a3K,Ba,a3K,aq0,a3K,Mu,a3K,UY,a3K,V3,a3K,ajy,a3K,asx,a3K,RO,a3K,avs,a3K,sY,a3K,arA,a3K,apK,a3K,S3,a3K,uR,a3K,z9,a3K,Qz,a3K,fr,a3K,O0,a3K,alN,a3K,aDm,a3K,aga,a3K,ai5,a3K,yC,a3K,YX,a3K,abr,a3K,asU,a3K,amE,a3K,gr,a3K,akC,a3K,Wg,a3K,hZ,a3K,aq3,a3K,AW,a3K,azx,a3K,E5,a3K,aAS,a3K,ap7,a3K,azZ,a3K,RP,a3K,TB,a3K,_Z,a3K,jE,a3K,atd,a3K,qB,a3K,aAN,a3K,ayq,a3K,apG,a3K,VO,a3K,RM,a3K,ayG,a3K,Fo,a3K,amO,a3K,auT,a3K,apl,a3K,atq,a3K,awi,a3K,H5,a3K,as1,a3K,aph,a3K,zK,a3K,acw,a3K,YT,a3K,aw7,a3K,iI,a3K,Q_,a3K,aa3,a3K,uy,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K,a3K];var cT=[a3L,a3L,aNU,a3L,aNV,a3L,aNW,a3L,aNX,a3L,aNY,a3L,aNZ,a3L,aN_,a3L,aN$,a3L,aN0,a3L,aN1,a3L,aN2,a3L,aN3,a3L,aN4,a3L,aN5,a3L,aN6,a3L,aN7,a3L,aN8,a3L,aN9,a3L,aOa,a3L,aOb,a3L,tt,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L,a3L];var cU=[a3M,a3M,aOd,a3M,aOe,a3M,aOf,a3M,aOg,a3M,aOh,a3M,aOi,a3M,aOj,a3M,aOk,a3M,aOl,a3M,aOm,a3M,aOn,a3M,aOo,a3M,aOp,a3M,aOq,a3M,aOr,a3M,aOs,a3M,aOt,a3M,aOu,a3M,aOv,a3M,aOw,a3M,iH,a3M,oS,a3M,Wm,a3M,Q8,a3M,amc,a3M,MG,a3M,K9,a3M,akJ,a3M,att,a3M,ahH,a3M,ahc,a3M,Dx,a3M,TM,a3M,acI,a3M,sX,a3M,af9,a3M,Qp,a3M,zW,a3M,ZB,a3M,VV,a3M,AF,a3M,LB,a3M,gp,a3M,ajg,a3M,lJ,a3M,QK,a3M,E4,a3M,k_,a3M,fC,a3M,Pt,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M,a3M];var cV=[a3N,a3N,aOy,a3N,aOz,a3N,aOA,a3N,aOB,a3N,aOC,a3N,aOD,a3N,aOE,a3N,aOF,a3N,aOG,a3N,aOH,a3N,aOI,a3N,aOJ,a3N,aOK,a3N,aOL,a3N,aOM,a3N,aON,a3N,aOO,a3N,aOP,a3N,aOQ,a3N,aOR,a3N,ky,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N,a3N];var cW=[a3O,a3O,aOT,a3O,aOU,a3O,aOV,a3O,aOW,a3O,aOX,a3O,aOY,a3O,aOZ,a3O,aO_,a3O,aO$,a3O,aO0,a3O,aO1,a3O,aO2,a3O,aO3,a3O,aO4,a3O,aO5,a3O,aO6,a3O,aO7,a3O,aO8,a3O,aO9,a3O,aPa,a3O,nb,a3O,js,a3O,n3,a3O,yv,a3O,qu,a3O,qk,a3O,a3O,a3O,a3O,a3O,a3O,a3O,a3O,a3O,a3O,a3O];var cX=[a3P,a3P,aPc,a3P,aPd,a3P,aPe,a3P,aPf,a3P,aPg,a3P,aPh,a3P,aPi,a3P,aPj,a3P,aPk,a3P,aPl,a3P,aPm,a3P,aPn,a3P,aPo,a3P,aPp,a3P,aPq,a3P,aPr,a3P,aPs,a3P,aPt,a3P,aPu,a3P,aPv,a3P,VN,a3P,h7,a3P,ayj,a3P,JN,a3P,asJ,a3P,pE,a3P,azD,a3P,asb,a3P,Kj,a3P,YR,a3P,agt,a3P,zI,a3P,al$,a3P,f2,a3P,z7,a3P,av1,a3P,fo,a3P,au6,a3P,oK,a3P,JO,a3P,ax7,a3P,lB,a3P,Ms,a3P,Lp,a3P,axw,a3P,EM,a3P,azc,a3P,PI,a3P,ahu,a3P,auR,a3P,aBN,a3P,kE,a3P,azL,a3P,Tz,a3P,ai3,a3P,aAL,a3P,afR,a3P,O_,a3P,JC,a3P,aBD,a3P,Qx,a3P,o$,a3P,acu,a3P,rZ,a3P,QY,a3P,akB,a3P,Dk,a3P,aAt,a3P,Wf,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P,a3P];var cY=[a3Q,a3Q,aPx,a3Q,aPy,a3Q,aPz,a3Q,aPA,a3Q,aPB,a3Q,aPC,a3Q,aPD,a3Q,aPE,a3Q,aPF,a3Q,aPG,a3Q,aPH,a3Q,aPI,a3Q,aPJ,a3Q,aPK,a3Q,aPL,a3Q,aPM,a3Q,aPN,a3Q,aPO,a3Q,aPP,a3Q,aPQ,a3Q,wf,a3Q,SQ,a3Q,UV,a3Q,tb,a3Q,CX,a3Q,akw,a3Q,mb,a3Q,Oy,a3Q,a3Q,a3Q,a3Q,a3Q,a3Q,a3Q];var cZ=[a3R,a3R,aPS,a3R,aPT,a3R,aPU,a3R,aPV,a3R,aPW,a3R,aPX,a3R,aPY,a3R,aPZ,a3R,aP_,a3R,aP$,a3R,aP0,a3R,aP1,a3R,aP2,a3R,aP3,a3R,aP4,a3R,aP5,a3R,aP6,a3R,aP7,a3R,aP8,a3R,aP9,a3R,eE,a3R,ah4,a3R,LT,a3R,eB,a3R,ex,a3R,jt,a3R,fm,a3R,xb,a3R,GD,a3R,yw,a3R,aii,a3R,ah8,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R,a3R];var c_=[a3S,a3S,aQb,a3S,aQc,a3S,aQd,a3S,aQe,a3S,aQf,a3S,aQg,a3S,aQh,a3S,aQi,a3S,aQj,a3S,aQk,a3S,aQl,a3S,aQm,a3S,aQn,a3S,aQo,a3S,aQp,a3S,aQq,a3S,aQr,a3S,aQs,a3S,aQt,a3S,aQu,a3S,yq,a3S,xG,a3S,i1,a3S,ZH,a3S,kk,a3S,aDv,a3S,arm,a3S,aoX,a3S,rL,a3S,alG,a3S,SS,a3S,arw,a3S,xL,a3S,wk,a3S,aDu,a3S,u7,a3S,C0,a3S,mK,a3S,awG,a3S,aDw,a3S,OD,a3S,am$,a3S,tA,a3S,xR,a3S,aAc,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S,a3S];var c$=[a3T,a3T,aQw,a3T,aQx,a3T,aQy,a3T,aQz,a3T,aQA,a3T,aQB,a3T,aQC,a3T,aQD,a3T,aQE,a3T,aQF,a3T,aQG,a3T,aQH,a3T,aQI,a3T,aQJ,a3T,aQK,a3T,aQL,a3T,aQM,a3T,aQN,a3T,aQO,a3T,aQP,a3T,R5,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T,a3T];var c0=[a3U,a3U,aQR,a3U,aQS,a3U,aQT,a3U,aQU,a3U,aQV,a3U,aQW,a3U,aQX,a3U,aQY,a3U,aQZ,a3U,aQ_,a3U,aQ$,a3U,aQ0,a3U,aQ1,a3U,aQ2,a3U,aQ3,a3U,aQ4,a3U,aQ5,a3U,aQ6,a3U,aQ7,a3U,aQ8,a3U,afU,a3U,ia,a3U,hO,a3U,azT,a3U,r0,a3U,GP,a3U,F1,a3U,aAX,a3U,avK,a3U,Ga,a3U,aib,a3U,S4,a3U,EP,a3U,agw,a3U,HR,a3U,ar8,a3U,avf,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U,a3U];var c1=[a3V,a3V,aRa,a3V,aRb,a3V,aRc,a3V,aRd,a3V,aRe,a3V,aRf,a3V,aRg,a3V,aRh,a3V,aRi,a3V,aRj,a3V,aRk,a3V,aRl,a3V,aRm,a3V,aRn,a3V,aRo,a3V,aRp,a3V,aRq,a3V,aRr,a3V,aRs,a3V,aRt,a3V,yF,a3V,ur,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V,a3V];var c2=[a3W,a3W,aRv,a3W,aRw,a3W,aRx,a3W,aRy,a3W,aRz,a3W,aRA,a3W,aRB,a3W,aRC,a3W,aRD,a3W,aRE,a3W,aRF,a3W,aRG,a3W,aRH,a3W,aRI,a3W,aRJ,a3W,aRK,a3W,aRL,a3W,aRM,a3W,aRN,a3W,aRO,a3W,Ji,a3W,Ww,a3W,m8,a3W,adO,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W,a3W];var c3=[a3X,a3X,aRQ,a3X,aRR,a3X,aRS,a3X,aRT,a3X,aRU,a3X,aRV,a3X,aRW,a3X,aRX,a3X,aRY,a3X,aRZ,a3X,aR_,a3X,aR$,a3X,aR0,a3X,aR1,a3X,aR2,a3X,aR3,a3X,aR4,a3X,aR5,a3X,aR6,a3X,aR7,a3X,xe,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X,a3X];var c4=[a3Y,a3Y,aR9,a3Y,aSa,a3Y,aSb,a3Y,aSc,a3Y,aSd,a3Y,aSe,a3Y,aSf,a3Y,aSg,a3Y,aSh,a3Y,aSi,a3Y,aSj,a3Y,aSk,a3Y,aSl,a3Y,aSm,a3Y,aSn,a3Y,aSo,a3Y,aSp,a3Y,aSq,a3Y,aSr,a3Y,aSs,a3Y,aa7,a3Y,Im,a3Y,rS,a3Y,ax0,a3Y,apw,a3Y,oH,a3Y,yu,a3Y,anw,a3Y,aq_,a3Y,adQ,a3Y,anX,a3Y,H7,a3Y,apF,a3Y,adD,a3Y,Kg,a3Y,aue,a3Y,Gu,a3Y,BW,a3Y,wK,a3Y,FH,a3Y,xO,a3Y,anG,a3Y,aoU,a3Y,na,a3Y,anJ,a3Y,ZX,a3Y,Ln,a3Y,auv,a3Y,apa,a3Y,W2,a3Y,abK,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y,a3Y];var c5=[a3Z,a3Z,aSu,a3Z,aSv,a3Z,aSw,a3Z,aSx,a3Z,aSy,a3Z,aSz,a3Z,aSA,a3Z,aSB,a3Z,aSC,a3Z,aSD,a3Z,aSE,a3Z,aSF,a3Z,aSG,a3Z,aSH,a3Z,aSI,a3Z,aSJ,a3Z,aSK,a3Z,aSL,a3Z,aSM,a3Z,aSN,a3Z,i9,a3Z,alR,a3Z,ars,a3Z,ko,a3Z,ve,a3Z,tG,a3Z,ara,a3Z,az8,a3Z,awC,a3Z,a3Z,a3Z,a3Z,a3Z];var c6=[a3_,a3_,aSP,a3_,aSQ,a3_,aSR,a3_,aSS,a3_,aST,a3_,aSU,a3_,aSV,a3_,aSW,a3_,aSX,a3_,aSY,a3_,aSZ,a3_,aS_,a3_,aS$,a3_,aS0,a3_,aS1,a3_,aS2,a3_,aS3,a3_,aS4,a3_,aS5,a3_,aS6,a3_,R4,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_,a3_];var c7=[a3$,a3$,aS8,a3$,aS9,a3$,aTa,a3$,aTb,a3$,aTc,a3$,aTd,a3$,aTe,a3$,aTf,a3$,aTg,a3$,aTh,a3$,aTi,a3$,aTj,a3$,aTk,a3$,aTl,a3$,aTm,a3$,aTn,a3$,aTo,a3$,aTp,a3$,aTq,a3$,aTr,a3$,aqo,a3$,aqi,a3$,aqk,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$,a3$];var c8=[a30,a30,aTt,a30,aTu,a30,aTv,a30,aTw,a30,aTx,a30,aTy,a30,aTz,a30,aTA,a30,aTB,a30,aTC,a30,aTD,a30,aTE,a30,aTF,a30,aTG,a30,aTH,a30,aTI,a30,aTJ,a30,aTK,a30,aTL,a30,aTM,a30,pB,a30,Ya,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30,a30];var c9=[a31,a31,aTO,a31,aTP,a31,aTQ,a31,aTR,a31,aTS,a31,aTT,a31,aTU,a31,aTV,a31,aTW,a31,aTX,a31,aTY,a31,aTZ,a31,aT_,a31,aT$,a31,aT0,a31,aT1,a31,aT2,a31,aT3,a31,aT4,a31,aT5,a31,Th,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31,a31];var da=[a32,a32,aT7,a32,aT8,a32,aT9,a32,aUa,a32,aUb,a32,aUc,a32,aUd,a32,aUe,a32,aUf,a32,aUg,a32,aUh,a32,aUi,a32,aUj,a32,aUk,a32,aUl,a32,aUm,a32,aUn,a32,aUo,a32,aUp,a32,aUq,a32,nP,a32,Xe,a32,Jd,a32,aeW,a32,a32,a32,a32,a32,a32,a32,a32,a32,a32,a32,a32,a32,a32,a32];var db=[a33,a33,aUs,a33,aUt,a33,aUu,a33,aUv,a33,aUw,a33,aUx,a33,aUy,a33,aUz,a33,aUA,a33,aUB,a33,aUC,a33,aUD,a33,aUE,a33,aUF,a33,aUG,a33,aUH,a33,aUI,a33,aUJ,a33,aUK,a33,aUL,a33,alZ,a33,aCN,a33,axs,a33,jI,a33,aCt,a33,aCF,a33,ZT,a33,aB4,a33,R2,a33,aCg,a33,aAj,a33,eh,a33,aAy,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33,a33];var dc=[a34,a34,aUN,a34,aUO,a34,aUP,a34,aUQ,a34,aUR,a34,aUS,a34,aUT,a34,aUU,a34,aUV,a34,aUW,a34,aUX,a34,aUY,a34,aUZ,a34,aU_,a34,aU$,a34,aU0,a34,aU1,a34,aU2,a34,aU3,a34,aU4,a34,ah3,a34,mP,a34,aik,a34,OJ,a34,C6,a34,wq,a34,Mm,a34,Wx,a34,GG,a34,Gz,a34,aim,a34,yY,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34,a34];var dd=[a35,a35,aU6,a35,aU7,a35,aU8,a35,aU9,a35,aVa,a35,aVb,a35,aVc,a35,aVd,a35,aVe,a35,aVf,a35,aVg,a35,aVh,a35,aVi,a35,aVj,a35,aVk,a35,aVl,a35,aVm,a35,aVn,a35,aVo,a35,aVp,a35,amg,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35,a35];var de=[a36,a36,aVr,a36,aVs,a36,aVt,a36,aVu,a36,aVv,a36,aVw,a36,aVx,a36,aVy,a36,aVz,a36,aVA,a36,aVB,a36,aVC,a36,aVD,a36,aVE,a36,aVF,a36,aVG,a36,aVH,a36,aVI,a36,aVJ,a36,aVK,a36,jv,a36,xd,a36,yy,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36,a36];var df=[a37,a37,aVM,a37,aVN,a37,aVO,a37,aVP,a37,aVQ,a37,aVR,a37,aVS,a37,aVT,a37,aVU,a37,aVV,a37,aVW,a37,aVX,a37,aVY,a37,aVZ,a37,aV_,a37,aV$,a37,aV0,a37,aV1,a37,aV2,a37,aV3,a37,tc,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37,a37];var dg=[a38,a38,aV5,a38,aV6,a38,aV7,a38,aV8,a38,aV9,a38,aWa,a38,aWb,a38,aWc,a38,aWd,a38,aWe,a38,aWf,a38,aWg,a38,aWh,a38,aWi,a38,aWj,a38,aWk,a38,aWl,a38,aWm,a38,aWn,a38,aWo,a38,tv,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38,a38];var dh=[a39,a39,aWq,a39,aWr,a39,aWs,a39,aWt,a39,aWu,a39,aWv,a39,aWw,a39,aWx,a39,aWy,a39,aWz,a39,aWA,a39,aWB,a39,aWC,a39,aWD,a39,aWE,a39,aWF,a39,aWG,a39,aWH,a39,aWI,a39,aWJ,a39,e7,a39,aiR,a39,fH,a39,Tg,a39,hm,a39,G6,a39,afq,a39,gz,a39,Yd,a39,hB,a39,G7,a39,zD,a39,FA,a39,ac6,a39,y3,a39,aaB,a39,R0,a39,FZ,a39,aiC,a39,je,a39,Yw,a39,zn,a39,aaC,a39,p9,a39,aae,a39,agb,a39,LZ,a39,ai1,a39,z3,a39,LY,a39,LX,a39,KW,a39,hq,a39,CH,a39,Qu,a39,yn,a39,ahY,a39,Eq,a39,ahZ,a39,rk,a39,L$,a39,aaa,a39,aj3,a39,aap,a39,$j,a39,L0,a39,ov,a39,Eh,a39,ra,a39,$c,a39,aab,a39,w3,a39,xy,a39,xm,a39,Tc,a39,alt,a39,jc,a39,xr,a39,pa,a39,or,a39,fL,a39,UD,a39,ajq,a39,$m,a39,Gi,a39,ag$,a39,r6,a39,sH,a39,acM,a39,y8,a39,_z,a39,_h,a39,xE,a39,iT,a39,Ee,a39,HO,a39,j3,a39,aax,a39,k8,a39,_s,a39,xt,a39,_A,a39,eZ,a39,oT,a39,Yc,a39,Wn,a39,XW,a39,DK,a39,G2,a39,Uh,a39,pV,a39,qy,a39,_i,a39,amd,a39,w5,a39,G8,a39,Zk,a39,Mb,a39,w8,a39,_b,a39,agN,a39,DT,a39,vO,a39,zf,a39,ahk,a39,vP,a39,y9,a39,eR,a39,x$,a39,ait,a39,ab1,a39,DD,a39,yS,a39,yG,a39,y2,a39,K0,a39,acJ,a39,zF,a39,V$,a39,ajm,a39,JM,a39,aji,a39,QU,a39,ajX,a39,Iw,a39,D9,a39,aaT,a39,DR,a39,jh,a39,DL,a39,WM,a39,ha,a39,Gh,a39,Bu,a39,KB,a39,hz,a39,y4,a39,ah0,a39,Zl,a39,hA,a39,CI,a39,awo,a39,lO,a39,za,a39,Vn,a39,Kq,a39,x9,a39,$u,a39,L1,a39,WV,a39,z$,a39,eS,a39,iP,a39,IS,a39,ahJ,a39,R3,a39,CF,a39,yf,a39,T0,a39,Pu,a39,yR,a39,$n,a39,aiP,a39,zb,a39,j8,a39,yZ,a39,TZ,a39,aaw,a39,$w,a39,LD,a39,M3,a39,Gk,a39,f5,a39,$q,a39,Ot,a39,Gj,a39,MO,a39,adg,a39,ps,a39,Ld,a39,Yo,a39,o5,a39,acQ,a39,yO,a39,xn,a39,aeg,a39,DQ,a39,oz,a39,HT,a39,Yz,a39,zl,a39,Hp,a39,_N,a39,Gq,a39,nt,a39,ahe,a39,akO,a39,XT,a39,mn,a39,pY,a39,g0,a39,Bt,a39,$a,a39,nD,a39,PA,a39,D8,a39,aj5,a39,rm,a39,ai2,a39,Rh,a39,ED,a39,tV,a39,He,a39,WC,a39,G5,a39,Ec,a39,k0,a39,ahn,a39,n$,a39,ak5,a39,rj,a39,Yr,a39,Gr,a39,qg,a39,$d,a39,T_,a39,zi,a39,_F,a39,zo,a39,WA,a39,ad6,a39,agZ,a39,IE,a39,ahR,a39,xT,a39,jy,a39,s2,a39,Hb,a39,Hz,a39,Wr,a39,D6,a39,y$,a39,DY,a39,L2,a39,Z2,a39,$f,a39,nr,a39,abZ,a39,Yp,a39,aAm,a39,Gs,a39,mr,a39,akT,a39,e8,a39,_L,a39,eJ,a39,zX,a39,FL,a39,acz,a39,DX,a39,_M,a39,Rd,a39,ab5,a39,aiE,a39,ar4,a39,qz,a39,_5,a39,_H,a39,AG,a39,LH,a39,Dz,a39,asq,a39,Ha,a39,P0,a39,$D,a39,mo,a39,jw,a39,Un,a39,en,a39,alv,a39,xN,a39,$z,a39,aiB,a39,XX,a39,Ek,a39,_O,a39,sZ,a39,Z5,a39,$8,a39,Fq,a39,ih,a39,aan,a39,DO,a39,U3,a39,fD,a39,ZM,a39,_l,a39,agf,a39,Mx,a39,I_,a39,akX,a39,aiv,a39,FY,a39,Fj,a39,QQ,a39,lK,a39,oX,a39,Ut,a39,XN,a39,nj,a39,Fl,a39,As,a39,g_,a39,XV,a39,UA,a39,JS,a39,DW,a39,ah_,a39,Ur,a39,S7,a39,auO,a39,qT,a39,iu,a39,$y,a39,wT,a39,ZD,a39,TN,a39,aeq,a39,Qq,a39,fa,a39,agY,a39,DZ,a39,$l,a39,ahN,a39,ajS,a39,IG,a39,atu,a39,akr,a39,acc,a39,LL,a39,LR,a39,ab3,a39,aBU,a39,agj,a39,AK,a39,$6,a39,Yj,a39,sL,a39,D7,a39,amJ,a39,yj,a39,Fw,a39,akW,a39,aaS,a39,_t,a39,_B,a39,La,a39,aiu,a39,_q,a39,ads,a39,awk,a39,Eu,a39,VW,a39,aiO,a39,iJ,a39,_P,a39,$x,a39,jg,a39,gs,a39,awm,a39,ak$,a39,MH,a39,ais,a39,MK,a39,_E,a39,Tk,a39,s5,a39,QL,a39,akK,a39,mH,a39,Zm,a39,fW,a39,Lh,a39,_j,a39,AO,a39,Af,a39,ajV,a39,$Y,a39,PE,a39,Q9,a39,$5,a39,jf,a39,akq,a39,GI,a39,ji,a39,aaM,a39,air,a39,ami,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39,a39];var di=[a4a,a4a,aWL,a4a,aWM,a4a,aWN,a4a,aWO,a4a,aWP,a4a,aWQ,a4a,aWR,a4a,aWS,a4a,aWT,a4a,aWU,a4a,aWV,a4a,aWW,a4a,aWX,a4a,aWY,a4a,aWZ,a4a,aW_,a4a,aW$,a4a,aW0,a4a,aW1,a4a,aW2,a4a,A8,a4a,Bf,a4a,afN,a4a,aBc,a4a,abo,a4a,aqj,a4a,abA,a4a,afd,a4a,aBd,a4a,a4a,a4a,a4a,a4a];var dj=[a4b,a4b,aW4,a4b,aW5,a4b,aW6,a4b,aW7,a4b,aW8,a4b,aW9,a4b,aXa,a4b,aXb,a4b,aXc,a4b,aXd,a4b,aXe,a4b,aXf,a4b,aXg,a4b,aXh,a4b,aXi,a4b,aXj,a4b,aXk,a4b,aXl,a4b,aXm,a4b,aXn,a4b,Ly,a4b,f4,a4b,adC,a4b,fp,a4b,RG,a4b,aoT,a4b,al7,a4b,Xx,a4b,Q1,a4b,ix,a4b,j0,a4b,UR,a4b,jV,a4b,gk,a4b,X_,a4b,h9,a4b,ay4,a4b,Q5,a4b,Ds,a4b,uL,a4b,LW,a4b,agH,a4b,RH,a4b,qM,a4b,zJ,a4b,WO,a4b,OH,a4b,ag9,a4b,GS,a4b,uU,a4b,TI,a4b,pF,a4b,Dl,a4b,d9,a4b,IF,a4b,I5,a4b,Sn,a4b,Dt,a4b,am_,a4b,aqA,a4b,MC,a4b,f6,a4b,iO,a4b,BT,a4b,QP,a4b,LG,a4b,ahG,a4b,fx,a4b,O$,a4b,h1,a4b,Qy,a4b,go,a4b,Jp,a4b,Sa,a4b,Fv,a4b,at7,a4b,af$,a4b,vo,a4b,rK,a4b,qa,a4b,aub,a4b,Zs,a4b,gi,a4b,mN,a4b,oJ,a4b,qC,a4b,H3,a4b,adW,a4b,wO,a4b,W7,a4b,BV,a4b,ap2,a4b,MB,a4b,ZI,a4b,ajf,a4b,ek,a4b,Uz,a4b,wo,a4b,ah2,a4b,ahv,a4b,ms,a4b,zS,a4b,Kf,a4b,Pz,a4b,ID,a4b,agv,a4b,ajc,a4b,ns,a4b,Nu,a4b,C4,a4b,A2,a4b,fl,a4b,z8,a4b,K8,a4b,Cq,a4b,TR,a4b,Ui,a4b,kJ,a4b,iD,a4b,anr,a4b,sU,a4b,AA,a4b,sT,a4b,Ir,a4b,F2,a4b,Jt,a4b,TA,a4b,AB,a4b,mg,a4b,MF,a4b,nq,a4b,age,a4b,alM,a4b,alq,a4b,ai4,a4b,ej,a4b,eA,a4b,QC,a4b,at9,a4b,ahD,a4b,X9,a4b,r$,a4b,acW,a4b,agB,a4b,QG,a4b,XZ,a4b,sN,a4b,ati,a4b,YZ,a4b,Gy,a4b,atn,a4b,Gx,a4b,kz,a4b,gy,a4b,Rc,a4b,d8,a4b,ajN,a4b,Lu,a4b,O8,a4b,Lo,a4b,aei,a4b,Dw,a4b,fB,a4b,nG,a4b,kP,a4b,aee,a4b,TE,a4b,uA,a4b,E0,a4b,d7,a4b,auu,a4b,aul,a4b,H_,a4b,BS,a4b,jZ,a4b,Te,a4b,Pp,a4b,uG,a4b,H9,a4b,EW,a4b,zR,a4b,aeO,a4b,Pl,a4b,aqz,a4b,Lq,a4b,Y_,a4b,afY,a4b,iw,a4b,Xr,a4b,Mt,a4b,K5,a4b,eG,a4b,K4,a4b,KX,a4b,d2,a4b,ahC,a4b,NT,a4b,al0,a4b,ah$,a4b,X3,a4b,afT,a4b,anD,a4b,acv,a4b,Kl,a4b,aum,a4b,JD,a4b,AE,a4b,HW,a4b,X2,a4b,kN,a4b,Mr,a4b,atl,a4b,j2,a4b,fy,a4b,acL,a4b,WK,a4b,Fn,a4b,anq,a4b,ahV,a4b,as3,a4b,acH,a4b,amC,a4b,amb,a4b,ah7,a4b,acD,a4b,ae5,a4b,Gv,a4b,EV,a4b,EO,a4b,ayY,a4b,O3,a4b,aAW,a4b,VM,a4b,aoL,a4b,BO,a4b,GQ,a4b,YS,a4b,QZ,a4b,aoM,a4b,amh,a4b,ajD,a4b,ajb,a4b,aud,a4b,jG,a4b,zV,a4b,el,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b,a4b];var dk=[a4c,a4c,aXp,a4c,aXq,a4c,aXr,a4c,aXs,a4c,aXt,a4c,aXu,a4c,aXv,a4c,aXw,a4c,aXx,a4c,aXy,a4c,aXz,a4c,aXA,a4c,aXB,a4c,aXC,a4c,aXD,a4c,aXE,a4c,aXF,a4c,aXG,a4c,aXH,a4c,aXI,a4c,Xp,a4c,u_,a4c,adY,a4c,ae7,a4c,$O,a4c,alP,a4c,Jy,a4c,n9,a4c,RZ,a4c,YV,a4c,NO,a4c];var dl=[a4d,a4d,aXK,a4d,aXL,a4d,aXM,a4d,aXN,a4d,aXO,a4d,aXP,a4d,aXQ,a4d,aXR,a4d,aXS,a4d,aXT,a4d,aXU,a4d,aXV,a4d,aXW,a4d,aXX,a4d,aXY,a4d,aXZ,a4d,aX_,a4d,aX$,a4d,aX0,a4d,aX1,a4d,yE,a4d,ava,a4d,aA0,a4d,aCV,a4d,afk,a4d,ae8,a4d,a4d,a4d,a4d,a4d,a4d,a4d,a4d,a4d,a4d,a4d];var dm=[a4e,a4e,aX3,a4e,aX4,a4e,aX5,a4e,aX6,a4e,aX7,a4e,aX8,a4e,aX9,a4e,aYa,a4e,aYb,a4e,aYc,a4e,aYd,a4e,aYe,a4e,aYf,a4e,aYg,a4e,aYh,a4e,aYi,a4e,aYj,a4e,aYk,a4e,aYl,a4e,aYm,a4e,wD,a4e,SU,a4e,Dj,a4e,OU,a4e,mZ,a4e,a4e,a4e,a4e,a4e,a4e,a4e,a4e,a4e,a4e,a4e,a4e,a4e];var dn=[a4f,a4f,aYo,a4f,aYp,a4f,aYq,a4f,aYr,a4f,aYs,a4f,aYt,a4f,aYu,a4f,aYv,a4f,aYw,a4f,aYx,a4f,aYy,a4f,aYz,a4f,aYA,a4f,aYB,a4f,aYC,a4f,aYD,a4f,aYE,a4f,aYF,a4f,aYG,a4f,aYH,a4f,JI,a4f,FM,a4f,Il,a4f,adP,a4f,rR,a4f,nW,a4f,d6,a4f,VI,a4f,Gl,a4f,GC,a4f,yt,a4f,aa6,a4f,HQ,a4f,d3,a4f,d5,a4f,adm,a4f,aet,a4f,J4,a4f,F5,a4f,aid,a4f,GO,a4f,pr,a4f,IW,a4f,m9,a4f,HI,a4f,aiw,a4f,W1,a4f,O5,a4f,mB,a4f,ZW,a4f,WY,a4f,F0,a4f,wJ,a4f,G4,a4f,abJ,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f,a4f];var dp=[a4g,a4g,aYJ,a4g,aYK,a4g,aYL,a4g,aYM,a4g,aYN,a4g,aYO,a4g,aYP,a4g,aYQ,a4g,aYR,a4g,aYS,a4g,aYT,a4g,aYU,a4g,aYV,a4g,aYW,a4g,aYX,a4g,aYY,a4g,aYZ,a4g,aY_,a4g,aY$,a4g,aY0,a4g,eo,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g,a4g];var dq=[a4h,a4h,aY2,a4h,aY3,a4h,aY4,a4h,aY5,a4h,aY6,a4h,aY7,a4h,aY8,a4h,aY9,a4h,aZa,a4h,aZb,a4h,aZc,a4h,aZd,a4h,aZe,a4h,aZf,a4h,aZg,a4h,aZh,a4h,aZi,a4h,aZj,a4h,aZk,a4h,aZl,a4h,jF,a4h,ano,a4h,NS,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h,a4h];var dr=[a4i,a4i,aZn,a4i,aZo,a4i,aZp,a4i,aZq,a4i,aZr,a4i,aZs,a4i,aZt,a4i,aZu,a4i,aZv,a4i,aZw,a4i,aZx,a4i,aZy,a4i,aZz,a4i,aZA,a4i,aZB,a4i,aZC,a4i,aZD,a4i,aZE,a4i,aZF,a4i,aZG,a4i,mR,a4i,OL,a4i,C8,a4i,aqr,a4i,ws,a4i,aol,a4i,a4i,a4i,a4i,a4i,a4i,a4i,a4i,a4i,a4i,a4i];var ds=[a4j,a4j,aZI,a4j,aZJ,a4j,aZK,a4j,aZL,a4j,aZM,a4j,aZN,a4j,aZO,a4j,aZP,a4j,aZQ,a4j,aZR,a4j,aZS,a4j,aZT,a4j,aZU,a4j,aZV,a4j,aZW,a4j,aZX,a4j,aZY,a4j,aZZ,a4j,aZ_,a4j,aZ$,a4j,ajE,a4j,MT,a4j,Gf,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j,a4j];var dt=[a4k,a4k,aZ1,a4k,aZ2,a4k,aZ3,a4k,aZ4,a4k,aZ5,a4k,aZ6,a4k,aZ7,a4k,aZ8,a4k,aZ9,a4k,a_a,a4k,a_b,a4k,a_c,a4k,a_d,a4k,a_e,a4k,a_f,a4k,a_g,a4k,a_h,a4k,a_i,a4k,a_j,a4k,a_k,a4k,tg,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k,a4k];var du=[a4l,a4l,a_m,a4l,a_n,a4l,a_o,a4l,a_p,a4l,a_q,a4l,a_r,a4l,a_s,a4l,a_t,a4l,a_u,a4l,a_v,a4l,a_w,a4l,a_x,a4l,a_y,a4l,a_z,a4l,a_A,a4l,a_B,a4l,a_C,a4l,a_D,a4l,a_E,a4l,a_F,a4l,alm,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l,a4l];var dv=[a4m,a4m,a_H,a4m,a_I,a4m,a_J,a4m,a_K,a4m,a_L,a4m,a_M,a4m,a_N,a4m,a_O,a4m,a_P,a4m,a_Q,a4m,a_R,a4m,a_S,a4m,a_T,a4m,a_U,a4m,a_V,a4m,a_W,a4m,a_X,a4m,a_Y,a4m,a_Z,a4m,a__,a4m,xJ,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m,a4m];var dw=[a4n,a4n,a_0,a4n,a_1,a4n,a_2,a4n,a_3,a4n,a_4,a4n,a_5,a4n,a_6,a4n,a_7,a4n,a_8,a4n,a_9,a4n,a$a,a4n,a$b,a4n,a$c,a4n,a$d,a4n,a$e,a4n,a$f,a4n,a$g,a4n,a$h,a4n,a$i,a4n,a$j,a4n,pT,a4n,xI,a4n,abe,a4n,aCE,a4n,aya,a4n,aCJ,a4n,OW,a4n,amn,a4n,ym,a4n,avn,a4n,Jk,a4n,iY,a4n,anT,a4n,__,a4n,Gt,a4n,FG,a4n,act,a4n,rY,a4n,n6,a4n,ayn,a4n,ae0,a4n,ags,a4n,pN,a4n,amu,a4n,Xk,a4n,at5,a4n,NJ,a4n,qW,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n,a4n];var dx=[a4o,a4o,a$l,a4o,a$m,a4o,a$n,a4o,a$o,a4o,a$p,a4o,a$q,a4o,a$r,a4o,a$s,a4o,a$t,a4o,a$u,a4o,a$v,a4o,a$w,a4o,a$x,a4o,a$y,a4o,a$z,a4o,a$A,a4o,a$B,a4o,a$C,a4o,a$D,a4o,a$E,a4o,nf,a4o,o4,a4o,qR,a4o,tK,a4o,hW,a4o,gg,a4o,aij,a4o,yV,a4o,RW,a4o,ae6,a4o,fP,a4o,Iq,a4o,aky,a4o,kx,a4o,Co,a4o,GW,a4o,X7,a4o,Og,a4o,XF,a4o,kI,a4o,MR,a4o,vn,a4o,ady,a4o,er,a4o,jR,a4o,ee,a4o,nh,a4o,abL,a4o,S2,a4o,am8,a4o,UM,a4o,BQ,a4o,h$,a4o,RX,a4o,A0,a4o,amY,a4o,TP,a4o,uq,a4o,Y$,a4o,MQ,a4o,aig,a4o,Of,a4o,E6,a4o,rM,a4o,amj,a4o,jN,a4o,XG,a4o,afj,a4o,O2,a4o,$P,a4o,Ge,a4o,jM,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o,a4o];var dy=[a4p,a4p,a$G,a4p,a$H,a4p,a$I,a4p,a$J,a4p,a$K,a4p,a$L,a4p,a$M,a4p,a$N,a4p,a$O,a4p,a$P,a4p,a$Q,a4p,a$R,a4p,a$S,a4p,a$T,a4p,a$U,a4p,a$V,a4p,a$W,a4p,a$X,a4p,a$Y,a4p,a$Z,a4p,amM,a4p,NF,a4p,PH,a4p,ahr,a4p,UG,a4p,QX,a4p,Wp,a4p,la,a4p,akM,a4p,oW,a4p,z6,a4p,VZ,a4p,fO,a4p,Qt,a4p,Ll,a4p,ahU,a4p,FE,a4p,EG,a4p,ajt,a4p,lN,a4p,s9,a4p,ZK,a4p,AR,a4p,iX,a4p,ago,a4p,acV,a4p,Rf,a4p,LJ,a4p,hS,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p,a4p];var dz=[a4q,a4q,a$$,a4q,a$0,a4q,a$1,a4q,a$2,a4q,a$3,a4q,a$4,a4q,a$5,a4q,a$6,a4q,a$7,a4q,a$8,a4q,a$9,a4q,a0a,a4q,a0b,a4q,a0c,a4q,a0d,a4q,a0e,a4q,a0f,a4q,a0g,a4q,a0h,a4q,a0i,a4q,PN,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q,a4q];var dA=[a4r,a4r,a0k,a4r,a0l,a4r,a0m,a4r,a0n,a4r,a0o,a4r,a0p,a4r,a0q,a4r,a0r,a4r,a0s,a4r,a0t,a4r,a0u,a4r,a0v,a4r,a0w,a4r,a0x,a4r,a0y,a4r,a0z,a4r,a0A,a4r,a0B,a4r,a0C,a4r,a0D,a4r,av3,a4r,v8,a4r,avS,a4r,kr,a4r,DA,a4r,uo,a4r,ayg,a4r,o7,a4r,gu,a4r,ar5,a4r,abx,a4r,AH,a4r,aBE,a4r,alj,a4r,We,a4r,nM,a4r,art,a4r,ame,a4r,acK,a4r,awj,a4r,MI,a4r,oI,a4r,Ob,a4r,vx,a4r,nO,a4r,j6,a4r,abv,a4r,aA4,a4r,aBh,a4r,uJ,a4r,Ra,a4r,Lb,a4r,sM,a4r,Xl,a4r,afK,a4r,avx,a4r,A3,a4r,avC,a4r,UI,a4r,DP,a4r,me,a4r,avH,a4r,agA,a4r,J3,a4r,anj,a4r,Xw,a4r,u2,a4r,Fs,a4r,vk,a4r,s_,a4r,fE,a4r,H4,a4r,afI,a4r,qD,a4r,aBW,a4r,jl,a4r,agc,a4r,ata,a4r,up,a4r,Js,a4r,an$,a4r,Ja,a4r,wh,a4r,V9,a4r,arD,a4r,Cs,a4r,xj,a4r,ayf,a4r,SJ,a4r,ajC,a4r,awZ,a4r,ayo,a4r,at$,a4r,NW,a4r,afZ,a4r,k5,a4r,ae1,a4r,X4,a4r,J7,a4r,asA,a4r,Zv,a4r,aql,a4r,ZQ,a4r,ay$,a4r,ahK,a4r,abq,a4r,ash,a4r,aeU,a4r,az9,a4r,arC,a4r,jb,a4r,A_,a4r,kq,a4r,arH,a4r,Jx,a4r,aqw,a4r,NA,a4r,pD,a4r,auk,a4r,apj,a4r,kw,a4r,id,a4r,ayM,a4r,avr,a4r,Cn,a4r,ahg,a4r,avq,a4r,afG,a4r,axO,a4r,Jc,a4r,kD,a4r,au2,a4r,zY,a4r,xP,a4r,axR,a4r,aAr,a4r,kC,a4r,az7,a4r,arz,a4r,aBi,a4r,asO,a4r,_Y,a4r,asC,a4r,l3,a4r,agq,a4r,at_,a4r,asj,a4r,avm,a4r,av2,a4r,aza,a4r,awE,a4r,ats,a4r,k$,a4r,arb,a4r,CZ,a4r,aBK,a4r,auX,a4r,auV,a4r,Pw,a4r,asI,a4r,avB,a4r,aAp,a4r,aff,a4r,gb,a4r,OY,a4r,OA,a4r,asL,a4r,EU,a4r,vj,a4r,ayO,a4r,SL,a4r,ajj,a4r,TO,a4r,iL,a4r,LE,a4r,azE,a4r,ja,a4r,l6,a4r,aCD,a4r,Ck,a4r,NM,a4r,azP,a4r,avQ,a4r,lv,a4r,aAn,a4r,v5,a4r,ayN,a4r,aCC,a4r,asN,a4r,Xd,a4r,aBM,a4r,AZ,a4r,$K,a4r,o8,a4r,arF,a4r,ZG,a4r,awQ,a4r,UQ,a4r,au3,a4r,alW,a4r,ar7,a4r,V8,a4r,af_,a4r,amt,a4r,V4,a4r,am4,a4r,ta,a4r,ael,a4r,AV,a4r,ae4,a4r,OX,a4r,QN,a4r,av4,a4r,arp,a4r,Sz,a4r,NL,a4r,alX,a4r,Oe,a4r,aur,a4r,yT,a4r,adI,a4r,ar9,a4r,aox,a4r,IN,a4r,azR,a4r,aju,a4r,agr,a4r,qV,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r,a4r];var dB=[a4s,a4s,a0F,a4s,a0G,a4s,a0H,a4s,a0I,a4s,a0J,a4s,a0K,a4s,a0L,a4s,a0M,a4s,a0N,a4s,a0O,a4s,a0P,a4s,a0Q,a4s,a0R,a4s,a0S,a4s,a0T,a4s,a0U,a4s,a0V,a4s,a0W,a4s,a0X,a4s,a0Y,a4s,ahI,a4s,adX,a4s,Az,a4s,ajh,a4s,fq,a4s,Dp,a4s,zP,a4s,a4s,a4s,a4s,a4s,a4s,a4s,a4s,a4s];var dC=[a4t,a4t,a0_,a4t,a0$,a4t,a00,a4t,a01,a4t,a02,a4t,a03,a4t,a04,a4t,a05,a4t,a06,a4t,a07,a4t,a08,a4t,a09,a4t,a1a,a4t,a1b,a4t,a1c,a4t,a1d,a4t,a1e,a4t,a1f,a4t,a1g,a4t,a1h,a4t,aDH,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t,a4t];var dD=[a4u,a4u,a1j,a4u,a1k,a4u,a1l,a4u,a1m,a4u,a1n,a4u,a1o,a4u,a1p,a4u,a1q,a4u,a1r,a4u,a1s,a4u,a1t,a4u,a1u,a4u,a1v,a4u,a1w,a4u,a1x,a4u,a1y,a4u,a1z,a4u,a1A,a4u,a1B,a4u,a1C,a4u,alg,a4u,u$,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u,a4u];var dE=[a4v,a4v,a1E,a4v,a1F,a4v,a1G,a4v,a1H,a4v,a1I,a4v,a1J,a4v,a1K,a4v,a1L,a4v,a1M,a4v,a1N,a4v,a1O,a4v,a1P,a4v,a1Q,a4v,a1R,a4v,a1S,a4v,a1T,a4v,a1U,a4v,a1V,a4v,a1W,a4v,a1X,a4v,anm,a4v,uZ,a4v,arB,a4v,atf,a4v,ru,a4v,yD,a4v,apX,a4v,DE,a4v,m$,a4v,ux,a4v,rJ,a4v,axe,a4v,xk,a4v,am2,a4v,axm,a4v,azr,a4v,ans,a4v,RN,a4v,jQ,a4v,RY,a4v,Wb,a4v,alO,a4v,wN,a4v,axH,a4v,axg,a4v,YU,a4v,ay_,a4v,axB,a4v,SC,a4v,axi,a4v,axD,a4v,O1,a4v,axF,a4v,Fp,a4v,amP,a4v,zH,a4v,ayC,a4v,axk,a4v,Sy,a4v,acX,a4v,aCH,a4v,a4v,a4v,a4v,a4v];var dF=[a4w,a4w,a1Z,a4w,a1_,a4w,a1$,a4w,a10,a4w,a11,a4w,a12,a4w,a13,a4w,a14,a4w,a15,a4w,a16,a4w,a17,a4w,a18,a4w,a19,a4w,a2a,a4w,a2b,a4w,a2c,a4w,a2d,a4w,a2e,a4w,a2f,a4w,a2g,a4w,apY,a4w,ahm,a4w,LK,a4w,yo,a4w,z2,a4w,aew,a4w,AN,a4w,QT,a4w,_$,a4w,auy,a4w,xa,a4w,abF,a4w,Qw,a4w,Ih,a4w,akN,a4w,Lg,a4w,adt,a4w,lQ,a4w,adv,a4w,oZ,a4w,Iv,a4w,EC,a4w,HP,a4w,hN,a4w,rP,a4w,UC,a4w,Rg,a4w,Wu,a4w,k7,a4w,Fz,a4w,acP,a4w,ahQ,a4w,adM,a4w,wH,a4w,fK,a4w,Kd,a4w,amI,a4w,GK,a4w,iS,a4w,aa4,a4w,IQ,a4w,MN,a4w,tm,a4w,yB,a4w,PD,a4w,aih,a4w,V_,a4w,m6,a4w,Wq,a4w,ZL,a4w,agi,a4w,ajp,a4w,s4,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w,a4w];var dG=[a4x,a4x,a2i,a4x,a2j,a4x,a2k,a4x,a2l,a4x,a2m,a4x,a2n,a4x,a2o,a4x,a2p,a4x,a2q,a4x,a2r,a4x,a2s,a4x,a2t,a4x,a2u,a4x,a2v,a4x,a2w,a4x,a2x,a4x,a2y,a4x,a2z,a4x,a2A,a4x,a2B,a4x,abM,a4x,Is,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x,a4x];var dH=[a4y,a4y,a2D,a4y,a2E,a4y,a2F,a4y,a2G,a4y,a2H,a4y,a2I,a4y,a2J,a4y,a2K,a4y,a2L,a4y,a2M,a4y,a2N,a4y,a2O,a4y,a2P,a4y,a2Q,a4y,a2R,a4y,a2S,a4y,a2T,a4y,a2U,a4y,a2V,a4y,a2W,a4y,aug,a4y,aus,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y,a4y];var dI=[a4z,a4z,a2Y,a4z,a2Z,a4z,a2_,a4z,a2$,a4z,a20,a4z,a21,a4z,a22,a4z,a23,a4z,a24,a4z,a25,a4z,a26,a4z,a27,a4z,a28,a4z,a29,a4z,a3a,a4z,a3b,a4z,a3c,a4z,a3d,a4z,a3e,a4z,a3f,a4z,ahp,a4z,th,a4z,EF,a4z,uT,a4z,MM,a4z,FD,a4z,ai8,a4z,ND,a4z,avR,a4z,Qo,a4z,i8,a4z,N1,a4z,aAs,a4z,awJ,a4z,aA2,a4z,fA,a4z,fJ,a4z,gc,a4z,OB,a4z,aBG,a4z,N8,a4z,oN,a4z,v0,a4z,iR,a4z,uF,a4z,TL,a4z,rE,a4z,s7,a4z,azQ,a4z,avl,a4z,Oc,a4z,tn,a4z,aAO,a4z,vy,a4z,uj,a4z,l0,a4z,iG,a4z,C_,a4z,ajv,a4z,J8,a4z,azy,a4z,amQ,a4z,UB,a4z,sS,a4z,ki,a4z,PG,a4z,PC,a4z,rx,a4z,UJ,a4z,EX,a4z,hQ,a4z,Lv,a4z,vi,a4z,tD,a4z,af0,a4z,Wl,a4z,K7,a4z,aAC,a4z,Ml,a4z,awe,a4z,azS,a4z,aA3,a4z,agl,a4z,azC,a4z,Dy,a4z,z5,a4z,RQ,a4z,My,a4z,fN,a4z,E$,a4z,aBA,a4z,Ps,a4z,iC,a4z,agC,a4z,K1,a4z,amR,a4z,Lj,a4z,i7,a4z,iV,a4z,gn,a4z,AM,a4z,sW,a4z,oR,a4z,TF,a4z,zU,a4z,AD,a4z,wi,a4z,QJ,a4z,at1,a4z,PL,a4z,QS,a4z,aDn,a4z,aDr,a4z,azW,a4z,ard,a4z,Fg,a4z,arx,a4z,l_,a4z,Q7,a4z,Ct,a4z,SH,a4z,asP,a4z,Zx,a4z,LI,a4z,ask,a4z,Dv,a4z,az$,a4z,k6,a4z,alE,a4z,va,a4z,acG,a4z,E3,a4z,B9,a4z,alp,a4z,Zu,a4z,iW,a4z,azF,a4z,acO,a4z,US,a4z,VU,a4z,auQ,a4z,tq,a4z,ajs,a4z,ahT,a4z,ajo,a4z,azU,a4z,QD,a4z,Pm,a4z,kZ,a4z,FC,a4z,al4,a4z,NB,a4z,i$,a4z,axA,a4z,mf,a4z,lE,a4z,Gn,a4z,ahz,a4z,BM,a4z,zN,a4z,SR,a4z,A4,a4z,avJ,a4z,avX,a4z,ali,a4z,kn,a4z,aAK,a4z,hR,a4z,iy,a4z,auW,a4z,Fy,a4z,av5,a4z,s3,a4z,abE,a4z,aAd,a4z,Re,a4z,akE,a4z,Jv,a4z,EB,a4z,Lf,a4z,agm,a4z,u5,a4z,aAq,a4z,aAR,a4z,v2,a4z,ahl,a4z,aBI,a4z,avw,a4z,aBL,a4z,l4,a4z,avy,a4z,apU,a4z,awF,a4z,amS,a4z,ar6,a4z,aCp,a4z,asa,a4z,Ac,a4z,avi,a4z,km,a4z,ty,a4z,av$,a4z,lz,a4z,ax4,a4z,u1,a4z,SG,a4z,VQ,a4z,rv,a4z,UF,a4z,au5,a4z,azz,a4z,atN,a4z,un,a4z,aje,a4z,Cf,a4z,alJ,a4z,at0,a4z,aop,a4z,z1,a4z,avZ,a4z,ayE,a4z,azb,a4z,aBC,a4z,arn,a4z,atB,a4z,f7,a4z,aBO,a4z,asR,a4z,azf,a4z,fu,a4z,vY,a4z,Cl,a4z,asv,a4z,N6,a4z,sO,a4z,lw,a4z,RD,a4z,ayH,a4z,ZA,a4z,amU,a4z,rA,a4z,avG,a4z,rC,a4z,Rj,a4z,acA,a4z,LA,a4z,asi,a4z,lI,a4z,agh,a4z,s8,a4z,amL,a4z,av6,a4z,aqm,a4z,aAa,a4z,QW,a4z,aAV,a4z,agG,a4z,af4,a4z,ahb,a4z,alV,a4z,axy,a4z,av0,a4z,aqN,a4z,aBQ,a4z,aks,a4z,azX,a4z,v6,a4z,Ch,a4z,lV,a4z,Ty,a4z,SK,a4z,aDc,a4z,ath,a4z,gB,a4z,AQ,a4z,ave,a4z,atP,a4z,ayp,a4z,ahF,a4z,akI,a4z,ry,a4z,afH,a4z,at3,a4z,acS,a4z,wE,a4z,ama,a4z,aCv,a4z,axK,a4z,aow,a4z,Q2,a4z,amH,a4z,abw,a4z,NX,a4z,axS,a4z,ax6,a4z,ME,a4z,ahP,a4z,af8,a4z,arv,a4z,ahq,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z,a4z];return{_emscripten_bind_btConeShapeX__setConeUpIndex_p1:Ah,_emscripten_bind_btDbvtProxy__get_stage_p0:M7,_emscripten_bind_btContinuousDynamicsWorld____destroy___p0:C2,_emscripten_bind_btBoxShape__getNumPlanes_p0:afS,_emscripten_bind_btHeightfieldTerrainShape____destroy___p0:Qs,_emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1:f4,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3:ahp,_emscripten_bind_btGhostObject__upcast_p1:aj0,_emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1:yK,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0:JZ,_emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0:PK,_emscripten_bind_btGeneric6DofConstraint__isEnabled_p0:WD,_emscripten_bind_btBroadphaseProxy__isPolyhedral_p1:ad0,_emscripten_bind_btHinge2Constraint__buildJacobian_p0:Ig,_emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0:lj,_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9:A8,_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8:A7,_emscripten_bind_btIDebugDraw__drawLine_p3:th,_emscripten_bind_btCollisionObject__mergesSimulationIslands_p0:g6,_emscripten_bind_btIDebugDraw__drawLine_p4:ti,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1:J_,_emscripten_bind_btConeShape__getAabbSlow_p3:EF,_emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2:v8,_emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8:wD,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1:Hm,_emscripten_bind_btRigidBody____destroy___p0:qQ,_emscripten_bind_btSimpleBroadphase__destroyProxy_p2:kr,_emscripten_bind_btBroadphaseInterface__createProxy_p8:i9,_emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1:x7,_emscripten_bind_btContactSolverInfo____destroy___p0:m4,_emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1:w7,_emscripten_bind_btCapsuleShape__getRadius_p0:e7,_emscripten_bind_btConeShapeZ__serializeSingleShape_p1:z4,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1:XY,_emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0:aiR,_emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0:fH,_emscripten_bind_btVector4__fuzzyZero_p0:FO,_emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2:DA,_emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0:aa$,_emscripten_bind_btSphereShape__calculateTemporalAabb_p6:amM,_emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2:uo,_emscripten_bind_btIDebugDraw__drawCapsule_p5:tp,_emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1:kl,_emscripten_bind_btPersistentManifold__get_m_index1a_p0:j7,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1:adC,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4:ahs,_emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1:fp,_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3:Xo,_emscripten_bind_btAxisSweep3__unQuantize_p3:uT,_emscripten_bind_btCapsuleShape__getUpAxis_p0:e5,_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5:Xp,_emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2:VN,_emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1:RG,_emscripten_bind_btConeShape__calculateSerializeBufferSize_p0:Dq,_emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:MM,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1:$t,_emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2:h7,_emscripten_bind_btHingeConstraint__getBFrame_p0:x6,_emscripten_bind_btHingeConstraint__buildJacobian_p0:xM,_emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1:W8,_emscripten_bind_btCompoundShape__isNonMoving_p0:kR,_emscripten_bind_btUniformScalingShape__setUserPointer_p1:KM,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1:Rn,_emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0:IU,_emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0:Tg,_emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1:af6,_emscripten_bind_btConeTwistConstraint__setDamping_p1:vR,_emscripten_bind_btHeightfieldTerrainShape__setMargin_p1:Qr,_emscripten_bind_btDynamicsWorld__getDispatcher_p0:lr,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1:Rz,_emscripten_bind_btCylinderShape__isNonMoving_p0:Mf,_emscripten_bind_btCollisionObject__getRestitution_p0:hm,_emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0:wZ,_emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1:Jr,_emscripten_bind_btPoint2PointConstraint__getInfo2_p1:acl,_emscripten_bind_btConeTwistConstraint__setFixThresh_p1:xq,_emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0:ic,_emscripten_bind_btGhostObject__setCompanionId_p1:aiQ,_emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0:aiA,_emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4:um,_emscripten_bind_btQuaternion__normalized_p0:ai$,_emscripten_bind_btCompoundShape__getLocalScaling_p0:kG,_emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1:acR,_emscripten_bind_btPairCachingGhostObject__getCompanionId_p0:Uu,_emscripten_bind_btTypedConstraint__getRigidBodyA_p0:q1,_emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0:pc,_emscripten_bind_btConvexHullShape__isInfinite_p0:fY,_emscripten_bind_btRaycastVehicle__debugDraw_p1:J9,_emscripten_bind_btEmptyShape__isCompound_p0:oc,_emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1:al7,_emscripten_bind_btTriangleMesh__addIndex_p1:AT,_emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5:yN,_emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3:ai8,_emscripten_bind_btConeShape__isNonMoving_p0:CO,_emscripten_bind_btTypedConstraint__getUserConstraintType_p0:rl,_emscripten_bind_btMatrix3x3__deSerializeDouble_p1:d1,_emscripten_bind_btVector3__y_p0:G6,_emscripten_bind_btDynamicsWorld__removeVehicle_p1:lX,_emscripten_bind_btCylinderShape__getAabbSlow_p3:ND,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0:aaL,_emscripten_bind_btBoxShape__getMarginNV_p0:afq,_emscripten_bind_btRigidBody__getCenterOfMassTransform_p0:qc,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0:RA,_emscripten_bind_btBU_Simplex1to4__isCompound_p0:Fb,_emscripten_bind_btPoint2PointConstraint__getInfo1_p1:acq,_emscripten_bind_btTransform__deSerialize_p1:XK,_emscripten_bind_btBoxShape__btBoxShape_p1:af5,_emscripten_bind_btHeightfieldTerrainShape__getAabb_p3:Qo,_emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1:t$,_emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0:Zw,_emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1:Xx,_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1:ut,_emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0:sl,_emscripten_bind_btRaycastVehicle__getSteeringValue_p1:JI,_emscripten_bind_btRigidBody__internalSetExtensionPointer_p1:pO,_emscripten_bind_btHingeConstraint__needsFeedback_p0:x2,_emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1:Q1,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1:ix,_emscripten_bind_btHingeConstraint__getFrameOffsetA_p0:xz,_emscripten_bind_btSimpleDynamicsWorld__addAction_p1:N_,_emscripten_bind_btTransform__getOpenGLMatrix_p1:XI,_emscripten_bind_btRigidBody__internalApplyPushImpulse_p3:pT,_emscripten_bind_btPersistentManifold__getCacheEntry_p1:j0,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1:Kh,_emscripten_bind_btRigidBody__applyForce_p2:o7,_emscripten_bind_btConvexHullShape__addPoint_p1:gq,_emscripten_bind_btIDebugDraw__drawTriangle_p5:tb,_emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2:gu,_emscripten_bind_btDynamicsWorld__getPairCache_p0:mW,_emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7:_X,_emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0:IR,_emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0:Zh,_emscripten_bind_btBroadphaseInterface__aabbTest_p3:i8,_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1:jP,_emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0:amx,_emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0:gz,_emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0:hf,_emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2:Qw,_emscripten_bind_btRaycastVehicle__setBrake_p2:JN,_emscripten_bind_btCollisionObject__getBroadphaseHandle_p0:hl,_emscripten_bind_btCylinderShape__calculateTemporalAabb_p6:NF,_emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0:hB,_emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1:OO,_emscripten_bind_btIndexedMesh__set_m_vertexBase_p1:gU,_emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0:sK,_emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0:sQ,_emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1:h_,_emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1:UR,_emscripten_bind_btVector3__x_p0:G7,_emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1:Od,_emscripten_bind_btSimpleBroadphase__aabbOverlap_p2:jV,_emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1:vS,_emscripten_bind_btGhostObject__getRootCollisionShape_p0:aj2,_emscripten_bind_btSerializer__finishSerialization_p0:HZ,_emscripten_bind_btConeShapeZ__setUserPointer_p1:zk,_emscripten_bind_btRaycastVehicle__updateWheelTransform_p1:J2,_emscripten_bind_btDbvtBroadphase__get_m_gid_p0:sI,_emscripten_bind_btHeightfieldTerrainShape__isConcave_p0:PY,_emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1:D1,_emscripten_bind_btTriangleInfoMap__serialize_p2:alc,_emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1:aeo,_emscripten_bind_btCapsuleShapeX__getLocalScaling_p0:ahx,_emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2:abx,_emscripten_bind_btVector4__distance2_p1:FM,_emscripten_bind_btSliderConstraint__setParam_p2:_$,_emscripten_bind_btSliderConstraint__setParam_p3:_0,_emscripten_bind_btConeShapeX__getMarginNV_p0:zD,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1:ad8,_emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0:FA,_emscripten_bind_btConvexShape__isNonMoving_p0:Qi,_emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0:U5,_emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1:gk,_emscripten_bind_btQuaternion__setValue_p3:ah4,_emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1:UX,_emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0:Do,_emscripten_bind_btHinge2Constraint__getInfo1_p1:In,_emscripten_bind_btConeShape__serialize_p2:Dm,_emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1:OG,_emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0:jC,_emscripten_bind_btCapsuleShape__getAabb_p3:fA,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1:JQ,_emscripten_bind_btTransform__op_mul_p1:X_,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1:h9,_emscripten_bind_btRigidBody__removeConstraintRef_p1:pu,_emscripten_bind_btRigidBody__predictIntegratedTransform_p2:pE,_emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0:_9,_emscripten_bind_btConeShape__setConeUpIndex_p1:CK,_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11:nP,_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12:nQ,_emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1:S_,_emscripten_bind_btCollisionObject__getCompanionId_p0:hs,_emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1:$o,_emscripten_bind_btConeShapeZ__isConvex2d_p0:zv,_emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4:alZ,_emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1:Sw,_emscripten_bind_btCollisionObject__getCollisionFlags_p0:hi,_emscripten_bind_btHinge2Constraint__getUid_p0:HE,_emscripten_bind_btRigidBody__internalWritebackVelocity_p0:pz,_emscripten_bind_btRigidBody__internalWritebackVelocity_p1:pK,_emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3:gc,_emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0:Wd,_emscripten_bind_btAxisSweep3__updateHandle_p4:vb,_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5:wf,_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4:we,_emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0:PT,_emscripten_bind_btTypedConstraint__setupSolverConstraint_p4:rX,_emscripten_bind_btStaticPlaneShape__isPolyhedral_p0:Vh,_emscripten_bind_btGhostObject__internalSetExtensionPointer_p1:aiT,_emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0:ss,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0:KJ,_emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Q5,_emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0:Wt,_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0:alU,_emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0:Fu,_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0:qZ,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1:ak4,_emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0:ai7,_emscripten_bind_btCollisionWorld__convexSweepTest_p5:SQ,_emscripten_bind_btCollisionWorld__convexSweepTest_p4:SP,_emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0:pZ,_emscripten_bind_btContactConstraint__getParam_p2:aa7,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0:ac6,_emscripten_bind_btDefaultVehicleRaycaster____destroy___p0:m_,_emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3:OB,_emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1:T3,_emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5:yq,_emscripten_bind_btCapsuleShapeX__serialize_p2:ahw,_emscripten_bind_btSliderConstraint__getSolveAngLimit_p0:Z8,_emscripten_bind_btUniversalConstraint__setUserConstraintId_p1:nl,_emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2:AH,_emscripten_bind_btCompoundShape__getShapeType_p0:lb,_emscripten_bind_btBoxShape__isInside_p2:afU,_emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5:xG,_emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0:Ad,_emscripten_bind_bt32BitAxisSweep3__removeHandle_p2:alj,_emscripten_bind_btBoxShape__getName_p0:af3,_emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0:lZ,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0:Hx,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0:add,_emscripten_bind_btCompoundShape__isCompound_p0:kL,_emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Ds,_emscripten_bind_btConvexHullShape__getUnscaledPoints_p0:fT,_emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0:hM,_emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0:y3,_emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1:eW,_emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0:nx,_emscripten_bind_btSimpleDynamicsWorld__rayTest_p3:N8,_emscripten_bind_btVector4__furthestAxis_p0:GJ,_emscripten_bind_btEmptyShape__processAllTriangles_p3:oN,_emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1:xH,_emscripten_bind_btCollisionObject__isActive_p0:ht,_emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1:u4,_emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0:S8,_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9:Bf,_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8:Be,_emscripten_bind_btConeTwistConstraint____destroy___p0:xi,_emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0:C5,_emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0:ahi,_emscripten_bind_btConeShapeZ__setConeUpIndex_p1:zq,_emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4:acs,_emscripten_bind_btConeTwistConstraint__updateRHS_p1:xl,_emscripten_bind_btCollisionDispatcher____destroy___p0:uH,_emscripten_bind_btTransform__setOrigin_p1:X6,_emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0:Sk,_emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0:sf,_emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1:ajd,_emscripten_bind_btRaycastVehicle____destroy___p0:Ka,_emscripten_bind_btWheelInfo__set_m_engineForce_p1:DV,_emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0:aaB,_emscripten_bind_btVector3__setMax_p1:Gw,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0:Bz,_emscripten_bind_btConeTwistConstraint__enableFeedback_p1:wV,_emscripten_bind_btJacobianEntry__getDiagonal_p0:R0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1:aho,_emscripten_bind_btEmptyShape__calculateTemporalAabb_p6:oW,_emscripten_bind_btAxisSweep3__btAxisSweep3_p5:u_,_emscripten_bind_btAxisSweep3__btAxisSweep3_p4:uZ,_emscripten_bind_btAxisSweep3__btAxisSweep3_p3:uM,_emscripten_bind_btAxisSweep3__btAxisSweep3_p2:uL,_emscripten_bind_btRigidBody__internalGetAngularVelocity_p1:qw,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3:v0,_emscripten_bind_btPersistentManifold__set_m_companionIdB_p1:kb,_emscripten_bind_btConeTwistConstraint__setAngularOnly_p1:w9,_emscripten_bind_btVector4__length2_p0:FZ,_emscripten_bind_btStorageResult__set_m_closestPointInB_p1:NI,_emscripten_bind_btIDebugDraw__reportErrorWarning_p1:tj,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1:I4,_emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1:akU,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0:W$,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1:HB,_emscripten_bind_btMultiSphereShape__isCompound_p0:Or,_emscripten_bind_btRigidBody__setCenterOfMassTransform_p1:o3,_emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1:sk,_emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1:P$,_emscripten_bind_btUniversalConstraint__setFrames_p2:nM,_emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1:Bs,_emscripten_bind_btGhostPairCallback__addOverlappingPair_p2:am1,_emscripten_bind_btUniversalConstraint__getInfo1_p1:nc,_emscripten_bind_btEmptyShape__isSoftBody_p0:oj,_emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0:Ze,_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0:rG,_emscripten_bind_btConvexShape__getShapeType_p0:Rl,_emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0:aiC,_emscripten_bind_btHinge2Constraint__getAxis2_p0:I1,_emscripten_bind_btTypedConstraint__setDbgDrawSize_p1:rh,_emscripten_bind_btIndexedMesh____destroy___p0:hV,_emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2:ahd,_emscripten_bind_btAngularLimit__getBiasFactor_p0:je,_emscripten_bind_btConvexHullShape__setUserPointer_p1:fU,_emscripten_bind_btDefaultMotionState____destroy___p0:BX,_emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:iR,_emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3:uF,_emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0:$q,_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0:amW,_emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0:K2,_emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1:tw,_emscripten_bind_CProfileNode__Get_Total_Time_p0:Yw,_emscripten_bind_btRigidBody__proceedToTransform_p1:pJ,_emscripten_bind_btHinge2Constraint__getParam_p2:Im,_emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1:oS,_emscripten_bind_btCompoundShape__isConcave_p0:lc,_emscripten_bind_btHinge2Constraint__getParam_p1:Il,_emscripten_bind_btConeShape__isPolyhedral_p0:CG,_emscripten_bind_btGhostObject__setCollisionFlags_p1:aj9,_emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1:wB,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1:Mo,_emscripten_bind_btConeShapeZ__getRadius_p0:zn,_emscripten_bind_btConvexInternalShape__getAabb_p3:TL,_emscripten_bind_btRigidBody__getIslandTag_p0:pg,_emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0:T5,_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1:adP,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1:Ki,_emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1:sC,_emscripten_bind_btCompoundShape__setMargin_p1:k1,_emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1:yI,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1:XS,_emscripten_bind_btConvexHullShape__getUserPointer_p0:f_,_emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0:aaC,_emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0:p9,_emscripten_bind_btDynamicsWorld__removeCharacter_p1:mM,_emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0:aeI,_emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0:aae,_emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0:x1,_emscripten_bind_btVector3__setW_p1:G3,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0:afE,_emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0:ud,_emscripten_bind_btDynamicsWorld__getGravity_p0:mI,_emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1:FB,_emscripten_bind_btBoxShape__getMargin_p0:agb,_emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1:MJ,_emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1:De,_emscripten_bind_btPoint2PointConstraint__set_m_setting_p1:acn,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0:wd,_emscripten_bind_btSphereShape__isConvex_p0:aly,_emscripten_bind_btConeTwistConstraint__needsFeedback_p0:wX,_emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0:HH,_emscripten_bind_btRigidBody__internalApplyImpulse_p3:pN,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1:Rs,_emscripten_bind_btContactConstraint__setEnabled_p1:$1,_emscripten_bind_btConvexInternalShape__getUserPointer_p0:Tp,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2:ahm,_emscripten_bind_btQuadWord__getZ_p0:LZ,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0:KD,_emscripten_bind_btRigidBody__isStaticObject_p0:qq,_emscripten_bind_bt32BitAxisSweep3__setAabb_p4:alH,_emscripten_bind_btOptimizedBvh__refit_p3:rE,_emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1:aer,_emscripten_bind_btTypedConstraint__getParam_p2:rS,_emscripten_bind_btTypedConstraint__getParam_p1:rR,_emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3:s7,_emscripten_bind_btQuaternion__getAngle_p0:ai1,_emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2:ame,_emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1:y7,_emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1:Bh,_emscripten_bind_btEmptyShape__serialize_p2:oL,_emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6:PH,_emscripten_bind_btBroadphaseInterface__rayTest_p5:i1,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1:RB,_emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1:Ol,_emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1:Lc,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0:agE,_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5:UV,_emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2:acK,_emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0:ai9,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0:agu,_emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0:T_,_emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0:T8,_emscripten_bind_btCollisionObject__setBroadphaseHandle_p1:hI,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1:H9,_emscripten_bind_btConeShape__isSoftBody_p0:CQ,_emscripten_bind_btConvexTriangleMeshShape__isInside_p2:ia,_emscripten_bind_btVector3__deSerializeFloat_p1:G1,_emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0:z3,_emscripten_bind_btPairCachingGhostObject__getUserPointer_p0:Uo,_emscripten_bind_btOptimizedBvh__serialize_p3:ru,_emscripten_bind_btOptimizedBvh__serialize_p2:rt,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1:agH,_emscripten_bind_btUniformScalingShape__getBoundingSphere_p2:LK,_emscripten_bind_btQuadWord__getY_p0:LY,_emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2:MI,_emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0:sc,_emscripten_bind_btUniversalConstraint__getAngle_p1:nW,_emscripten_bind_btSliderConstraint__buildJacobian_p0:ZV,_emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0:mA,_emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1:RH,_emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0:akt,_emscripten_bind_btBoxShape__isPolyhedral_p0:afn,_emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1:iE,_emscripten_bind_btVector4__maxAxis_p0:FX,_emscripten_bind_btRigidBody__checkCollideWith_p1:qM,_emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1:oa,_emscripten_bind_btHinge2Constraint__getAxis1_p0:I$,_emscripten_bind_btCapsuleShapeX__setUserPointer_p1:agV,_emscripten_bind_btQuadWord__getX_p0:LX,_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1:wg,_emscripten_bind_btCapsuleShape__isInfinite_p0:fc,_emscripten_bind_btCompoundShape__getNumChildShapes_p0:kT,_emscripten_bind_btOptimizedBvh__buildInternal_p0:rs,_emscripten_bind_btUniversalConstraint__setAxis_p2:oI,_emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1:VI,_emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1:zJ,_emscripten_bind_btManifoldPoint__btManifoldPoint_p4:abM,_emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0:TG,_emscripten_bind_btDbvtBroadphase__set_m_cid_p1:sq,_emscripten_bind_btDbvtProxy__isSoftBody_p1:MY,_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11:Xe,_emscripten_bind_btPersistentManifold__set_m_objectType_p1:jX,_emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0:mC,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1:Oa,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2:Ob,_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3:Oc,_emscripten_bind_btHinge2Constraint__enableFeedback_p1:IA,_emscripten_bind_btIDebugDraw__drawAabb_p3:tn,_emscripten_bind_btGeneric6DofConstraint__isLimited_p1:WO,_emscripten_bind_btGeneric6DofConstraint__setLimit_p3:Xg,_emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1:OH,_emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1:v7,_emscripten_bind_btContactConstraint__getDbgDrawSize_p0:$Y,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1:vw,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3:vy,_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2:vx,_emscripten_bind_btSliderConstraint__setUserConstraintId_p1:_7,_emscripten_bind_btDiscreteDynamicsWorld____destroy___p0:wm,_emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0:Qb,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1:ag9,_emscripten_bind_btCylinderShape__getName_p0:MA,_emscripten_bind_btTypedConstraint__setUserConstraintType_p1:ri,_emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0:KW,_emscripten_bind_btVector3__op_set_p1:GS,_emscripten_bind_btVector3__deSerializeDouble_p1:Gp,_emscripten_bind_btAxisSweep3__getHandle_p1:uU,_emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1:TI,_emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0:hq,_emscripten_bind_btRigidBody__checkCollideWithOverride_p1:pF,_emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0:vh,_emscripten_bind_btUniversalConstraint__calculateTransforms_p2:nO,_emscripten_bind_btUniversalConstraint__calculateTransforms_p0:nN,_emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2:jU,_emscripten_bind_btConeTwistConstraint__buildJacobian_p0:wF,_emscripten_bind_btRigidBody__addConstraintRef_p1:pH,_emscripten_bind_btConeShape__localGetSupportingVertex_p1:Dl,_emscripten_bind_btConeShape__getRadius_p0:CH,_emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3:uj,_emscripten_bind_btDynamicsWorld__rayTest_p3:l0,_emscripten_bind_btQuaternion__normalize_p0:aia,_emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0:Qu,_emscripten_bind_btMatrix3x3__transposeTimes_p1:d9,_emscripten_bind_btConcaveShape__isSoftBody_p0:akn,_emscripten_bind_btConvexTriangleMeshShape__getAabb_p3:iG,_emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3:C_,_emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2:ZR,_emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0:uQ,_emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6:Qt,_emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0:Cu,_emscripten_bind_btCollisionDispatcher__needsCollision_p2:uB,_emscripten_bind_btVector4__serialize_p1:Fh,_emscripten_bind_btHingeConstraint__btHingeConstraint_p4:yD,_emscripten_bind_btHingeConstraint__btHingeConstraint_p7:yF,_emscripten_bind_btHingeConstraint__btHingeConstraint_p6:yE,_emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1:OT,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0:ahk,_emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1:ahS,_emscripten_bind_btBoxShape__getLocalScaling_p0:afW,_emscripten_bind_btUniversalConstraint__getRigidBodyA_p0:mG,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0:agO,_emscripten_bind_btPersistentManifold__setBodies_p2:j6,_emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0:qU,_emscripten_bind_btUniversalConstraint__getUid_p0:mx,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1:$C,_emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1:_n,_emscripten_bind_btCollisionShape__isConcave_p0:VB,_emscripten_bind_btHingeConstraint__setEnabled_p1:xX,_emscripten_bind_btSliderConstraint__setupSolverConstraint_p4:_U,_emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2:abv,_emscripten_bind_btRigidBody__integrateVelocities_p1:pI,_emscripten_bind_btRigidBody__internalGetInvMass_p0:ot,_emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1:T6,_emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1:EJ,_emscripten_bind_btTypedConstraint____destroy___p0:rW,_emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1:IF,_emscripten_bind_btHingeConstraint__getLowerLimit_p0:yn,_emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1:WG,_emscripten_bind_btQuaternion__getX_p0:ahY,_emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0:T4,_emscripten_bind_btConeTwistConstraint__isEnabled_p0:wQ,_strlen:aDE,_emscripten_bind_btWheelInfo__get_m_deltaRotation_p0:Eq,_emscripten_bind_btQuaternion__getY_p0:ahZ,_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3:ajv,_emscripten_bind_btDynamicsWorld__setConstraintSolver_p1:mY,_emscripten_bind_btUniformScalingShape__getUserPointer_p0:KS,_emscripten_bind_btHashString__get_m_hash_p0:amF,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0:KI,_emscripten_bind_btHingeConstraint__getInfo1_p1:xQ,_emscripten_bind_btConeShapeZ__isConcave_p0:zz,_emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1:SY,_emscripten_bind_btDbvtBroadphase__collide_p1:tE,_emscripten_bind_btTriangleInfo__set_m_flags_p1:Hc,_emscripten_bind_btBU_Simplex1to4__addVertex_p1:ER,_emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1:tN,_emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0:io,_emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0:rV,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0:Hi,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0:Ic,_emscripten_bind_btCollisionDispatcher__getNearCallback_p0:ug,_emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0:rk,_emscripten_bind_btWheelInfo____destroy___p0:EK,_emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0:BD,_emscripten_bind_btUniformScalingShape__serializeSingleShape_p1:Mk,_emscripten_bind_btConeShapeX__getConeUpIndex_p0:Aq,_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0:aeL,_emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0:PW,_emscripten_bind_btUniversalConstraint__getAxis1_p0:n0,_emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0:t_,_emscripten_bind_btDispatcherInfo__get_m_stepCount_p0:eK,_emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3:uJ,_emscripten_bind_btQuadWord__w_p0:L$,_emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0:vG,_emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1:ui,_emscripten_bind_btConeTwistConstraint__getConstraintType_p0:wS,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1:YP,_emscripten_bind_btCompoundShape__getChildList_p0:kS,_emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1:lH,_emscripten_bind_btGhostObject__isActive_p0:ajZ,_emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0:aaa,_emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1:EI,_emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3:Pj,_emscripten_bind_btGhostObject__getContactProcessingThreshold_p0:aj3,_emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1:xB,_emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3:J8,_emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0:Lt,_emscripten_bind_btGhostObject__setAnisotropicFriction_p1:akx,_emscripten_bind_btManifoldPoint__getDistance_p0:aap,_emscripten_bind_btHashInt__getHash_p0:Sc,_emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6:UG,_emscripten_bind_CProfileSample____destroy___p0:aht,_emscripten_bind_btHinge2Constraint__calcAnchorPos_p0:Ip,_emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1:C9,_emscripten_bind_btPoint2PointConstraint__serialize_p2:abH,_emscripten_bind_btUniversalConstraint__getParam_p2:na,_emscripten_bind_btConeShapeZ__getConeUpIndex_p0:zy,_emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0:$j,_emscripten_bind_btConstraintSetting__btConstraintSetting_p0:nf,_emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1:Xj,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0:LQ,_emscripten_bind_btGeneric6DofConstraint__setParam_p3:Wv,_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0:VJ,_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0:ala,_emscripten_bind_btCapsuleShapeZ__isInfinite_p0:aiG,_emscripten_bind_btDbvtProxy__get_m_uniqueId_p0:Ni,_emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0:v3,_emscripten_bind_btBroadphaseInterface__resetPool_p1:i4,_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11:Jd,_emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1:zc,_emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0:hT,_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12:Je,_emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0:Es,_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1:Oz,_emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0:ib,_emscripten_bind_btContactConstraint__setUserConstraintId_p1:$W,_emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1:Sn,_emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1:DN,_emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0:HK,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1:If,_emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1:Dt,_emscripten_bind_btQuadWord__setValue_p4:LU,_emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1:zg,_emscripten_bind_btQuadWord__y_p0:L0,_emscripten_bind_btQuadWord__setValue_p3:LT,_emscripten_bind_btRigidBody__getInvMass_p0:ov,_emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1:Cd,_emscripten_bind_btCollisionObject__getUserPointer_p0:hn,_emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0:Tf,_emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1:Zz,_emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0:abB,_emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0:vJ,_emscripten_bind_btWheelInfo__get_m_rotation_p0:Eh,_emscripten_bind_btQuantizedBvh__unQuantize_p1:am_,_emscripten_bind_btUniversalConstraint__getAxis2_p0:n2,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0:afD,_emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0:PP,_emscripten_bind_btTypedConstraint__getDbgDrawSize_p0:ra,_emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0:$c,_emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0:r7,_emscripten_bind_btQuantizedBvh__quantize_p3:amQ,_emscripten_bind_btDynamicsWorld__removeCollisionObject_p1:mX,_emscripten_bind_btVector4__closestAxis4_p0:Gc,_emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1:Wm,_emscripten_bind_btGhostObject__getAnisotropicFriction_p0:aj6,_emscripten_bind_btCollisionObject__forceActivationState_p1:he,_emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1:MC,_emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0:aeK,_emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1:all,_emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2:Ra,_emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:UB,_emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0:vp,_emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0:aab,_emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0:w3,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0:JY,_emscripten_bind_btConvexHullShape__isNonMoving_p0:f$,_emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1:Di,_emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0:afv,_emscripten_bind_btConvexHullShape__isInside_p2:hO,_emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5:ZH,_emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0:Ab,_emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1:e_,_emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0:w6,_emscripten_bind_btSphereShape__serializeSingleShape_p1:amK,_emscripten_bind_btCylinderShapeX__serializeSingleShape_p1:K_,_emscripten_bind_btHinge2Constraint__getRigidBodyA_p0:HN,_emscripten_bind_btCollisionObject__setRestitution_p1:hG,_emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2:Lb,_emscripten_bind_btHashString__set_m_string_p1:amB,_emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0:zO,_emscripten_bind_btConvexHullShape__isSoftBody_p0:f0,_emscripten_bind_btRigidBody__getLinearVelocity_p0:pl,_emscripten_bind_btRigidBody__applyTorque_p1:pf,_emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1:yJ,_emscripten_bind_btConvexShape__getContactBreakingThreshold_p1:Q8,_emscripten_bind_btIndexedMesh__set_m_vertexType_p1:gS,_emscripten_bind_btCollisionObject__hasContactResponse_p0:hw,_emscripten_bind_btPolyhedralConvexShape__getEdge_p3:sS,_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9:afN,_emscripten_bind_btCapsuleShape__setLocalScaling_p1:fz,_emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2:aeQ,_emscripten_bind_btPolyhedralConvexShape__getVertex_p2:sM,_emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0:xy,_emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0:qR,_emscripten_bind_btGhostObject__setUserPointer_p1:ai_,_emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0:CB,_emscripten_bind_btGeneric6DofConstraint__setFrames_p2:Xl,_emscripten_bind_btUniversalConstraint__setUpperLimit_p2:nb,_emscripten_bind_btConvexHullShape__getScaledPoint_p1:f6,_emscripten_bind_btConeShapeX__getUserPointer_p0:Al,_emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1:g7,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1:iO,_emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1:aal,_emscripten_bind_btSliderConstraint__set_m_objectType_p1:_w,_emscripten_bind_btSimpleDynamicsWorld__getGravity_p0:OC,_emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0:Et,_emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1:Cb,_emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0:xm,_emscripten_bind_btConeShapeZ__getBoundingSphere_p2:z2,_emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4:DE,_emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0:adL,_emscripten_bind_btConeShape__setImplicitShapeDimensions_p1:DC,_emscripten_bind_btBroadphaseRayCallback__process_p1:BT,_emscripten_bind_btSimpleBroadphase__rayTest_p5:kk,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1:QP,_emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1:LG,_emscripten_bind_btRigidBody__applyTorqueImpulse_p1:qo,_emscripten_bind_btMultiSphereShape__isInfinite_p0:Pa,_emscripten_bind_btContactConstraint__setupSolverConstraint_p4:abd,_emscripten_bind_btVector3__closestAxis_p0:GT,_emscripten_bind_btSimpleBroadphase__rayTest_p3:ki,_emscripten_bind_btMultiSphereShape__getAabbSlow_p3:PG,_emscripten_bind_btRigidBody__applyCentralImpulse_p1:qr,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1:Rq,_emscripten_bind_btWheelInfo__set_m_frictionSlip_p1:D5,_emscripten_bind_btRigidBody__updateDeactivation_p1:om,_emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0:So,_emscripten_bind_btConeTwistConstraint__getObjectType_p0:wY,_emscripten_bind_btDbvtProxy__isConvex_p1:MW,_emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:PC,_emscripten_bind_btCapsuleShapeZ__getUserPointer_p0:aiH,_emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0:yL,_emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0:DU,_emscripten_bind_btGeneric6DofConstraint__getUid_p0:VE,_emscripten_bind_btWheelInfo__set_m_clientInfo_p1:D_,_emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1:uk,_emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5:adY,_emscripten_bind_btCapsuleShapeZ__isSoftBody_p0:aiK,_emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0:Tc,_emscripten_bind_btQuaternion__op_mul_p1:ah3,_emscripten_bind_btSphereShape__getMarginNV_p0:alt,_emscripten_bind_btBoxShape__isNonMoving_p0:afu,_emscripten_bind_btUniversalConstraint__setLimit_p3:nR,_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0:aem,_emscripten_bind_btAngularLimit__getError_p0:jc,_emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2:Kj,_emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1:eN,_emscripten_bind_btTypedConstraint__serialize_p2:rO,_emscripten_bind_btDbvtBroadphase__resetPool_p1:tC,_emscripten_bind_btSliderConstraint__getFrameOffsetB_p0:_y,_emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3:rx,_emscripten_bind_btMatrix3x3__inverse_p0:ep,_emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2:ahI,_emscripten_bind_btRigidBody__getFriction_p0:pa,_emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1:_r,_emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0:Df,_emscripten_bind_btDynamicsWorld__addAction_p1:lS,_emscripten_bind_CProfileSample__CProfileSample_p1:ahW,_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8:abn,_emscripten_bind_btRigidBody__getHitFraction_p0:or,_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2:afK,_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1:afJ,_emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1:fx,_emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0:fL,_emscripten_bind_btDbvtBroadphase__set_m_gid_p1:st,_emscripten_bind_btEmptyShape__getLocalScaling_p0:oM,_emscripten_bind_btHingeConstraint__serialize_p2:yr,_emscripten_bind_btBoxShape__getNumEdges_p0:af2,_emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1:yQ,_emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1:$U,_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1:tL,_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0:tK,_emscripten_bind_btConcaveShape__isConcave_p0:ako,_emscripten_bind_btHingeConstraint__getInfo2_p1:xS,_emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0:N9,_emscripten_bind_btMatrix3x3__getRotation_p1:eb,_emscripten_bind_btConeShapeZ__isInfinite_p0:zs,_emscripten_bind_btConvexInternalAabbCachingShape__getName_p0:QF,_emscripten_bind_btCylinderShapeX__setUserPointer_p1:Km,_emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6:QX,_emscripten_bind_btCapsuleShapeX__isConvex_p0:ag0,_emscripten_bind_btCylinderShapeX__getUpAxis_p0:Kn,_emscripten_bind_btDynamicsWorld__getDebugDrawer_p0:lY,_emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1:O$,_emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1:x_,_emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1:Ov,_emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0:UD,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0:J$,_emscripten_bind_btConvexInternalShape__isCompound_p0:Ti,_emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2:YR,_emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1:Iu,_emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2:aew,_emscripten_bind_btRaycastVehicle__getUserConstraintType_p0:JJ,_emscripten_bind_btTriangleMesh__setPremadeAabb_p2:A3,_emscripten_bind_btCollisionObject__checkCollideWith_p1:h1,_emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0:aeZ,_emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0:ajq,_emscripten_bind_btConstraintSetting__set_m_tau_p1:mp,_emscripten_bind_btHinge2Constraint__needsFeedback_p0:IV,_emscripten_bind_btRigidBody__setCompanionId_p1:pS,_emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0:wa,_emscripten_bind_btOptimizedBvh__build_p4:rz,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1:Qy,_emscripten_bind_btConeShapeX__isConvex_p0:Ai,_emscripten_bind_btRigidBody__getTotalTorque_p0:oF,_emscripten_bind_btCollisionDispatcher__getNumManifolds_p0:uC,_emscripten_bind_btHingeConstraint__setParam_p3:yp,_emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0:ft,_emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1:afQ,_emscripten_bind_btSliderConstraint__setLowerAngLimit_p1:$I,_emscripten_bind_btHashPtr__getHash_p0:TY,_emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0:r3,_emscripten_bind_btIndexedMesh__btIndexedMesh_p0:hW,_emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1:go,_emscripten_bind_btCapsuleShapeZ__getShapeType_p0:aiN,_emscripten_bind_btPoint2PointConstraint__setEnabled_p1:aaZ,_emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1:Tv,_emscripten_bind_btCapsuleShape__isNonMoving_p0:fe,_emscripten_bind_btIDebugDraw__drawSphere_p3:tv,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2:agt,_emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0:Si,_emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1:Jp,_emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4:FF,_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0:adl,_emscripten_bind_btCylinderShape__isCompound_p0:L6,_emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0:$m,_emscripten_bind_btCylinderShapeX__setLocalScaling_p1:K6,_emscripten_bind_btConvexInternalShape__setLocalScaling_p1:TK,_emscripten_bind_btHingeConstraint__getAFrame_p0:yH,_emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0:Va,_emscripten_bind_btRigidBody__btRigidBody_p4:pC,_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2:UI,_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3:UJ,_emscripten_bind_bt32BitAxisSweep3__updateHandle_p4:alK,_emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0:sj,_emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1:t2,_emscripten_bind_btWheelInfo__set_m_deltaRotation_p1:D3,_emscripten_bind_bt32BitAxisSweep3__addHandle_p7:alg,_emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3:EX,_emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3:Kk,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0:Ht,_emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0:Y8,_emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0:n1,_emscripten_bind_btTypedConstraint__buildJacobian_p0:rN,_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1:jn,_emscripten_bind_btStaticPlaneShape__setUserPointer_p1:Vf,_emscripten_bind_btVector4__y_p0:Gi,_emscripten_bind_btHinge2Constraint__getUserConstraintType_p0:IZ,_emscripten_bind_btCapsuleShape__setMargin_p1:fF,_emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0:op,_emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1:aaY,_emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0:adq,_emscripten_bind_btConeShapeZ__calculateLocalInertia_p2:zI,_emscripten_bind_btConvexHullShape__getAabbSlow_p3:hQ,_emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1:w1,_emscripten_bind_btIndexedMesh__set_m_vertexStride_p1:gX,_emscripten_bind_btCollisionWorld__updateAabbs_p0:SM,_emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1:Xa,_emscripten_bind_btDbvtBroadphase__printStats_p0:tF,_emscripten_bind_btPersistentManifold__getBody0_p0:j5,_emscripten_bind_btConeShape__getShapeType_p0:DI,_emscripten_bind_btEmptyShape__isNonMoving_p0:oh,_emscripten_bind_btQuadWord__setW_p1:L_,_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0:ue,_emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0:II,_emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1:uS,_emscripten_bind_btAxisSweep3__aabbTest_p3:vi,_emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1:ne,_emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1:_2,_emscripten_bind_btGhostObject__serializeSingleObject_p1:aku,_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0:adw,_emscripten_bind_btGhostObject__setRestitution_p1:akb,_emscripten_bind_btContactConstraint__getRigidBodyA_p0:$F,_emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0:CS,_emscripten_bind_btConcaveShape__isNonMoving_p0:akl,_emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0:Nw,_emscripten_bind_btCapsuleShapeX__getMarginNV_p0:ag$,_emscripten_bind_btPersistentManifold__get_m_companionIdA_p0:ka,_emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1:D2,_emscripten_bind_btWheelInfo__updateWheel_p2:DP,_emscripten_bind_btDynamicsWorld__addConstraint_p2:me,_emscripten_bind_btDynamicsWorld__addConstraint_p1:md,_emscripten_bind_btRigidBody__getTurnVelocity_p0:os,_emscripten_bind_btTypedConstraint__setUserConstraintId_p1:q8,_emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0:EN,_emscripten_bind_btCylinderShape__getUpAxis_p0:L8,_emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1:aaN,_emscripten_bind_btDbvtBroadphase__getAabb_p3:tD,_emscripten_bind_btSphereShape__getContactBreakingThreshold_p1:amc,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0:adB,_emscripten_bind_btBroadphaseInterface__printStats_p0:i6,_emscripten_bind_btHashInt__setUid1_p1:R9,_emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0:QB,_emscripten_bind_btRigidBody__setCollisionFlags_p1:qs,_emscripten_bind_btGhostObject__hasContactResponse_p0:aj$,_emscripten_bind_btDefaultVehicleRaycaster__castRay_p3:m$,_emscripten_bind_btSliderConstraint__getUseFrameOffset_p0:Z1,_emscripten_bind_btCollisionObject__getIslandTag_p0:g8,_emscripten_bind_btCollisionShape__calculateTemporalAabb_p6:Wp,_emscripten_bind_btTranslationalLimitMotor____destroy___p0:Tu,_emscripten_bind_btConcaveShape__isConvex_p0:aki,_emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1:yP,_emscripten_bind_btIDebugDraw__drawCone_p5:td,_emscripten_bind_btSphereShape__isNonMoving_p0:alB,_emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1:RK,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0:agy,_emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1:MG,_emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1:qK,_emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0:PX,_emscripten_bind_btBoxShape__getAabbNonVirtual_p3:af0,_emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5:rL,_emscripten_bind_btCollisionShape__getAabb_p3:Wl,_emscripten_bind_btCapsuleShape____destroy___p0:fI,_emscripten_bind_btDynamicsWorld__removeRigidBody_p1:l5,_emscripten_bind_btHashInt__equals_p1:Sa,_emscripten_bind_btCapsuleShape__isCompound_p0:e3,_emscripten_bind_btTransform__setIdentity_p0:X0,_emscripten_bind_btRigidBody__getCollisionFlags_p0:ow,_emscripten_bind_btRigidBody__getRootCollisionShape_p0:oA,_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1:Fv,_emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1:K9,_emscripten_bind_btRigidBody__setLinearVelocity_p1:qO,_emscripten_bind_btTransform__getBasis_p0:XM,_emscripten_bind_btMatrix3x3__setEulerZYX_p3:ex,_emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0:sJ,_emscripten_bind_btTriangleMesh__preallocateVertices_p1:AU,_emscripten_bind_btManifoldPoint__set_m_index0_p1:aaA,_emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0:Nv,_emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0:Lw,_emscripten_bind_btDbvtProxy__set_m_aabbMin_p1:NN,_emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0:qn,_emscripten_bind_btVector3__distance2_p1:GC,_emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0:acM,_emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0:ES,_emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1:Z3,_emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0:ZC,_emscripten_bind_btConeShapeX__getBoundingSphere_p2:AN,_emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2:aln,_emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0:CR,_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1:us,_emscripten_bind_btAngularLimit__set_p5:jv,_emscripten_bind_btAngularLimit__set_p4:ju,_emscripten_bind_btAngularLimit__set_p3:jt,_emscripten_bind_btAngularLimit__set_p2:js,_emscripten_bind_btBroadphaseProxy__isConvex2d_p1:ad3,_emscripten_bind_btQuantizedBvh__setTraversalMode_p1:amr,_emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0:y8,_emscripten_bind_btCollisionWorld____destroy___p0:ST,_emscripten_bind_btTriangleIndexVertexArray__serialize_p2:afi,_emscripten_bind_btEmptyShape__isConvex2d_p0:oi,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0:JS,_emscripten_bind_btCompoundShape__calculateTemporalAabb_p6:la,_emscripten_bind_btClock__getTimeMilliseconds_p0:XA,_emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0:WF,_emscripten_bind_btRigidBody__getBroadphaseProxy_p0:p0,_emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1:alo,_emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0:Um,_emscripten_bind_btRigidBody__clearForces_p0:o1,_emscripten_bind_btRigidBody__getCollisionShape_p0:p1,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1:Yq,_emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0:sb,_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0:adn,_emscripten_bind_btSliderConstraint__getDampingDirAng_p0:_z,_emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1:i5,_emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2:QT,_emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7:jF,_emscripten_bind_btUniversalConstraint____destroy___p0:nK,_emscripten_bind_btCylinderShapeZ__setUserPointer_p1:ab8,_emscripten_bind_btHingeConstraint__getUserConstraintId_p0:yi,_emscripten_bind_btHingeConstraint__getFrameOffsetB_p0:xA,_emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1:ye,_emscripten_bind_btPoint2PointConstraint__needsFeedback_p0:abW,_emscripten_bind_btUniformScalingShape__getAabbSlow_p3:Ml,_emscripten_bind_btSphereShape__getUserPointer_p0:alA,_emscripten_bind_btRaycastVehicle__updateSuspension_p1:Jm,_emscripten_bind_btCylinderShapeX__getShapeType_p0:KA,_emscripten_bind_btSliderConstraint__getUpperAngLimit_p0:_h,_emscripten_bind_btManifoldResult__addContactPoint_p3:OW,_emscripten_bind_bt32BitAxisSweep3__rayTest_p5:alG,_emscripten_bind_bt32BitAxisSweep3__rayTest_p4:alF,_emscripten_bind_btHingeConstraint__getLimitSign_p0:xE,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2:agA,_emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0:iT,_emscripten_bind_btWheelInfo__btWheelInfo_p1:E7,_emscripten_bind_btMultiSphereShape__isConcave_p0:Pg,_emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0:Ee,_emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0:Ay,_emscripten_bind_btCapsuleShape__getName_p0:fw,_emscripten_bind_btCapsuleShape__getLocalScalingNV_p0:e9,_emscripten_bind_btMatrix3x3__getEulerYPR_p3:fm,_emscripten_bind_btRaycastVehicle__setUserConstraintId_p1:Jz,_emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0:I0,_emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0:vr,_emscripten_bind_btWheelInfo__get_m_worldTransform_p0:DS,_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0:WR,_emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0:HO,_emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0:j3,_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0:aax,_emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0:afX,_emscripten_bind_btCompoundShape__getAngularMotionDisc_p0:k8,_emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1:sv,_emscripten_bind_btRaycastVehicle__updateWheelTransform_p2:J3,_emscripten_bind_btSliderConstraint__setUpperLinLimit_p1:_3,_emscripten_bind_btCollisionWorld__rayTestSingle_p6:SS,_emscripten_bind_btSliderConstraint__get_m_objectType_p0:_e,_emscripten_bind_btMatrix3x3__serializeFloat_p1:d4,_emscripten_bind_btSliderConstraint__getLowerAngLimit_p0:_s,_emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0:ua,_emscripten_bind_btConeShapeZ__isNonMoving_p0:zu,_emscripten_bind_btSliderConstraint__btSliderConstraint_p3:$N,_emscripten_bind_btConeTwistConstraint__getTwistSpan_p0:xt,_emscripten_bind_btRigidBody__set_m_frictionSolverType_p1:oq,_emscripten_bind_btConvexHullShape__calculateLocalInertia_p2:f2,_emscripten_bind_btCollisionDispatcher__findAlgorithm_p2:uw,_emscripten_bind_btCollisionDispatcher__findAlgorithm_p3:ux,_emscripten_bind_btEmptyShape__setUserPointer_p1:ob,_emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0:akF,_emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1:akJ,_emscripten_bind_btDynamicsWorld__stepSimulation_p3:mR,_emscripten_bind_btDynamicsWorld__stepSimulation_p2:mQ,_emscripten_bind_btDynamicsWorld__stepSimulation_p1:mP,_emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1:vB,_emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0:_A,_emscripten_bind_btOptimizedBvh__serializeInPlace_p3:rJ,_emscripten_bind_btBoxShape__getLocalScalingNV_p0:afo,_emscripten_bind_btContactConstraint__setUserConstraintPtr_p1:$9,_emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0:nU,_emscripten_bind_btHingeConstraint__getUserConstraintType_p0:yk,_emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0:tJ,_emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1:af$,_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9:PN,_emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0:_c,_emscripten_bind_btIDebugDraw__drawArc_p10:tg,_emscripten_bind_btEmptyShape__getMargin_p0:oT,_emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1:uv,_emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1:IO,_emscripten_bind_btCapsuleShapeZ__isCompound_p0:aix,_emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1:Cc,_emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1:S5,_emscripten_bind_btUniversalConstraint__setEnabled_p1:mz,_emscripten_bind_btBoxShape__getAabbSlow_p3:agl,_emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2:Sx,_emscripten_bind_btVector4__setW_p1:Gg,_emscripten_bind_btVector4__setZero_p0:Gd,_emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0:p8,_emscripten_bind_btConeShape__getAabbNonVirtual_p3:Dy,_emscripten_bind_btBroadphasePair____destroy___p0:BP,_emscripten_bind_btConeShapeZ__getAabbSlow_p3:z5,_emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0:Ql,_emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3:RQ,_emscripten_bind_btConvexInternalShape__isConvex_p0:Tn,_emscripten_bind_btConeTwistConstraint__enableMotor_p1:w$,_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2:vo,_emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0:vZ,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1:adF,_emscripten_bind_btCylinderShape__getAabbNonVirtual_p3:My,_emscripten_bind_btHingeConstraint__getParam_p1:yt,_emscripten_bind_btHingeConstraint__getParam_p2:yu,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0:Yc,_emscripten_bind_btConeShapeZ__getLocalScalingNV_p0:zp,_emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0:aa0,_emscripten_bind_btConeTwistConstraint__serialize_p2:xh,_emscripten_bind_btSliderConstraint__setDbgDrawSize_p1:_K,_emscripten_bind_btOptimizedBvh__unQuantize_p1:rK,_emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0:adT,_emscripten_bind_btCapsuleShapeZ__getName_p0:aja,_emscripten_bind_btCapsuleShape__getAabbSlow_p3:fN,_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0:t4,_emscripten_bind_btAxisSweep3__removeHandle_p2:u2,_emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0:Mz,_emscripten_bind_btCollisionShape__getMargin_p0:Wn,_emscripten_bind_btIndexedMesh__get_m_numTriangles_p0:gQ,_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1:wU,_emscripten_bind_btRigidBody__getConstraintRef_p1:qa,_emscripten_bind_btConvexInternalShape__serializeSingleShape_p1:UE,_emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2:Fs,_emscripten_bind_btConvexHullShape__isCompound_p0:gD,_emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0:r2,_emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1:Hd,_emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1:RV,_emscripten_bind_btUniformScalingShape__serialize_p2:Lr,_emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1:e$,_emscripten_bind_btJacobianEntry____destroy___p0:RU,_emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1:wx,_emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0:Zf,_emscripten_bind_btCollisionShape__getShapeType_p0:VC,_emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0:vt,_emscripten_bind_btBU_Simplex1to4__getEdge_p3:E$,_emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1:U9,_emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0:KH,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0:XW,_emscripten_bind_btQuaternion__setValue_p4:ah5,_emscripten_bind_btCollisionShape__serializeSingleShape_p1:Ws,_emscripten_bind_btRigidBody__set_m_contactSolverType_p1:qm,_emscripten_bind_btContactConstraint__needsFeedback_p0:$_,_emscripten_bind_btAngularLimit__fit_p1:jq,_emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0:OQ,_emscripten_bind_btDispatcher__clearManifold_p1:RJ,_emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1:E2,_emscripten_bind_btDbvtProxy__set_leaf_p1:Nk,_emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1:tT,_emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0:DK,_emscripten_bind_btCompoundShape__getName_p0:kX,_emscripten_bind_btCollisionObject__getCollisionShape_p0:hk,_emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0:Wi,_emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0:ZE,_emscripten_bind_btDynamicsWorld__debugDrawWorld_p0:mJ,_emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1:Ef,_emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0:$H,_emscripten_bind_btWheelInfo__set_m_rotation_p1:Em,_emscripten_bind_btDbvtBroadphase__benchmark_p1:r4,_emscripten_bind_btHinge2Constraint__serialize_p2:Ij,_emscripten_bind_btDefaultCollisionConfiguration____destroy___p0:jz,_emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0:rp,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1:KG,_emscripten_bind_btConeTwistConstraint__setLimit_p6:xe,_emscripten_bind_btTypedConstraint__enableFeedback_p1:q3,_emscripten_bind_btConeTwistConstraint__setLimit_p4:xc,_emscripten_bind_btConeTwistConstraint__setLimit_p5:xd,_emscripten_bind_btConeTwistConstraint__setLimit_p2:xa,_emscripten_bind_btConeTwistConstraint__setLimit_p3:xb,_emscripten_bind_btMultiSphereShape__getAabb_p3:Ps,_emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0:Pn,_emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1:ab6,_emscripten_bind_btAxisSweep3__destroyProxy_p2:vk,_emscripten_bind_btManifoldPoint__set_m_partId1_p1:aau,_emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3:rB,_emscripten_bind_btConvexHullShape__btConvexHullShape_p3:gj,_emscripten_bind_btConvexHullShape__btConvexHullShape_p2:gi,_emscripten_bind_btConvexHullShape__btConvexHullShape_p1:gh,_emscripten_bind_btConvexHullShape__btConvexHullShape_p0:gg,_emscripten_bind_btHashString__btHashString_p1:am7,_emscripten_bind_btVector3__length2_p0:G2,_emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2:s_,_emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0:lD,_emscripten_bind_btPairCachingGhostObject__getHitFraction_p0:Uh,_emscripten_bind_btGhostObject__getOverlappingObject_p1:ajN,_emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7:Ji,_emscripten_bind_btDbvtProxy__get_leaf_p0:Na,_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5:CX,_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4:CW,_emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0:zM,_emscripten_bind_btRigidBody__getWorldTransform_p0:p$,_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0:amw,_emscripten_bind_btQuantizedBvh__deSerializeDouble_p1:amV,_emscripten_bind_btRigidBody__getCcdMotionThreshold_p0:pV,_emscripten_bind_btStridingMeshInterface__preallocateVertices_p1:abs,_emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0:is,_emscripten_bind_btSerializer__registerNameForPointer_p2:H4,_emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0:aah,_emscripten_bind_btStaticPlaneShape__isConvex_p0:Vj,_emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1:adk,_emscripten_bind_btConeShapeX__calculateLocalInertia_p2:z7,_emscripten_bind_btHingeConstraint__getObjectType_p0:x3,_emscripten_bind_btBU_Simplex1to4__getUserPointer_p0:Ez,_emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1:Li,_emscripten_bind_btRigidBody__getRestitution_p0:qy,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1:alf,_emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2:afI,_emscripten_bind_btHingeConstraint__getConstraintType_p0:xY,_emscripten_bind_btRigidBody__getFlags_p0:qf,_emscripten_bind_btConvexHullShape__setLocalScaling_p1:gm,_emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0:vH,_emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0:sn,_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0:lm,_emscripten_bind_btDynamicsWorld__clearForces_p0:lW,_emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2:adX,_emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0:WI,_emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1:mm,_emscripten_bind_btRigidBody__computeImpulseDenominator_p2:oH,_emscripten_bind_btDbvtBroadphase__set_m_prediction_p1:tU,_emscripten_bind_btSerializer__getBufferPointer_p0:H$,_emscripten_bind_btSerializer__startSerialization_p0:HX,_emscripten_bind_btPolyhedralConvexShape__getAabb_p3:sW,_emscripten_bind_btPairCachingGhostObject__forceActivationState_p1:Ub,_emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0:P8,_emscripten_bind_btConvexTriangleMeshShape__getEdge_p3:iC,_emscripten_bind_btBoxShape__getUserPointer_p0:aft,_emscripten_bind_btHinge2Constraint__setEnabled_p1:HG,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0:lF,_emscripten_bind_btRigidBody__getAabb_p2:qD,_emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1:oJ,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1:Bv,_emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4:xF,_emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1:Nt,_emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1:yM,_emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1:qC,_emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0:v9,_emscripten_bind_btConvexHullShape__recalcLocalAabb_p0:gt,_emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0:_i,_emscripten_bind_btPoint2PointConstraint__setParam_p2:abF,_emscripten_bind_btPoint2PointConstraint__setParam_p3:abG,_emscripten_bind_btSerializer__findPointer_p1:H3,_emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0:Ha,_emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1:UN,_emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:fJ,_emscripten_bind_btRigidBody__setDeactivationTime_p1:qb,_emscripten_bind_btConeTwistConstraint__getFixThresh_p0:w5,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2:adW,_emscripten_bind_btConeShape__setUserPointer_p1:CE,_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2:wO,_emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1:BZ,_emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1:Se,_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4:xk,_emscripten_bind_btTypedConstraint__getRigidBodyB_p0:q0,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3:agC,_emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0:uK,_emscripten_bind_btGhostObject__getInternalType_p0:aj_,_emscripten_bind_btConvexHullShape__getNumPlanes_p0:f3,_emscripten_bind_btDynamicsWorld__getConstraint_p1:mN,_emscripten_bind_btConvexShape__setMargin_p1:Rb,_emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1:tR,_emscripten_bind_btGeneric6DofConstraint__getAxis_p1:W7,_emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1:iF,_emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1:V2,_emscripten_bind_btVector4____destroy___p0:F9,_emscripten_bind_btVector3__z_p0:G8,_emscripten_bind_btGhostObject__setIslandTag_p1:ajJ,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0:YI,_emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3:am2,_emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0:Sj,_emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2:lC,_emscripten_bind_btSliderConstraint__getAngDepth_p0:Zk,_emscripten_bind_btCylinderShape__getMarginNV_p0:Mb,_emscripten_bind_btEmptyShape__isConcave_p0:ok,_emscripten_bind_btTypedObject____destroy___p0:hU,_emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0:w8,_emscripten_bind_btPairCachingGhostObject__setIslandTag_p1:Ue,_emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1:g$,_emscripten_bind_btPolyhedralConvexShape__isInside_p2:r0,_emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0:r6,_emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0:i_,_emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0:jK,_emscripten_bind_btDbvtProxy__get_m_clientObject_p0:M6,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1:KK,_emscripten_bind_btCylinderShapeZ__getUpAxis_p0:ab9,_emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1:adZ,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0:Hq,_emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1:BV,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1:JT,_emscripten_bind_btSliderConstraint__getLinearPos_p0:_b,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0:Hj,_emscripten_bind_btQuadWord__setMax_p1:LV,_emscripten_bind_btRigidBody__wantsSleeping_p0:oo,_emscripten_bind_btOptimizedBvh__deSerializeDouble_p1:rF,_emscripten_bind_btEmptyShape__setLocalScaling_p1:oQ,_emscripten_bind_btBroadphaseProxy__isInfinite_p1:ad_,_emscripten_bind_btCollisionAlgorithm__processCollision_p4:al_,_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0:ku,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0:agN,_emscripten_bind_btBU_Simplex1to4__getNumVertices_p0:EQ,_emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3:K1,_emscripten_bind_btWheelInfo__get_m_frictionSlip_p0:DT,_emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0:B6,_emscripten_bind_btStackAlloc__beginBlock_p0:mt,_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0:jp,_emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3:amR,_emscripten_bind_btConeShape__isConvex2d_p0:CP,_emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0:aeG,_emscripten_bind_btHeightfieldTerrainShape__serialize_p2:PJ,_emscripten_bind_btCollisionDispatcher__getNewManifold_p2:uE,_emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0:vO,_emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2:iS,_emscripten_bind_btUniversalConstraint__calcAnchorPos_p0:nE,_emscripten_bind_btTransform__deSerializeDouble_p1:Xu,_emscripten_bind_btCylinderShapeX__getAabbSlow_p3:Lj,_emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0:i3,_emscripten_bind_btQuaternion__btQuaternion_p4:ajE,_emscripten_bind_btQuaternion__btQuaternion_p3:ail,_emscripten_bind_btQuaternion__btQuaternion_p2:aik,_emscripten_bind_btQuaternion__btQuaternion_p0:aij,_emscripten_bind_btHinge2Constraint__setUserConstraintId_p1:Iy,_emscripten_bind_btUniversalConstraint__needsFeedback_p0:nV,_emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1:Dh,_emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0:$L,_emscripten_bind_btBroadphaseInterface__getAabb_p3:i7,_emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1:afa,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2:jl,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1:jk,_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0:jj,_emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2:agc,_emscripten_bind_btRigidBody__getGravity_p0:oB,_emscripten_bind_btRigidBody__getAngularFactor_p0:pv,_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1:Ae,_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0:yV,_emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0:zf,_emscripten_bind_btSimpleDynamicsWorld__setGravity_p1:NZ,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1:KE,_emscripten_bind_btSphereShape__isConvex2d_p0:alC,_emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3:iV,_emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0:vP,_emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1:MB,_emscripten_bind_btConvexHullShape__getAabb_p3:gn,_emscripten_bind_btVector3__lerp_p2:GP,_emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1:vm,_emscripten_bind_btPairCachingGhostObject__upcast_p1:U0,_emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1:eU,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0:Ro,_emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1:IX,_emscripten_bind_btHingeConstraint__setAxis_p1:yU,_emscripten_bind_btCompoundShape__serializeSingleShape_p1:k9,_emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1:Wc,_emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:AM,_emscripten_bind_btRigidBody__internalGetAngularFactor_p0:ph,_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1:ZI,_emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0:NH,_emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0:w_,_emscripten_bind_btManifoldPoint__set_m_distance1_p1:aaR,_emscripten_bind_btVector3__setValue_p3:GD,_emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1:WW,_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1:ajf,_emscripten_bind_btMatrix3x3__op_add_p1:ek,_emscripten_bind_btStaticPlaneShape__setMargin_p1:VX,_emscripten_bind_btTransform____destroy___p0:X5,_emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0:vN,_emscripten_bind_btRotationalLimitMotor__get_m_damping_p0:y9,_emscripten_bind_btCollisionWorld__getPairCache_p0:SW,_emscripten_bind_btHashInt____destroy___p0:SA,_emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0:ams,_emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1:alT,_emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0:h8,_emscripten_bind_btRigidBody__setHitFraction_p1:qS,_emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0:R6,_emscripten_bind_btVector4__dot_p1:Gl,_emscripten_bind_btDbvtBroadphase__destroyProxy_p2:up,_emscripten_bind_btCollisionObject__serializeSingleObject_p1:h3,_emscripten_bind_btDispatcherInfo__get_m_timeStep_p0:eR,_emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0:sy,_emscripten_bind_btTriangleMesh__btTriangleMesh_p0:A0,_emscripten_bind_btJacobianEntry__get_m_bJ_p0:RC,_emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0:RW,_emscripten_bind_btRotationalLimitMotor____destroy___p0:zG,_emscripten_bind_btGhostObject__convexSweepTest_p4:akv,_emscripten_bind_btGhostObject__convexSweepTest_p5:akw,_emscripten_bind_btPoint2PointConstraint____destroy___p0:acr,_emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0:x$,_emscripten_bind_btCapsuleShape__getUserPointer_p0:fd,_emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1:pq,_emscripten_bind_btConcaveShape__calculateTemporalAabb_p6:akM,_emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1:Uz,_emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1:nA,_emscripten_bind_btEmptyShape__getAabb_p3:oR,_emscripten_bind_btAxisSweep3__addHandle_p7:u$,_emscripten_bind_btHinge2Constraint__setParam_p2:Ih,_emscripten_bind_btHinge2Constraint__setParam_p3:Ii,_emscripten_bind_btCapsuleShapeX__setMargin_p1:ahL,_emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3:TF,_emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1:wo,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5:ae7,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0:ae6,_emscripten_bind_btCollisionObject__setAnisotropicFriction_p1:h4,_emscripten_bind_btQuaternion__y_p0:ait,_emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0:Ou,_emscripten_bind_btDynamicsWorld__updateAabbs_p0:l7,_emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0:Ss,_emscripten_bind_btContactConstraint__getParam_p1:aa6,_emscripten_bind_btJacobianEntry__set_m_bJ_p1:Su,_emscripten_bind_btTypedConstraint__needsFeedback_p0:rc,_emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0:hL,_emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1:Sm,_emscripten_bind_btBoxShape__setMargin_p1:agn,_emscripten_bind_btConeShapeZ__getAabb_p3:zU,_emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1:y_,_emscripten_bind_btBroadphasePair__set_m_algorithm_p1:Bq,_emscripten_bind_btVector3__distance_p1:HQ,_emscripten_bind_btConeShapeX__getAabb_p3:AD,_emscripten_bind_btStaticPlaneShape__isConvex2d_p0:Vo,_emscripten_bind_btHashPtr__btHashPtr_p1:U$,_emscripten_bind_btQuaternion__op_add_p1:ah2,_emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3:wi,_emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0:iZ,_emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0:ab1,_emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0:fv,_emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0:ack,_emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0:acm,_emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0:qL,_emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1:ahv,_emscripten_bind_btBroadphaseProxy__isSoftBody_p1:ad4,_emscripten_bind_btConeShape__getMarginNonVirtual_p0:DD,_emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0:yS,_emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3:QJ,_emscripten_bind_btGhostObject__getWorldTransform_p0:ajU,_emscripten_bind_btHingeConstraint__getAppliedImpulse_p0:yG,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1:Xq,_emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4:Is,_emscripten_bind_btUniversalConstraint__setLowerLimit_p2:n3,_emscripten_bind_btTransform__deSerializeFloat_p1:Xv,_emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0:y2,_emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3:ym,_emscripten_bind_btHinge2Constraint__setAxis_p2:Js,_emscripten_bind_btConeTwistConstraint__getAFrame_p0:xu,_emscripten_bind_btCylinderShapeX__getRadius_p0:K0,_emscripten_bind_btStackAlloc__allocate_p1:ms,_emscripten_bind_btDynamicsWorld__addRigidBody_p1:lU,_emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0:By,_emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0:r5,_emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1:zS,_emscripten_bind_btConeShape__serializeSingleShape_p1:EE,_emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0:iz,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1:Kf,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1:OJ,_emscripten_bind_btBoxShape__isConvex2d_p0:afB,_emscripten_bind_btMatrix3x3__setEulerYPR_p3:eE,_emscripten_bind_btRigidBody__setCollisionShape_p1:o2,_emscripten_bind_btCollisionWorld__objectQuerySingle_p8:SU,_emscripten_bind_btConcaveShape__isInfinite_p0:akj,_emscripten_bind_btHinge2Constraint__setFrames_p2:Ja,_emscripten_bind_btHingeConstraint__setLimit_p3:yw,_emscripten_bind_btHingeConstraint__setLimit_p2:yv,_emscripten_bind_btMatrix3x3__tdoty_p1:d6,_emscripten_bind_btConcaveShape__getShapeType_p0:akp,_emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0:g5,_emscripten_bind_btHingeConstraint__setLimit_p5:yy,_emscripten_bind_btCylinderShapeZ__getMargin_p0:acJ,_emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1:QI,_emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0:ahf,_emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1:Sv,_emscripten_bind_btCapsuleShape__calculateLocalInertia_p2:fo,_emscripten_bind_btMultiSphereShape__serializeSingleShape_p1:PF,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1:XQ,_emscripten_bind_btPairCachingGhostObject__setRestitution_p1:Vb,_emscripten_bind_btDefaultMotionState__getWorldTransform_p1:BY,_emscripten_bind_btDbvtProxy__get_m_aabbMax_p0:Nf,_emscripten_bind_btVector3____destroy___p0:GR,_emscripten_bind_btConeShapeX__getRadius_p0:zF,_emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0:V$,_emscripten_bind_bt32BitAxisSweep3__printStats_p0:alQ,_emscripten_bind_btMatrix3x3__tdotz_p1:d3,_emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0:ajm,_emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0:xK,_emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0:BK,_emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0:EY,_emscripten_bind_btDispatcherInfo__set_m_stepCount_p1:eI,_emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1:abD,_emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0:JM,_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2:wh,_emscripten_bind_btConvexHullShape__getShapeType_p0:gF,_emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2:V9,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1:adS,_emscripten_bind_btHingeConstraint__setupSolverConstraint_p4:yA,_emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1:V0,_emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0:Y5,_emscripten_bind_CProfileNode__Return_p0:YL,_emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4:n4,_emscripten_bind_btGhostObject__setWorldTransform_p1:akz,_emscripten_bind_btStaticPlaneShape__isSoftBody_p0:Vp,_emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0:fP,_emscripten_bind_bt32BitAxisSweep3__createProxy_p8:alR,_emscripten_bind_btVector4__getSkewSymmetricMatrix_p3:Fg,_emscripten_bind_btCapsuleShapeZ__getMargin_p0:aji,_emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0:W5,_emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0:QU,_emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1:Pz,_emscripten_bind_btGhostObject__isStaticObject_p0:ajO,_emscripten_bind_btHinge2Constraint__isLimited_p1:ID,_emscripten_bind_btRaycastVehicle__addWheel_p7:J1,_emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0:eY,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1:ahc,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1:ac4,_emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1:w4,_emscripten_bind_btConcaveShape__setLocalScaling_p1:akH,_emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1:aeb,_emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1:v_,_emscripten_bind_btGhostObject__getCcdMotionThreshold_p0:ajX,_emscripten_bind_btDbvtProxy____destroy___p0:NQ,_emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0:f5,_emscripten_bind_btDynamicsWorld__debugDrawObject_p3:l_,_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0:ach,_emscripten_bind_btMatrix3x3__tdotx_p1:d5,_emscripten_bind_btTriangleInfo__btTriangleInfo_p0:Iq,_emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0:D9,_emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1:sx,_emscripten_bind_btConvexShape__getAabb_p3:Q7,_emscripten_bind_btConeShapeX__btConeShapeX_p2:Az,_emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1:El,_emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0:TD,_emscripten_bind_btCompoundShape__serialize_p2:kF,_emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1:nY,_emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1:DM,_emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0:amo,_emscripten_bind_btConcaveShape__setUserPointer_p1:akf,_emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0:s0,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3:Ct,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2:Cs,_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1:Cr,_emscripten_bind_btConeTwistConstraint__setFrames_p2:xj,_emscripten_bind_btManifoldPoint__getAppliedImpulse_p0:aaT,_emscripten_bind_btUniformScalingShape__isConvex2d_p0:KU,_emscripten_bind_btDefaultMotionState__set_m_userPointer_p1:BE,_emscripten_bind_btWheelInfo__set_m_worldTransform_p1:EL,_emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0:lx,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1:adR,_emscripten_bind_btSimpleBroadphase__rayTest_p4:kj,_emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0:DR,_emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0:PV,_emscripten_bind_btCollisionObject__setDeactivationTime_p1:hC,_emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1:I7,_emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0:vq,_emscripten_bind_btCollisionShape__setUserPointer_p1:Vs,_emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0:amy,_emscripten_bind_btVector4__setX_p1:FT,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3:ahq,_emscripten_bind_btAngularLimit__getHalfRange_p0:jh,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1:agv,_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0:uW,_emscripten_bind_btCompoundShape__isSoftBody_p0:kU,_emscripten_bind_btPolyhedralConvexShape__isConcave_p0:sh,_emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0:DL,_emscripten_bind_btRigidBody__btRigidBody_p3:pB,_emscripten_bind_btRigidBody__btRigidBody_p1:pA,_emscripten_bind_btConcaveShape__getBoundingSphere_p2:akN,_emscripten_bind_btGhostObject__btGhostObject_p0:aky,_emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0:Dg,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1:JR,_emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0:WM,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0:agS,_emscripten_bind_btRigidBody__isInWorld_p0:pp,_emscripten_bind_btDynamicsWorld__updateSingleAabb_p1:mU,_emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0:wA,_emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0:B5,_emscripten_bind_btDbvtBroadphase__get_m_paircache_p0:tW,_emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1:n7,_emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1:ae9,_emscripten_bind_btTriangleMesh__hasPremadeAabb_p0:Bg,_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1:ajc,_emscripten_bind_btCollisionObject__getRootCollisionShape_p0:hy,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1:Hr,_emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1:tQ,_emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0:xp,_emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0:ha,_emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1:ajl,_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2:kv,_emscripten_bind_btRigidBody__setFriction_p1:qj,_emscripten_bind_btCylinderShapeX__getAabb_p3:K7,_emscripten_bind_btVector4__closestAxis_p0:F4,_emscripten_bind_btConeShape__setLocalScaling_p1:Du,_emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1:s6,_emscripten_bind_btVector4__w_p0:Gh,_emscripten_bind_btJacobianEntry__set_m_aJ_p1:St,_emscripten_bind_btVector4__setZ_p1:FV,_emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3:Zx,_emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1:lL,_emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1:ns,_emscripten_bind_btVector3__furthestAxis_p0:HU,_emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:LI,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0:Bu,_emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1:Jj,_emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1:Nu,_emscripten_bind_btUniversalConstraint__getUserConstraintType_p0:n_,_emscripten_bind_btUniversalConstraint__getRigidBodyB_p0:mw,_emscripten_bind_btEmptyShape__calculateLocalInertia_p2:oK,_emscripten_bind_btPairCachingGhostObject__setUserPointer_p1:T9,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1:Hh,_emscripten_bind_btPersistentManifold__clearManifold_p0:j4,_emscripten_bind_btVector3__safeNormalize_p0:GU,_emscripten_bind_btConvexTriangleMeshShape__isCompound_p0:iq,_emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0:Vc,_emscripten_bind_btVector4__isZero_p0:FR,_emscripten_bind_btVector4__setY_p1:FU,_emscripten_bind_btVector4__lerp_p2:F1,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0:KB,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0:Yn,_emscripten_bind_btDispatcher__needsCollision_p2:RS,_emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0:hz,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1:aey,_emscripten_bind_btCylinderShapeX__getBoundingSphere_p2:Lg,_emscripten_bind_btRigidBody__getNumConstraintRefs_p0:qx,_emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0:acB,_emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0:y4,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1:YC,_emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0:$r,_emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1:Xn,_emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0:aba,_emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0:_d,_emscripten_bind_btTypedConstraint__getInfo1_p1:rT,_emscripten_bind_btQuaternion__getW_p0:ah0,_emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3:ajs,_emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2:adt,_emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2:NW,_emscripten_bind_btSphereShape__setMargin_p1:amf,_emscripten_bind_btQuadWord____destroy___p0:Mq,_emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1:_u,_emscripten_bind_btSphereShape__getLocalScalingNV_p0:alw,_emscripten_bind_btConeShape__getAabb_p3:Dv,_emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0:Zl,_emscripten_bind_btBoxShape__getVertex_p2:afZ,_emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1:_R,_emscripten_bind_btCylinderShapeX__isCompound_p0:J0,_emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1:C4,_emscripten_bind_btGhostObject__activate_p0:ajH,_emscripten_bind_btCollisionWorld__debugDrawWorld_p0:SO,_emscripten_bind_btDbvtProxy__set_m_clientObject_p1:M9,_emscripten_bind_btSphereShape__getShapeType_p0:amq,_emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1:Eo,_emscripten_bind_btCollisionObject__getHitFraction_p0:hA,_emscripten_bind_btCompoundShape__updateChildTransform_p3:k6,_emscripten_bind_btCompoundShape__updateChildTransform_p2:k5,_emscripten_bind_btQuadWord__setZ_p1:L5,_emscripten_bind_btTriangleMesh__btTriangleMesh_p2:A2,_emscripten_bind_btTriangleMesh__btTriangleMesh_p1:A1,_emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2:ajh,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1:H8,_emscripten_bind_btMatrix3x3__timesTranspose_p1:fl,_emscripten_bind_btMatrix3x3__absolute_p0:ed,_emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0:Oj,_emscripten_bind_btConeShapeX__localGetSupportingVertex_p1:z8,_emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1:K8,_emscripten_bind_btRaycastVehicle__setSteeringValue_p2:JO,_emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2:ae1,_emscripten_bind_btConeShape__getHeight_p0:CI,_emscripten_bind_btBU_Simplex1to4__getPlane_p3:FD,_emscripten_bind_btVector3__setY_p1:G_,_emscripten_bind_bt32BitAxisSweep3__rayTest_p3:alE,_emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:QS,_emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0:vD,_emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0:lO,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1:Yf,_emscripten_bind_btConvexShape__setUserPointer_p1:Qc,_emscripten_bind_btConeShapeZ____destroy___p0:z0,_emscripten_bind_btConeShapeX__serializeSingleShape_p1:AP,_emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0:ly,_emscripten_bind_btQuadWord__setX_p1:L3,_emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0:eM,_emscripten_bind_btPersistentManifold__btPersistentManifold_p0:kx,_emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1:wl,_emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0:gd,_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1:TQ,_emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1:C3,_emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0:za,_emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0:Vn,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2:Cq,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1:Cp,_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0:Co,_emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0:P3,_emscripten_bind_btAxisSweep3__resetPool_p1:u9,_emscripten_bind_btOptimizedBvh__isQuantized_p0:qY,_emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4:Jh,_emscripten_bind_btVector4__setMax_p1:FJ,_emscripten_bind_btConeShapeZ__getName_p0:zQ,_emscripten_bind_btActionInterface__debugDraw_p1:GL,_emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0:_G,_emscripten_bind_btTransform__mult_p2:X4,_emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1:_p,_emscripten_bind_btGhostObject__setContactProcessingThreshold_p1:aiU,_emscripten_bind_btVector3__btVector3_p0:GW,_emscripten_bind_btConeShapeX__getLocalScaling_p0:Aa,_emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2:lQ,_emscripten_bind_btBU_Simplex1to4__getNumEdges_p0:EZ,_emscripten_bind_btCollisionShape__getName_p0:Wj,_emscripten_bind_btSliderConstraint__getUserConstraintType_p0:$h,_emscripten_bind_btCylinderShapeZ__getAabb_p3:acG,_emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0:ald,_emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0:hF,_emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0:SF,_emscripten_bind_btCylinderShapeX__getMarginNV_p0:Kq,_emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1:ajx,_emscripten_bind_btEmptyShape__getName_p0:oP,_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2:J7,_emscripten_bind_btHingeConstraint__getDbgDrawSize_p0:x9,_emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1:Ts,_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1:J6,_emscripten_bind_btDbvtBroadphase__get_m_pid_p0:sz,_emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1:adm,_emscripten_bind_btRigidBody__getPushVelocity_p0:qh,_emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0:VR,_emscripten_bind_btConeShapeX__isConcave_p0:Ak,_emscripten_bind_btBoxShape__isCompound_p0:afp,_emscripten_bind_btDbvtBroadphase__set_m_pid_p1:si,_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2:jE,_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0:jD,_emscripten_bind_btHashPtr__equals_p1:TR,_emscripten_bind_btSimpleBroadphaseProxy____destroy___p0:uu,_emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1:k2,_emscripten_bind_btConvexInternalShape__isConvex2d_p0:TT,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0:$u,_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0:VH,_emscripten_bind_btConeShape__getContactBreakingThreshold_p1:Dx,_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1:B8,_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0:PQ,_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3:B9,_emscripten_bind_btDbvtProxy__isNonMoving_p1:MX,_emscripten_bind_btCollisionShape__getLocalScaling_p0:Wh,_emscripten_bind_btQuadWord__x_p0:L1,_emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0:ul,_emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0:WV,_emscripten_bind_btConstraintSolver__reset_p0:Ju,_emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3:amT,_emscripten_bind_btBvhTriangleMeshShape__refitTree_p2:Zv,_emscripten_bind_btCylinderShapeX__serialize_p2:KY,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1:$A,_emscripten_bind_bt32BitAxisSweep3__unQuantize_p3:alp,_emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0:sd,_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0:t3,_emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1:akV,_emscripten_bind_btEmptyShape____destroy___p0:oV,_emscripten_bind_btContactConstraint____destroy___p0:abc,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1:C6,_emscripten_bind_btTriangleMesh__getUse32bitIndices_p0:Aw,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0:Rv,_emscripten_bind_btDispatcherInfo__set_m_useEpa_p1:e2,_emscripten_bind_btJacobianEntry__btJacobianEntry_p6:R_,_emscripten_bind_btDispatcherInfo__get_m_useEpa_p0:eL,_emscripten_bind_btConvexTriangleMeshShape__getName_p0:iB,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2:adv,_emscripten_bind_btSliderConstraint__enableFeedback_p1:_a,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0:adU,_emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0:z$,_emscripten_bind_btGeneric6DofConstraint__getInfo1_p1:W3,_emscripten_bind_btJacobianEntry__btJacobianEntry_p4:RY,_emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0:R8,_emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0:eS,_emscripten_bind_btConeShapeZ__isCompound_p0:zj,_emscripten_bind_btConeShape__getName_p0:Dr,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3:C8,_emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0:Ux,_emscripten_bind_btMatrix3x3__deSerialize_p1:eF,_emscripten_bind_btJacobianEntry__btJacobianEntry_p9:S0,_emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0:vz,_emscripten_bind_btTransform__setFromOpenGLMatrix_p1:Xs,_emscripten_bind_btRigidBody__updateInertiaTensor_p0:qi,_emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0:nF,_emscripten_bind_btEmptyShape__getBoundingSphere_p2:oZ,_emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0:IS,_emscripten_bind_btTypedConstraint__set_m_objectType_p1:q2,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2:Iv,_emscripten_bind_btJacobianEntry__getNonDiagonal_p3:R5,_emscripten_bind_btJacobianEntry__getNonDiagonal_p2:R4,_emscripten_bind_btMultiSphereShape__getShapeType_p0:Ph,_emscripten_bind_btMultiSphereShape__getUserPointer_p0:Pb,_emscripten_bind_btRigidBody__setAnisotropicFriction_p1:qF,_emscripten_bind_btStackAlloc__btStackAlloc_p1:ng,_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0:I3,_emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1:ajr,_emscripten_bind_btConeTwistConstraint__getUid_p0:w2,_emscripten_bind_btCylinderShapeZ__isInfinite_p0:ace,_emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3:Zu,_emscripten_bind_btSliderConstraint__setEnabled_p1:_I,_emscripten_bind_btSphereShape__setLocalScaling_p1:al9,_emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1:aeu,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1:KF,_emscripten_bind_btPersistentManifold__get_m_objectType_p0:j_,_emscripten_bind_btCapsuleShapeX__getMargin_p0:ahJ,_emscripten_bind_btSliderConstraint__setUpperAngLimit_p1:_W,_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1:uV,_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1:uX,_emscripten_bind_btBU_Simplex1to4__reset_p0:E9,_emscripten_bind_btHingeConstraint__setUserConstraintType_p1:yc,_emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1:Ui,_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1:ZP,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2:lB,_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2:ZQ,_emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1:TM,_emscripten_bind_btConcaveShape__isCompound_p0:akg,_emscripten_bind_btTriangleIndexVertexArray__getScaling_p0:aeN,_emscripten_bind_btJacobianEntry__get_m_Adiag_p0:R3,_emscripten_bind_btGhostPairCallback____destroy___p0:am3,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1:Yk,_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1:aeJ,_emscripten_bind_btHingeConstraint__enableFeedback_p1:xZ,_emscripten_bind_btUniversalConstraint__serialize_p2:nI,_emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:acO,_emscripten_bind_btStorageResult__get_m_closestPointInB_p0:M4,_emscripten_bind_btCylinderShape__isPolyhedral_p0:L9,_emscripten_bind_btConeShape__getMarginNV_p0:CF,_emscripten_bind_btConeShape__getBoundingSphere_p2:EC,_emscripten_bind_btHinge2Constraint__calculateTransforms_p0:Jb,_emscripten_bind_btGeneric6DofConstraint__serialize_p2:W9,_emscripten_bind_btStackAlloc____destroy___p0:m1,_emscripten_bind_btUniversalConstraint__enableFeedback_p1:nn,_emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0:Ug,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2:kJ,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1:jS,_emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1:Z9,_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1:iD,_emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1:aet,_emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0:yf,_emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0:ac$,_emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0:lG,_emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0:T0,_emscripten_bind_btDbvtBroadphase____destroy___p0:tI,_emscripten_bind_btTriangleMesh__serialize_p2:Ba,_emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1:sA,_emscripten_bind_btHinge2Constraint__getConstraintType_p0:Iz,_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1:jm,_emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2:zY,_emscripten_bind_btMultiSphereShape__getMargin_p0:Pu,_emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1:I9,_emscripten_bind_btSliderConstraint__btSliderConstraint_p5:$O,_emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0:yR,_emscripten_bind_btDynamicsWorld__addCharacter_p1:mS,_emscripten_bind_btCollisionObject__activate_p0:g3,_emscripten_bind_btCollisionObject__activate_p1:g4,_emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0:$n,_emscripten_bind_btMatrix3x3__diagonalize_p3:eu,_emscripten_bind_btCapsuleShape__getShapeType_p0:fQ,_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7:PM,_emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0:Ej,_emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0:Q3,_emscripten_bind_btConeShapeX__isConvex2d_p0:An,_emscripten_bind_btRaycastVehicle__getRigidBody_p0:Jn,_emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0:Pf,_emscripten_bind_btDbvtProxy__get_m_aabbMin_p0:Nb,_emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0:PU,_emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0:zb,_emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0:O7,_emscripten_bind_btSliderConstraint__getRigidBodyA_p0:Zj,_emscripten_bind_btStaticPlaneShape__getAabb_p3:VU,_emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1:IP,_emscripten_bind_CProfileNode____destroy___p0:YK,_emscripten_bind_btConvexHullShape__getNumPoints_p0:gG,_emscripten_bind_btConeShape__isCompound_p0:CD,_emscripten_bind_btMatrix3x3__getColumn_p1:d7,_emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0:j8,_emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0:eQ,_emscripten_bind_btIDebugDraw__drawBox_p4:tr,_emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2:ahK,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1:$s,_emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1:Cm,_emscripten_bind_btIDebugDraw__drawBox_p3:tq,_emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2:abq,_emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0:yZ,_emscripten_bind_btConstraintSolver__solveGroup_p10:Jw,_emscripten_bind_btHinge2Constraint__setUserConstraintType_p1:IM,_emscripten_bind_btMatrix3x3____destroy___p0:fk,_emscripten_bind_btCollisionWorld__getDebugDrawer_p0:SE,_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3:N1,_emscripten_bind_btConeShapeZ__isConvex_p0:zr,_emscripten_bind_btPairCachingGhostObject__getFriction_p0:TZ,_emscripten_bind_btRigidBody__serializeSingleObject_p1:qE,_emscripten_bind_btOptimizedBvh__updateBvhNodes_p4:rw,_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0:aaw,_emscripten_bind_btSphereShape__isPolyhedral_p0:alu,_emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0:Og,_emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4:jI,_emscripten_bind_btRigidBody__saveKinematicState_p1:qG,_emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1:_m,_emscripten_bind_btCollisionObject____destroy___p0:h5,_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8:afc,_emscripten_bind_btWheelInfo__set_m_steering_p1:Ea,_emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0:IL,_emscripten_bind_btConvexInternalShape__setUserPointer_p1:Tj,_emscripten_bind_btGhostObject__getCompanionId_p0:ajY,_emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1:tS,_emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0:NV,_emscripten_bind_btTransform__getIdentity_p0:XF,_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1:sU,_emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1:Av,_emscripten_bind_btBvhTriangleMeshShape__isCompound_p0:Y6,_emscripten_bind_btCompoundShape__btCompoundShape_p1:kV,_emscripten_bind_btCompoundShape__btCompoundShape_p0:kI,_emscripten_bind_btPairCachingGhostObject__setHitFraction_p1:Uf,_emscripten_bind_btCollisionObject__getWorldTransform_p0:hp,_emscripten_bind_btContactConstraint__setParam_p3:aa5,_emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0:K$,_emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0:Cy,_emscripten_bind_btCylinderShape__calculateLocalInertia_p2:Ms,_emscripten_bind_btTransform__serialize_p1:XJ,_emscripten_bind_btStorageResult__get_m_distance_p0:M3,_emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0:Z5,_emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0:al3,_emscripten_bind_btIndexedMesh__get_m_numVertices_p0:gK,_emscripten_bind_btMultiSphereShape__setMargin_p1:Px,_emscripten_bind_btBoxShape__isSoftBody_p0:afw,_emscripten_bind_btDbvtProxy__isCompound_p1:MU,_emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0:gC,_emscripten_bind_btEmptyShape__isConvex_p0:oe,_emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1:AA,_emscripten_bind_btHingeConstraint__setAngularOnly_p1:yg,_emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9:Th,_emscripten_bind_btCapsuleShapeX__getAabbSlow_p3:ahT,_emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0:Ny,_emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3:Wb,_emscripten_bind_btCapsuleShapeX__isPolyhedral_p0:agX,_emscripten_bind_btVector4__z_p0:Gk,_emscripten_bind_btRigidBody__getUserPointer_p0:pn,_emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1:$b,_emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0:ajM,_emscripten_bind_btDbvtBroadphase__set_m_paircache_p1:sm,_emscripten_bind_btHinge2Constraint__setDamping_p2:HP,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1:Ye,_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0:aeT,_emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0:iK,_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2:aeU,_emscripten_bind_btConvexHullShape__getBoundingSphere_p2:hN,_emscripten_bind_btContactConstraint__getUserConstraintId_p0:$S,_emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3:Jk,_emscripten_bind_btConeTwistConstraint__get_m_objectType_p0:vQ,_emscripten_bind_btMultiSphereShape__getMarginNV_p0:Ot,_emscripten_bind_btRaycastVehicle__rayCast_p1:J4,_emscripten_bind_btConvexHullShape__isConcave_p0:fZ,_emscripten_bind_btCollisionObject__getAnisotropicFriction_p0:hc,_emscripten_bind_btSimpleBroadphase____destroy___p0:jL,_emscripten_bind_btCapsuleShape__btCapsuleShape_p2:fq,_emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1:UW,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1:ZO,_emscripten_bind_btConvexHullShape__getLocalScaling_p0:f9,_emscripten_bind_btVector4__x_p0:Gj,_emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0:Cx,_emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1:Cg,_emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1:BU,_emscripten_bind_btMultiSphereShape__isConvex2d_p0:Pd,_emscripten_bind_btCylinderShape__getAngularMotionDisc_p0:MO,_emscripten_bind_btRigidBody__isActive_p0:oD,_emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0:Br,_emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1:Qn,_emscripten_bind_btRaycastVehicle__getRightAxis_p0:JB,_emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2:Lp,_emscripten_bind_btDispatcherInfo__set_m_timeStep_p1:eV,_emscripten_bind_btGhostObject__getNumOverlappingObjects_p0:aiZ,_emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0:ahA,_emscripten_bind_btUniversalConstraint__set_m_objectType_p1:my,_emscripten_bind_btContactConstraint__getInfo2_p1:aa9,_emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0:adg,_emscripten_bind_btPairCachingGhostObject__getIslandTag_p0:T7,_emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6:VZ,_emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0:U2,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0:YA,_emscripten_bind_btRigidBody__setContactProcessingThreshold_p1:pb,_emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1:TJ,_emscripten_bind_btRigidBody__getAngularDamping_p0:ps,_emscripten_bind_btConcaveShape__getUserPointer_p0:akk,_emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3:iY,_memset:aDD,_emscripten_bind_btHinge2Constraint__getAngle_p1:IW,_emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0:Ld,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0:Yo,_emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0:DZ,_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1:sT,_emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6:fO,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2:Ir,_emscripten_bind_btTypedConstraint__isEnabled_p0:q7,_emscripten_bind_btVector4__cross_p1:F2,_emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0:p3,_emscripten_bind_btCapsuleShapeZ__isConvex_p0:aiF,_emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0:NU,_emscripten_bind_btPairCachingGhostObject__serialize_p2:UY,_emscripten_bind_btCylinderShapeX__isInfinite_p0:Ks,_emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0:o5,_emscripten_bind_btGhostObject__setFriction_p1:aiS,_emscripten_bind_btCylinderShape__serializeSingleShape_p1:MP,_emscripten_bind_btWheelInfo__set_m_skidInfo_p1:Ed,_emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1:Jt,_emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1:lP,_emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0:WU,_emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1:mB,_emscripten_bind_btBroadphaseInterface__destroyProxy_p2:jb,_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2:adQ,_emscripten_bind_btConeShapeX__getShapeType_p0:Ar,_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2:C7,_emscripten_bind_btTriangleMesh__getPremadeAabb_p2:A_,_emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1:WT,_emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0:acQ,_emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0:Nl,_emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2:EM,_emscripten_bind_btTypedConstraint__setParam_p2:rP,_emscripten_bind_btTypedConstraint__setParam_p3:rQ,_emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1:B2,_emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1:rn,_emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0:En,_emscripten_bind_btCompoundShape____destroy___p0:k4,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0:adc,_emscripten_bind_btHashString__get_m_string_p0:amz,_emscripten_bind_btQuadWord__btQuadWord_p0:MR,_emscripten_bind_btTransform__setRotation_p1:X$,_emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1:sp,_emscripten_bind_btRigidBody__get_m_frictionSolverType_p0:qv,_emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3:__,_emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0:wz,_emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1:t5,_emscripten_bind_btBroadphaseProxy____destroy___p0:afb,_emscripten_bind_btDbvtProxy__isInfinite_p1:MZ,_emscripten_bind_btCompoundShape__getUpdateRevision_p0:kf,_emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0:Tb,_emscripten_bind_btVector3__deSerialize_p1:GF,_emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1:TA,_emscripten_bind_btHashString__getHash_p0:amD,_emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2:V3,_emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0:U6,_emscripten_bind_btCapsuleShape__isConvex_p0:fb,_emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0:Mj,_emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0:wu,_emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2:kq,_emscripten_bind_btRigidBody__forceActivationState_p1:pj,_emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1:AB,_emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2:mg,_emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0:yO,_emscripten_bind_btConeShapeX__isPolyhedral_p0:zE,_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1:adV,_emscripten_bind_btVector3__absolute_p0:GM,_emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1:q6,_emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0:xn,_emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3:QD,_emscripten_bind_btHingeConstraint__setLimit_p4:yx,_emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1:Xb,_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0:QA,_emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3:Pm,_emscripten_bind_btVector4__deSerializeDouble_p1:Fi,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2:H7,_emscripten_bind_btDefaultMotionState__get_m_userPointer_p0:BC,_emscripten_bind_btSliderConstraint__getAncorInB_p0:_T,_emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2:fE,_emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0:aeg,_emscripten_bind_btTransform__getOrigin_p0:Xt,_emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0:DQ,_emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1:K4,_emscripten_bind_btTypedObject__get_m_objectType_p0:gI,_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0:vn,_emscripten_bind_btCompoundShape__getAabb_p3:kZ,_emscripten_bind_btBroadphasePair__get_m_pProxy1_p0:Bj,_emscripten_bind_btRigidBody__getDeactivationTime_p0:oz,_emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0:h2,_emscripten_bind_btVector3__length_p0:HT,_emscripten_bind_btConstraintSolver__prepareSolve_p2:Jx,_emscripten_bind_btVector4__deSerialize_p1:FP,_emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4:ZT,_emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0:tX,_emscripten_bind_btContactConstraint__getInfo1_p1:aa8,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0:agM,_emscripten_bind_btSliderConstraint__getConstraintType_p0:_8,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0:Yz,_emscripten_bind_btCompoundShape__getDynamicAabbTree_p0:kd,_emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1:zh,_emscripten_bind_btConvexInternalShape__getBoundingSphere_p2:UC,_emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1:MF,_emscripten_bind_btIDebugDraw__drawCylinder_p5:tl,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0:Ry,_emscripten_bind_btQuadWord__op_comp_p1:LW,_emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0:W6,_emscripten_bind_btCylinderShape____destroy___p0:ML,_emscripten_bind_btConvexHullShape__isConvex_p0:fR,_emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0:wj,_emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5:xL,_emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1:IC,_emscripten_bind_btTypedConstraint__getUid_p0:rg,_emscripten_bind_btTriangleIndexVertexArray__setScaling_p1:afl,_emscripten_bind_btRigidBody__setWorldTransform_p1:qH,_emscripten_bind_btGhostObject__serialize_p2:ajy,_emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1:age,_emscripten_bind_btQuadWord__setY_p1:L4,_emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0:aej,_emscripten_bind_btUniformScalingShape____destroy___p0:LC,_emscripten_bind_btPairCachingGhostObject__setFriction_p1:T1,_emscripten_bind_btConeTwistConstraint__getBFrame_p0:w0,_emscripten_bind_btRigidBody__getCenterOfMassPosition_p0:oy,_emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6:wk,_emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1:S$,_emscripten_bind_btConvexShape__getBoundingSphere_p2:Rg,_emscripten_bind_btConvexShape__getUserPointer_p0:Qh,_emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0:sF,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1:adf,_emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0:BG,_emscripten_bind_btIDebugDraw__drawTriangle_p8:tc,_emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0:kh,_emscripten_bind_btConeShapeZ__getMarginNV_p0:zl,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2:alM,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5:alP,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4:alO,_emscripten_bind_btCapsuleShapeX__isConcave_p0:ag7,_emscripten_bind_btEmptyShape__btEmptyShape_p0:o4,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0:Hp,_emscripten_bind_btPoint2PointConstraint__getPivotInA_p0:abP,_emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1:sr,_emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0:_N,_emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0:vA,_emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3:FC,_emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1:afY,_emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0:iP,_emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1:wW,_emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0:adi,_emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1:acI,_emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1:sX,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0:Rp,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1:YW,_emscripten_bind_btUniversalConstraint__getAngle1_p0:nt,_emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1:aeR,_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1:t9,_emscripten_bind_btQuaternion__setY_p1:aip,_emscripten_bind_btAngularLimit__isLimit_p0:jd,_emscripten_bind_btSphereShape__getAabbNonVirtual_p3:al4,_emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0:fh,_emscripten_bind_btStaticPlaneShape____destroy___p0:VY,_emscripten_bind_btBoxShape__getContactBreakingThreshold_p1:af9,_emscripten_bind_btConeShapeX__isNonMoving_p0:Am,_emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0:P9,_emscripten_bind_btIDebugDraw__drawSpherePatch_p10:tu,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2:NA,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3:NB,_emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1:ac0,_emscripten_bind_btUniformScalingShape__getMargin_p0:LD,_emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0:ON,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0:ahe,_emscripten_bind_btConcaveShape__getAngularMotionDisc_p0:akO,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0:VL,_emscripten_bind_btTransform__inverse_p0:XE,_emscripten_bind_btCylinderShapeX__isConvex2d_p0:Kw,_emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1:V1,_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1:aeH,_emscripten_bind_btBroadphaseInterface__rayTest_p4:i0,_emscripten_bind_btBroadphaseInterface__rayTest_p3:i$,_emscripten_bind_btQuaternion__setZ_p1:aiq,_emscripten_bind_btBU_Simplex1to4__setUserPointer_p1:Er,_emscripten_bind_btQuaternion__setW_p1:ain,_emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8:Dj,_emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0:oG,_emscripten_bind_btRigidBody__applyImpulse_p2:pD,_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1:ai4,_emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1:pt,_emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1:_J,_emscripten_bind_btTriangleCallback__processTriangle_p3:wE,_emscripten_bind_btDynamicsWorld__contactPairTest_p3:mf,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1:WE,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2:adD,_emscripten_bind_btStaticPlaneShape__setLocalScaling_p1:VT,_emscripten_bind_btDynamicsWorld__removeAction_p1:mL,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1:ahh,_emscripten_bind_btQuaternion__setX_p1:aio,_emscripten_bind_btManifoldResult__getPersistentManifold_p0:On,_emscripten_bind_btDispatcher__needsResponse_p2:RO,_emscripten_bind_btCapsuleShapeX__getName_p0:ahB,_emscripten_bind_btConvexShape__isInfinite_p0:Qg,_emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0:t1,_emscripten_bind_btSimpleBroadphase__printStats_p0:kp,_emscripten_bind_btCollisionWorld__serialize_p1:SD,_emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1:Qp,_emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0:Ap,_emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1:zW,_emscripten_bind_btPolyhedralConvexShape__isConvex_p0:r8,_emscripten_bind_btGeneric6DofConstraint__setParam_p2:Wu,_emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3:xI,_emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Ly,_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12:aeX,_emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1:wC,_emscripten_bind_btBU_Simplex1to4____destroy___p0:Fx,_emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1:Dd,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1:Rw,_emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1:S6,_emscripten_bind_btMultiSphereShape__isSoftBody_p0:Pe,_emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0:Ci,_emscripten_bind_btCompoundShape__getBoundingSphere_p2:k7,_emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0:ab4,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0:XT,_emscripten_bind_btConstraintSetting__get_m_damping_p0:mn,_emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1:WN,_emscripten_bind_btMatrix3x3__getRow_p1:ej,_emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0:ady,_emscripten_bind_btConeShape__isConvex_p0:CL,_emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0:aeV,_emscripten_bind_btVector4__distance_p1:F5,_emscripten_bind_btMatrix3x3__op_set_p1:eA,_emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0:pY,_emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3:lE,_emscripten_bind_btCollisionObject__getDeactivationTime_p0:g0,_emscripten_bind_btCollisionShape__setMargin_p1:Wo,_emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0:Bt,_emscripten_bind_btSphereShape__btSphereShape_p1:amg,_emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1:BL,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1:QC,_emscripten_bind_btUniformScalingShape__isNonMoving_p0:KT,_emscripten_bind_btPersistentManifold__refreshContactPoints_p2:kw,_emscripten_bind_btVector3__setZero_p0:HS,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1:ale,_emscripten_bind_btPolyhedralConvexShape__serialize_p2:sY,_emscripten_bind_btTriangleMesh__preallocateIndices_p1:A9,_emscripten_bind_btConvexTriangleMeshShape__getVertex_p2:id,_emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1:aea,_emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0:$a,_emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3:ahz,_emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1:ahD,_emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1:v$,_emscripten_bind_btCollisionObject__setCollisionShape_p1:h0,_emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1:CU,_emscripten_bind_btCylinderShape__getUserPointer_p0:Me,_emscripten_bind_btTransform__btTransform_p1:X8,_emscripten_bind_btTransform__btTransform_p0:X7,_emscripten_bind_btTransform__btTransform_p2:X9,_emscripten_bind_btVector3__normalize_p0:GN,_emscripten_bind_btConvexHullShape__getPoints_p0:f1,_emscripten_bind_btDiscreteDynamicsWorld__serialize_p1:vW,_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0:adh,_emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0:P5,_emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0:nD,_emscripten_bind_CProfileNode__Get_Total_Calls_p0:Yu,_emscripten_bind_btVector3__btVector3_p3:GX,_emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3:zN,_emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0:PA,_emscripten_bind_btCollisionWorld__contactPairTest_p3:SR,_emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1:e1,_emscripten_bind_btManifoldResult__refreshContactPoints_p0:OZ,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4:YY,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3:Ya,_emscripten_bind_btCapsuleShapeX__isCompound_p0:agU,_emscripten_bind_btOverlappingPairCache__findPair_p2:V7,_emscripten_bind_btBU_Simplex1to4__isInfinite_p0:Ex,_emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0:D8,_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0:VK,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1:Yi,_emscripten_bind_btGhostObject__getHitFraction_p0:aj5,_emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10:NY,_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1:agB,_emscripten_bind_btCompoundShape__setUserPointer_p1:kK,_emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0:Ns,_emscripten_bind_btBoxShape____destroy___p0:agg,_emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0:ga,_emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3:A4,_emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3:Lv,_emscripten_bind_btTypedConstraint__getAppliedImpulse_p0:rm,_emscripten_bind_CProfileNode__Call_p0:YN,_emscripten_bind_btQuaternion__length_p0:ai2,_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1:QG,_emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0:aiD,_emscripten_bind_btPairCachingGhostObject__rayTest_p3:US,_emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0:aep,_emscripten_bind_btConvexInternalShape__isInfinite_p0:To,_emscripten_bind_btEmptyShape__setMargin_p1:oU,_emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0:U4,_emscripten_bind_btHinge2Constraint__setLowerLimit_p1:Jg,_emscripten_bind_btContinuousDynamicsWorld__clearForces_p0:Ca,_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1:Nz,_emscripten_bind_btConvexShape__getAngularMotionDisc_p0:Rh,_emscripten_bind_btVector4__minAxis_p0:FQ,_emscripten_bind_btConeShapeZ__getUserPointer_p0:zt,_emscripten_bind_btCollisionShape__isPolyhedral_p0:Vu,_emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0:acb,_emscripten_bind_btCylinderShape__serialize_p2:Mu,_emscripten_bind_btDynamicsWorld__setDebugDrawer_p1:l8,_emscripten_bind_btDiscreteDynamicsWorld__addAction_p1:vT,_emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0:xg,_emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1:so,_emscripten_bind_btUniversalConstraint__getConstraintType_p0:nm,_emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2:PI,_emscripten_bind_btBoxShape__setLocalScaling_p1:af7,_emscripten_bind_btTransform__serializeFloat_p1:XL,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1:YG,_emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0:R$,_emscripten_bind_CProfileNode__Get_Parent_p0:Yt,_emscripten_bind_btConvexShape__isCompound_p0:Qe,_emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0:He,_emscripten_bind_btTriangleInfo____destroy___p0:H6,_emscripten_bind_btSliderConstraint__getUserConstraintId_p0:_1,_emscripten_bind_btContinuousDynamicsWorld__contactTest_p2:Cn,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0:adb,_emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0:y0,_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0:li,_emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1:I6,_emscripten_bind_btDynamicsWorld__getBroadphase_p0:mh,_emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2:ahu,_emscripten_bind_btDynamicsWorld__getDispatchInfo_p0:ml,_emscripten_bind_btConvexHullShape__getNumEdges_p0:ge,_emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0:OI,_emscripten_bind_btRigidBody__upcast_p1:p5,_emscripten_bind_btDispatcherInfo____destroy___p0:fn,_emscripten_bind_btSerializer__getSerializationFlags_p0:HY,_emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0:WC,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2:ahg,_emscripten_bind_btTransform__inverseTimes_p1:XZ,_emscripten_bind_btPoint2PointConstraint__updateRHS_p1:abN,_emscripten_bind_btVector3__w_p0:G5,_emscripten_bind_bt32BitAxisSweep3__quantize_p3:ali,_emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1:mi,_emscripten_bind_btCompoundShape__getUserPointer_p0:kQ,_emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1:E1,_emscripten_bind_btCapsuleShape__isSoftBody_p0:fg,_emscripten_bind_btWheelInfo__get_m_brake_p0:Ec,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2:Kg,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1:ac5,_emscripten_bind_btTypedConstraint__getInfo2_p1:rU,_emscripten_bind_btSimpleBroadphase__createProxy_p8:ko,_emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0:P_,_emscripten_bind_btCompoundShape__getMargin_p0:k0,_emscripten_bind_btConeShape__getLocalScaling_p0:Dn,_emscripten_bind_btPairCachingGhostObject__isActive_p0:Uv,_emscripten_bind_btConeShape__isConcave_p0:DH,_emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1:NK,_emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0:aeq,_emscripten_bind_btCollisionObject__setActivationState_p1:hx,_emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0:vI,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0:ahn,_emscripten_bind_btConvexHullShape__getPlane_p3:hR,_emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4:Xi,_emscripten_bind_btManifoldResult____destroy___p0:OV,_emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5:Jy,_emscripten_bind_btPoint2PointConstraint__buildJacobian_p0:abI,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0:ak5,_emscripten_bind_btContinuousDynamicsWorld__getGravity_p0:C$,_emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0:aar,_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1:sN,_emscripten_bind_btHinge2Constraint__set_m_objectType_p1:HF,_emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0:rj,_emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2:afG,_emscripten_bind_btHingeConstraint__setUseFrameOffset_p1:x0,_emscripten_bind_btGhostObject__forceActivationState_p1:ajG,_emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0:JE,_emscripten_bind_btTypedConstraint__getObjectType_p0:rd,_emscripten_bind_CProfileNode__Get_Sub_Node_p1:YZ,_emscripten_bind_btQuaternion__angle_p1:aid,_emscripten_bind_btGhostObject__setCollisionShape_p1:ajA,_emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0:As,_emscripten_bind_btBvhTriangleMeshShape__getName_p0:Zy,_emscripten_bind_btRigidBody__internalGetTurnVelocity_p0:qA,_emscripten_bind_btVector3__op_comp_p1:Gy,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0:Yr,_emscripten_bind_btVector3__getY_p0:Gr,_emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1:abh,_emscripten_bind_btConvexInternalShape__getName_p0:TH,_emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3:iy,_emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0:qg,_emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0:aao,_emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0:$d,_emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Fy,_emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0:aez,_emscripten_bind_btBvhTriangleMeshShape__isConcave_p0:Zc,_emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0:hd,_emscripten_bind_btUniversalConstraint__updateRHS_p1:nT,_emscripten_bind_btRigidBody__applyDamping_p1:rr,_emscripten_bind_btConvexInternalShape__isNonMoving_p0:Tq,_emscripten_bind_btStaticPlaneShape__isConcave_p0:Vq,_emscripten_bind_btVector4__deSerializeFloat_p1:FI,_emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6:Ll,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0:adp,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0:agK,_emscripten_bind_btHinge2Constraint__calculateTransforms_p2:Jc,_emscripten_bind_btCollisionWorld__btCollisionWorld_p3:S3,_emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4:wG,_emscripten_bind_btCapsuleShapeZ____destroy___p0:ajn,_emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0:ai6,_emscripten_bind_btDynamicsWorld____destroy___p0:mc,_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4:jQ,_emscripten_bind_btNodeOverlapCallback__processNode_p2:kD,_emscripten_bind_btConvexShape__getLocalScaling_p0:Q$,_emscripten_bind_btPairCachingGhostObject__getInternalType_p0:Uw,_emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0:abt,_emscripten_bind_btHinge2Constraint__getRigidBodyB_p0:HD,_emscripten_bind_btMatrix3x3__deSerializeFloat_p1:ei,_emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1:ac1,_emscripten_bind_btConeShapeX__setLocalScaling_p1:AC,_emscripten_bind_btUniversalConstraint__isEnabled_p0:nk,_emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1:ZB,_emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0:aaG,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0:Ym,_emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:s3,_emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1:_D,_emscripten_bind_btAxisSweep3__testAabbOverlap_p2:uR,_emscripten_bind_btCapsuleShapeX__isConvex2d_p0:ag4,_emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0:vl,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0:agJ,_emscripten_bind_bt32BitAxisSweep3____destroy___p0:alS,_emscripten_bind_btVector3__triple_p2:Gu,_emscripten_bind_ConcreteContactResultCallback__needsCollision_p1:NT,_emscripten_bind_btSimpleBroadphaseProxy__getUid_p0:t7,_emscripten_bind_btConeShapeX__serialize_p2:z9,_emscripten_bind_btCollisionDispatcher__releaseManifold_p1:uz,_emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0:zi,_emscripten_bind_btBU_Simplex1to4__isNonMoving_p0:Ey,_emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0:nC,_emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3:abE,_emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2:Fz,_emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1:ahH,_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0:jR,_emscripten_bind_btVector3__angle_p1:GO,_emscripten_bind_btCylinderShape__getLocalScalingNV_p0:Ma,_emscripten_bind_btConeShape__isInfinite_p0:CM,_emscripten_bind_btIndexedMesh__get_m_vertexStride_p0:gP,_emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0:im,_emscripten_bind_btHinge2Constraint__getAnchor2_p0:IJ,_emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1:aeD,_emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2:Qz,_emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1:aaF,_emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0:W0,_emscripten_bind_btCompoundShape__calculateLocalInertia_p2:kE,_emscripten_bind_btSliderConstraint__getDbgDrawSize_p0:_F,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2:wr,_emscripten_bind_btRigidBody__setMotionState_p1:o0,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1:wq,_emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0:ad9,_emscripten_bind_CProfileNode__Get_Sibling_p0:Yx,_emscripten_bind_btHingeConstraint__enableAngularMotor_p3:xD,_emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0:BF,_emscripten_bind_btStaticPlaneShape__getName_p0:VS,_emscripten_bind_btGhostObject__getUserPointer_p0:ajT,_emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1:abY,_emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1:tM,_emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0:lg,_emscripten_bind_btConeShape__getAngularMotionDisc_p0:ED,_emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7:Ww,_emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Re,_emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0:Fc,_emscripten_bind_btHingeConstraint__isEnabled_p0:xV,_emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0:WA,_emscripten_bind_btSerializer__serializeName_p1:H2,_emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0:eO,_emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0:kH,_emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1:sD,_emscripten_bind_btConcaveShape__processAllTriangles_p3:akE,_emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0:ad6,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1:abf,_emscripten_bind_btRigidBody__isKinematicObject_p0:py,_emscripten_bind_btCapsuleShapeX__getHalfHeight_p0:agZ,_emscripten_bind_btVector4__rotate_p2:Ga,_emscripten_bind_btMatrix3x3__serialize_p1:d0,_emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0:Y7,_emscripten_bind_btDbvtBroadphase__get_m_cid_p0:sB,_emscripten_bind_btContactConstraint__getUid_p0:$2,_emscripten_bind_btVector3__setInterpolate3_p3:Gt,_emscripten_bind_btConstraintSolver__allSolved_p3:Jv,_emscripten_bind_btMatrix3x3__btMatrix3x3_p9:eg,_emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0:aed,_emscripten_bind_btTriangleMesh____destroy___p0:Bc,_emscripten_bind_btMatrix3x3__btMatrix3x3_p1:ef,_emscripten_bind_btMatrix3x3__btMatrix3x3_p0:ee,_emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0:afF,_emscripten_bind_btBvhSubtreeInfo____destroy___p0:adx,_emscripten_bind_btVector3__op_add_p1:Gx,_emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1:ZS,_emscripten_bind_btHinge2Constraint__getAngle2_p0:IE,_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9:abo,_emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0:Zg,_emscripten_bind_btContactConstraint__setUserConstraintType_p1:$4,_emscripten_bind_btHingeConstraint__getAngularOnly_p0:yl,_emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0:ahR,_emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0:ET,_emscripten_bind_btGhostObject__getCollisionShape_p0:ajP,_emscripten_bind_btCollisionObject__setWorldTransform_p1:h6,_emscripten_bind_btConeShapeZ__setMargin_p1:zZ,_emscripten_bind_btCapsuleShape__serialize_p2:fr,_emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0:nh,_emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1:pr,_emscripten_bind_btTransform__getRotation_p0:XD,_emscripten_bind_btStridingMeshInterface__getScaling_p0:aaV,_emscripten_bind_btGhostObject__setHitFraction_p1:ajK,_emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:EB,_emscripten_bind_btPersistentManifold__addManifoldPoint_p1:kz,_emscripten_bind_btSphereShape__getMargin_p0:amd,_emscripten_bind_btEmptyShape__serializeSingleShape_p1:oY,_emscripten_bind_btQuaternion__slerp_p2:aib,_emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1:Jq,_emscripten_bind_btPersistentManifold__getObjectType_p0:j1,_emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:Lf,_emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1:gy,_emscripten_bind_bt32BitAxisSweep3__resetPool_p1:alI,_emscripten_bind_btHingeConstraint__testLimit_p2:xP,_emscripten_bind_btRigidBody__setLinearFactor_p1:qN,_emscripten_bind_btDynamicsWorld__setBroadphase_p1:ls,_emscripten_bind_btPairCachingGhostObject__getActivationState_p0:Ul,_emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2:Tz,_emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0:e0,_emscripten_bind_btEmptyShape__isPolyhedral_p0:od,_emscripten_bind_btPoint2PointConstraint__isEnabled_p0:abS,_emscripten_bind_btConeShape__getUserPointer_p0:CN,_emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1:Rc,_emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2:BW,_emscripten_bind_btMatrix3x3__scaled_p1:d8,_emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1:Db,_emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0:U8,_emscripten_bind_btCylinderShapeX____destroy___p0:Le,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1:Yb,_emscripten_bind_btContactConstraint__isEnabled_p0:$V,_emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0:Sd,_emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1:Lu,_emscripten_bind_btCylinderShapeX__isConvex_p0:Kr,_emscripten_bind_btIDebugDraw__drawArc_p9:tf,_emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1:wc,_emscripten_bind_btSliderConstraint__getAncorInA_p0:Z_,_emscripten_bind_btHingeConstraint__getUpperLimit_p0:xT,_emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0:lh,_emscripten_bind_btConvexShape__setLocalScaling_p1:Q6,_emscripten_bind_btConeShape__getConeUpIndex_p0:DG,_emscripten_bind_btHinge2Constraint____destroy___p0:I8,_emscripten_bind_btCapsuleShapeZ__setMargin_p1:ajk,_emscripten_bind_btAngularLimit__getLow_p0:jy,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0:aex,_emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1:DJ,_emscripten_bind_btMultiSphereShape__getSpherePosition_p1:O8,_emscripten_bind_btRigidBody__internalGetPushVelocity_p0:qp,_emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0:s2,_emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1:uN,_emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1:VV,_emscripten_bind_btConcaveShape__isConvex2d_p0:akm,_emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0:Fa,_emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1:WL,_emscripten_bind_btConvexShape__isConvex2d_p0:Qj,_emscripten_bind_btSerializer__setSerializationFlags_p1:HV,_emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1:aeO,_emscripten_bind_btCylinderShapeZ__isNonMoving_p0:acg,_emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0:ln,_emscripten_bind_btPersistentManifold__replaceContactPoint_p2:kC,_emscripten_bind_btManifoldPoint__get_m_index1_p0:aaj,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0:agP,_emscripten_bind_btBoxShape__getPlane_p3:agm,_emscripten_bind_btAxisSweep3__rayTest_p3:u5,_emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0:Ie,_emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0:afx,_emscripten_bind_btAxisSweep3__rayTest_p4:u6,_emscripten_bind_btAxisSweep3__rayTest_p5:u7,_emscripten_bind_btConvexInternalShape__isPolyhedral_p0:Tl,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0:JU,_emscripten_bind_btRigidBody__getInternalType_p0:ql,_emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2:ai3,_emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0:P7,_emscripten_bind_btTypedObject__set_m_objectType_p1:gJ,_emscripten_bind_btConvexInternalShape__getShapeType_p0:TX,_emscripten_bind_btCollisionWorld__getBroadphase_p0:Sl,_emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0:xs,_emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0:Hb,_emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1:ajW,_emscripten_bind_btManifoldPoint__set_m_lifeTime_p1:aaU,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0:Hz,_emscripten_bind_btCollisionShape__getAngularMotionDisc_p0:Wr,_emscripten_bind_btCompoundShape__recalculateLocalAabb_p0:k3,_emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0:ys,_emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1:v1,_emscripten_bind_btWheelInfo__get_m_skidInfo_p0:D6,_emscripten_bind_btConeTwistConstraint__getInfo2_p1:wM,_emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1:AF,_emscripten_bind_btManifoldPoint__btManifoldPoint_p0:abL,_emscripten_bind_btBoxShape__serialize_p2:aga,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0:Hn,_emscripten_bind_btContactConstraint__get_m_objectType_p0:$T,_emscripten_bind_btBroadphaseProxy__isConcave_p1:ad5,_emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1:Lo,_emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3:v2,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1:YO,_emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1:_Q,_emscripten_bind_btWheelInfo__get_m_rollInfluence_p0:DY,_emscripten_bind_btRaycastVehicle__getForwardVector_p0:J5,_emscripten_bind_btCollisionWorld__updateSingleAabb_p1:SV,_emscripten_bind_btAxisSweep3__setAabb_p4:u8,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1:aef,_emscripten_bind_btCapsuleShape__setUserPointer_p1:e4,_emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1:nL,_emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1:aei,_emscripten_bind_btConcaveShape__serializeSingleShape_p1:akP,_emscripten_bind_btConvexHullShape__getNumVertices_p0:f8,_emscripten_bind_btRigidBody__translate_p1:p_,_emscripten_bind_btRigidBody__getActivationState_p0:oE,_emscripten_bind_btPersistentManifold__set_m_index1a_p1:j$,_emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1:Dw,_emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0:vv,_emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1:fB,_emscripten_bind_btAxisSweep3__createProxy_p8:ve,_emscripten_bind_btUniversalConstraint__getAxis_p1:nG,_emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0:Z2,_emscripten_bind_btSliderConstraint__calculateTransforms_p2:_Y,_emscripten_bind_btDbvtProxy__getUid_p0:Ne,_emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0:S2,_emscripten_bind_btCompoundShape__getChildTransform_p1:kP,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0:agz,_emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0:Mg,_emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1:yX,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0:agR,_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0:P2,_emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0:vV,_emscripten_bind_btStridingMeshInterface__preallocateIndices_p1:abp,_emscripten_bind_btRigidBody__mergesSimulationIslands_p0:o9,_emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1:sG,_emscripten_bind_btTriangleMesh__getNumSubParts_p0:Bd,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0:Yl,_emscripten_bind_btTriangleMesh__getUse4componentVertices_p0:At,_emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0:aaI,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0:ak6,_emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1:Xm,_emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0:Sr,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0:HC,_emscripten_bind_btSphereShape__setUnscaledRadius_p1:alx,_emscripten_bind_btVector4__setInterpolate3_p3:FG,_emscripten_bind_btIndexedMesh__set_m_numTriangles_p1:gN,_emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0:Mw,_emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0:x4,_emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1:TE,_emscripten_bind_btSphereShape____destroy___p0:amG,_emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0:Da,_emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0:adJ,_emscripten_bind_btSliderConstraint__getLowerLinLimit_p0:$f,_emscripten_bind_btCapsuleShapeZ__serialize_p2:ai5,_emscripten_bind_btDynamicsWorld__addCollisionObject_p1:l2,_emscripten_bind_btDynamicsWorld__addCollisionObject_p2:l3,_emscripten_bind_btDynamicsWorld__addCollisionObject_p3:l4,_emscripten_bind_btStaticPlaneShape__getShapeType_p0:Vr,_emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1:uA,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2:agq,_emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0:Pk,_emscripten_bind_btManifoldPoint__getLifeTime_p0:aaz,_emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5:n9,_emscripten_bind_btTransform__op_set_p1:X2,_emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1:Ep,_emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0:iA,_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1:E0,_emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0:Zb,_emscripten_bind_btCollisionShape__isConvex2d_p0:Vz,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1:Id,_emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0:Fw,_emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0:mD,_emscripten_bind_btJacobianEntry__getRelativeVelocity_p4:R2,_emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0:akX,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1:Bw,_emscripten_bind_btUniformScalingShape__getName_p0:Lx,_emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2:Mm,_emscripten_bind_btContinuousDynamicsWorld__addAction_p1:B4,_emscripten_bind_btBoxShape__setUserPointer_p1:afm,_emscripten_bind_btCollisionObject__setCollisionFlags_p1:hE,_emscripten_bind_btConeShapeZ__isSoftBody_p0:zw,_emscripten_bind_btConstraintSetting____destroy___p0:m0,_emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0:am8,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1:XP,_emscripten_bind_btOptimizedBvh____destroy___p0:rH,_emscripten_bind_btRigidBody__getOrientation_p0:o_,_emscripten_bind_btUniversalConstraint__getAngle2_p0:nr,_emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6:OD,_emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1:$Z,_emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1:tZ,_emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0:abZ,_emscripten_bind_btAxisSweep3__getNumHandles_p0:uO,_emscripten_bind_btRigidBody__setCcdMotionThreshold_p1:pU,_emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1:nw,_emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0:lk,_emscripten_bind_btDbvtProxy__isConcave_p1:M_,_emscripten_bind_btVector4__triple_p2:FH,_emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2:acP,_emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0:V5,_emscripten_bind_btQuaternion__getAxis_p0:aif,_emscripten_bind_btVector3__getZ_p0:Gs,_emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1:EH,_emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1:aa2,_emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1:IT,_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1:CY,_emscripten_bind_btIndexedMesh__set_m_numVertices_p1:gR,_emscripten_bind_btHashInt__btHashInt_p1:S1,_emscripten_bind_btConstraintSetting__get_m_tau_p0:mr,_emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1:Zn,_emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0:akT,_emscripten_bind_btCapsuleShape__getHalfHeight_p0:e8,_emscripten_bind_btSliderConstraint__getLinDepth_p0:_L,_emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1:ae$,_emscripten_bind_btHashString__set_m_hash_p1:amA,_emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0:eJ,_emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1:le,_emscripten_bind_btConeTwistConstraint__getInfo1_p1:wL,_emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4:ae_,_emscripten_bind_btConeShapeZ__getMargin_p0:zX,_emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0:ir,_emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1:jH,_emscripten_bind_btSerializer__getUniquePointer_p1:H_,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1:Ys,_emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1:LB,_emscripten_bind_btConvexInternalShape__isConcave_p0:TW,_emscripten_bind_btVector4__getW_p0:FL,_emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0:ks,_emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1:gp,_emscripten_bind_btVector3__serialize_p1:Go,_emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3:amS,_emscripten_bind_btCollisionObject__isKinematicObject_p0:hJ,_emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1:Z7,_emscripten_bind_btSliderConstraint__getUid_p0:_o,_emscripten_bind_btDynamicsWorld__serialize_p1:lT,_emscripten_bind_btConeShapeZ__serialize_p2:zK,_emscripten_bind_btRaycastVehicle__getUpAxis_p0:JK,_emscripten_bind_btCylinderShapeZ__getRadius_p0:acz,_emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1:g2,_emscripten_bind_btConvexHullShape__getLocalScalingNV_p0:fV,_emscripten_bind_btCylinderShape__btCylinderShape_p1:NG,_emscripten_bind_btSimpleDynamicsWorld____destroy___p0:OF,_emscripten_bind_btIDebugDraw__drawPlane_p4:to,_emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1:UZ,_emscripten_bind_btRaycastVehicle__setUserConstraintType_p1:JG,_memcpy:aDC,_emscripten_bind_btCapsuleShape__serializeSingleShape_p1:fM,_emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0:UM,_emscripten_bind_btWheelInfo__get_m_steering_p0:DX,_emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1:Pq,_emscripten_bind_btRigidBody__hasContactResponse_p0:p4,_emscripten_bind_btGhostObject__isKinematicObject_p0:ake,_emscripten_bind_btBroadphasePair__btBroadphasePair_p2:BS,_emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0:Uq,_emscripten_bind_btPersistentManifold__getBody1_p0:jY,_emscripten_bind_btUniversalConstraint__getAnchor2_p0:nv,_emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6:ahU,_emscripten_bind_btSphereShape__isConcave_p0:amp,_emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0:sa,_emscripten_bind_btRigidBody__getBroadphaseHandle_p0:pm,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1:Yg,_emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1:y1,_emscripten_bind_btAxisSweep3____destroy___p0:vf,_emscripten_bind_btSliderConstraint__getDampingLimLin_p0:_M,_emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1:QO,_emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1:BJ,_emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1:IH,_emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0:WX,_emscripten_bind_btBvhTriangleMeshShape__serialize_p2:YX,_emscripten_bind_btConeShape__getImplicitShapeDimensions_p0:DF,_emscripten_bind_btDbvtProxy__set_m_uniqueId_p1:Nc,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0:ac9,_emscripten_bind_btCylinderShapeX__isConcave_p0:Kz,_emscripten_bind_btConeShapeX__getAabbNonVirtual_p3:Ac,_emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4:iN,_emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0:vU,_emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0:SB,_emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1:nJ,_emscripten_bind_btCapsuleShape__isPolyhedral_p0:e6,_emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0:aiV,_emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1:fC,_emscripten_bind_btConvexTriangleMeshShape__isConvex_p0:ij,_emscripten_bind_btConvexShape__getMarginNonVirtual_p0:Rd,_emscripten_bind_btRotationalLimitMotor__set_m_damping_p1:y5,_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0:BA,_emscripten_bind_btSimpleBroadphase__getAabb_p3:km,_emscripten_bind_btSliderConstraint__getRigidBodyB_p0:Zi,_emscripten_bind_btPersistentManifold__validContactDistance_p1:jZ,_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0:ado,_emscripten_bind_btManifoldPoint__set_m_localPointB_p1:abl,_emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0:re,_emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0:ab5,_emscripten_bind_btBroadphaseProxy__isConvex_p1:ad1,_emscripten_bind_btGhostObject__setActivationState_p1:aj1,_emscripten_bind_btCapsuleShapeZ__getMarginNV_p0:aiE,_emscripten_bind_btTranslationalLimitMotor__isLimited_p1:Te,_emscripten_bind_btDbvtBroadphase__rayTest_p3:ty,_emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1:wb,_emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0:Bm,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0:agx,_emscripten_bind_btDbvtProxy__set_stage_p1:M8,_emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1:_v,_emscripten_bind_btConvexShape__isPolyhedral_p0:Qd,_emscripten_bind_btStridingMeshInterface__serialize_p2:abr,_emscripten_bind_btBvhTriangleMeshShape__isConvex_p0:Za,_emscripten_bind_btCollisionObject__btCollisionObject_p0:h$,_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9:abA,_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8:abz,_emscripten_bind_btGeneric6DofConstraint__getObjectType_p0:WJ,_emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0:Wz,_emscripten_bind_btRaycastVehicle__resetSuspension_p0:JF,_emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0:ag_,_emscripten_bind_btConeShapeX__isInfinite_p0:Aj,_emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0:Of,_emscripten_bind_btConeShape__getLocalScalingNV_p0:CJ,_emscripten_bind_btRigidBody__applyGravity_p0:pM,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1:adE,_emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1:Pp,_emscripten_bind_btCylinderShapeZ__getUserPointer_p0:acf,_emscripten_bind_btRigidBody__getContactProcessingThreshold_p0:qz,_emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0:_5,_emscripten_bind_btConstraintSetting__set_m_damping_p1:mq,_emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0:abX,_emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0:nz,_emscripten_bind_btTypedConstraint__get_m_objectType_p0:q5,_emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3:lz,_emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0:ik,_emscripten_bind_btSliderConstraint__getInfo2_p1:ZZ,_emscripten_bind_btEmptyShape__getUserPointer_p0:og,_emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0:_H,_emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0:hD,_emscripten_bind_btTriangleMesh__addTriangle_p4:BN,_emscripten_bind_btConeShapeX__getMargin_p0:AG,_emscripten_bind_btSphereShape__getLocalScaling_p0:al2,_emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6:FE,_emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0:ig,_emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1:ro,_emscripten_bind_btConeShapeZ__getLocalScaling_p0:zL,_emscripten_bind_btCompoundShape__addChildShape_p2:k$,_emscripten_bind_btVector3__setZ_p1:G$,_emscripten_bind_btConeTwistConstraint__getParam_p1:wJ,_emscripten_bind_btConeTwistConstraint__getParam_p2:wK,_emscripten_bind_btAxisSweep3__quantize_p3:u1,_emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1:tY,_emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3:act,_emscripten_bind_btConvexShape__isConcave_p0:Rk,_emscripten_bind_btConvexHullShape__setMargin_p1:gv,_emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0:Qa,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0:Rr,_emscripten_bind_btCapsuleShape__getMarginNV_p0:fa,_emscripten_bind_btCollisionWorld__debugDrawObject_p3:SG,_emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0:n$,_emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0:P4,_emscripten_bind_btQuaternion____destroy___p0:ai0,_emscripten_bind_btManifoldPoint__set_m_localPointA_p1:abm,_emscripten_bind_btSliderConstraint__setDampingLimAng_p1:_S,_emscripten_bind_btTriangleMesh__addTriangle_p3:BM,_emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1:akY,_emscripten_bind_btConeShapeZ__setLocalScaling_p1:zT,_emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7:m8,_emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1:Bp,_emscripten_bind_btUniversalConstraint__getParam_p1:m9,_emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0:LH,_emscripten_bind_btConeShape__getMargin_p0:Dz,_emscripten_bind_btMatrix3x3__getEulerZYX_p3:eB,_emscripten_bind_btWheelInfo__get_m_clientInfo_p0:D4,_emscripten_bind_btMatrix3x3__getEulerZYX_p4:eD,_emscripten_bind_btTriangleIndexVertexArray____destroy___p0:afg,_emscripten_bind_btHashString__portableStringCompare_p2:amE,_emscripten_bind_btCollisionShape__isSoftBody_p0:VA,_emscripten_bind_btCapsuleShapeZ__isNonMoving_p0:aiI,_emscripten_bind_btSliderConstraint__isEnabled_p0:Zo,_emscripten_bind_btConcaveShape__setMargin_p1:akL,_emscripten_bind_btCollisionWorld__getDispatcher_p0:Sg,_emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0:akR,_emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1:uG,_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0:P0,_emscripten_bind_btUniformScalingShape__getLocalScaling_p0:Ls,_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9:afd,_emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0:Ve,_emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0:CV,_emscripten_bind_btContactConstraint__getContactManifold_p0:$R,_emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1:afh,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0:Ho,_emscripten_bind_btBU_Simplex1to4__isConvex_p0:Ew,_emscripten_bind_btMultiSphereShape__getName_p0:Po,_emscripten_bind_btStaticPlaneShape__processAllTriangles_p3:VQ,_emscripten_bind_btBU_Simplex1to4__getIndex_p1:EW,_emscripten_bind_CProfileNode__Get_Child_p0:Yy,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1:adH,_emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1:acT,_emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6:C0,_emscripten_bind_btConvexHullShape__serialize_p2:gr,_emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8:OU,_emscripten_bind_btManifoldPoint____destroy___p0:abi,_emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1:zR,_emscripten_bind_btQuantizedBvh____destroy___p0:amX,_emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0:ab2,_emscripten_bind_btRigidBody__getMotionState_p0:pR,_emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1:vE,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0:$D,_emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0:gV,_emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0:lp,_emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0:hH,_emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1:abC,_emscripten_bind_btAxisSweep3__getAabb_p3:va,_emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0:aec,_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2:CZ,_emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1:alY,_emscripten_bind_btCollisionDispatcher__setNearCallback_p1:uf,_emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1:Pl,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4:YU,_emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3:rY,_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4:Ox,_emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1:aac,_emscripten_bind_btGhostObject__getIslandTag_p0:aiY,_emscripten_bind_btCollisionWorld__removeCollisionObject_p1:SX,_emscripten_bind_btCompoundShape__removeChildShape_p1:lA,_emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1:Lq,_emscripten_bind_btContactConstraint__getUserConstraintType_p0:$7,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0:XO,_emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0:mo,_emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2:Wx,_emscripten_bind_btAngularLimit__getHigh_p0:jw,_emscripten_bind_btPairCachingGhostObject__getRestitution_p0:Un,_emscripten_bind_btMatrix3x3__determinant_p0:en,_emscripten_bind_btRigidBody__getTotalForce_p0:ox,_emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1:N7,_emscripten_bind_btCylinderShape__isConvex_p0:Mc,_emscripten_bind_CProfileNode__CProfileNode_p2:Y_,_emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1:_4,_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1:uc,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1:$v,_emscripten_bind_btManifoldResult__getBody0Internal_p0:Oo,_emscripten_bind_btConeShapeX__isCompound_p0:zB,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0:Yp,_emscripten_bind_btHingeConstraint__btHingeConstraint_p3:yC,_emscripten_bind_btBoxShape__calculateLocalInertia_p2:afR,_emscripten_bind_btSphereShape__getRadius_p0:alv,_emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0:QR,_emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1:nB,_emscripten_bind_btHingeConstraint__getHingeAngle_p0:xN,_emscripten_bind_btHingeConstraint__getHingeAngle_p2:xO,_emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1:sV,_emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0:xr,_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2:OA,_emscripten_bind_btOptimizedBvh__quantize_p3:rv,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1:XU,_emscripten_bind_btAngularLimit__test_p1:jx,_emscripten_bind_btContactConstraint__solveConstraintObsolete_p3:abe,_emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0:Oh,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0:$z,_emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1:CT,_emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3:n6,_emscripten_bind_btDynamicsWorld__setGravity_p1:lR,_emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1:HI,_emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0:Ok,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0:LP,_emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2:Pw,_emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1:gY,_emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1:Zr,_emscripten_bind_btCollisionShape__getUserPointer_p0:Vx,_emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1:zd,_emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1:adj,_emscripten_bind_btUniversalConstraint__setParam_p3:m7,_emscripten_bind_btUniversalConstraint__setParam_p2:m6,_emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1:WQ,_emscripten_bind_btManifoldResult__setPersistentManifold_p1:Oq,_emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1:Dc,_emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0:Vi,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0:XX,_emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0:l9,_emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0:aka,_emscripten_bind_btJacobianEntry__btJacobianEntry_p0:RX,_emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0:Ek,_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2:iw,_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1:iv,_emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1:z_,_emscripten_bind_btSliderConstraint__getAppliedImpulse_p0:_O,_emscripten_bind_btSimpleDynamicsWorld__serialize_p1:N$,_emscripten_bind_btConvexInternalShape__getAabbSlow_p3:UF,_emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1:adu,_emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1:ajg,_emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1:vu,_emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0:aeM,_emscripten_bind_btClock__op_set_p1:Xr,_emscripten_bind_btStaticPlaneShape__isNonMoving_p0:Vm,_emscripten_bind_btPolyhedralConvexShape__getMargin_p0:sZ,_emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0:Nd,_emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2:aff,_emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3:ae0,_emscripten_bind_btConvexHullShape__getVertex_p2:gb,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0:Rt,_emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1:B$,_emscripten_bind_btHashString____destroy___p0:am0,_emscripten_bind_btBU_Simplex1to4__isConvex2d_p0:Ev,_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1:ajB,_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2:ajC,_emscripten_bind_btRaycastVehicle__updateFriction_p1:Kb,_emscripten_bind_btUniformScalingShape__isPolyhedral_p0:KN,_emscripten_bind_btTypedObject__btTypedObject_p1:ie,_emscripten_bind_btDbvtBroadphase__aabbTest_p3:un,_emscripten_bind_btCylinderShape__localGetSupportingVertex_p1:Mt,_emscripten_bind_btCollisionShape__isConvex_p0:Vv,_emscripten_bind_btGeneric6DofConstraint__getInfo2_p1:W4,_emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1:ho,_emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2:ahQ,_emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0:Wa,_emscripten_bind_btJacobianEntry__btJacobianEntry_p5:RZ,_emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0:afL,_emscripten_bind_btCapsuleShapeZ__getAabb_p3:aje,_emscripten_bind_btCylinderShapeX__getUserPointer_p0:Kt,_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3:alN,_emscripten_bind_btContactConstraint__getAppliedImpulse_p0:$8,_emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1:K5,_memmove:aDG,_emscripten_bind_btCollisionDispatcher__clearManifold_p1:uD,_emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2:OY,_emscripten_bind_btIndexedMesh__get_m_vertexType_p0:gO,_emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0:vM,_emscripten_bind_btManifoldPoint__get_m_localPointA_p0:aaQ,_emscripten_bind_btMatrix3x3__op_get_p1:eG,_emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3:Cf,_emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2:O_,_emscripten_bind_btTypedConstraint__getUserConstraintId_p0:q4,_emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0:amY,_emscripten_bind_btBU_Simplex1to4__getMargin_p0:Fq,_emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0:ih,_emscripten_bind_CProfileNode__CleanupMemory_p0:YM,_emscripten_bind_btRigidBody__getLinearFactor_p0:pW,_emscripten_bind_btQuadWord__btQuadWord_p3:MS,_emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0:aa1,_emscripten_bind_btBU_Simplex1to4__isInside_p2:EP,_emscripten_bind_btConvexHullShape____destroy___p0:gA,_emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1:Tw,_emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0:aan,_emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0:DO,_emscripten_bind_btConcaveShape__serialize_p2:akC,_emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1:wt,_emscripten_bind_btTypedObject__getObjectType_p0:gH,_emscripten_bind_btRigidBody__get_m_contactSolverType_p0:p2,_emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1:ac2,_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1:$B,_emscripten_bind_btCollisionShape__serialize_p2:Wg,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0:JV,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1:ac8,_emscripten_bind_btConcaveShape__isPolyhedral_p0:akh,_emscripten_bind_btConeShape__calculateTemporalAabb_p6:EG,_emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1:hX,_emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0:U3,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0:Ke,_emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1:$g,_emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1:_6,_emscripten_bind_btBU_Simplex1to4__getVertex_p2:EU,_emscripten_bind_btCylinderShape__isInfinite_p0:Md,_emscripten_bind_bt32BitAxisSweep3__getAabb_p3:alJ,_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3:adN,_emscripten_bind_btCollisionObject__serialize_p2:hZ,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6:ahr,_emscripten_bind_btVector4__safeNormalize_p0:F6,_emscripten_bind_btCapsuleShapeX__getUpAxis_p0:agW,_emscripten_bind_btTriangleMesh__findOrAddVertex_p2:AW,_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2:adM,_emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3:PL,_emscripten_bind_btHinge2Constraint__get_m_objectType_p0:HM,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3:ags,_emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0:Q0,_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0:HA,_emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0:aaW,_emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1:U7,_emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1:aeB,_emscripten_bind_btBvhTriangleMeshShape____destroy___p0:ZJ,_emscripten_bind_btManifoldPoint__get_m_partId1_p0:aag,_emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0:gZ,_emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1:po,_emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1:acD,_emscripten_bind_btCylinderShape__isConvex2d_p0:Mh,_emscripten_bind_btDynamicsWorld__getSolverInfo_p0:lq,_emscripten_bind_btPairCachingGhostObject____destroy___p0:U_,_emscripten_bind_btGeneric6DofConstraint____destroy___p0:Xh,_emscripten_bind_btCylinderShape__isConcave_p0:M0,_emscripten_bind_btRigidBody__setRestitution_p1:px,_emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1:acE,_emscripten_bind_btConvexTriangleMeshShape__getPlane_p3:iW,_emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:z1,_emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0:Ky,_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1:No,_emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0:BH,_emscripten_bind_btPoint2PointConstraint__enableFeedback_p1:abU,_emscripten_bind_btCylinderShapeZ__isConvex2d_p0:aci,_emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:ahl,_emscripten_bind_btVector3__getX_p0:Gq,_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0:Nq,_emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0:Ua,_emscripten_bind_btStridingMeshInterface__setScaling_p1:abu,_emscripten_bind_btCapsuleShapeX__getShapeType_p0:ag8,_emscripten_bind_btUniformScalingShape__isSoftBody_p0:KV,_emscripten_bind_btDynamicsWorld__addVehicle_p1:mV,_emscripten_bind_btGhostObject__hasAnisotropicFriction_p0:akc,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0:agL,_emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2:vj,_emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0:Nm,_emscripten_bind_btCylinderShapeZ____destroy___p0:acN,_emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0:wp,_emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0:ag6,_emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0:ZM,_emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6:ajt,_emscripten_bind_btUniformScalingShape__getChildShape_p0:KP,_emscripten_bind_btTriangleMesh__setScaling_p1:A5,_emscripten_bind_btWheelInfo__set_m_rollInfluence_p1:Eg,_emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0:Om,_emscripten_bind_btVector4__setValue_p4:FN,_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2:acW,_emscripten_bind_btBU_Simplex1to4__serialize_p2:E5,_emscripten_bind_btCylinderShapeZ__getLocalScaling_p0:acx,_emscripten_bind_btPoint2PointConstraint__get_m_setting_p0:abR,_emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0:agd,_emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1:aee,_emscripten_bind_btCompoundShape__isPolyhedral_p0:kM,_emscripten_bind_btContactConstraint__getObjectType_p0:$$,_emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1:wn,_emscripten_bind_btSerializer__getCurrentBufferSize_p0:H0,_emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0:aes,_emscripten_bind_btTypedConstraint__setEnabled_p1:rf,_emscripten_bind_btCylinderShape__getLocalScaling_p0:Mv,_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1:aaK,_emscripten_bind_btDbvtProxy__isConvex2d_p1:M$,_emscripten_bind_btTriangleInfoMap____destroy___p0:akQ,_emscripten_bind_btRigidBody__getAngularVelocity_p0:pk,_emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0:_l,_emscripten_bind_btGhostObject__getActivationState_p0:ajQ,_emscripten_bind_btStaticPlaneShape__isInfinite_p0:Vk,_emscripten_bind_btCapsuleShapeX__isSoftBody_p0:ag5,_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1:aaJ,_emscripten_bind_btQuaternion__dot_p1:aiw,_emscripten_bind_btBoxShape__getMarginNonVirtual_p0:agf,_emscripten_bind_btDynamicsWorld__rayTestSingle_p6:mK,_emscripten_bind_btMatrix3x3__transpose_p0:fj,_emscripten_bind_btCollisionWorld__contactTest_p2:SL,_emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2:ajj,_emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1:sw,_emscripten_bind_btVector3__fuzzyZero_p0:GE,_emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2:TO,_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0:Rx,_emscripten_bind_btQuaternion__setMax_p1:ah1,_emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1:vs,_emscripten_bind_btContactConstraint__getConstraintType_p0:$X,_emscripten_bind_btCylinderShape__getRadius_p0:Mx,_emscripten_bind_btConeShapeX__setMargin_p1:AI,_emscripten_bind_btRigidBody__setFlags_p1:oC,_emscripten_bind_btDbvtProxy__set_m_aabbMax_p1:NP,_emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2:iL,_emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0:I_,_emscripten_bind_btClock__reset_p0:Xy,_emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2:LE,_emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1:Jl,_emscripten_bind_btOptimizedBvh__deSerializeFloat_p1:rI,_emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2:ja,_emscripten_bind_btBoxShape__getConvexPolyhedron_p0:afy,_emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1:ahC,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0:ade,_emscripten_bind_btDynamicsWorld__contactTest_p2:l6,_emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0:yW,_emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1:aen,_emscripten_bind_btBroadphasePair__get_m_pProxy0_p0:Bi,_emscripten_bind_btRaycastVehicle__applyEngineForce_p2:JC,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1:Hw,_emscripten_bind_btBroadphaseInterface__setAabb_p4:i2,_emscripten_bind_btConvexShape__isSoftBody_p0:Qk,_emscripten_bind_btUniformScalingShape__setLocalScaling_p1:Lz,_emscripten_bind_btConvexShape__isConvex_p0:Qf,_emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1:Qv,_emscripten_bind_btBroadphaseProxy__getUid_p0:aeF,_emscripten_bind_btMultiSphereShape__isPolyhedral_p0:O4,_emscripten_bind_btSphereShape__getName_p0:al6,_emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4:ZU,_emscripten_bind_btHinge2Constraint__getAnchor_p0:IB,_emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6:lN,_emscripten_bind_btGhostObject__activate_p1:ajI,_emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0:Lh,_emscripten_bind_btQuaternion__z_p0:aiv,_emscripten_bind_btBoxShape__getShapeType_p0:afz,_emscripten_bind_btVector4__getY_p0:FY,_emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3:aeY,_emscripten_bind_btVector4__getX_p0:Fj,_emscripten_bind_btBroadphasePair__btBroadphasePair_p1:BR,_emscripten_bind_btBroadphasePair__btBroadphasePair_p0:BQ,_emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0:agp,_emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1:wP,_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0:QQ,_emscripten_bind_btBroadphasePair__get_m_algorithm_p0:Bo,__GLOBAL__I_a:aDp,_emscripten_bind_btConvexHullShape__getEdge_p3:f7,_emscripten_bind_btCompoundShape__getChildShape_p1:kN,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2:agw,_emscripten_bind_btEmptyShape__getAngularMotionDisc_p0:oX,_emscripten_bind_btCylinderShapeZ__getName_p0:acC,_emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1:y6,_emscripten_bind_btVector3__isZero_p0:GB,_emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0:Ut,_emscripten_bind_btConeShape__btConeShape_p2:Dp,_emscripten_bind_btVector3__minAxis_p0:GH,_emscripten_bind_btIndexedMesh__get_m_vertexBase_p0:gL,_emscripten_bind_btSliderConstraint__setDampingLimLin_p1:$p,_emscripten_bind_btSphereShape__isCompound_p0:alr,_emscripten_bind_btContinuousDynamicsWorld__setGravity_p1:B3,_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0:adr,_emscripten_bind_btHinge2Constraint__getAxis_p1:I5,_emscripten_bind_btCollisionWorld__setBroadphase_p1:Sf,_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1:Hy,_emscripten_bind_btCapsuleShapeX__isNonMoving_p0:ag3,_emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0:ll,_emscripten_bind_btRaycastVehicle__updateAction_p2:Kd,_emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1:abj,_emscripten_bind_btWheelInfo__set_m_brake_p1:D$,_emscripten_bind_btSphereShape__localGetSupportingVertex_p1:al0,_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1:r$,_emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0:Y0,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0:XN,_emscripten_bind_btCylinderShapeZ__getShapeType_p0:acZ,_emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0:ajF,_emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0:Tm,_emscripten_bind_btConeShapeX____destroy___p0:AL,_emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0:nj,_emscripten_bind_btHashPtr____destroy___p0:UH,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1:Cj,_emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1:mj,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1:Hs,_emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0:Eb,_emscripten_bind_btQuaternion__op_sub_p1:ah$,_emscripten_bind_btHingeConstraint__get_m_objectType_p0:xC,_emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1:ww,_emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1:hr,_emscripten_bind_btIDebugDraw__getDebugMode_p0:tk,_emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2:xJ,_emscripten_bind_btVector4__absolute_p0:F_,_emscripten_bind_btStorageResult__setShapeIdentifiersA_p2:NM,_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0:aev,_emscripten_bind_btStorageResult__set_m_distance_p1:M2,_emscripten_bind_btPersistentManifold__set_m_companionIdA_p1:kc,_emscripten_bind_btTypedConstraint__getConstraintType_p0:q9,_emscripten_bind_btConvexShape__calculateLocalInertia_p2:QY,_emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1:A6,_emscripten_bind_btVector4__getZ_p0:Fl,_emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3:fu,_emscripten_bind_btVector4__serializeDouble_p1:FK,_emscripten_bind_btRigidBody__setActivationState_p1:p7,_emscripten_bind_btTransform__invXform_p1:X3,_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0:aeE,_emscripten_bind_btUniversalConstraint__setUserConstraintType_p1:ny,_emscripten_bind_btCollisionObject__getFriction_p0:g_,_emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1:nX,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0:XV,_emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0:N5,_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0:TP,_malloc:aDx,_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0:KL,_emscripten_bind_btDispatcher__getNewManifold_p2:RP,_emscripten_bind_btPolyhedralConvexShape__getName_p0:sR,_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3:vY,_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1:vX,_emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0:UA,_emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1:afP,_emscripten_bind_btRigidBody__setSleepingThresholds_p2:qu,_emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0:Bn,_emscripten_bind_btMultiSphereShape__getSphereRadius_p1:O5,_emscripten_bind_btConvexHullShape__serializeSingleShape_p1:hP,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3:Cl,_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2:Ck,_emscripten_bind_btWheelInfo__get_m_engineForce_p0:DW,_emscripten_bind_btUniformScalingShape__getShapeType_p0:LN,_emscripten_bind_btDefaultMotionState__setWorldTransform_p1:B_,_emscripten_bind_btQuaternion__getZ_p0:ah_,_emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3:N6,_emscripten_bind_btBoxShape__serializeSingleShape_p1:agk,_emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1:wy,_emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3:sO,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3:lw,_emscripten_bind_btConvexInternalShape__serialize_p2:TB,_emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0:il,_emscripten_bind_btSliderConstraint__getSolveLinLimit_p0:Z0,_emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1:Y3,_emscripten_bind_btVector3__rotate_p2:HR,_emscripten_bind_btPolyhedralConvexShape__getShapeType_p0:sg,_emscripten_bind_btContactConstraint__setParam_p2:aa4,_emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1:Pi,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2:lv,_emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1:lJ,_emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1:UO,_emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4:jJ,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1:Ib,_emscripten_bind_btHingeConstraint__set_m_objectType_p1:xx,_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1:lu,_emscripten_bind_btCylinderShapeX__getName_p0:K3,_emscripten_bind_btDispatcher__releaseManifold_p1:RT,_emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1:rq,_emscripten_bind_btDbvtBroadphase__optimize_p0:tH,_emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1:aeh,_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3:RD,_emscripten_bind_btRaycastVehicle__setPitchControl_p1:JL,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1:ak3,_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4:RE,_emscripten_bind_btCollisionObject__setUserPointer_p1:hb,_emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0:Ur,_emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0:S7,_emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2:rZ,_emscripten_bind_btConeTwistConstraint__setEnabled_p1:vL,_emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1:vg,_emscripten_bind_btCylinderShapeZ__setMargin_p1:acU,_emscripten_bind_btVector3__normalized_p0:GV,_emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3:SC,_emscripten_bind_btRigidBody__getLinearDamping_p0:qT,_emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1:qP,_emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0:aeC,_emscripten_bind_btBU_Simplex1to4__getShapeType_p0:Fd,_emscripten_bind_btCollisionObject__setHitFraction_p1:hh,_emscripten_bind_btSliderConstraint__serialize_p2:_Z,_emscripten_bind_btAngularLimit__getCorrection_p0:iu,_emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7:NS,_emscripten_bind_btBroadphaseProxy__isNonMoving_p1:ad2,_emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1:fy,_emscripten_bind_btCylinderShape__getBoundingSphere_p2:MN,_emscripten_bind_btDynamicsWorld__getWorldType_p0:mT,_emscripten_bind_btVector3__op_div_p1:GG,_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3:ws,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2:v5,_emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1:Nx,_emscripten_bind_btBvhTriangleMeshShape__getAabb_p3:ZA,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0:$y,_emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0:su,_emscripten_bind_btMultiSphereShape__setLocalScaling_p1:Pr,_emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1:QK,_emscripten_bind_btSliderConstraint__setUseFrameOffset_p1:Zq,_emscripten_bind_btHingeConstraint__setDbgDrawSize_p1:ya,_emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0:eT,_emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0:jB,_emscripten_bind_btIDebugDraw__drawTransform_p2:tm,_emscripten_bind_btConeTwistConstraint__getTwistAngle_p0:wT,_emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1:fG,_emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0:UT,_emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1:pL,_emscripten_bind_btStackAlloc__getAvailableMemory_p0:mu,_emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0:W_,_emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2:Qx,_emscripten_bind_btBvhTriangleMeshShape__getMargin_p0:ZD,_emscripten_bind_btHeightfieldTerrainShape__isConvex_p0:PS,_emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3:amU,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0:Mn,_emscripten_bind_btTriangleInfo__get_m_flags_p0:Hg,_emscripten_bind_btConcaveShape__getName_p0:akG,_emscripten_bind_btContactConstraint__getRigidBodyB_p0:$E,_emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1:n5,_emscripten_bind_btOptimizedBvh__refitPartial_p3:rA,_emscripten_bind_btConcaveShape__getAabb_p3:akI,_emscripten_bind_btCollisionShape__isInfinite_p0:Vw,_emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1:acv,_emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1:tO,_emscripten_bind_btConvexInternalShape__getMargin_p0:TN,_emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0:A$,_emscripten_bind_btCompoundShape__isConvex_p0:ke,_emscripten_bind_btSliderConstraint__setDampingDirLin_p1:_g,_emscripten_bind_btCapsuleShape__getMargin_p0:fD,_emscripten_bind_btAngularLimit____destroy___p0:jr,_emscripten_bind_btUniversalConstraint__getInfo2_p1:nd,_emscripten_bind_btMatrix3x3__getIdentity_p0:er,_free:aDB,_emscripten_bind_btConeShapeX__getName_p0:AS,_emscripten_bind_btTransform__setBasis_p1:XC,_emscripten_bind_btCapsuleShape__isConcave_p0:fi,_emscripten_bind_btHingeConstraint__enableMotor_p1:x5,_emscripten_bind_btCollisionObject__setIslandTag_p1:hg,_emscripten_bind_btSliderConstraint__setDampingDirAng_p1:Z$,_emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1:ahM,_emscripten_bind_btGhostObject__setCcdMotionThreshold_p1:aiX,_emscripten_bind_btConcaveShape__getLocalScaling_p0:akD,_emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1:yd,_emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1:Hf,_emscripten_bind_btQuaternion__setEulerZYX_p3:aii,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0:agF,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0:Hu,_emscripten_bind_btHashInt__getUid1_p0:Sb,_emscripten_bind_btCapsuleShapeZ__isConvex2d_p0:aiJ,_emscripten_bind_btVector3__maxAxis_p0:G0,_emscripten_bind_btSliderConstraint__needsFeedback_p0:Z4,_emscripten_bind_btIDebugDraw__drawSpherePatch_p9:tt,_emscripten_bind_btVector3__op_mul_p1:Gz,_emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1:gl,_emscripten_bind_btRigidBody__setMassProps_p2:o$,_emscripten_bind_btHeightfieldTerrainShape__getMargin_p0:Qq,_emscripten_bind_btHingeConstraint__setUserConstraintId_p1:xW,_emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1:hY,_emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1:VF,_emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0:Y4,_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0:t8,_emscripten_bind_btConvexHullShape__getName_p0:gf,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2:Kl,_emscripten_bind_btPoint2PointConstraint__getPivotInB_p0:abQ,_emscripten_bind_btBU_Simplex1to4__setMargin_p1:Ft,_emscripten_bind_btRaycastVehicle__getWheelInfo_p1:JD,_emscripten_bind_btRigidBody__setAngularVelocity_p1:pG,_emscripten_bind_btRigidBody__serialize_p2:qB,_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1:aek,_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0:YF,_emscripten_bind_btPolyhedralConvexShape__setMargin_p1:s$,_emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6:s9,_emscripten_bind_btCapsuleShapeX__getRadius_p0:agY,_emscripten_bind_btQuaternion__op_div_p1:aim,_emscripten_bind_btCylinderShapeZ__setLocalScaling_p1:acF,_emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0:kW,_emscripten_bind_btHingeConstraint__setMotorTarget_p2:yB,_emscripten_bind_btConeShapeX__getAabbSlow_p3:AQ,_emscripten_bind_btMultiSphereShape____destroy___p0:PB,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1:Mp,_emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3:rC,_emscripten_bind_btConvexShape__getAabbSlow_p3:Rj,_emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3:acA,_emscripten_bind_btCylinderShapeZ__isCompound_p0:ab7,_emscripten_bind_btPoint2PointConstraint__getObjectType_p0:abO,_emscripten_bind_btCylinderShapeX__isSoftBody_p0:Kx,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0:aaE,_emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0:$l,_emscripten_bind_btUniformScalingShape__getAabb_p3:LA,_emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0:OR,_emscripten_bind_btHeightfieldTerrainShape__isCompound_p0:PO,_emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1:iH,_emscripten_bind_btCapsuleShapeZ__isConcave_p0:aiM,_emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3:lI,_emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0:vC,_emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:agh,_emscripten_bind_btConeShapeX__getMarginNonVirtual_p0:AK,_emscripten_bind_btConeShapeZ__btConeShapeZ_p2:zP,_emscripten_bind_btVector4__maxAxis4_p0:FW,_emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1:Tr,_emscripten_bind_btVector4__absolute4_p0:F3,_emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1:hK,_emscripten_bind_btSerializer__findNameForPointer_p1:HW,_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0:uq,_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7:ur,_emscripten_bind_btPairCachingGhostObject__activate_p1:Ud,_emscripten_bind_btPairCachingGhostObject__activate_p0:Uc,_emscripten_bind_btMatrix3x3__op_sub_p1:d2,_emscripten_bind_btGhostObject__getRestitution_p0:ajS,_emscripten_bind_btHinge2Constraint__getAngle1_p0:IG,_emscripten_bind_btSphereShape__serialize_p2:al1,_emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0:uh,_emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2:acu,_emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2:We,_emscripten_bind_btRigidBody__setBroadphaseHandle_p1:qe,_emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1:aai,_emscripten_bind_btCapsuleShapeX__getUserPointer_p0:ag2,_emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0:akr,_emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1:tP,_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0:Xc,_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2:Xd,_emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1:SZ,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1:aay,_emscripten_bind_btPersistentManifold__btPersistentManifold_p5:ky,_emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1:Nj,_emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0:aas,_emscripten_bind_btCylinderShapeZ__getMarginNV_p0:acc,_emscripten_bind_btTriangleMesh__addIndexedMesh_p1:AX,_emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1:WZ,_emscripten_bind_btTriangleMesh__addIndexedMesh_p2:AZ,_emscripten_bind_btSliderConstraint__setFrames_p2:$K,_emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0:LL,_emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0:eZ,_emscripten_bind_btSimpleDynamicsWorld__removeAction_p1:OE,_emscripten_bind_btContactConstraint__setContactManifold_p1:abb,_emscripten_bind_btSphereShape__setUserPointer_p1:als,_emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1:nH,_emscripten_bind_btCapsuleShapeZ__getUpAxis_p0:aiz,_emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0:N4,_emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1:E4,_emscripten_bind_btPolyhedralConvexShape__getPlane_p3:s8,_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0:aaH,_emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0:M5,_emscripten_bind_btSimpleDynamicsWorld__clearForces_p0:N2,_emscripten_bind_btPoint2PointConstraint__setPivotB_p1:acp,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0:LR,_emscripten_bind_btSerializer__finalizeChunk_p4:H1,_emscripten_bind_btGeneric6DofConstraint__setEnabled_p1:VG,_emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1:$i,_emscripten_bind_btCylinderShapeX__getLocalScaling_p0:KZ,_emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1:ae2,_emscripten_bind_btStackAlloc__endBlock_p1:mv,_emscripten_bind_btCylinderShape__setLocalScaling_p1:MD,_emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1:Us,_emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1:ak_,_emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1:k_,_emscripten_bind_btMatrix3x3__adjoint_p0:et,_emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0:ab3,_emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0:Y1,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0:Y$,_emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1:Ng,_emscripten_bind_btVector4__normalized_p0:F8,_emscripten_bind_btSliderConstraint__getObjectType_p0:Z6,_emscripten_bind_btRigidBody__setGravity_p1:qI,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0:agT,_emscripten_bind_btDynamicsWorld__removeConstraint_p1:l$,_emscripten_bind_btPersistentManifold__clearUserCache_p1:jT,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5:YV,_emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6:ZK,_emscripten_bind_btDbvtProxy__btDbvtProxy_p5:NO,_emscripten_bind_btCollisionShape__setLocalScaling_p1:Wk,_emscripten_bind_btUniversalConstraint__getObjectType_p0:nZ,_emscripten_bind_btSphereShape__getAabbSlow_p3:amL,_emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0:zx,_emscripten_bind_btConvexShape__getName_p0:Q4,_emscripten_bind_btRotationalLimitMotor__testLimitValue_p1:yY,_emscripten_bind_btCollisionWorld__getDispatchInfo_p0:Sh,_emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0:jA,_emscripten_bind_btBoxShape__getAngularMotionDisc_p0:agj,_emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0:TV,_emscripten_bind_btDispatcher__getInternalManifoldPool_p0:RR,_emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0:$6,_emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0:Uk,_emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0:gE,_emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0:Lm,_emscripten_bind_btHinge2Constraint__getUserConstraintId_p0:HL,_emscripten_bind_btQuaternion__setRotation_p2:aih,_emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2:o8,_emscripten_bind_btCylinderShapeX__isPolyhedral_p0:Ko,_emscripten_bind_btEmptyShape__getShapeType_p0:ol,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0:Yj,_emscripten_bind_btManifoldResult__getBody1Internal_p0:Op,_emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1:aa_,_emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0:sL,_emscripten_bind_btQuadWord__op_set_p1:Mr,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0:agQ,_emscripten_bind_btPersistentManifold__getNumContacts_p0:jW,_emscripten_bind_btUniversalConstraint__get_m_objectType_p0:mF,_emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0:y$,_emscripten_bind_btGeneric6DofConstraint__setAxis_p2:Xw,_emscripten_bind_btWheelInfo__getSuspensionRestLength_p0:D7,_emscripten_bind_btSphereShape__getAngularMotionDisc_p0:amJ,_emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0:yj,_emscripten_bind_btHashPtr__getPointer_p0:TS,_emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0:HJ,_emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1:T2,_emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3:QW,_emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2:ZG,_emscripten_bind_btConeShape____destroy___p0:EA,_emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1:al8,_emscripten_bind_btConeTwistConstraint__setMotorTarget_p1:xf,_emscripten_bind_btConvexShape__serialize_p2:Q_,_emscripten_bind_btContactConstraint__setDbgDrawSize_p1:$3,_emscripten_bind_btQuaternion__setEuler_p3:ah8,_emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0:akW,_emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1:afe,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3:agG,_emscripten_bind_btPairCachingGhostObject__isStaticObject_p0:Uj,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1:Ia,_emscripten_bind_btBoxShape__getEdge_p3:af4,_emscripten_bind_btVector4__serializeFloat_p1:FS,_emscripten_bind_btMultiSphereShape__setUserPointer_p1:Os,_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3:ahb,_emscripten_bind_CProfileNode__Get_Name_p0:Yv,_emscripten_bind_bt32BitAxisSweep3__aabbTest_p3:alV,_emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2:V_,_emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0:tV,_emscripten_bind_btSliderConstraint____destroy___p0:$J,_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2:UQ,_emscripten_bind_btUniversalConstraint__getAnchor_p0:no,_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1:UP,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1:JP,_emscripten_bind_btRotationalLimitMotor__isLimited_p0:ze,_emscripten_bind_btBvhTriangleMeshShape__setMargin_p1:ZF,_emscripten_bind_btHingeConstraint__updateRHS_p1:xU,_emscripten_bind_btIndexedMesh__set_m_indexType_p1:gM,_emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1:OS,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0:YD,_emscripten_bind_btManifoldPoint__get_m_distance1_p0:aaS,_emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0:_t,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1:XR,_emscripten_bind_btClock__getTimeMicroseconds_p0:XB,_emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:ajo,_llvm_uadd_with_overflow_i64:aDF,_emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0:_B,_emscripten_bind_btCylinderShapeX__getMargin_p0:La,_emscripten_bind_btContactConstraint__enableFeedback_p1:$Q,_emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0:Kp,_emscripten_bind_btPoint2PointConstraint__setPivotA_p1:aco,_emscripten_bind_btConeTwistConstraint__setParam_p3:wI,_emscripten_bind_btConeShapeX__calculateTemporalAabb_p6:AR,_emscripten_bind_btHinge2Constraint__updateRHS_p1:It,_emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0:$P,_emscripten_bind_btMultiSphereShape__isConvex_p0:O9,_emscripten_bind_btRigidBody__setDamping_p2:qk,_emscripten_bind_btQuaternion__x_p0:aiu,_emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6:z6,_emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1:Cz,_emscripten_bind_btPersistentManifold__getContactPoint_p1:j2,_emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0:ahN,_emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1:acL,_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1:Zs,_emscripten_bind_btMotionState__getWorldTransform_p1:adA,_emscripten_bind_btRigidBody__activate_p0:pP,_emscripten_bind_btRigidBody__activate_p1:pQ,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0:MQ,_emscripten_bind_btCompoundShape__setLocalScaling_p1:kY,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0:Hl,_emscripten_bind_btCollisionObject__setCompanionId_p1:g9,_emscripten_bind_btConeTwistConstraint__set_m_objectType_p1:vK,_emscripten_bind_btDynamicsWorld__getNumConstraints_p0:l1,_emscripten_bind_btGhostObject__rayTest_p3:aks,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0:YQ,_emscripten_bind_btBoxShape__isConcave_p0:afA,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1:v4,_emscripten_bind_btPolyhedralConvexShape__isCompound_p0:se,_emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4:O1,_emscripten_bind_btSliderConstraint__setUserConstraintType_p1:$k,_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1:xo,_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3:v6,_emscripten_bind_btCollisionConfiguration__getStackAllocator_p0:kt,_emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6:iX,_emscripten_bind_btStaticPlaneShape__serialize_p2:VO,_emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1:aeP,_emscripten_bind_btContinuousDynamicsWorld__rayTest_p3:Ch,_emscripten_bind_btSliderConstraint__getParam_p1:ZW,_emscripten_bind_btSliderConstraint__getParam_p2:ZX,_emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0:sP,_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11:aeW,_emscripten_bind_btGeneric6DofConstraint__getAngle_p1:WY,_emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1:WK,_emscripten_bind_btCollisionObject__getActivationState_p0:hv,_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1:KC,_emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2:Ln,_emscripten_bind_btStaticPlaneShape__isCompound_p0:Vg,_emscripten_bind_btBoxShape__isInfinite_p0:afs,_emscripten_bind_btContinuousDynamicsWorld__removeAction_p1:C1,_emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0:Fr,_emscripten_bind_btSliderConstraint__getUpperLinLimit_p0:_q,_emscripten_bind_btConeShapeX__setUserPointer_p1:zC,_emscripten_bind_btJacobianEntry__get_m_aJ_p0:R7,_emscripten_bind_btDynamicsWorld__addRigidBody_p3:lV,_emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0:PZ,_emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1:UK,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3:OL,_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2:OK,_emscripten_bind_btBoxShape__calculateTemporalAabb_p6:ago,_emscripten_bind_btCylinderShapeZ__isConcave_p0:acY,_emscripten_bind_btSimpleBroadphase__setAabb_p4:kg,_emscripten_bind_btManifoldPoint__get_m_localPointB_p0:aaP,_emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2:alW,_emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1:eP,_emscripten_bind_btGhostObject__setDeactivationTime_p1:aj7,_emscripten_bind_btQuaternion__getIdentity_p0:aig,_emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0:ad7,_emscripten_bind_btCylinderShapeX__setMargin_p1:Lk,_emscripten_bind_btCollisionShape__getBoundingSphere_p2:Wq,_emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1:Y2,_emscripten_bind_btDbvtBroadphase__get_m_prediction_p0:sH,_emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0:ads,_emscripten_bind_btDispatcher__findAlgorithm_p3:RN,_emscripten_bind_btDispatcher__findAlgorithm_p2:RM,_emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1:Vd,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1:Hk,_emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3:Ty,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1:Rm,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0:JX,_emscripten_bind_btRigidBody__getCompanionId_p0:p6,_emscripten_bind_btCollisionWorld__rayTest_p3:SH,_emscripten_bind_btConvexTriangleMeshShape__setMargin_p1:iM,_emscripten_bind_btCollisionWorld__addCollisionObject_p1:SI,_emscripten_bind_btCollisionWorld__addCollisionObject_p3:SK,_emscripten_bind_btCollisionWorld__addCollisionObject_p2:SJ,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0:ac3,_emscripten_bind_btCapsuleShapeZ__getRadius_p0:aiB,_emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0:pw,_emscripten_bind_btRigidBody__hasAnisotropicFriction_p0:qd,_emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2:V8,_emscripten_bind_btConcaveShape__calculateLocalInertia_p2:akB,_emscripten_bind_btBoxShape__getPlaneEquation_p2:af_,_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7:adO,_emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0:aiL,_emscripten_bind_btBU_Simplex1to4__getMarginNV_p0:Eu,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0:Yh,_emscripten_bind_btStaticPlaneShape__getMargin_p0:VW,_emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1:Ta,_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1:PR,_emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1:QV,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1:ahj,_emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0:lM,_emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0:WP,_emscripten_bind_btGhostObject__getFriction_p0:aiO,_emscripten_bind_btConvexInternalShape__setMargin_p1:Uy,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1:adG,_emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6:acV,_emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0:VD,_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0:agD,_emscripten_bind_btConvexTriangleMeshShape__getMargin_p0:iJ,_emscripten_bind_btSimpleBroadphase__aabbTest_p3:kn,_emscripten_bind_btHinge2Constraint__setUpperLimit_p1:Ik,_emscripten_bind_btConvexHullShape__isConvex2d_p0:fX,_emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0:lt,_emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0:Iw,_emscripten_bind_btVector4__angle_p1:F0,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4:Fp,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3:Fo,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2:Fn,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1:Fm,_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0:E6,_emscripten_bind_btVector3__setMin_p1:Gm,_emscripten_bind_btSliderConstraint__setLowerLinLimit_p1:_k,_emscripten_bind_btCylinderShape__getShapeType_p0:M1,_emscripten_bind_btMotionState__setWorldTransform_p1:adz,_emscripten_bind_btHingeConstraint__getUid_p0:x8,_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4:UU,_emscripten_bind_btUniformScalingShape__isConvex_p0:KQ,_emscripten_bind_btQuantizedBvh__setQuantizationValues_p2:amt,_emscripten_bind_btQuantizedBvh__setQuantizationValues_p3:amu,_emscripten_bind_btQuantizedBvh__serialize_p3:amP,_emscripten_bind_btQuantizedBvh__serialize_p2:amO,_emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:gB,_emscripten_bind_btHeightfieldTerrainShape__getName_p0:Qm,_emscripten_bind_btQuadWord__btQuadWord_p4:MT,_emscripten_bind_btQuantizedBvh__isQuantized_p0:amv,_emscripten_bind_btQuaternion__nearest_p1:ahV,_emscripten_bind_btConeShapeZ__getShapeType_p0:zA,_emscripten_bind_btHinge2Constraint__setLimit_p3:Jf,_emscripten_bind_btUniversalConstraint__getUserConstraintId_p0:mE,_emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0:rM,_emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1:ajL,_emscripten_bind_btSliderConstraint__getDampingLimAng_p0:_P,_emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1:rb,_emscripten_bind_btCompoundShape__isInfinite_p0:kO,_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1:N0,_emscripten_bind_btConeShapeX__getLocalScalingNV_p0:Ag,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0:$w,_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0:uY,_emscripten_bind_btSliderConstraint__getFrameOffsetA_p0:_x,_emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1:OM,_emscripten_bind_btVector3__serializeFloat_p1:GY,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0:ak7,_emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1:OP,_emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3:Xk,_emscripten_bind_btAxisSweep3__printStats_p0:vd,_emscripten_bind_btSphereShape__isSoftBody_p0:alD,_emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1:eX,_emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1:Cw,_emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1:Ce,_emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1:acH,_emscripten_bind_btVector3__dot_p1:G4,_emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1:t0,_emscripten_bind_btHashString__equals_p1:amC,_emscripten_bind_btUniversalConstraint__buildJacobian_p0:m5,_emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1:amb,_emscripten_bind_btContactConstraint__set_m_objectType_p1:$G,_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0:$x,_emscripten_bind_btAngularLimit__getSoftness_p0:jg,_emscripten_bind_btRigidBody__applyCentralForce_p1:pd,_emscripten_bind_btQuaternion__farthest_p1:ah7,_emscripten_bind_btPersistentManifold__removeContactPoint_p1:kA,_emscripten_bind_btJacobianEntry__set_m_Adiag_p1:R1,_emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1:AJ,_emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1:Ei,_emscripten_bind_btConvexHullShape__getMargin_p0:gs,_emscripten_bind_btMultiSphereShape__getLocalScaling_p0:Py,_emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0:afO,_emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1:s1,_emscripten_bind_btIDebugDraw__setDebugMode_p1:ts,_emscripten_bind_btPairCachingGhostObject__setCompanionId_p1:T$,_emscripten_bind_btVector4__normalize_p0:F$,_emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1:ni,_emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1:np,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0:ac7,_emscripten_bind_btPoint2PointConstraint__getUid_p0:aaX,_emscripten_bind_btSliderConstraint__testAngLimits_p0:_V,_emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2:V4,_emscripten_bind_btBoxShape__isConvex_p0:afr,_emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5:am$,_emscripten_bind_btPersistentManifold__get_m_companionIdB_p0:j9,_emscripten_bind_btUniformScalingShape__isConcave_p0:LM,_emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0:CA,_emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0:Sq,_emscripten_bind_bt32BitAxisSweep3__getHandle_p1:alq,_emscripten_bind_CProfileNode__Reset_p0:YJ,_emscripten_bind_btSphereShape__calculateLocalInertia_p2:al$,_emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0:ac_,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0:ak1,_emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0:ak$,_emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0:t6,_emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2:am4,_emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1:akS,_emscripten_bind_btBoxShape__localGetSupportingVertex_p1:afT,_emscripten_bind_btCylinderShape__getMargin_p0:MH,_emscripten_bind_btQuaternion__w_p0:ais,_emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0:amj,_emscripten_bind_btIDebugDraw__draw3dText_p2:ta,_emscripten_bind_btMatrix3x3__setIdentity_p0:ez,_emscripten_bind_btHingeConstraint____destroy___p0:yz,_emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1:QH,_emscripten_bind_btCollisionWorld__setDebugDrawer_p1:SN,_emscripten_bind_btTriangleMesh__getScaling_p0:Au,_emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1:aad,_emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0:lo,_emscripten_bind_btCapsuleShape__isConvex2d_p0:ff,_emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0:r1,_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1:Bx,_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0:jo,_emscripten_bind_btCylinderShape__getMarginNonVirtual_p0:MK,_emscripten_bind_btCompoundShape__isConvex2d_p0:ld,_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0:ak2,_emscripten_bind_btHinge2Constraint__isEnabled_p0:Ix,_emscripten_bind_btSliderConstraint__getDampingDirLin_p0:_E,_emscripten_bind_btDispatcher__getInternalManifoldPointer_p0:RL,_emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0:Zd,_emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1:N3,_emscripten_bind_btMultiSphereShape__getSphereCount_p0:O6,_emscripten_bind_btDbvtBroadphase__rayTest_p5:tA,_emscripten_bind_btDbvtBroadphase__rayTest_p4:tz,_emscripten_bind_btHinge2Constraint__setStiffness_p2:IQ,_emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2:ael,_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1:ak0,_emscripten_bind_btCylinderShapeX__isNonMoving_p0:Ku,_emscripten_bind_btConvexInternalShape__getMarginNV_p0:Tk,_emscripten_bind_btConeShapeX__isSoftBody_p0:Ao,_emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0:Nr,_emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0:s5,_emscripten_bind_btHingeConstraint__getInfo2Internal_p5:xR,_emscripten_bind_btVector3__serializeDouble_p1:GA,_emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1:G9,_emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0:uI,_emscripten_bind_btVehicleRaycaster__castRay_p3:zH,_emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3:ry,_emscripten_bind_btManifoldPoint__get_m_index0_p0:aak,_emscripten_bind_btTriangleInfoMap__deSerialize_p1:alb,_emscripten_bind_btDynamicsWorld__convexSweepTest_p4:ma,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1:aha,_emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0:sE,_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1:Ru,_emscripten_bind_btHingeConstraint__getRigidBodyA_p0:xw,_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12:Xf,_emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1:ae5,_emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0:Kv,_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1:jO,_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0:jN,_emscripten_bind_btCapsuleShape__getLocalScaling_p0:fs,_emscripten_bind_btRaycastVehicle__getNumWheels_p0:JA,_emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6:LJ,_emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0:QL,_emscripten_bind_btConcaveShape__getMargin_p0:akK,_emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1:aeA,_emscripten_bind_btBU_Simplex1to4__getAabb_p3:E3,_emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1:aeS,_emscripten_bind_btManifoldPoint__get_m_partId0_p0:aaf,_emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1:aam,_emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1:nu,_emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2:S4,_emscripten_bind_btCylinderShapeZ__getAabbSlow_p3:acS,_emscripten_bind_btHingeConstraint__getUseFrameOffset_p0:yb,_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0:JW,_emscripten_bind_btDynamicsWorld__convexSweepTest_p5:mb,_emscripten_bind_btCylinderShape__isSoftBody_p0:Mi,_emscripten_bind_btCylinderShape__setMargin_p1:NE,_emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0:mH,_emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0:BI,_emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2:AV,_emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1:KX,_emscripten_bind_btVector3__op_sub_p1:Gv,_emscripten_bind_btIndexedMesh__get_m_indexType_p0:gT,_emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2:ZL,_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1:EV,_emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1:wR,_emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0:P6,_emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2:ae4,_emscripten_bind_btCapsuleShapeX__isInfinite_p0:ag1,_emscripten_bind_btCylinderShapeZ__isConvex_p0:acd,_emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1:ub,_emscripten_bind_btSliderConstraint__getAngularPos_p0:Zm,_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8:afM,_emscripten_bind_btConvexInternalShape__isSoftBody_p0:TU,_emscripten_bind_btMultiSphereShape__getBoundingSphere_p2:PD,_emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1:aaO,_emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2:OX,_emscripten_bind_btConvexHullShape__isPolyhedral_p0:fS,_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1:EO,_emscripten_bind_btSphereShape__getAabb_p3:ama,_emscripten_bind_btCollisionObject__setFriction_p1:g1,_emscripten_bind_btConvexHullShape__getMarginNV_p0:fW,_emscripten_bind_btCylinderShapeZ__isPolyhedral_p0:aca,_emscripten_bind_btBU_Simplex1to4__isConcave_p0:Fe,_emscripten_bind_btConvexShape__calculateTemporalAabb_p6:Rf,_emscripten_bind_btIDebugDraw__drawContactPoint_p5:te,_emscripten_bind_btConeShapeZ__isPolyhedral_p0:zm,_emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1:D0,_emscripten_bind_btContactConstraint__getUserConstraintPtr_p0:$0,_emscripten_bind_btContactConstraint__buildJacobian_p0:$M,_emscripten_bind_btRaycastVehicle__updateVehicle_p1:Kc,_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1:Nn,_emscripten_bind_btClock____destroy___p0:Xz,_emscripten_bind_btClock__btClock_p1:XH,_emscripten_bind_btClock__btClock_p0:XG,_emscripten_bind_btTriangleMesh__getNumTriangles_p0:Ax,_emscripten_bind_btHingeConstraint__getRigidBodyB_p0:xv,_emscripten_bind_btCylinderShape__setUserPointer_p1:L7,_emscripten_bind_btManifoldPoint__get_m_lifeTime_p0:aaq,_emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0:ip,_emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2:QN,_emscripten_bind_btBroadphaseProxy__isCompound_p1:ad$,_emscripten_bind_btConvexInternalShape__getLocalScaling_p0:TC,_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6:afk,_emscripten_bind_btRigidBody__setUserPointer_p1:on,_emscripten_bind_btGhostObject__getBroadphaseHandle_p0:ajR,_emscripten_bind_btUniformScalingShape__isCompound_p0:KO,_emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0:Ow,_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0:afj,_emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1:UL,_emscripten_bind_btQuadWord__z_p0:L2,_emscripten_bind_btSerializer__allocate_p2:H5,_emscripten_bind_btConvexShape__getAabbNonVirtual_p3:Q2,_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5:Oy,_emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:amH,_emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3:abw,_emscripten_bind_btGhostObject__getDeactivationTime_p0:aiP,_emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1:ab0,_emscripten_bind_btManifoldResult__btManifoldResult_p2:O3,_emscripten_bind_btManifoldResult__btManifoldResult_p0:O2,_emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0:_j,_emscripten_bind_btDbvtProxy__isPolyhedral_p1:MV,_emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1:gW,_emscripten_bind_btVector4__setMin_p1:Ff,_emscripten_bind_btManifoldPoint__set_m_index1_p1:aaD,_emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1:ab_,_emscripten_bind_btPoint2PointConstraint__getConstraintType_p0:abT,_emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0:oO,_emscripten_bind_btStaticPlaneShape__getLocalScaling_p0:VP,_emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1:abg,_emscripten_bind_btOverlapCallback__processOverlap_p1:VM,_emscripten_bind_btConeShape__calculateLocalInertia_p2:Dk,_emscripten_bind_btStackAlloc__destroy_p0:m3,_emscripten_bind_btConeShapeX__getAngularMotionDisc_p0:AO,_emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2:Sz,_emscripten_bind_btBroadphasePair__set_m_pProxy0_p1:Bk,_emscripten_bind_btPairCachingGhostObject__setActivationState_p1:U1,_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0:Np,_emscripten_bind_btSliderConstraint__testLinLimits_p0:$e,_emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1:ZN,_emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1:_f,_emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0:Td,_emscripten_bind_btConeShapeX__getHeight_p0:Af,_emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0:ajV,_emscripten_bind_btMatrix3x3__cofac_p4:eh,_emscripten_bind_btDbvtBroadphase__setAabb_p4:tB,_emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1:Oi,_emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0:r_,_emscripten_bind_btGhostObject__mergesSimulationIslands_p0:aiW,_emscripten_bind_btConeTwistConstraint__setParam_p2:wH,_emscripten_bind_btPersistentManifold____destroy___p0:kB,_emscripten_bind_btBoxShape__getBoundingSphere_p2:agi,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0:Yd,_emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0:pi,_emscripten_bind_btCollisionShape__isCompound_p0:Vt,_emscripten_bind_btVector4__minAxis4_p0:Fk,_emscripten_bind_btBroadphasePair__set_m_pProxy1_p1:Bl,_emscripten_bind_btQuadWord__setMin_p1:LS,_emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1:eH,_emscripten_bind_btDbvtBroadphase__createProxy_p8:tG,_emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2:ajp,_emscripten_bind_btDynamicsWorld__getConstraintSolver_p0:mO,_emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3:NX,_emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0:V6,_emscripten_bind_btQuaternion__inverse_p0:aic,_emscripten_bind_btRigidBody__internalGetExtensionPointer_p0:o6,_emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1:Tx,_emscripten_bind_btDynamicsWorld__objectQuerySingle_p8:mZ,_emscripten_bind_btCollisionObject__isStaticObject_p0:hj,_emscripten_bind_btCapsuleShape__getBoundingSphere_p2:fK,_emscripten_bind_btStorageResult__setShapeIdentifiersB_p2:NL,_emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2:alX,_emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0:P1,_emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0:lK,_emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0:Zp,_emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2:s4,_emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0:I2,_emscripten_bind_btGeneric6DofConstraint__getParam_p2:W2,_emscripten_bind_btVector3__setX_p1:GZ,_emscripten_bind_btSphereShape__getBoundingSphere_p2:amI,_emscripten_bind_btGeneric6DofConstraint__getParam_p1:W1,_emscripten_bind_btActionInterface__updateAction_p2:GK,_emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0:QE,_emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0:PE,_emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1:WB,_emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0:q_,_emscripten_bind_btQuantizedBvh__buildInternal_p0:amN,_emscripten_bind_btConvexShape__getMargin_p0:Q9,_emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1:ab$,_emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1:abV,_emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0:BB,_emscripten_bind_btConeShape__setMargin_p1:DB,_emscripten_bind_btStackAlloc__create_p1:m2,_emscripten_bind_btRigidBody__getAnisotropicFriction_p0:pX,_emscripten_bind_btBU_Simplex1to4__isSoftBody_p0:E8,_emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4:wN,_emscripten_bind_btCollisionShape__calculateLocalInertia_p2:Wf,_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6:ae8,_emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0:Cv,_emscripten_bind_btQuaternion__length2_p0:air,_emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0:qt,_emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1:Up,_emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4:gw,_emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0:acy,_emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1:WH,_emscripten_bind_btRaycastVehicle__getForwardAxis_p0:JH,_emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0:$5,_emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1:tx,_emscripten_bind_btStaticPlaneShape__getUserPointer_p0:Vl,_emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0:lf,_emscripten_bind_btSimpleDynamicsWorld__contactTest_p2:Oe,_emscripten_bind_btGhostObject__internalGetExtensionPointer_p0:aj8,_emscripten_bind_btStridingMeshInterface__getNumSubParts_p0:aby,_emscripten_bind_btVector3__getSkewSymmetricMatrix_p3:Gn,_emscripten_bind_btGhostObject__setBroadphaseHandle_p1:akd,_emscripten_bind_ConcreteContactResultCallback____destroy___p0:NR,_emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0:S9,_emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0:ahy,_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0:agI,_emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1:Nh,_emscripten_bind_btHingeConstraint__setFrames_p2:yT,_emscripten_bind_btBroadphaseAabbCallback__process_p1:BO,_emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1:Pt,_emscripten_bind_btCylinderShape__getAabb_p3:ME,_emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2:adI,_emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0:mk,_emscripten_bind_btRaycastVehicle__getUserConstraintId_p0:Jo,_emscripten_bind_btEmptyShape__isInfinite_p0:of,_emscripten_bind_btAngularLimit__getSign_p0:jf,_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1:abk,_emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1:WS,_emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3:Sy,_emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1:Tt,_emscripten_bind_btVector3__cross_p1:GQ,_emscripten_bind_btCylinderShapeZ__serialize_p2:acw,_emscripten_bind_btCylinderShapeZ__isSoftBody_p0:acj,_emscripten_bind_btMultiSphereShape__serialize_p2:O0,_emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0:akq,_emscripten_bind_btVector4__length_p0:GI,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3:YT,_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2:YS,_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1:LO,_emscripten_bind_btCollisionShape__isNonMoving_p0:Vy,_emscripten_bind_btConvexShape__localGetSupportingVertex_p1:QZ,_emscripten_bind_btConvexTriangleMeshShape____destroy___p0:iQ,_emscripten_bind_btRigidBody__setIslandTag_p1:ou,_emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0:af1,_emscripten_bind_btPolyhedralConvexShape__isInfinite_p0:r9,_emscripten_bind_btTriangleMesh__unLockVertexBase_p1:Bb,_emscripten_bind_btQuaternion__setMin_p1:ahX,_emscripten_bind_btConeShapeZ__getHeight_p0:zo,_emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1:ajz,_emscripten_bind_btAngularLimit__getRelaxationFactor_p0:ji,_emscripten_bind_btSphereShape__isInfinite_p0:alz,_emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0:aaM,_emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0:Zt,_emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0:Pv,_emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1:IK,_emscripten_bind_btBoxShape__getNumVertices_p0:afV,_emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0:q$,_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0:Y9,_emscripten_bind_btBU_Simplex1to4__getName_p0:E_,_emscripten_bind_btStorageResult__addContactPoint_p3:NJ,_emscripten_bind_btHingeConstraint__getSolveLimit_p0:yh,_emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0:Sp,_emscripten_bind_btConvexTriangleMeshShape__serialize_p2:iI,_emscripten_bind_btDispatcher__getNumManifolds_p0:RI,_emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0:al5,_emscripten_bind_btSliderConstraint__getInfo1_p1:ZY,_emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0:NC,_emscripten_bind_btGhostObject____destroy___p0:akA,_emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0:QM,_emscripten_bind_btConvexShape__serializeSingleShape_p1:Ri,_emscripten_bind_btCapsuleShapeX____destroy___p0:ahO,_emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3:ahP,_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0:ada,_emscripten_bind_btUniformScalingShape__isInfinite_p0:KR,_emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6:hS,_emscripten_bind_btBoxShape__getAabb_p3:af8,_emscripten_bind_btHingeConstraint__setParam_p2:yo,_emscripten_bind_btUniversalConstraint__isLimited_p1:nq,_emscripten_bind_btCapsuleShapeX__getAabb_p3:ahF,_emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1:amh,_emscripten_bind_btHinge2Constraint__getObjectType_p0:IY,_emscripten_bind_btManifoldPoint__setDistance_p1:aav,_emscripten_bind_btGhostObject__checkCollideWith_p1:ajD,_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1:ajb,_emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3:afH,_emscripten_bind_btMatrix3x3__setRotation_p1:ew,_emscripten_bind_btVector4__btVector4_p0:Ge,_emscripten_bind_btManifoldPoint__set_m_partId0_p1:aat,_emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1:afC,_emscripten_bind_btVector4__btVector4_p4:Gf,_emscripten_bind_btGhostObject__getCollisionFlags_p0:aj4,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1:YE,_emscripten_bind_btGeneric6DofConstraint__updateRHS_p1:Wy,_emscripten_bind_btContactConstraint__serialize_p2:aa3,_emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4:adK,_emscripten_bind_btMultiSphereShape__isNonMoving_p0:Pc,_emscripten_bind_btHinge2Constraint__enableSpring_p2:IN,_emscripten_bind_btCapsuleShapeX__setLocalScaling_p1:ahE,_emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0:ak8,_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0:YB,_emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0:RF,_emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0:vF,_emscripten_bind_btHinge2Constraint__getInfo2_p1:Io,_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4:acX,_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1:YH,_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0:Hv,_emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1:n8,_emscripten_bind_btQuantizedBvh__deSerializeFloat_p1:amZ,_emscripten_bind_btConvexTriangleMeshShape__isConcave_p0:it,_emscripten_bind_btRigidBody__setAngularFactor_p1:qJ,_emscripten_bind_btAngularLimit__btAngularLimit_p0:jM,_emscripten_bind_btCapsuleShapeZ__setUserPointer_p1:aiy,_emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1:iU,_emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1:jG,_emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5:alm,_emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1:_C,_emscripten_bind_btContinuousDynamicsWorld__serialize_p1:B7,_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2:aju,_emscripten_bind_btSphereShape__getMarginNonVirtual_p0:ami,_emscripten_bind_btCollisionDispatcher__needsResponse_p2:uy,_emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1:ahG,_emscripten_bind_btPoint2PointConstraint__getParam_p2:abK,_emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1:zV,_emscripten_bind_btCollisionObject__getInternalType_p0:hu,_emscripten_bind_btPoint2PointConstraint__getParam_p1:abJ,_emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0:CC,_emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1:AE,_emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1:ae3,_emscripten_bind_btUniformScalingShape__setMargin_p1:LF,_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2:agr,_emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0:ii,_emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1:ajw,_emscripten_bind_btOptimizedBvh__setQuantizationValues_p2:qV,_emscripten_bind_btOptimizedBvh__setQuantizationValues_p3:qW,_emscripten_bind_btMatrix3x3__setValue_p9:eo,_emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1:akZ,_emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1:wv,_emscripten_bind_btMatrix3x3__op_mul_p1:el,runPostSets:dZ,stackAlloc:dJ,stackSave:dK,stackRestore:dL,setThrew:dM,setTempRet0:dP,setTempRet1:dQ,setTempRet2:dR,setTempRet3:dS,setTempRet4:dT,setTempRet5:dU,setTempRet6:dV,setTempRet7:dW,setTempRet8:dX,setTempRet9:dY,dynCall_viiiii:aDI,dynCall_iiiiiif:aD1,dynCall_vif:aEm,dynCall_viifii:aEH,dynCall_viiiifffffif:aE0,dynCall_vi:aFl,dynCall_iiiiiffii:aFG,dynCall_vii:aF$,dynCall_viiifii:aGk,dynCall_ifffffffff:aGF,dynCall_viiiif:aG_,dynCall_viiiiffffii:aHj,dynCall_ii:aHE,dynCall_iiiiiiifif:aHZ,dynCall_vifffi:aIi,dynCall_ifiii:aID,dynCall_viifi:aIY,dynCall_viiiiiiiii:aJh,dynCall_viiiiiiff:aJC,dynCall_iiiifiii:aJX,dynCall_iiiiiiiiiiiiii:aKg,dynCall_viffff:aKB,dynCall_viffiii:aKW,dynCall_iiiiiiiiiiii:aLf,dynCall_fififii:aLA,dynCall_fiiiiiiiiiii:aLV,dynCall_fiifii:aMe,dynCall_ifff:aMz,dynCall_viiff:aMU,dynCall_iifi:aNd,dynCall_iiii:aNy,dynCall_viiiifffffi:aNT,dynCall_fif:aOc,dynCall_iiiiff:aOx,dynCall_viff:aOS,dynCall_vifi:aPb,dynCall_viiiiif:aPw,dynCall_vifff:aPR,dynCall_viiiiii:aQa,dynCall_fiiff:aQv,dynCall_iiif:aQQ,dynCall_iiiiiiii:aQ9,dynCall_viiiiiiii:aRu,dynCall_viffffff:aRP,dynCall_fiii:aR8,dynCall_iiiiiiiiii:aSt,dynCall_fiif:aSO,dynCall_fiiiiiiiiii:aS7,dynCall_ifii:aTs,dynCall_fiffiiiiiii:aTN,dynCall_iiiiiiiiiiiii:aT6,dynCall_fiiiii:aUr,dynCall_iif:aUM,dynCall_if:aU5,dynCall_vifffff:aVq,dynCall_viiiiiiiif:aVL,dynCall_vifii:aV4,dynCall_fi:aWp,dynCall_viiiiiiiiii:aWK,dynCall_iii:aW3,dynCall_iiiiii:aXo,dynCall_iiiiiii:aXJ,dynCall_viiiiiiif:aX2,dynCall_fii:aYn,dynCall_vifffffffff:aYI,dynCall_fiiiiiiii:aY1,dynCall_iifif:aZm,dynCall_iffff:aZH,dynCall_viiiiffffiif:aZ0,dynCall_iiiiif:a_l,dynCall_iiff:a_G,dynCall_viiif:a_$,dynCall_i:a$k,dynCall_viiiifii:a$F,dynCall_iiiifffiii:a$_,dynCall_viii:a0j,dynCall_iff:a0E,dynCall_v:a0Z,dynCall_iiiiiiiii:a1i,dynCall_iiiii:a1D,dynCall_viif:a1Y,dynCall_iiiif:a2h,dynCall_fiiifii:a2C,dynCall_viiii:a2X}}) +// EMSCRIPTEN_END_ASM +({ "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array }, { "abort": abort, "assert": assert, "asmPrintInt": asmPrintInt, "asmPrintFloat": asmPrintFloat, "min": Math_min, "jsCall": jsCall, "invoke_viiiii": invoke_viiiii, "invoke_iiiiiif": invoke_iiiiiif, "invoke_vif": invoke_vif, "invoke_viifii": invoke_viifii, "invoke_viiiifffffif": invoke_viiiifffffif, "invoke_vi": invoke_vi, "invoke_iiiiiffii": invoke_iiiiiffii, "invoke_vii": invoke_vii, "invoke_viiifii": invoke_viiifii, "invoke_ifffffffff": invoke_ifffffffff, "invoke_viiiif": invoke_viiiif, "invoke_viiiiffffii": invoke_viiiiffffii, "invoke_ii": invoke_ii, "invoke_iiiiiiifif": invoke_iiiiiiifif, "invoke_vifffi": invoke_vifffi, "invoke_ifiii": invoke_ifiii, "invoke_viifi": invoke_viifi, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_viiiiiiff": invoke_viiiiiiff, "invoke_iiiifiii": invoke_iiiifiii, "invoke_iiiiiiiiiiiiii": invoke_iiiiiiiiiiiiii, "invoke_viffff": invoke_viffff, "invoke_viffiii": invoke_viffiii, "invoke_iiiiiiiiiiii": invoke_iiiiiiiiiiii, "invoke_fififii": invoke_fififii, "invoke_fiiiiiiiiiii": invoke_fiiiiiiiiiii, "invoke_fiifii": invoke_fiifii, "invoke_ifff": invoke_ifff, "invoke_viiff": invoke_viiff, "invoke_iifi": invoke_iifi, "invoke_iiii": invoke_iiii, "invoke_viiiifffffi": invoke_viiiifffffi, "invoke_fif": invoke_fif, "invoke_iiiiff": invoke_iiiiff, "invoke_viff": invoke_viff, "invoke_vifi": invoke_vifi, "invoke_viiiiif": invoke_viiiiif, "invoke_vifff": invoke_vifff, "invoke_viiiiii": invoke_viiiiii, "invoke_fiiff": invoke_fiiff, "invoke_iiif": invoke_iiif, "invoke_iiiiiiii": invoke_iiiiiiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viffffff": invoke_viffffff, "invoke_fiii": invoke_fiii, "invoke_iiiiiiiiii": invoke_iiiiiiiiii, "invoke_fiif": invoke_fiif, "invoke_fiiiiiiiiii": invoke_fiiiiiiiiii, "invoke_ifii": invoke_ifii, "invoke_fiffiiiiiii": invoke_fiffiiiiiii, "invoke_iiiiiiiiiiiii": invoke_iiiiiiiiiiiii, "invoke_fiiiii": invoke_fiiiii, "invoke_iif": invoke_iif, "invoke_if": invoke_if, "invoke_vifffff": invoke_vifffff, "invoke_viiiiiiiif": invoke_viiiiiiiif, "invoke_vifii": invoke_vifii, "invoke_fi": invoke_fi, "invoke_viiiiiiiiii": invoke_viiiiiiiiii, "invoke_iii": invoke_iii, "invoke_iiiiii": invoke_iiiiii, "invoke_iiiiiii": invoke_iiiiiii, "invoke_viiiiiiif": invoke_viiiiiiif, "invoke_fii": invoke_fii, "invoke_vifffffffff": invoke_vifffffffff, "invoke_fiiiiiiii": invoke_fiiiiiiii, "invoke_iifif": invoke_iifif, "invoke_iffff": invoke_iffff, "invoke_viiiiffffiif": invoke_viiiiffffiif, "invoke_iiiiif": invoke_iiiiif, "invoke_iiff": invoke_iiff, "invoke_viiif": invoke_viiif, "invoke_i": invoke_i, "invoke_viiiifii": invoke_viiiifii, "invoke_iiiifffiii": invoke_iiiifffiii, "invoke_viii": invoke_viii, "invoke_iff": invoke_iff, "invoke_v": invoke_v, "invoke_iiiiiiiii": invoke_iiiiiiiii, "invoke_iiiii": invoke_iiiii, "invoke_viif": invoke_viif, "invoke_iiiif": invoke_iiiif, "invoke_fiiifii": invoke_fiiifii, "invoke_viiii": invoke_viiii, "_llvm_lifetime_end": _llvm_lifetime_end, "_cosf": _cosf, "_fabsf": _fabsf, "_sysconf": _sysconf, "___cxa_throw": ___cxa_throw, "_atexit": _atexit, "_abort": _abort, "_fprintf": _fprintf, "_llvm_eh_exception": _llvm_eh_exception, "_printf": _printf, "_acosf": _acosf, "_fflush": _fflush, "_sqrtf": _sqrtf, "_write": _write, "___setErrNo": ___setErrNo, "_fwrite": _fwrite, "_send": _send, "_llvm_pow_f32": _llvm_pow_f32, "_llvm_umul_with_overflow_i32": _llvm_umul_with_overflow_i32, "_exit": _exit, "_atan2f": _atan2f, "___cxa_pure_virtual": ___cxa_pure_virtual, "_llvm_bswap_i16": _llvm_bswap_i16, "__formatString": __formatString, "__reallyNegative": __reallyNegative, "_time": _time, "_asinf": _asinf, "___cxa_does_inherit": ___cxa_does_inherit, "___cxa_guard_acquire": ___cxa_guard_acquire, "__ZSt9terminatev": __ZSt9terminatev, "_gettimeofday": _gettimeofday, "___cxa_find_matching_catch": ___cxa_find_matching_catch, "_sinf": _sinf, "__ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback": __ZN20btAxisSweep3InternalItE26processAllOverlappingPairsEP17btOverlapCallback, "___assert_func": ___assert_func, "__ZSt18uncaught_exceptionv": __ZSt18uncaught_exceptionv, "_pwrite": _pwrite, "___cxa_call_unexpected": ___cxa_call_unexpected, "_sbrk": _sbrk, "___cxa_guard_abort": ___cxa_guard_abort, "___cxa_allocate_exception": ___cxa_allocate_exception, "___errno_location": ___errno_location, "___gxx_personality_v0": ___gxx_personality_v0, "__ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback": __ZN20btAxisSweep3InternalIjE26processAllOverlappingPairsEP17btOverlapCallback, "_llvm_lifetime_start": _llvm_lifetime_start, "___cxa_is_number_type": ___cxa_is_number_type, "_llvm_bswap_i32": _llvm_bswap_i32, "_fmod": _fmod, "___cxa_guard_release": ___cxa_guard_release, "__exit": __exit, "___resumeException": ___resumeException, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "NaN": NaN, "Infinity": Infinity, "__ZTVN10__cxxabiv117__class_type_infoE": __ZTVN10__cxxabiv117__class_type_infoE, "__ZTVN10__cxxabiv120__si_class_type_infoE": __ZTVN10__cxxabiv120__si_class_type_infoE, "___dso_handle": ___dso_handle }, buffer); +var _emscripten_bind_btConeShapeX__setConeUpIndex_p1 = Module["_emscripten_bind_btConeShapeX__setConeUpIndex_p1"] = asm["_emscripten_bind_btConeShapeX__setConeUpIndex_p1"]; +var _emscripten_bind_btDbvtProxy__get_stage_p0 = Module["_emscripten_bind_btDbvtProxy__get_stage_p0"] = asm["_emscripten_bind_btDbvtProxy__get_stage_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld____destroy___p0 = Module["_emscripten_bind_btContinuousDynamicsWorld____destroy___p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld____destroy___p0"]; +var _emscripten_bind_btBoxShape__getNumPlanes_p0 = Module["_emscripten_bind_btBoxShape__getNumPlanes_p0"] = asm["_emscripten_bind_btBoxShape__getNumPlanes_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape____destroy___p0 = Module["_emscripten_bind_btHeightfieldTerrainShape____destroy___p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape____destroy___p0"]; +var _emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3"]; +var _emscripten_bind_btGhostObject__upcast_p1 = Module["_emscripten_bind_btGhostObject__upcast_p1"] = asm["_emscripten_bind_btGhostObject__upcast_p1"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__isEnabled_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__isEnabled_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__isEnabled_p0"]; +var _emscripten_bind_btBroadphaseProxy__isPolyhedral_p1 = Module["_emscripten_bind_btBroadphaseProxy__isPolyhedral_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isPolyhedral_p1"]; +var _emscripten_bind_btHinge2Constraint__buildJacobian_p0 = Module["_emscripten_bind_btHinge2Constraint__buildJacobian_p0"] = asm["_emscripten_bind_btHinge2Constraint__buildJacobian_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0"]; +var _emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9 = Module["_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9"] = asm["_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9"]; +var _emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8 = Module["_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8"] = asm["_emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8"]; +var _emscripten_bind_btIDebugDraw__drawLine_p3 = Module["_emscripten_bind_btIDebugDraw__drawLine_p3"] = asm["_emscripten_bind_btIDebugDraw__drawLine_p3"]; +var _emscripten_bind_btCollisionObject__mergesSimulationIslands_p0 = Module["_emscripten_bind_btCollisionObject__mergesSimulationIslands_p0"] = asm["_emscripten_bind_btCollisionObject__mergesSimulationIslands_p0"]; +var _emscripten_bind_btIDebugDraw__drawLine_p4 = Module["_emscripten_bind_btIDebugDraw__drawLine_p4"] = asm["_emscripten_bind_btIDebugDraw__drawLine_p4"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1"]; +var _emscripten_bind_btConeShape__getAabbSlow_p3 = Module["_emscripten_bind_btConeShape__getAabbSlow_p3"] = asm["_emscripten_bind_btConeShape__getAabbSlow_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2 = Module["_emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2"]; +var _emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8 = Module["_emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1"]; +var _emscripten_bind_btRigidBody____destroy___p0 = Module["_emscripten_bind_btRigidBody____destroy___p0"] = asm["_emscripten_bind_btRigidBody____destroy___p0"]; +var _emscripten_bind_btSimpleBroadphase__destroyProxy_p2 = Module["_emscripten_bind_btSimpleBroadphase__destroyProxy_p2"] = asm["_emscripten_bind_btSimpleBroadphase__destroyProxy_p2"]; +var _emscripten_bind_btBroadphaseInterface__createProxy_p8 = Module["_emscripten_bind_btBroadphaseInterface__createProxy_p8"] = asm["_emscripten_bind_btBroadphaseInterface__createProxy_p8"]; +var _emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btContactSolverInfo____destroy___p0 = Module["_emscripten_bind_btContactSolverInfo____destroy___p0"] = asm["_emscripten_bind_btContactSolverInfo____destroy___p0"]; +var _emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btCapsuleShape__getRadius_p0 = Module["_emscripten_bind_btCapsuleShape__getRadius_p0"] = asm["_emscripten_bind_btCapsuleShape__getRadius_p0"]; +var _emscripten_bind_btConeShapeZ__serializeSingleShape_p1 = Module["_emscripten_bind_btConeShapeZ__serializeSingleShape_p1"] = asm["_emscripten_bind_btConeShapeZ__serializeSingleShape_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1"]; +var _emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0 = Module["_emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0"] = asm["_emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0"]; +var _emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btVector4__fuzzyZero_p0 = Module["_emscripten_bind_btVector4__fuzzyZero_p0"] = asm["_emscripten_bind_btVector4__fuzzyZero_p0"]; +var _emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btSphereShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btSphereShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btSphereShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2 = Module["_emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2"] = asm["_emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2"]; +var _emscripten_bind_btIDebugDraw__drawCapsule_p5 = Module["_emscripten_bind_btIDebugDraw__drawCapsule_p5"] = asm["_emscripten_bind_btIDebugDraw__drawCapsule_p5"]; +var _emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1 = Module["_emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1"] = asm["_emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1"]; +var _emscripten_bind_btPersistentManifold__get_m_index1a_p0 = Module["_emscripten_bind_btPersistentManifold__get_m_index1a_p0"] = asm["_emscripten_bind_btPersistentManifold__get_m_index1a_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4"]; +var _emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3 = Module["_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3"] = asm["_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3"]; +var _emscripten_bind_btAxisSweep3__unQuantize_p3 = Module["_emscripten_bind_btAxisSweep3__unQuantize_p3"] = asm["_emscripten_bind_btAxisSweep3__unQuantize_p3"]; +var _emscripten_bind_btCapsuleShape__getUpAxis_p0 = Module["_emscripten_bind_btCapsuleShape__getUpAxis_p0"] = asm["_emscripten_bind_btCapsuleShape__getUpAxis_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5 = Module["_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5"] = asm["_emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5"]; +var _emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1 = Module["_emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1"] = asm["_emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1"]; +var _emscripten_bind_btConeShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConeShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConeShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btHingeConstraint__getBFrame_p0 = Module["_emscripten_bind_btHingeConstraint__getBFrame_p0"] = asm["_emscripten_bind_btHingeConstraint__getBFrame_p0"]; +var _emscripten_bind_btHingeConstraint__buildJacobian_p0 = Module["_emscripten_bind_btHingeConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btHingeConstraint__buildJacobian_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1"]; +var _emscripten_bind_btCompoundShape__isNonMoving_p0 = Module["_emscripten_bind_btCompoundShape__isNonMoving_p0"] = asm["_emscripten_bind_btCompoundShape__isNonMoving_p0"]; +var _emscripten_bind_btUniformScalingShape__setUserPointer_p1 = Module["_emscripten_bind_btUniformScalingShape__setUserPointer_p1"] = asm["_emscripten_bind_btUniformScalingShape__setUserPointer_p1"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1"]; +var _emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0 = Module["_emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0"] = asm["_emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0"]; +var _emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btConeTwistConstraint__setDamping_p1 = Module["_emscripten_bind_btConeTwistConstraint__setDamping_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setDamping_p1"]; +var _emscripten_bind_btHeightfieldTerrainShape__setMargin_p1 = Module["_emscripten_bind_btHeightfieldTerrainShape__setMargin_p1"] = asm["_emscripten_bind_btHeightfieldTerrainShape__setMargin_p1"]; +var _emscripten_bind_btDynamicsWorld__getDispatcher_p0 = Module["_emscripten_bind_btDynamicsWorld__getDispatcher_p0"] = asm["_emscripten_bind_btDynamicsWorld__getDispatcher_p0"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1"]; +var _emscripten_bind_btCylinderShape__isNonMoving_p0 = Module["_emscripten_bind_btCylinderShape__isNonMoving_p0"] = asm["_emscripten_bind_btCylinderShape__isNonMoving_p0"]; +var _emscripten_bind_btCollisionObject__getRestitution_p0 = Module["_emscripten_bind_btCollisionObject__getRestitution_p0"] = asm["_emscripten_bind_btCollisionObject__getRestitution_p0"]; +var _emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0 = Module["_emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0"]; +var _emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1"]; +var _emscripten_bind_btPoint2PointConstraint__getInfo2_p1 = Module["_emscripten_bind_btPoint2PointConstraint__getInfo2_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__getInfo2_p1"]; +var _emscripten_bind_btConeTwistConstraint__setFixThresh_p1 = Module["_emscripten_bind_btConeTwistConstraint__setFixThresh_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setFixThresh_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0"]; +var _emscripten_bind_btGhostObject__setCompanionId_p1 = Module["_emscripten_bind_btGhostObject__setCompanionId_p1"] = asm["_emscripten_bind_btGhostObject__setCompanionId_p1"]; +var _emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0"]; +var _emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4 = Module["_emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4"] = asm["_emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4"]; +var _emscripten_bind_btQuaternion__normalized_p0 = Module["_emscripten_bind_btQuaternion__normalized_p0"] = asm["_emscripten_bind_btQuaternion__normalized_p0"]; +var _emscripten_bind_btCompoundShape__getLocalScaling_p0 = Module["_emscripten_bind_btCompoundShape__getLocalScaling_p0"] = asm["_emscripten_bind_btCompoundShape__getLocalScaling_p0"]; +var _emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1 = Module["_emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1"] = asm["_emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getCompanionId_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getCompanionId_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getCompanionId_p0"]; +var _emscripten_bind_btTypedConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btTypedConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btTypedConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0 = Module["_emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0"] = asm["_emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0"]; +var _emscripten_bind_btConvexHullShape__isInfinite_p0 = Module["_emscripten_bind_btConvexHullShape__isInfinite_p0"] = asm["_emscripten_bind_btConvexHullShape__isInfinite_p0"]; +var _emscripten_bind_btRaycastVehicle__debugDraw_p1 = Module["_emscripten_bind_btRaycastVehicle__debugDraw_p1"] = asm["_emscripten_bind_btRaycastVehicle__debugDraw_p1"]; +var _emscripten_bind_btEmptyShape__isCompound_p0 = Module["_emscripten_bind_btEmptyShape__isCompound_p0"] = asm["_emscripten_bind_btEmptyShape__isCompound_p0"]; +var _emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btTriangleMesh__addIndex_p1 = Module["_emscripten_bind_btTriangleMesh__addIndex_p1"] = asm["_emscripten_bind_btTriangleMesh__addIndex_p1"]; +var _emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5 = Module["_emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5"] = asm["_emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5"]; +var _emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3 = Module["_emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3"]; +var _emscripten_bind_btConeShape__isNonMoving_p0 = Module["_emscripten_bind_btConeShape__isNonMoving_p0"] = asm["_emscripten_bind_btConeShape__isNonMoving_p0"]; +var _emscripten_bind_btTypedConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btTypedConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btTypedConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btMatrix3x3__deSerializeDouble_p1 = Module["_emscripten_bind_btMatrix3x3__deSerializeDouble_p1"] = asm["_emscripten_bind_btMatrix3x3__deSerializeDouble_p1"]; +var _emscripten_bind_btVector3__y_p0 = Module["_emscripten_bind_btVector3__y_p0"] = asm["_emscripten_bind_btVector3__y_p0"]; +var _emscripten_bind_btDynamicsWorld__removeVehicle_p1 = Module["_emscripten_bind_btDynamicsWorld__removeVehicle_p1"] = asm["_emscripten_bind_btDynamicsWorld__removeVehicle_p1"]; +var _emscripten_bind_btCylinderShape__getAabbSlow_p3 = Module["_emscripten_bind_btCylinderShape__getAabbSlow_p3"] = asm["_emscripten_bind_btCylinderShape__getAabbSlow_p3"]; +var _emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0"]; +var _emscripten_bind_btBoxShape__getMarginNV_p0 = Module["_emscripten_bind_btBoxShape__getMarginNV_p0"] = asm["_emscripten_bind_btBoxShape__getMarginNV_p0"]; +var _emscripten_bind_btRigidBody__getCenterOfMassTransform_p0 = Module["_emscripten_bind_btRigidBody__getCenterOfMassTransform_p0"] = asm["_emscripten_bind_btRigidBody__getCenterOfMassTransform_p0"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0"]; +var _emscripten_bind_btBU_Simplex1to4__isCompound_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isCompound_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isCompound_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getInfo1_p1 = Module["_emscripten_bind_btPoint2PointConstraint__getInfo1_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__getInfo1_p1"]; +var _emscripten_bind_btTransform__deSerialize_p1 = Module["_emscripten_bind_btTransform__deSerialize_p1"] = asm["_emscripten_bind_btTransform__deSerialize_p1"]; +var _emscripten_bind_btBoxShape__btBoxShape_p1 = Module["_emscripten_bind_btBoxShape__btBoxShape_p1"] = asm["_emscripten_bind_btBoxShape__btBoxShape_p1"]; +var _emscripten_bind_btHeightfieldTerrainShape__getAabb_p3 = Module["_emscripten_bind_btHeightfieldTerrainShape__getAabb_p3"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getAabb_p3"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0"]; +var _emscripten_bind_btRaycastVehicle__getSteeringValue_p1 = Module["_emscripten_bind_btRaycastVehicle__getSteeringValue_p1"] = asm["_emscripten_bind_btRaycastVehicle__getSteeringValue_p1"]; +var _emscripten_bind_btRigidBody__internalSetExtensionPointer_p1 = Module["_emscripten_bind_btRigidBody__internalSetExtensionPointer_p1"] = asm["_emscripten_bind_btRigidBody__internalSetExtensionPointer_p1"]; +var _emscripten_bind_btHingeConstraint__needsFeedback_p0 = Module["_emscripten_bind_btHingeConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btHingeConstraint__needsFeedback_p0"]; +var _emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btHingeConstraint__getFrameOffsetA_p0 = Module["_emscripten_bind_btHingeConstraint__getFrameOffsetA_p0"] = asm["_emscripten_bind_btHingeConstraint__getFrameOffsetA_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addAction_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__addAction_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addAction_p1"]; +var _emscripten_bind_btTransform__getOpenGLMatrix_p1 = Module["_emscripten_bind_btTransform__getOpenGLMatrix_p1"] = asm["_emscripten_bind_btTransform__getOpenGLMatrix_p1"]; +var _emscripten_bind_btRigidBody__internalApplyPushImpulse_p3 = Module["_emscripten_bind_btRigidBody__internalApplyPushImpulse_p3"] = asm["_emscripten_bind_btRigidBody__internalApplyPushImpulse_p3"]; +var _emscripten_bind_btPersistentManifold__getCacheEntry_p1 = Module["_emscripten_bind_btPersistentManifold__getCacheEntry_p1"] = asm["_emscripten_bind_btPersistentManifold__getCacheEntry_p1"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1"]; +var _emscripten_bind_btRigidBody__applyForce_p2 = Module["_emscripten_bind_btRigidBody__applyForce_p2"] = asm["_emscripten_bind_btRigidBody__applyForce_p2"]; +var _emscripten_bind_btConvexHullShape__addPoint_p1 = Module["_emscripten_bind_btConvexHullShape__addPoint_p1"] = asm["_emscripten_bind_btConvexHullShape__addPoint_p1"]; +var _emscripten_bind_btIDebugDraw__drawTriangle_p5 = Module["_emscripten_bind_btIDebugDraw__drawTriangle_p5"] = asm["_emscripten_bind_btIDebugDraw__drawTriangle_p5"]; +var _emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btDynamicsWorld__getPairCache_p0 = Module["_emscripten_bind_btDynamicsWorld__getPairCache_p0"] = asm["_emscripten_bind_btDynamicsWorld__getPairCache_p0"]; +var _emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7 = Module["_emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7"] = asm["_emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7"]; +var _emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0 = Module["_emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0"] = asm["_emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0"]; +var _emscripten_bind_btBroadphaseInterface__aabbTest_p3 = Module["_emscripten_bind_btBroadphaseInterface__aabbTest_p3"] = asm["_emscripten_bind_btBroadphaseInterface__aabbTest_p3"]; +var _emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1 = Module["_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1"] = asm["_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1"]; +var _emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0 = Module["_emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0"] = asm["_emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0"]; +var _emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0 = Module["_emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0"] = asm["_emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2 = Module["_emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2"]; +var _emscripten_bind_btRaycastVehicle__setBrake_p2 = Module["_emscripten_bind_btRaycastVehicle__setBrake_p2"] = asm["_emscripten_bind_btRaycastVehicle__setBrake_p2"]; +var _emscripten_bind_btCollisionObject__getBroadphaseHandle_p0 = Module["_emscripten_bind_btCollisionObject__getBroadphaseHandle_p0"] = asm["_emscripten_bind_btCollisionObject__getBroadphaseHandle_p0"]; +var _emscripten_bind_btCylinderShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCylinderShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCylinderShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0 = Module["_emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0"] = asm["_emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1"]; +var _emscripten_bind_btIndexedMesh__set_m_vertexBase_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_vertexBase_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_vertexBase_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0"]; +var _emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1 = Module["_emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1"] = asm["_emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1"]; +var _emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1 = Module["_emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1"]; +var _emscripten_bind_btVector3__x_p0 = Module["_emscripten_bind_btVector3__x_p0"] = asm["_emscripten_bind_btVector3__x_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1"]; +var _emscripten_bind_btSimpleBroadphase__aabbOverlap_p2 = Module["_emscripten_bind_btSimpleBroadphase__aabbOverlap_p2"] = asm["_emscripten_bind_btSimpleBroadphase__aabbOverlap_p2"]; +var _emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btGhostObject__getRootCollisionShape_p0 = Module["_emscripten_bind_btGhostObject__getRootCollisionShape_p0"] = asm["_emscripten_bind_btGhostObject__getRootCollisionShape_p0"]; +var _emscripten_bind_btSerializer__finishSerialization_p0 = Module["_emscripten_bind_btSerializer__finishSerialization_p0"] = asm["_emscripten_bind_btSerializer__finishSerialization_p0"]; +var _emscripten_bind_btConeShapeZ__setUserPointer_p1 = Module["_emscripten_bind_btConeShapeZ__setUserPointer_p1"] = asm["_emscripten_bind_btConeShapeZ__setUserPointer_p1"]; +var _emscripten_bind_btRaycastVehicle__updateWheelTransform_p1 = Module["_emscripten_bind_btRaycastVehicle__updateWheelTransform_p1"] = asm["_emscripten_bind_btRaycastVehicle__updateWheelTransform_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_gid_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_gid_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_gid_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__isConcave_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isConcave_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isConcave_p0"]; +var _emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1 = Module["_emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1"]; +var _emscripten_bind_btTriangleInfoMap__serialize_p2 = Module["_emscripten_bind_btTriangleInfoMap__serialize_p2"] = asm["_emscripten_bind_btTriangleInfoMap__serialize_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btCapsuleShapeX__getLocalScaling_p0 = Module["_emscripten_bind_btCapsuleShapeX__getLocalScaling_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getLocalScaling_p0"]; +var _emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2 = Module["_emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2"] = asm["_emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2"]; +var _emscripten_bind_btVector4__distance2_p1 = Module["_emscripten_bind_btVector4__distance2_p1"] = asm["_emscripten_bind_btVector4__distance2_p1"]; +var _emscripten_bind_btSliderConstraint__setParam_p2 = Module["_emscripten_bind_btSliderConstraint__setParam_p2"] = asm["_emscripten_bind_btSliderConstraint__setParam_p2"]; +var _emscripten_bind_btSliderConstraint__setParam_p3 = Module["_emscripten_bind_btSliderConstraint__setParam_p3"] = asm["_emscripten_bind_btSliderConstraint__setParam_p3"]; +var _emscripten_bind_btConeShapeX__getMarginNV_p0 = Module["_emscripten_bind_btConeShapeX__getMarginNV_p0"] = asm["_emscripten_bind_btConeShapeX__getMarginNV_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0"]; +var _emscripten_bind_btConvexShape__isNonMoving_p0 = Module["_emscripten_bind_btConvexShape__isNonMoving_p0"] = asm["_emscripten_bind_btConvexShape__isNonMoving_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0"]; +var _emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btQuaternion__setValue_p3 = Module["_emscripten_bind_btQuaternion__setValue_p3"] = asm["_emscripten_bind_btQuaternion__setValue_p3"]; +var _emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1"]; +var _emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btHinge2Constraint__getInfo1_p1 = Module["_emscripten_bind_btHinge2Constraint__getInfo1_p1"] = asm["_emscripten_bind_btHinge2Constraint__getInfo1_p1"]; +var _emscripten_bind_btConeShape__serialize_p2 = Module["_emscripten_bind_btConeShape__serialize_p2"] = asm["_emscripten_bind_btConeShape__serialize_p2"]; +var _emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1"]; +var _emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0 = Module["_emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0"]; +var _emscripten_bind_btCapsuleShape__getAabb_p3 = Module["_emscripten_bind_btCapsuleShape__getAabb_p3"] = asm["_emscripten_bind_btCapsuleShape__getAabb_p3"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1"]; +var _emscripten_bind_btTransform__op_mul_p1 = Module["_emscripten_bind_btTransform__op_mul_p1"] = asm["_emscripten_bind_btTransform__op_mul_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btRigidBody__removeConstraintRef_p1 = Module["_emscripten_bind_btRigidBody__removeConstraintRef_p1"] = asm["_emscripten_bind_btRigidBody__removeConstraintRef_p1"]; +var _emscripten_bind_btRigidBody__predictIntegratedTransform_p2 = Module["_emscripten_bind_btRigidBody__predictIntegratedTransform_p2"] = asm["_emscripten_bind_btRigidBody__predictIntegratedTransform_p2"]; +var _emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0 = Module["_emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0"] = asm["_emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0"]; +var _emscripten_bind_btConeShape__setConeUpIndex_p1 = Module["_emscripten_bind_btConeShape__setConeUpIndex_p1"] = asm["_emscripten_bind_btConeShape__setConeUpIndex_p1"]; +var _emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11 = Module["_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11"] = asm["_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11"]; +var _emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12 = Module["_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12"] = asm["_emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1"]; +var _emscripten_bind_btCollisionObject__getCompanionId_p0 = Module["_emscripten_bind_btCollisionObject__getCompanionId_p0"] = asm["_emscripten_bind_btCollisionObject__getCompanionId_p0"]; +var _emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1 = Module["_emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1"]; +var _emscripten_bind_btConeShapeZ__isConvex2d_p0 = Module["_emscripten_bind_btConeShapeZ__isConvex2d_p0"] = asm["_emscripten_bind_btConeShapeZ__isConvex2d_p0"]; +var _emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4 = Module["_emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4"] = asm["_emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4"]; +var _emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1 = Module["_emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1"] = asm["_emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1"]; +var _emscripten_bind_btCollisionObject__getCollisionFlags_p0 = Module["_emscripten_bind_btCollisionObject__getCollisionFlags_p0"] = asm["_emscripten_bind_btCollisionObject__getCollisionFlags_p0"]; +var _emscripten_bind_btHinge2Constraint__getUid_p0 = Module["_emscripten_bind_btHinge2Constraint__getUid_p0"] = asm["_emscripten_bind_btHinge2Constraint__getUid_p0"]; +var _emscripten_bind_btRigidBody__internalWritebackVelocity_p0 = Module["_emscripten_bind_btRigidBody__internalWritebackVelocity_p0"] = asm["_emscripten_bind_btRigidBody__internalWritebackVelocity_p0"]; +var _emscripten_bind_btRigidBody__internalWritebackVelocity_p1 = Module["_emscripten_bind_btRigidBody__internalWritebackVelocity_p1"] = asm["_emscripten_bind_btRigidBody__internalWritebackVelocity_p1"]; +var _emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0 = Module["_emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0"] = asm["_emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0"]; +var _emscripten_bind_btAxisSweep3__updateHandle_p4 = Module["_emscripten_bind_btAxisSweep3__updateHandle_p4"] = asm["_emscripten_bind_btAxisSweep3__updateHandle_p4"]; +var _emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5 = Module["_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5"]; +var _emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4 = Module["_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4"]; +var _emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0"]; +var _emscripten_bind_btTypedConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btTypedConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btTypedConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btStaticPlaneShape__isPolyhedral_p0 = Module["_emscripten_bind_btStaticPlaneShape__isPolyhedral_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isPolyhedral_p0"]; +var _emscripten_bind_btGhostObject__internalSetExtensionPointer_p1 = Module["_emscripten_bind_btGhostObject__internalSetExtensionPointer_p1"] = asm["_emscripten_bind_btGhostObject__internalSetExtensionPointer_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0 = Module["_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0"] = asm["_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0"]; +var _emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0 = Module["_emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0"]; +var _emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1"]; +var _emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btCollisionWorld__convexSweepTest_p5 = Module["_emscripten_bind_btCollisionWorld__convexSweepTest_p5"] = asm["_emscripten_bind_btCollisionWorld__convexSweepTest_p5"]; +var _emscripten_bind_btCollisionWorld__convexSweepTest_p4 = Module["_emscripten_bind_btCollisionWorld__convexSweepTest_p4"] = asm["_emscripten_bind_btCollisionWorld__convexSweepTest_p4"]; +var _emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0 = Module["_emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0"] = asm["_emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0"]; +var _emscripten_bind_btContactConstraint__getParam_p2 = Module["_emscripten_bind_btContactConstraint__getParam_p2"] = asm["_emscripten_bind_btContactConstraint__getParam_p2"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0"]; +var _emscripten_bind_btDefaultVehicleRaycaster____destroy___p0 = Module["_emscripten_bind_btDefaultVehicleRaycaster____destroy___p0"] = asm["_emscripten_bind_btDefaultVehicleRaycaster____destroy___p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3 = Module["_emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3"] = asm["_emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3"]; +var _emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1"]; +var _emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5 = Module["_emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5"] = asm["_emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5"]; +var _emscripten_bind_btCapsuleShapeX__serialize_p2 = Module["_emscripten_bind_btCapsuleShapeX__serialize_p2"] = asm["_emscripten_bind_btCapsuleShapeX__serialize_p2"]; +var _emscripten_bind_btSliderConstraint__getSolveAngLimit_p0 = Module["_emscripten_bind_btSliderConstraint__getSolveAngLimit_p0"] = asm["_emscripten_bind_btSliderConstraint__getSolveAngLimit_p0"]; +var _emscripten_bind_btUniversalConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btUniversalConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btUniversalConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btCompoundShape__getShapeType_p0 = Module["_emscripten_bind_btCompoundShape__getShapeType_p0"] = asm["_emscripten_bind_btCompoundShape__getShapeType_p0"]; +var _emscripten_bind_btBoxShape__isInside_p2 = Module["_emscripten_bind_btBoxShape__isInside_p2"] = asm["_emscripten_bind_btBoxShape__isInside_p2"]; +var _emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5 = Module["_emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5"] = asm["_emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5"]; +var _emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__removeHandle_p2 = Module["_emscripten_bind_bt32BitAxisSweep3__removeHandle_p2"] = asm["_emscripten_bind_bt32BitAxisSweep3__removeHandle_p2"]; +var _emscripten_bind_btBoxShape__getName_p0 = Module["_emscripten_bind_btBoxShape__getName_p0"] = asm["_emscripten_bind_btBoxShape__getName_p0"]; +var _emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0 = Module["_emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0"] = asm["_emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0"]; +var _emscripten_bind_btCompoundShape__isCompound_p0 = Module["_emscripten_bind_btCompoundShape__isCompound_p0"] = asm["_emscripten_bind_btCompoundShape__isCompound_p0"]; +var _emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btConvexHullShape__getUnscaledPoints_p0 = Module["_emscripten_bind_btConvexHullShape__getUnscaledPoints_p0"] = asm["_emscripten_bind_btConvexHullShape__getUnscaledPoints_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0"]; +var _emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1"]; +var _emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0 = Module["_emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0"] = asm["_emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__rayTest_p3 = Module["_emscripten_bind_btSimpleDynamicsWorld__rayTest_p3"] = asm["_emscripten_bind_btSimpleDynamicsWorld__rayTest_p3"]; +var _emscripten_bind_btVector4__furthestAxis_p0 = Module["_emscripten_bind_btVector4__furthestAxis_p0"] = asm["_emscripten_bind_btVector4__furthestAxis_p0"]; +var _emscripten_bind_btEmptyShape__processAllTriangles_p3 = Module["_emscripten_bind_btEmptyShape__processAllTriangles_p3"] = asm["_emscripten_bind_btEmptyShape__processAllTriangles_p3"]; +var _emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1 = Module["_emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1"]; +var _emscripten_bind_btCollisionObject__isActive_p0 = Module["_emscripten_bind_btCollisionObject__isActive_p0"] = asm["_emscripten_bind_btCollisionObject__isActive_p0"]; +var _emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1 = Module["_emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1"] = asm["_emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0"]; +var _emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9 = Module["_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9"] = asm["_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9"]; +var _emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8 = Module["_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8"] = asm["_emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8"]; +var _emscripten_bind_btConeTwistConstraint____destroy___p0 = Module["_emscripten_bind_btConeTwistConstraint____destroy___p0"] = asm["_emscripten_bind_btConeTwistConstraint____destroy___p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0"]; +var _emscripten_bind_btConeShapeZ__setConeUpIndex_p1 = Module["_emscripten_bind_btConeShapeZ__setConeUpIndex_p1"] = asm["_emscripten_bind_btConeShapeZ__setConeUpIndex_p1"]; +var _emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btConeTwistConstraint__updateRHS_p1 = Module["_emscripten_bind_btConeTwistConstraint__updateRHS_p1"] = asm["_emscripten_bind_btConeTwistConstraint__updateRHS_p1"]; +var _emscripten_bind_btCollisionDispatcher____destroy___p0 = Module["_emscripten_bind_btCollisionDispatcher____destroy___p0"] = asm["_emscripten_bind_btCollisionDispatcher____destroy___p0"]; +var _emscripten_bind_btTransform__setOrigin_p1 = Module["_emscripten_bind_btTransform__setOrigin_p1"] = asm["_emscripten_bind_btTransform__setOrigin_p1"]; +var _emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0 = Module["_emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0"] = asm["_emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0"]; +var _emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1 = Module["_emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1"]; +var _emscripten_bind_btRaycastVehicle____destroy___p0 = Module["_emscripten_bind_btRaycastVehicle____destroy___p0"] = asm["_emscripten_bind_btRaycastVehicle____destroy___p0"]; +var _emscripten_bind_btWheelInfo__set_m_engineForce_p1 = Module["_emscripten_bind_btWheelInfo__set_m_engineForce_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_engineForce_p1"]; +var _emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0"]; +var _emscripten_bind_btVector3__setMax_p1 = Module["_emscripten_bind_btVector3__setMax_p1"] = asm["_emscripten_bind_btVector3__setMax_p1"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btConeTwistConstraint__enableFeedback_p1 = Module["_emscripten_bind_btConeTwistConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btConeTwistConstraint__enableFeedback_p1"]; +var _emscripten_bind_btJacobianEntry__getDiagonal_p0 = Module["_emscripten_bind_btJacobianEntry__getDiagonal_p0"] = asm["_emscripten_bind_btJacobianEntry__getDiagonal_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1"]; +var _emscripten_bind_btEmptyShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btEmptyShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btEmptyShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btAxisSweep3__btAxisSweep3_p5 = Module["_emscripten_bind_btAxisSweep3__btAxisSweep3_p5"] = asm["_emscripten_bind_btAxisSweep3__btAxisSweep3_p5"]; +var _emscripten_bind_btAxisSweep3__btAxisSweep3_p4 = Module["_emscripten_bind_btAxisSweep3__btAxisSweep3_p4"] = asm["_emscripten_bind_btAxisSweep3__btAxisSweep3_p4"]; +var _emscripten_bind_btAxisSweep3__btAxisSweep3_p3 = Module["_emscripten_bind_btAxisSweep3__btAxisSweep3_p3"] = asm["_emscripten_bind_btAxisSweep3__btAxisSweep3_p3"]; +var _emscripten_bind_btAxisSweep3__btAxisSweep3_p2 = Module["_emscripten_bind_btAxisSweep3__btAxisSweep3_p2"] = asm["_emscripten_bind_btAxisSweep3__btAxisSweep3_p2"]; +var _emscripten_bind_btRigidBody__internalGetAngularVelocity_p1 = Module["_emscripten_bind_btRigidBody__internalGetAngularVelocity_p1"] = asm["_emscripten_bind_btRigidBody__internalGetAngularVelocity_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3 = Module["_emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3"]; +var _emscripten_bind_btPersistentManifold__set_m_companionIdB_p1 = Module["_emscripten_bind_btPersistentManifold__set_m_companionIdB_p1"] = asm["_emscripten_bind_btPersistentManifold__set_m_companionIdB_p1"]; +var _emscripten_bind_btConeTwistConstraint__setAngularOnly_p1 = Module["_emscripten_bind_btConeTwistConstraint__setAngularOnly_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setAngularOnly_p1"]; +var _emscripten_bind_btVector4__length2_p0 = Module["_emscripten_bind_btVector4__length2_p0"] = asm["_emscripten_bind_btVector4__length2_p0"]; +var _emscripten_bind_btStorageResult__set_m_closestPointInB_p1 = Module["_emscripten_bind_btStorageResult__set_m_closestPointInB_p1"] = asm["_emscripten_bind_btStorageResult__set_m_closestPointInB_p1"]; +var _emscripten_bind_btIDebugDraw__reportErrorWarning_p1 = Module["_emscripten_bind_btIDebugDraw__reportErrorWarning_p1"] = asm["_emscripten_bind_btIDebugDraw__reportErrorWarning_p1"]; +var _emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1 = Module["_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1"] = asm["_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1"]; +var _emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1 = Module["_emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1"] = asm["_emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1"]; +var _emscripten_bind_btMultiSphereShape__isCompound_p0 = Module["_emscripten_bind_btMultiSphereShape__isCompound_p0"] = asm["_emscripten_bind_btMultiSphereShape__isCompound_p0"]; +var _emscripten_bind_btRigidBody__setCenterOfMassTransform_p1 = Module["_emscripten_bind_btRigidBody__setCenterOfMassTransform_p1"] = asm["_emscripten_bind_btRigidBody__setCenterOfMassTransform_p1"]; +var _emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1"]; +var _emscripten_bind_btUniversalConstraint__setFrames_p2 = Module["_emscripten_bind_btUniversalConstraint__setFrames_p2"] = asm["_emscripten_bind_btUniversalConstraint__setFrames_p2"]; +var _emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1 = Module["_emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1"] = asm["_emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1"]; +var _emscripten_bind_btGhostPairCallback__addOverlappingPair_p2 = Module["_emscripten_bind_btGhostPairCallback__addOverlappingPair_p2"] = asm["_emscripten_bind_btGhostPairCallback__addOverlappingPair_p2"]; +var _emscripten_bind_btUniversalConstraint__getInfo1_p1 = Module["_emscripten_bind_btUniversalConstraint__getInfo1_p1"] = asm["_emscripten_bind_btUniversalConstraint__getInfo1_p1"]; +var _emscripten_bind_btEmptyShape__isSoftBody_p0 = Module["_emscripten_bind_btEmptyShape__isSoftBody_p0"] = asm["_emscripten_bind_btEmptyShape__isSoftBody_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0"]; +var _emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0 = Module["_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0"] = asm["_emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0"]; +var _emscripten_bind_btConvexShape__getShapeType_p0 = Module["_emscripten_bind_btConvexShape__getShapeType_p0"] = asm["_emscripten_bind_btConvexShape__getShapeType_p0"]; +var _emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0"]; +var _emscripten_bind_btHinge2Constraint__getAxis2_p0 = Module["_emscripten_bind_btHinge2Constraint__getAxis2_p0"] = asm["_emscripten_bind_btHinge2Constraint__getAxis2_p0"]; +var _emscripten_bind_btTypedConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btTypedConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btTypedConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btIndexedMesh____destroy___p0 = Module["_emscripten_bind_btIndexedMesh____destroy___p0"] = asm["_emscripten_bind_btIndexedMesh____destroy___p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2"]; +var _emscripten_bind_btAngularLimit__getBiasFactor_p0 = Module["_emscripten_bind_btAngularLimit__getBiasFactor_p0"] = asm["_emscripten_bind_btAngularLimit__getBiasFactor_p0"]; +var _emscripten_bind_btConvexHullShape__setUserPointer_p1 = Module["_emscripten_bind_btConvexHullShape__setUserPointer_p1"] = asm["_emscripten_bind_btConvexHullShape__setUserPointer_p1"]; +var _emscripten_bind_btDefaultMotionState____destroy___p0 = Module["_emscripten_bind_btDefaultMotionState____destroy___p0"] = asm["_emscripten_bind_btDefaultMotionState____destroy___p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3 = Module["_emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3"] = asm["_emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3"]; +var _emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0 = Module["_emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0"]; +var _emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0 = Module["_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0"] = asm["_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0"]; +var _emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1 = Module["_emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1"] = asm["_emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1"]; +var _emscripten_bind_CProfileNode__Get_Total_Time_p0 = Module["_emscripten_bind_CProfileNode__Get_Total_Time_p0"] = asm["_emscripten_bind_CProfileNode__Get_Total_Time_p0"]; +var _emscripten_bind_btRigidBody__proceedToTransform_p1 = Module["_emscripten_bind_btRigidBody__proceedToTransform_p1"] = asm["_emscripten_bind_btRigidBody__proceedToTransform_p1"]; +var _emscripten_bind_btHinge2Constraint__getParam_p2 = Module["_emscripten_bind_btHinge2Constraint__getParam_p2"] = asm["_emscripten_bind_btHinge2Constraint__getParam_p2"]; +var _emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btCompoundShape__isConcave_p0 = Module["_emscripten_bind_btCompoundShape__isConcave_p0"] = asm["_emscripten_bind_btCompoundShape__isConcave_p0"]; +var _emscripten_bind_btHinge2Constraint__getParam_p1 = Module["_emscripten_bind_btHinge2Constraint__getParam_p1"] = asm["_emscripten_bind_btHinge2Constraint__getParam_p1"]; +var _emscripten_bind_btConeShape__isPolyhedral_p0 = Module["_emscripten_bind_btConeShape__isPolyhedral_p0"] = asm["_emscripten_bind_btConeShape__isPolyhedral_p0"]; +var _emscripten_bind_btGhostObject__setCollisionFlags_p1 = Module["_emscripten_bind_btGhostObject__setCollisionFlags_p1"] = asm["_emscripten_bind_btGhostObject__setCollisionFlags_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1"]; +var _emscripten_bind_btConeShapeZ__getRadius_p0 = Module["_emscripten_bind_btConeShapeZ__getRadius_p0"] = asm["_emscripten_bind_btConeShapeZ__getRadius_p0"]; +var _emscripten_bind_btConvexInternalShape__getAabb_p3 = Module["_emscripten_bind_btConvexInternalShape__getAabb_p3"] = asm["_emscripten_bind_btConvexInternalShape__getAabb_p3"]; +var _emscripten_bind_btRigidBody__getIslandTag_p0 = Module["_emscripten_bind_btRigidBody__getIslandTag_p0"] = asm["_emscripten_bind_btRigidBody__getIslandTag_p0"]; +var _emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0 = Module["_emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1"]; +var _emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1"]; +var _emscripten_bind_btCompoundShape__setMargin_p1 = Module["_emscripten_bind_btCompoundShape__setMargin_p1"] = asm["_emscripten_bind_btCompoundShape__setMargin_p1"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1"]; +var _emscripten_bind_btConvexHullShape__getUserPointer_p0 = Module["_emscripten_bind_btConvexHullShape__getUserPointer_p0"] = asm["_emscripten_bind_btConvexHullShape__getUserPointer_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0"]; +var _emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0 = Module["_emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0"] = asm["_emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0"]; +var _emscripten_bind_btDynamicsWorld__removeCharacter_p1 = Module["_emscripten_bind_btDynamicsWorld__removeCharacter_p1"] = asm["_emscripten_bind_btDynamicsWorld__removeCharacter_p1"]; +var _emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0 = Module["_emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0"] = asm["_emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0"]; +var _emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0 = Module["_emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0"] = asm["_emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0"]; +var _emscripten_bind_btVector3__setW_p1 = Module["_emscripten_bind_btVector3__setW_p1"] = asm["_emscripten_bind_btVector3__setW_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0"]; +var _emscripten_bind_btDynamicsWorld__getGravity_p0 = Module["_emscripten_bind_btDynamicsWorld__getGravity_p0"] = asm["_emscripten_bind_btDynamicsWorld__getGravity_p0"]; +var _emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1 = Module["_emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1"]; +var _emscripten_bind_btBoxShape__getMargin_p0 = Module["_emscripten_bind_btBoxShape__getMargin_p0"] = asm["_emscripten_bind_btBoxShape__getMargin_p0"]; +var _emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1"]; +var _emscripten_bind_btPoint2PointConstraint__set_m_setting_p1 = Module["_emscripten_bind_btPoint2PointConstraint__set_m_setting_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__set_m_setting_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0"]; +var _emscripten_bind_btSphereShape__isConvex_p0 = Module["_emscripten_bind_btSphereShape__isConvex_p0"] = asm["_emscripten_bind_btSphereShape__isConvex_p0"]; +var _emscripten_bind_btConeTwistConstraint__needsFeedback_p0 = Module["_emscripten_bind_btConeTwistConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btConeTwistConstraint__needsFeedback_p0"]; +var _emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0 = Module["_emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0"] = asm["_emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0"]; +var _emscripten_bind_btRigidBody__internalApplyImpulse_p3 = Module["_emscripten_bind_btRigidBody__internalApplyImpulse_p3"] = asm["_emscripten_bind_btRigidBody__internalApplyImpulse_p3"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1"]; +var _emscripten_bind_btContactConstraint__setEnabled_p1 = Module["_emscripten_bind_btContactConstraint__setEnabled_p1"] = asm["_emscripten_bind_btContactConstraint__setEnabled_p1"]; +var _emscripten_bind_btConvexInternalShape__getUserPointer_p0 = Module["_emscripten_bind_btConvexInternalShape__getUserPointer_p0"] = asm["_emscripten_bind_btConvexInternalShape__getUserPointer_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2"]; +var _emscripten_bind_btQuadWord__getZ_p0 = Module["_emscripten_bind_btQuadWord__getZ_p0"] = asm["_emscripten_bind_btQuadWord__getZ_p0"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0"]; +var _emscripten_bind_btRigidBody__isStaticObject_p0 = Module["_emscripten_bind_btRigidBody__isStaticObject_p0"] = asm["_emscripten_bind_btRigidBody__isStaticObject_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__setAabb_p4 = Module["_emscripten_bind_bt32BitAxisSweep3__setAabb_p4"] = asm["_emscripten_bind_bt32BitAxisSweep3__setAabb_p4"]; +var _emscripten_bind_btOptimizedBvh__refit_p3 = Module["_emscripten_bind_btOptimizedBvh__refit_p3"] = asm["_emscripten_bind_btOptimizedBvh__refit_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1"]; +var _emscripten_bind_btTypedConstraint__getParam_p2 = Module["_emscripten_bind_btTypedConstraint__getParam_p2"] = asm["_emscripten_bind_btTypedConstraint__getParam_p2"]; +var _emscripten_bind_btTypedConstraint__getParam_p1 = Module["_emscripten_bind_btTypedConstraint__getParam_p1"] = asm["_emscripten_bind_btTypedConstraint__getParam_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3 = Module["_emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3"] = asm["_emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3"]; +var _emscripten_bind_btQuaternion__getAngle_p0 = Module["_emscripten_bind_btQuaternion__getAngle_p0"] = asm["_emscripten_bind_btQuaternion__getAngle_p0"]; +var _emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1"]; +var _emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1 = Module["_emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1"] = asm["_emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1"]; +var _emscripten_bind_btEmptyShape__serialize_p2 = Module["_emscripten_bind_btEmptyShape__serialize_p2"] = asm["_emscripten_bind_btEmptyShape__serialize_p2"]; +var _emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btBroadphaseInterface__rayTest_p5 = Module["_emscripten_bind_btBroadphaseInterface__rayTest_p5"] = asm["_emscripten_bind_btBroadphaseInterface__rayTest_p5"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1"]; +var _emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0"]; +var _emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5 = Module["_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5"] = asm["_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5"]; +var _emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0"]; +var _emscripten_bind_btCollisionObject__setBroadphaseHandle_p1 = Module["_emscripten_bind_btCollisionObject__setBroadphaseHandle_p1"] = asm["_emscripten_bind_btCollisionObject__setBroadphaseHandle_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1"]; +var _emscripten_bind_btConeShape__isSoftBody_p0 = Module["_emscripten_bind_btConeShape__isSoftBody_p0"] = asm["_emscripten_bind_btConeShape__isSoftBody_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__isInside_p2 = Module["_emscripten_bind_btConvexTriangleMeshShape__isInside_p2"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isInside_p2"]; +var _emscripten_bind_btVector3__deSerializeFloat_p1 = Module["_emscripten_bind_btVector3__deSerializeFloat_p1"] = asm["_emscripten_bind_btVector3__deSerializeFloat_p1"]; +var _emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getUserPointer_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getUserPointer_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getUserPointer_p0"]; +var _emscripten_bind_btOptimizedBvh__serialize_p3 = Module["_emscripten_bind_btOptimizedBvh__serialize_p3"] = asm["_emscripten_bind_btOptimizedBvh__serialize_p3"]; +var _emscripten_bind_btOptimizedBvh__serialize_p2 = Module["_emscripten_bind_btOptimizedBvh__serialize_p2"] = asm["_emscripten_bind_btOptimizedBvh__serialize_p2"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btUniformScalingShape__getBoundingSphere_p2 = Module["_emscripten_bind_btUniformScalingShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btUniformScalingShape__getBoundingSphere_p2"]; +var _emscripten_bind_btQuadWord__getY_p0 = Module["_emscripten_bind_btQuadWord__getY_p0"] = asm["_emscripten_bind_btQuadWord__getY_p0"]; +var _emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0"]; +var _emscripten_bind_btUniversalConstraint__getAngle_p1 = Module["_emscripten_bind_btUniversalConstraint__getAngle_p1"] = asm["_emscripten_bind_btUniversalConstraint__getAngle_p1"]; +var _emscripten_bind_btSliderConstraint__buildJacobian_p0 = Module["_emscripten_bind_btSliderConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btSliderConstraint__buildJacobian_p0"]; +var _emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0 = Module["_emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0"] = asm["_emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0"]; +var _emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1 = Module["_emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1"] = asm["_emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1"]; +var _emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btBoxShape__isPolyhedral_p0 = Module["_emscripten_bind_btBoxShape__isPolyhedral_p0"] = asm["_emscripten_bind_btBoxShape__isPolyhedral_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btVector4__maxAxis_p0 = Module["_emscripten_bind_btVector4__maxAxis_p0"] = asm["_emscripten_bind_btVector4__maxAxis_p0"]; +var _emscripten_bind_btRigidBody__checkCollideWith_p1 = Module["_emscripten_bind_btRigidBody__checkCollideWith_p1"] = asm["_emscripten_bind_btRigidBody__checkCollideWith_p1"]; +var _emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btHinge2Constraint__getAxis1_p0 = Module["_emscripten_bind_btHinge2Constraint__getAxis1_p0"] = asm["_emscripten_bind_btHinge2Constraint__getAxis1_p0"]; +var _emscripten_bind_btCapsuleShapeX__setUserPointer_p1 = Module["_emscripten_bind_btCapsuleShapeX__setUserPointer_p1"] = asm["_emscripten_bind_btCapsuleShapeX__setUserPointer_p1"]; +var _emscripten_bind_btQuadWord__getX_p0 = Module["_emscripten_bind_btQuadWord__getX_p0"] = asm["_emscripten_bind_btQuadWord__getX_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1"]; +var _emscripten_bind_btCapsuleShape__isInfinite_p0 = Module["_emscripten_bind_btCapsuleShape__isInfinite_p0"] = asm["_emscripten_bind_btCapsuleShape__isInfinite_p0"]; +var _emscripten_bind_btCompoundShape__getNumChildShapes_p0 = Module["_emscripten_bind_btCompoundShape__getNumChildShapes_p0"] = asm["_emscripten_bind_btCompoundShape__getNumChildShapes_p0"]; +var _emscripten_bind_btOptimizedBvh__buildInternal_p0 = Module["_emscripten_bind_btOptimizedBvh__buildInternal_p0"] = asm["_emscripten_bind_btOptimizedBvh__buildInternal_p0"]; +var _emscripten_bind_btUniversalConstraint__setAxis_p2 = Module["_emscripten_bind_btUniversalConstraint__setAxis_p2"] = asm["_emscripten_bind_btUniversalConstraint__setAxis_p2"]; +var _emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1"]; +var _emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1"]; +var _emscripten_bind_btManifoldPoint__btManifoldPoint_p4 = Module["_emscripten_bind_btManifoldPoint__btManifoldPoint_p4"] = asm["_emscripten_bind_btManifoldPoint__btManifoldPoint_p4"]; +var _emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_cid_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_cid_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_cid_p1"]; +var _emscripten_bind_btDbvtProxy__isSoftBody_p1 = Module["_emscripten_bind_btDbvtProxy__isSoftBody_p1"] = asm["_emscripten_bind_btDbvtProxy__isSoftBody_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11 = Module["_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11"] = asm["_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11"]; +var _emscripten_bind_btPersistentManifold__set_m_objectType_p1 = Module["_emscripten_bind_btPersistentManifold__set_m_objectType_p1"] = asm["_emscripten_bind_btPersistentManifold__set_m_objectType_p1"]; +var _emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0 = Module["_emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0"] = asm["_emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2 = Module["_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2"]; +var _emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3 = Module["_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3"]; +var _emscripten_bind_btHinge2Constraint__enableFeedback_p1 = Module["_emscripten_bind_btHinge2Constraint__enableFeedback_p1"] = asm["_emscripten_bind_btHinge2Constraint__enableFeedback_p1"]; +var _emscripten_bind_btIDebugDraw__drawAabb_p3 = Module["_emscripten_bind_btIDebugDraw__drawAabb_p3"] = asm["_emscripten_bind_btIDebugDraw__drawAabb_p3"]; +var _emscripten_bind_btGeneric6DofConstraint__isLimited_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__isLimited_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__isLimited_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__setLimit_p3 = Module["_emscripten_bind_btGeneric6DofConstraint__setLimit_p3"] = asm["_emscripten_bind_btGeneric6DofConstraint__setLimit_p3"]; +var _emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1"]; +var _emscripten_bind_btContactConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btContactConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btContactConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2"]; +var _emscripten_bind_btSliderConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btSliderConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btSliderConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld____destroy___p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld____destroy___p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld____destroy___p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btCylinderShape__getName_p0 = Module["_emscripten_bind_btCylinderShape__getName_p0"] = asm["_emscripten_bind_btCylinderShape__getName_p0"]; +var _emscripten_bind_btTypedConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btTypedConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btTypedConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0 = Module["_emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0"] = asm["_emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0"]; +var _emscripten_bind_btVector3__op_set_p1 = Module["_emscripten_bind_btVector3__op_set_p1"] = asm["_emscripten_bind_btVector3__op_set_p1"]; +var _emscripten_bind_btVector3__deSerializeDouble_p1 = Module["_emscripten_bind_btVector3__deSerializeDouble_p1"] = asm["_emscripten_bind_btVector3__deSerializeDouble_p1"]; +var _emscripten_bind_btAxisSweep3__getHandle_p1 = Module["_emscripten_bind_btAxisSweep3__getHandle_p1"] = asm["_emscripten_bind_btAxisSweep3__getHandle_p1"]; +var _emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0 = Module["_emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0"] = asm["_emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0"]; +var _emscripten_bind_btRigidBody__checkCollideWithOverride_p1 = Module["_emscripten_bind_btRigidBody__checkCollideWithOverride_p1"] = asm["_emscripten_bind_btRigidBody__checkCollideWithOverride_p1"]; +var _emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0 = Module["_emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0"] = asm["_emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0"]; +var _emscripten_bind_btUniversalConstraint__calculateTransforms_p2 = Module["_emscripten_bind_btUniversalConstraint__calculateTransforms_p2"] = asm["_emscripten_bind_btUniversalConstraint__calculateTransforms_p2"]; +var _emscripten_bind_btUniversalConstraint__calculateTransforms_p0 = Module["_emscripten_bind_btUniversalConstraint__calculateTransforms_p0"] = asm["_emscripten_bind_btUniversalConstraint__calculateTransforms_p0"]; +var _emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2 = Module["_emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2"] = asm["_emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2"]; +var _emscripten_bind_btConeTwistConstraint__buildJacobian_p0 = Module["_emscripten_bind_btConeTwistConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btConeTwistConstraint__buildJacobian_p0"]; +var _emscripten_bind_btRigidBody__addConstraintRef_p1 = Module["_emscripten_bind_btRigidBody__addConstraintRef_p1"] = asm["_emscripten_bind_btRigidBody__addConstraintRef_p1"]; +var _emscripten_bind_btConeShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConeShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConeShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btConeShape__getRadius_p0 = Module["_emscripten_bind_btConeShape__getRadius_p0"] = asm["_emscripten_bind_btConeShape__getRadius_p0"]; +var _emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3 = Module["_emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3"] = asm["_emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3"]; +var _emscripten_bind_btDynamicsWorld__rayTest_p3 = Module["_emscripten_bind_btDynamicsWorld__rayTest_p3"] = asm["_emscripten_bind_btDynamicsWorld__rayTest_p3"]; +var _emscripten_bind_btQuaternion__normalize_p0 = Module["_emscripten_bind_btQuaternion__normalize_p0"] = asm["_emscripten_bind_btQuaternion__normalize_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btMatrix3x3__transposeTimes_p1 = Module["_emscripten_bind_btMatrix3x3__transposeTimes_p1"] = asm["_emscripten_bind_btMatrix3x3__transposeTimes_p1"]; +var _emscripten_bind_btConcaveShape__isSoftBody_p0 = Module["_emscripten_bind_btConcaveShape__isSoftBody_p0"] = asm["_emscripten_bind_btConcaveShape__isSoftBody_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getAabb_p3 = Module["_emscripten_bind_btConvexTriangleMeshShape__getAabb_p3"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getAabb_p3"]; +var _emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3 = Module["_emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3"] = asm["_emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3"]; +var _emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2 = Module["_emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2"] = asm["_emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2"]; +var _emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0 = Module["_emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0"] = asm["_emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0"]; +var _emscripten_bind_btCollisionDispatcher__needsCollision_p2 = Module["_emscripten_bind_btCollisionDispatcher__needsCollision_p2"] = asm["_emscripten_bind_btCollisionDispatcher__needsCollision_p2"]; +var _emscripten_bind_btVector4__serialize_p1 = Module["_emscripten_bind_btVector4__serialize_p1"] = asm["_emscripten_bind_btVector4__serialize_p1"]; +var _emscripten_bind_btHingeConstraint__btHingeConstraint_p4 = Module["_emscripten_bind_btHingeConstraint__btHingeConstraint_p4"] = asm["_emscripten_bind_btHingeConstraint__btHingeConstraint_p4"]; +var _emscripten_bind_btHingeConstraint__btHingeConstraint_p7 = Module["_emscripten_bind_btHingeConstraint__btHingeConstraint_p7"] = asm["_emscripten_bind_btHingeConstraint__btHingeConstraint_p7"]; +var _emscripten_bind_btHingeConstraint__btHingeConstraint_p6 = Module["_emscripten_bind_btHingeConstraint__btHingeConstraint_p6"] = asm["_emscripten_bind_btHingeConstraint__btHingeConstraint_p6"]; +var _emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1 = Module["_emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1"] = asm["_emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1"]; +var _emscripten_bind_btBoxShape__getLocalScaling_p0 = Module["_emscripten_bind_btBoxShape__getLocalScaling_p0"] = asm["_emscripten_bind_btBoxShape__getLocalScaling_p0"]; +var _emscripten_bind_btUniversalConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btUniversalConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btUniversalConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0"]; +var _emscripten_bind_btPersistentManifold__setBodies_p2 = Module["_emscripten_bind_btPersistentManifold__setBodies_p2"] = asm["_emscripten_bind_btPersistentManifold__setBodies_p2"]; +var _emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0 = Module["_emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0"] = asm["_emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0"]; +var _emscripten_bind_btUniversalConstraint__getUid_p0 = Module["_emscripten_bind_btUniversalConstraint__getUid_p0"] = asm["_emscripten_bind_btUniversalConstraint__getUid_p0"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1"]; +var _emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1 = Module["_emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1"]; +var _emscripten_bind_btCollisionShape__isConcave_p0 = Module["_emscripten_bind_btCollisionShape__isConcave_p0"] = asm["_emscripten_bind_btCollisionShape__isConcave_p0"]; +var _emscripten_bind_btHingeConstraint__setEnabled_p1 = Module["_emscripten_bind_btHingeConstraint__setEnabled_p1"] = asm["_emscripten_bind_btHingeConstraint__setEnabled_p1"]; +var _emscripten_bind_btSliderConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btSliderConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btSliderConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2 = Module["_emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2"] = asm["_emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2"]; +var _emscripten_bind_btRigidBody__integrateVelocities_p1 = Module["_emscripten_bind_btRigidBody__integrateVelocities_p1"] = asm["_emscripten_bind_btRigidBody__integrateVelocities_p1"]; +var _emscripten_bind_btRigidBody__internalGetInvMass_p0 = Module["_emscripten_bind_btRigidBody__internalGetInvMass_p0"] = asm["_emscripten_bind_btRigidBody__internalGetInvMass_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1"]; +var _emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1 = Module["_emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1"]; +var _emscripten_bind_btTypedConstraint____destroy___p0 = Module["_emscripten_bind_btTypedConstraint____destroy___p0"] = asm["_emscripten_bind_btTypedConstraint____destroy___p0"]; +var _emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1 = Module["_emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1"] = asm["_emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1"]; +var _emscripten_bind_btHingeConstraint__getLowerLimit_p0 = Module["_emscripten_bind_btHingeConstraint__getLowerLimit_p0"] = asm["_emscripten_bind_btHingeConstraint__getLowerLimit_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1"]; +var _emscripten_bind_btQuaternion__getX_p0 = Module["_emscripten_bind_btQuaternion__getX_p0"] = asm["_emscripten_bind_btQuaternion__getX_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0"]; +var _emscripten_bind_btConeTwistConstraint__isEnabled_p0 = Module["_emscripten_bind_btConeTwistConstraint__isEnabled_p0"] = asm["_emscripten_bind_btConeTwistConstraint__isEnabled_p0"]; +var _strlen = Module["_strlen"] = asm["_strlen"]; +var _emscripten_bind_btWheelInfo__get_m_deltaRotation_p0 = Module["_emscripten_bind_btWheelInfo__get_m_deltaRotation_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_deltaRotation_p0"]; +var _emscripten_bind_btQuaternion__getY_p0 = Module["_emscripten_bind_btQuaternion__getY_p0"] = asm["_emscripten_bind_btQuaternion__getY_p0"]; +var _emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3 = Module["_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3"] = asm["_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3"]; +var _emscripten_bind_btDynamicsWorld__setConstraintSolver_p1 = Module["_emscripten_bind_btDynamicsWorld__setConstraintSolver_p1"] = asm["_emscripten_bind_btDynamicsWorld__setConstraintSolver_p1"]; +var _emscripten_bind_btUniformScalingShape__getUserPointer_p0 = Module["_emscripten_bind_btUniformScalingShape__getUserPointer_p0"] = asm["_emscripten_bind_btUniformScalingShape__getUserPointer_p0"]; +var _emscripten_bind_btHashString__get_m_hash_p0 = Module["_emscripten_bind_btHashString__get_m_hash_p0"] = asm["_emscripten_bind_btHashString__get_m_hash_p0"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btHingeConstraint__getInfo1_p1 = Module["_emscripten_bind_btHingeConstraint__getInfo1_p1"] = asm["_emscripten_bind_btHingeConstraint__getInfo1_p1"]; +var _emscripten_bind_btConeShapeZ__isConcave_p0 = Module["_emscripten_bind_btConeShapeZ__isConcave_p0"] = asm["_emscripten_bind_btConeShapeZ__isConcave_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1"]; +var _emscripten_bind_btDbvtBroadphase__collide_p1 = Module["_emscripten_bind_btDbvtBroadphase__collide_p1"] = asm["_emscripten_bind_btDbvtBroadphase__collide_p1"]; +var _emscripten_bind_btTriangleInfo__set_m_flags_p1 = Module["_emscripten_bind_btTriangleInfo__set_m_flags_p1"] = asm["_emscripten_bind_btTriangleInfo__set_m_flags_p1"]; +var _emscripten_bind_btBU_Simplex1to4__addVertex_p1 = Module["_emscripten_bind_btBU_Simplex1to4__addVertex_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__addVertex_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0"]; +var _emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0"]; +var _emscripten_bind_btCollisionDispatcher__getNearCallback_p0 = Module["_emscripten_bind_btCollisionDispatcher__getNearCallback_p0"] = asm["_emscripten_bind_btCollisionDispatcher__getNearCallback_p0"]; +var _emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btWheelInfo____destroy___p0 = Module["_emscripten_bind_btWheelInfo____destroy___p0"] = asm["_emscripten_bind_btWheelInfo____destroy___p0"]; +var _emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0 = Module["_emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0"] = asm["_emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0"]; +var _emscripten_bind_btUniformScalingShape__serializeSingleShape_p1 = Module["_emscripten_bind_btUniformScalingShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btUniformScalingShape__serializeSingleShape_p1"]; +var _emscripten_bind_btConeShapeX__getConeUpIndex_p0 = Module["_emscripten_bind_btConeShapeX__getConeUpIndex_p0"] = asm["_emscripten_bind_btConeShapeX__getConeUpIndex_p0"]; +var _emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0"]; +var _emscripten_bind_btUniversalConstraint__getAxis1_p0 = Module["_emscripten_bind_btUniversalConstraint__getAxis1_p0"] = asm["_emscripten_bind_btUniversalConstraint__getAxis1_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0"]; +var _emscripten_bind_btDispatcherInfo__get_m_stepCount_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_stepCount_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_stepCount_p0"]; +var _emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3 = Module["_emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3"] = asm["_emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3"]; +var _emscripten_bind_btQuadWord__w_p0 = Module["_emscripten_bind_btQuadWord__w_p0"] = asm["_emscripten_bind_btQuadWord__w_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0"]; +var _emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1 = Module["_emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1"] = asm["_emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1"]; +var _emscripten_bind_btConeTwistConstraint__getConstraintType_p0 = Module["_emscripten_bind_btConeTwistConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getConstraintType_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1"]; +var _emscripten_bind_btCompoundShape__getChildList_p0 = Module["_emscripten_bind_btCompoundShape__getChildList_p0"] = asm["_emscripten_bind_btCompoundShape__getChildList_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1"]; +var _emscripten_bind_btGhostObject__isActive_p0 = Module["_emscripten_bind_btGhostObject__isActive_p0"] = asm["_emscripten_bind_btGhostObject__isActive_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0"]; +var _emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1 = Module["_emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1"]; +var _emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3 = Module["_emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3"] = asm["_emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3"]; +var _emscripten_bind_btGhostObject__getContactProcessingThreshold_p0 = Module["_emscripten_bind_btGhostObject__getContactProcessingThreshold_p0"] = asm["_emscripten_bind_btGhostObject__getContactProcessingThreshold_p0"]; +var _emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1 = Module["_emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1"] = asm["_emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1"]; +var _emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3 = Module["_emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3"] = asm["_emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3"]; +var _emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btGhostObject__setAnisotropicFriction_p1 = Module["_emscripten_bind_btGhostObject__setAnisotropicFriction_p1"] = asm["_emscripten_bind_btGhostObject__setAnisotropicFriction_p1"]; +var _emscripten_bind_btManifoldPoint__getDistance_p0 = Module["_emscripten_bind_btManifoldPoint__getDistance_p0"] = asm["_emscripten_bind_btManifoldPoint__getDistance_p0"]; +var _emscripten_bind_btHashInt__getHash_p0 = Module["_emscripten_bind_btHashInt__getHash_p0"] = asm["_emscripten_bind_btHashInt__getHash_p0"]; +var _emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_CProfileSample____destroy___p0 = Module["_emscripten_bind_CProfileSample____destroy___p0"] = asm["_emscripten_bind_CProfileSample____destroy___p0"]; +var _emscripten_bind_btHinge2Constraint__calcAnchorPos_p0 = Module["_emscripten_bind_btHinge2Constraint__calcAnchorPos_p0"] = asm["_emscripten_bind_btHinge2Constraint__calcAnchorPos_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1"]; +var _emscripten_bind_btPoint2PointConstraint__serialize_p2 = Module["_emscripten_bind_btPoint2PointConstraint__serialize_p2"] = asm["_emscripten_bind_btPoint2PointConstraint__serialize_p2"]; +var _emscripten_bind_btUniversalConstraint__getParam_p2 = Module["_emscripten_bind_btUniversalConstraint__getParam_p2"] = asm["_emscripten_bind_btUniversalConstraint__getParam_p2"]; +var _emscripten_bind_btConeShapeZ__getConeUpIndex_p0 = Module["_emscripten_bind_btConeShapeZ__getConeUpIndex_p0"] = asm["_emscripten_bind_btConeShapeZ__getConeUpIndex_p0"]; +var _emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0 = Module["_emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0"]; +var _emscripten_bind_btConstraintSetting__btConstraintSetting_p0 = Module["_emscripten_bind_btConstraintSetting__btConstraintSetting_p0"] = asm["_emscripten_bind_btConstraintSetting__btConstraintSetting_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setParam_p3 = Module["_emscripten_bind_btGeneric6DofConstraint__setParam_p3"] = asm["_emscripten_bind_btGeneric6DofConstraint__setParam_p3"]; +var _emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0 = Module["_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0"] = asm["_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0"]; +var _emscripten_bind_btCapsuleShapeZ__isInfinite_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isInfinite_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isInfinite_p0"]; +var _emscripten_bind_btDbvtProxy__get_m_uniqueId_p0 = Module["_emscripten_bind_btDbvtProxy__get_m_uniqueId_p0"] = asm["_emscripten_bind_btDbvtProxy__get_m_uniqueId_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0"]; +var _emscripten_bind_btBroadphaseInterface__resetPool_p1 = Module["_emscripten_bind_btBroadphaseInterface__resetPool_p1"] = asm["_emscripten_bind_btBroadphaseInterface__resetPool_p1"]; +var _emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11 = Module["_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11"] = asm["_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1"]; +var _emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0 = Module["_emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0"] = asm["_emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0"]; +var _emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12 = Module["_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12"] = asm["_emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12"]; +var _emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0"]; +var _emscripten_bind_btContactConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btContactConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btContactConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1"]; +var _emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1 = Module["_emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1"]; +var _emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0 = Module["_emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0"] = asm["_emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1"]; +var _emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btQuadWord__setValue_p4 = Module["_emscripten_bind_btQuadWord__setValue_p4"] = asm["_emscripten_bind_btQuadWord__setValue_p4"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1"]; +var _emscripten_bind_btQuadWord__y_p0 = Module["_emscripten_bind_btQuadWord__y_p0"] = asm["_emscripten_bind_btQuadWord__y_p0"]; +var _emscripten_bind_btQuadWord__setValue_p3 = Module["_emscripten_bind_btQuadWord__setValue_p3"] = asm["_emscripten_bind_btQuadWord__setValue_p3"]; +var _emscripten_bind_btRigidBody__getInvMass_p0 = Module["_emscripten_bind_btRigidBody__getInvMass_p0"] = asm["_emscripten_bind_btRigidBody__getInvMass_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1"]; +var _emscripten_bind_btCollisionObject__getUserPointer_p0 = Module["_emscripten_bind_btCollisionObject__getUserPointer_p0"] = asm["_emscripten_bind_btCollisionObject__getUserPointer_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1"]; +var _emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0 = Module["_emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0"] = asm["_emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0"]; +var _emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0 = Module["_emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0"] = asm["_emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0"]; +var _emscripten_bind_btWheelInfo__get_m_rotation_p0 = Module["_emscripten_bind_btWheelInfo__get_m_rotation_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_rotation_p0"]; +var _emscripten_bind_btQuantizedBvh__unQuantize_p1 = Module["_emscripten_bind_btQuantizedBvh__unQuantize_p1"] = asm["_emscripten_bind_btQuantizedBvh__unQuantize_p1"]; +var _emscripten_bind_btUniversalConstraint__getAxis2_p0 = Module["_emscripten_bind_btUniversalConstraint__getAxis2_p0"] = asm["_emscripten_bind_btUniversalConstraint__getAxis2_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0"]; +var _emscripten_bind_btTypedConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btTypedConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btTypedConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0 = Module["_emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0"]; +var _emscripten_bind_btQuantizedBvh__quantize_p3 = Module["_emscripten_bind_btQuantizedBvh__quantize_p3"] = asm["_emscripten_bind_btQuantizedBvh__quantize_p3"]; +var _emscripten_bind_btDynamicsWorld__removeCollisionObject_p1 = Module["_emscripten_bind_btDynamicsWorld__removeCollisionObject_p1"] = asm["_emscripten_bind_btDynamicsWorld__removeCollisionObject_p1"]; +var _emscripten_bind_btVector4__closestAxis4_p0 = Module["_emscripten_bind_btVector4__closestAxis4_p0"] = asm["_emscripten_bind_btVector4__closestAxis4_p0"]; +var _emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btGhostObject__getAnisotropicFriction_p0 = Module["_emscripten_bind_btGhostObject__getAnisotropicFriction_p0"] = asm["_emscripten_bind_btGhostObject__getAnisotropicFriction_p0"]; +var _emscripten_bind_btCollisionObject__forceActivationState_p1 = Module["_emscripten_bind_btCollisionObject__forceActivationState_p1"] = asm["_emscripten_bind_btCollisionObject__forceActivationState_p1"]; +var _emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0 = Module["_emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0"] = asm["_emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1 = Module["_emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1"] = asm["_emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1"]; +var _emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0"]; +var _emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btConvexHullShape__isNonMoving_p0 = Module["_emscripten_bind_btConvexHullShape__isNonMoving_p0"] = asm["_emscripten_bind_btConvexHullShape__isNonMoving_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1"]; +var _emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0 = Module["_emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0"] = asm["_emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0"]; +var _emscripten_bind_btConvexHullShape__isInside_p2 = Module["_emscripten_bind_btConvexHullShape__isInside_p2"] = asm["_emscripten_bind_btConvexHullShape__isInside_p2"]; +var _emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5 = Module["_emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5"] = asm["_emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5"]; +var _emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1"]; +var _emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0 = Module["_emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0"]; +var _emscripten_bind_btSphereShape__serializeSingleShape_p1 = Module["_emscripten_bind_btSphereShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btSphereShape__serializeSingleShape_p1"]; +var _emscripten_bind_btCylinderShapeX__serializeSingleShape_p1 = Module["_emscripten_bind_btCylinderShapeX__serializeSingleShape_p1"] = asm["_emscripten_bind_btCylinderShapeX__serializeSingleShape_p1"]; +var _emscripten_bind_btHinge2Constraint__getRigidBodyA_p0 = Module["_emscripten_bind_btHinge2Constraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btHinge2Constraint__getRigidBodyA_p0"]; +var _emscripten_bind_btCollisionObject__setRestitution_p1 = Module["_emscripten_bind_btCollisionObject__setRestitution_p1"] = asm["_emscripten_bind_btCollisionObject__setRestitution_p1"]; +var _emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btHashString__set_m_string_p1 = Module["_emscripten_bind_btHashString__set_m_string_p1"] = asm["_emscripten_bind_btHashString__set_m_string_p1"]; +var _emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btConvexHullShape__isSoftBody_p0 = Module["_emscripten_bind_btConvexHullShape__isSoftBody_p0"] = asm["_emscripten_bind_btConvexHullShape__isSoftBody_p0"]; +var _emscripten_bind_btRigidBody__getLinearVelocity_p0 = Module["_emscripten_bind_btRigidBody__getLinearVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getLinearVelocity_p0"]; +var _emscripten_bind_btRigidBody__applyTorque_p1 = Module["_emscripten_bind_btRigidBody__applyTorque_p1"] = asm["_emscripten_bind_btRigidBody__applyTorque_p1"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1"]; +var _emscripten_bind_btConvexShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConvexShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConvexShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btIndexedMesh__set_m_vertexType_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_vertexType_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_vertexType_p1"]; +var _emscripten_bind_btCollisionObject__hasContactResponse_p0 = Module["_emscripten_bind_btCollisionObject__hasContactResponse_p0"] = asm["_emscripten_bind_btCollisionObject__hasContactResponse_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getEdge_p3 = Module["_emscripten_bind_btPolyhedralConvexShape__getEdge_p3"] = asm["_emscripten_bind_btPolyhedralConvexShape__getEdge_p3"]; +var _emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9 = Module["_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9"]; +var _emscripten_bind_btCapsuleShape__setLocalScaling_p1 = Module["_emscripten_bind_btCapsuleShape__setLocalScaling_p1"] = asm["_emscripten_bind_btCapsuleShape__setLocalScaling_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2"]; +var _emscripten_bind_btPolyhedralConvexShape__getVertex_p2 = Module["_emscripten_bind_btPolyhedralConvexShape__getVertex_p2"] = asm["_emscripten_bind_btPolyhedralConvexShape__getVertex_p2"]; +var _emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0 = Module["_emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0"] = asm["_emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0"]; +var _emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0 = Module["_emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0"] = asm["_emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0"]; +var _emscripten_bind_btGhostObject__setUserPointer_p1 = Module["_emscripten_bind_btGhostObject__setUserPointer_p1"] = asm["_emscripten_bind_btGhostObject__setUserPointer_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setFrames_p2 = Module["_emscripten_bind_btGeneric6DofConstraint__setFrames_p2"] = asm["_emscripten_bind_btGeneric6DofConstraint__setFrames_p2"]; +var _emscripten_bind_btUniversalConstraint__setUpperLimit_p2 = Module["_emscripten_bind_btUniversalConstraint__setUpperLimit_p2"] = asm["_emscripten_bind_btUniversalConstraint__setUpperLimit_p2"]; +var _emscripten_bind_btConvexHullShape__getScaledPoint_p1 = Module["_emscripten_bind_btConvexHullShape__getScaledPoint_p1"] = asm["_emscripten_bind_btConvexHullShape__getScaledPoint_p1"]; +var _emscripten_bind_btConeShapeX__getUserPointer_p0 = Module["_emscripten_bind_btConeShapeX__getUserPointer_p0"] = asm["_emscripten_bind_btConeShapeX__getUserPointer_p0"]; +var _emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1 = Module["_emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1"] = asm["_emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1"]; +var _emscripten_bind_btSliderConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btSliderConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btSliderConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__getGravity_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getGravity_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getGravity_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1"]; +var _emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btConeShapeZ__getBoundingSphere_p2 = Module["_emscripten_bind_btConeShapeZ__getBoundingSphere_p2"] = asm["_emscripten_bind_btConeShapeZ__getBoundingSphere_p2"]; +var _emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4 = Module["_emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4"] = asm["_emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0"]; +var _emscripten_bind_btConeShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btConeShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btConeShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btBroadphaseRayCallback__process_p1 = Module["_emscripten_bind_btBroadphaseRayCallback__process_p1"] = asm["_emscripten_bind_btBroadphaseRayCallback__process_p1"]; +var _emscripten_bind_btSimpleBroadphase__rayTest_p5 = Module["_emscripten_bind_btSimpleBroadphase__rayTest_p5"] = asm["_emscripten_bind_btSimpleBroadphase__rayTest_p5"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btRigidBody__applyTorqueImpulse_p1 = Module["_emscripten_bind_btRigidBody__applyTorqueImpulse_p1"] = asm["_emscripten_bind_btRigidBody__applyTorqueImpulse_p1"]; +var _emscripten_bind_btMultiSphereShape__isInfinite_p0 = Module["_emscripten_bind_btMultiSphereShape__isInfinite_p0"] = asm["_emscripten_bind_btMultiSphereShape__isInfinite_p0"]; +var _emscripten_bind_btContactConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btContactConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btContactConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btVector3__closestAxis_p0 = Module["_emscripten_bind_btVector3__closestAxis_p0"] = asm["_emscripten_bind_btVector3__closestAxis_p0"]; +var _emscripten_bind_btSimpleBroadphase__rayTest_p3 = Module["_emscripten_bind_btSimpleBroadphase__rayTest_p3"] = asm["_emscripten_bind_btSimpleBroadphase__rayTest_p3"]; +var _emscripten_bind_btMultiSphereShape__getAabbSlow_p3 = Module["_emscripten_bind_btMultiSphereShape__getAabbSlow_p3"] = asm["_emscripten_bind_btMultiSphereShape__getAabbSlow_p3"]; +var _emscripten_bind_btRigidBody__applyCentralImpulse_p1 = Module["_emscripten_bind_btRigidBody__applyCentralImpulse_p1"] = asm["_emscripten_bind_btRigidBody__applyCentralImpulse_p1"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1"]; +var _emscripten_bind_btWheelInfo__set_m_frictionSlip_p1 = Module["_emscripten_bind_btWheelInfo__set_m_frictionSlip_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_frictionSlip_p1"]; +var _emscripten_bind_btRigidBody__updateDeactivation_p1 = Module["_emscripten_bind_btRigidBody__updateDeactivation_p1"] = asm["_emscripten_bind_btRigidBody__updateDeactivation_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0"]; +var _emscripten_bind_btConeTwistConstraint__getObjectType_p0 = Module["_emscripten_bind_btConeTwistConstraint__getObjectType_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getObjectType_p0"]; +var _emscripten_bind_btDbvtProxy__isConvex_p1 = Module["_emscripten_bind_btDbvtProxy__isConvex_p1"] = asm["_emscripten_bind_btDbvtProxy__isConvex_p1"]; +var _emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btCapsuleShapeZ__getUserPointer_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getUserPointer_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getUserPointer_p0"]; +var _emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0 = Module["_emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0"]; +var _emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0 = Module["_emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getUid_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getUid_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getUid_p0"]; +var _emscripten_bind_btWheelInfo__set_m_clientInfo_p1 = Module["_emscripten_bind_btWheelInfo__set_m_clientInfo_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_clientInfo_p1"]; +var _emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1 = Module["_emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1"] = asm["_emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5"]; +var _emscripten_bind_btCapsuleShapeZ__isSoftBody_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isSoftBody_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isSoftBody_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0"]; +var _emscripten_bind_btQuaternion__op_mul_p1 = Module["_emscripten_bind_btQuaternion__op_mul_p1"] = asm["_emscripten_bind_btQuaternion__op_mul_p1"]; +var _emscripten_bind_btSphereShape__getMarginNV_p0 = Module["_emscripten_bind_btSphereShape__getMarginNV_p0"] = asm["_emscripten_bind_btSphereShape__getMarginNV_p0"]; +var _emscripten_bind_btBoxShape__isNonMoving_p0 = Module["_emscripten_bind_btBoxShape__isNonMoving_p0"] = asm["_emscripten_bind_btBoxShape__isNonMoving_p0"]; +var _emscripten_bind_btUniversalConstraint__setLimit_p3 = Module["_emscripten_bind_btUniversalConstraint__setLimit_p3"] = asm["_emscripten_bind_btUniversalConstraint__setLimit_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0"]; +var _emscripten_bind_btAngularLimit__getError_p0 = Module["_emscripten_bind_btAngularLimit__getError_p0"] = asm["_emscripten_bind_btAngularLimit__getError_p0"]; +var _emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2 = Module["_emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2"]; +var _emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1"]; +var _emscripten_bind_btTypedConstraint__serialize_p2 = Module["_emscripten_bind_btTypedConstraint__serialize_p2"] = asm["_emscripten_bind_btTypedConstraint__serialize_p2"]; +var _emscripten_bind_btDbvtBroadphase__resetPool_p1 = Module["_emscripten_bind_btDbvtBroadphase__resetPool_p1"] = asm["_emscripten_bind_btDbvtBroadphase__resetPool_p1"]; +var _emscripten_bind_btSliderConstraint__getFrameOffsetB_p0 = Module["_emscripten_bind_btSliderConstraint__getFrameOffsetB_p0"] = asm["_emscripten_bind_btSliderConstraint__getFrameOffsetB_p0"]; +var _emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3 = Module["_emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3"] = asm["_emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3"]; +var _emscripten_bind_btMatrix3x3__inverse_p0 = Module["_emscripten_bind_btMatrix3x3__inverse_p0"] = asm["_emscripten_bind_btMatrix3x3__inverse_p0"]; +var _emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2 = Module["_emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2"] = asm["_emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2"]; +var _emscripten_bind_btRigidBody__getFriction_p0 = Module["_emscripten_bind_btRigidBody__getFriction_p0"] = asm["_emscripten_bind_btRigidBody__getFriction_p0"]; +var _emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1 = Module["_emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1"] = asm["_emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0"]; +var _emscripten_bind_btDynamicsWorld__addAction_p1 = Module["_emscripten_bind_btDynamicsWorld__addAction_p1"] = asm["_emscripten_bind_btDynamicsWorld__addAction_p1"]; +var _emscripten_bind_CProfileSample__CProfileSample_p1 = Module["_emscripten_bind_CProfileSample__CProfileSample_p1"] = asm["_emscripten_bind_CProfileSample__CProfileSample_p1"]; +var _emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8 = Module["_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8"] = asm["_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8"]; +var _emscripten_bind_btRigidBody__getHitFraction_p0 = Module["_emscripten_bind_btRigidBody__getHitFraction_p0"] = asm["_emscripten_bind_btRigidBody__getHitFraction_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2 = Module["_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2"] = asm["_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2"]; +var _emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1 = Module["_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1"] = asm["_emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1"]; +var _emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_gid_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_gid_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_gid_p1"]; +var _emscripten_bind_btEmptyShape__getLocalScaling_p0 = Module["_emscripten_bind_btEmptyShape__getLocalScaling_p0"] = asm["_emscripten_bind_btEmptyShape__getLocalScaling_p0"]; +var _emscripten_bind_btHingeConstraint__serialize_p2 = Module["_emscripten_bind_btHingeConstraint__serialize_p2"] = asm["_emscripten_bind_btHingeConstraint__serialize_p2"]; +var _emscripten_bind_btBoxShape__getNumEdges_p0 = Module["_emscripten_bind_btBoxShape__getNumEdges_p0"] = asm["_emscripten_bind_btBoxShape__getNumEdges_p0"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1"]; +var _emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1 = Module["_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1"] = asm["_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1"]; +var _emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0 = Module["_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0"] = asm["_emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0"]; +var _emscripten_bind_btConcaveShape__isConcave_p0 = Module["_emscripten_bind_btConcaveShape__isConcave_p0"] = asm["_emscripten_bind_btConcaveShape__isConcave_p0"]; +var _emscripten_bind_btHingeConstraint__getInfo2_p1 = Module["_emscripten_bind_btHingeConstraint__getInfo2_p1"] = asm["_emscripten_bind_btHingeConstraint__getInfo2_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0"]; +var _emscripten_bind_btMatrix3x3__getRotation_p1 = Module["_emscripten_bind_btMatrix3x3__getRotation_p1"] = asm["_emscripten_bind_btMatrix3x3__getRotation_p1"]; +var _emscripten_bind_btConeShapeZ__isInfinite_p0 = Module["_emscripten_bind_btConeShapeZ__isInfinite_p0"] = asm["_emscripten_bind_btConeShapeZ__isInfinite_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getName_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getName_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getName_p0"]; +var _emscripten_bind_btCylinderShapeX__setUserPointer_p1 = Module["_emscripten_bind_btCylinderShapeX__setUserPointer_p1"] = asm["_emscripten_bind_btCylinderShapeX__setUserPointer_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btCapsuleShapeX__isConvex_p0 = Module["_emscripten_bind_btCapsuleShapeX__isConvex_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isConvex_p0"]; +var _emscripten_bind_btCylinderShapeX__getUpAxis_p0 = Module["_emscripten_bind_btCylinderShapeX__getUpAxis_p0"] = asm["_emscripten_bind_btCylinderShapeX__getUpAxis_p0"]; +var _emscripten_bind_btDynamicsWorld__getDebugDrawer_p0 = Module["_emscripten_bind_btDynamicsWorld__getDebugDrawer_p0"] = asm["_emscripten_bind_btDynamicsWorld__getDebugDrawer_p0"]; +var _emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1"]; +var _emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0"]; +var _emscripten_bind_btConvexInternalShape__isCompound_p0 = Module["_emscripten_bind_btConvexInternalShape__isCompound_p0"] = asm["_emscripten_bind_btConvexInternalShape__isCompound_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2"]; +var _emscripten_bind_btRaycastVehicle__getUserConstraintType_p0 = Module["_emscripten_bind_btRaycastVehicle__getUserConstraintType_p0"] = asm["_emscripten_bind_btRaycastVehicle__getUserConstraintType_p0"]; +var _emscripten_bind_btTriangleMesh__setPremadeAabb_p2 = Module["_emscripten_bind_btTriangleMesh__setPremadeAabb_p2"] = asm["_emscripten_bind_btTriangleMesh__setPremadeAabb_p2"]; +var _emscripten_bind_btCollisionObject__checkCollideWith_p1 = Module["_emscripten_bind_btCollisionObject__checkCollideWith_p1"] = asm["_emscripten_bind_btCollisionObject__checkCollideWith_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0"]; +var _emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0"]; +var _emscripten_bind_btConstraintSetting__set_m_tau_p1 = Module["_emscripten_bind_btConstraintSetting__set_m_tau_p1"] = asm["_emscripten_bind_btConstraintSetting__set_m_tau_p1"]; +var _emscripten_bind_btHinge2Constraint__needsFeedback_p0 = Module["_emscripten_bind_btHinge2Constraint__needsFeedback_p0"] = asm["_emscripten_bind_btHinge2Constraint__needsFeedback_p0"]; +var _emscripten_bind_btRigidBody__setCompanionId_p1 = Module["_emscripten_bind_btRigidBody__setCompanionId_p1"] = asm["_emscripten_bind_btRigidBody__setCompanionId_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0"]; +var _emscripten_bind_btOptimizedBvh__build_p4 = Module["_emscripten_bind_btOptimizedBvh__build_p4"] = asm["_emscripten_bind_btOptimizedBvh__build_p4"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btConeShapeX__isConvex_p0 = Module["_emscripten_bind_btConeShapeX__isConvex_p0"] = asm["_emscripten_bind_btConeShapeX__isConvex_p0"]; +var _emscripten_bind_btRigidBody__getTotalTorque_p0 = Module["_emscripten_bind_btRigidBody__getTotalTorque_p0"] = asm["_emscripten_bind_btRigidBody__getTotalTorque_p0"]; +var _emscripten_bind_btCollisionDispatcher__getNumManifolds_p0 = Module["_emscripten_bind_btCollisionDispatcher__getNumManifolds_p0"] = asm["_emscripten_bind_btCollisionDispatcher__getNumManifolds_p0"]; +var _emscripten_bind_btHingeConstraint__setParam_p3 = Module["_emscripten_bind_btHingeConstraint__setParam_p3"] = asm["_emscripten_bind_btHingeConstraint__setParam_p3"]; +var _emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1 = Module["_emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1"] = asm["_emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1"]; +var _emscripten_bind_btSliderConstraint__setLowerAngLimit_p1 = Module["_emscripten_bind_btSliderConstraint__setLowerAngLimit_p1"] = asm["_emscripten_bind_btSliderConstraint__setLowerAngLimit_p1"]; +var _emscripten_bind_btHashPtr__getHash_p0 = Module["_emscripten_bind_btHashPtr__getHash_p0"] = asm["_emscripten_bind_btHashPtr__getHash_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btIndexedMesh__btIndexedMesh_p0 = Module["_emscripten_bind_btIndexedMesh__btIndexedMesh_p0"] = asm["_emscripten_bind_btIndexedMesh__btIndexedMesh_p0"]; +var _emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btCapsuleShapeZ__getShapeType_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getShapeType_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getShapeType_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setEnabled_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setEnabled_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setEnabled_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1"]; +var _emscripten_bind_btCapsuleShape__isNonMoving_p0 = Module["_emscripten_bind_btCapsuleShape__isNonMoving_p0"] = asm["_emscripten_bind_btCapsuleShape__isNonMoving_p0"]; +var _emscripten_bind_btIDebugDraw__drawSphere_p3 = Module["_emscripten_bind_btIDebugDraw__drawSphere_p3"] = asm["_emscripten_bind_btIDebugDraw__drawSphere_p3"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0 = Module["_emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0"] = asm["_emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0"]; +var _emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1 = Module["_emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1"] = asm["_emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1"]; +var _emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4 = Module["_emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4"] = asm["_emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0"]; +var _emscripten_bind_btCylinderShape__isCompound_p0 = Module["_emscripten_bind_btCylinderShape__isCompound_p0"] = asm["_emscripten_bind_btCylinderShape__isCompound_p0"]; +var _emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btCylinderShapeX__setLocalScaling_p1 = Module["_emscripten_bind_btCylinderShapeX__setLocalScaling_p1"] = asm["_emscripten_bind_btCylinderShapeX__setLocalScaling_p1"]; +var _emscripten_bind_btConvexInternalShape__setLocalScaling_p1 = Module["_emscripten_bind_btConvexInternalShape__setLocalScaling_p1"] = asm["_emscripten_bind_btConvexInternalShape__setLocalScaling_p1"]; +var _emscripten_bind_btHingeConstraint__getAFrame_p0 = Module["_emscripten_bind_btHingeConstraint__getAFrame_p0"] = asm["_emscripten_bind_btHingeConstraint__getAFrame_p0"]; +var _emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0 = Module["_emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0"]; +var _emscripten_bind_btRigidBody__btRigidBody_p4 = Module["_emscripten_bind_btRigidBody__btRigidBody_p4"] = asm["_emscripten_bind_btRigidBody__btRigidBody_p4"]; +var _emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2 = Module["_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2"] = asm["_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2"]; +var _emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3 = Module["_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3"] = asm["_emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3"]; +var _emscripten_bind_bt32BitAxisSweep3__updateHandle_p4 = Module["_emscripten_bind_bt32BitAxisSweep3__updateHandle_p4"] = asm["_emscripten_bind_bt32BitAxisSweep3__updateHandle_p4"]; +var _emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1"]; +var _emscripten_bind_btWheelInfo__set_m_deltaRotation_p1 = Module["_emscripten_bind_btWheelInfo__set_m_deltaRotation_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_deltaRotation_p1"]; +var _emscripten_bind_bt32BitAxisSweep3__addHandle_p7 = Module["_emscripten_bind_bt32BitAxisSweep3__addHandle_p7"] = asm["_emscripten_bind_bt32BitAxisSweep3__addHandle_p7"]; +var _emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3 = Module["_emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3"]; +var _emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3 = Module["_emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3"] = asm["_emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0"]; +var _emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btTypedConstraint__buildJacobian_p0 = Module["_emscripten_bind_btTypedConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btTypedConstraint__buildJacobian_p0"]; +var _emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btStaticPlaneShape__setUserPointer_p1 = Module["_emscripten_bind_btStaticPlaneShape__setUserPointer_p1"] = asm["_emscripten_bind_btStaticPlaneShape__setUserPointer_p1"]; +var _emscripten_bind_btVector4__y_p0 = Module["_emscripten_bind_btVector4__y_p0"] = asm["_emscripten_bind_btVector4__y_p0"]; +var _emscripten_bind_btHinge2Constraint__getUserConstraintType_p0 = Module["_emscripten_bind_btHinge2Constraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btHinge2Constraint__getUserConstraintType_p0"]; +var _emscripten_bind_btCapsuleShape__setMargin_p1 = Module["_emscripten_bind_btCapsuleShape__setMargin_p1"] = asm["_emscripten_bind_btCapsuleShape__setMargin_p1"]; +var _emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0 = Module["_emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0"]; +var _emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btConeShapeZ__calculateLocalInertia_p2 = Module["_emscripten_bind_btConeShapeZ__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConeShapeZ__calculateLocalInertia_p2"]; +var _emscripten_bind_btConvexHullShape__getAabbSlow_p3 = Module["_emscripten_bind_btConvexHullShape__getAabbSlow_p3"] = asm["_emscripten_bind_btConvexHullShape__getAabbSlow_p3"]; +var _emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btIndexedMesh__set_m_vertexStride_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_vertexStride_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_vertexStride_p1"]; +var _emscripten_bind_btCollisionWorld__updateAabbs_p0 = Module["_emscripten_bind_btCollisionWorld__updateAabbs_p0"] = asm["_emscripten_bind_btCollisionWorld__updateAabbs_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1"]; +var _emscripten_bind_btDbvtBroadphase__printStats_p0 = Module["_emscripten_bind_btDbvtBroadphase__printStats_p0"] = asm["_emscripten_bind_btDbvtBroadphase__printStats_p0"]; +var _emscripten_bind_btPersistentManifold__getBody0_p0 = Module["_emscripten_bind_btPersistentManifold__getBody0_p0"] = asm["_emscripten_bind_btPersistentManifold__getBody0_p0"]; +var _emscripten_bind_btConeShape__getShapeType_p0 = Module["_emscripten_bind_btConeShape__getShapeType_p0"] = asm["_emscripten_bind_btConeShape__getShapeType_p0"]; +var _emscripten_bind_btEmptyShape__isNonMoving_p0 = Module["_emscripten_bind_btEmptyShape__isNonMoving_p0"] = asm["_emscripten_bind_btEmptyShape__isNonMoving_p0"]; +var _emscripten_bind_btQuadWord__setW_p1 = Module["_emscripten_bind_btQuadWord__setW_p1"] = asm["_emscripten_bind_btQuadWord__setW_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0 = Module["_emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0"] = asm["_emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0"]; +var _emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1 = Module["_emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1"] = asm["_emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1"]; +var _emscripten_bind_btAxisSweep3__aabbTest_p3 = Module["_emscripten_bind_btAxisSweep3__aabbTest_p3"] = asm["_emscripten_bind_btAxisSweep3__aabbTest_p3"]; +var _emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1 = Module["_emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1"] = asm["_emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1"]; +var _emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1 = Module["_emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1"]; +var _emscripten_bind_btGhostObject__serializeSingleObject_p1 = Module["_emscripten_bind_btGhostObject__serializeSingleObject_p1"] = asm["_emscripten_bind_btGhostObject__serializeSingleObject_p1"]; +var _emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0 = Module["_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0"]; +var _emscripten_bind_btGhostObject__setRestitution_p1 = Module["_emscripten_bind_btGhostObject__setRestitution_p1"] = asm["_emscripten_bind_btGhostObject__setRestitution_p1"]; +var _emscripten_bind_btContactConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btContactConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btContactConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0"]; +var _emscripten_bind_btConcaveShape__isNonMoving_p0 = Module["_emscripten_bind_btConcaveShape__isNonMoving_p0"] = asm["_emscripten_bind_btConcaveShape__isNonMoving_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0"]; +var _emscripten_bind_btCapsuleShapeX__getMarginNV_p0 = Module["_emscripten_bind_btCapsuleShapeX__getMarginNV_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getMarginNV_p0"]; +var _emscripten_bind_btPersistentManifold__get_m_companionIdA_p0 = Module["_emscripten_bind_btPersistentManifold__get_m_companionIdA_p0"] = asm["_emscripten_bind_btPersistentManifold__get_m_companionIdA_p0"]; +var _emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1 = Module["_emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1"]; +var _emscripten_bind_btWheelInfo__updateWheel_p2 = Module["_emscripten_bind_btWheelInfo__updateWheel_p2"] = asm["_emscripten_bind_btWheelInfo__updateWheel_p2"]; +var _emscripten_bind_btDynamicsWorld__addConstraint_p2 = Module["_emscripten_bind_btDynamicsWorld__addConstraint_p2"] = asm["_emscripten_bind_btDynamicsWorld__addConstraint_p2"]; +var _emscripten_bind_btDynamicsWorld__addConstraint_p1 = Module["_emscripten_bind_btDynamicsWorld__addConstraint_p1"] = asm["_emscripten_bind_btDynamicsWorld__addConstraint_p1"]; +var _emscripten_bind_btRigidBody__getTurnVelocity_p0 = Module["_emscripten_bind_btRigidBody__getTurnVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getTurnVelocity_p0"]; +var _emscripten_bind_btTypedConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btTypedConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btTypedConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0"]; +var _emscripten_bind_btCylinderShape__getUpAxis_p0 = Module["_emscripten_bind_btCylinderShape__getUpAxis_p0"] = asm["_emscripten_bind_btCylinderShape__getUpAxis_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1"]; +var _emscripten_bind_btDbvtBroadphase__getAabb_p3 = Module["_emscripten_bind_btDbvtBroadphase__getAabb_p3"] = asm["_emscripten_bind_btDbvtBroadphase__getAabb_p3"]; +var _emscripten_bind_btSphereShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btSphereShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btSphereShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0"]; +var _emscripten_bind_btBroadphaseInterface__printStats_p0 = Module["_emscripten_bind_btBroadphaseInterface__printStats_p0"] = asm["_emscripten_bind_btBroadphaseInterface__printStats_p0"]; +var _emscripten_bind_btHashInt__setUid1_p1 = Module["_emscripten_bind_btHashInt__setUid1_p1"] = asm["_emscripten_bind_btHashInt__setUid1_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btRigidBody__setCollisionFlags_p1 = Module["_emscripten_bind_btRigidBody__setCollisionFlags_p1"] = asm["_emscripten_bind_btRigidBody__setCollisionFlags_p1"]; +var _emscripten_bind_btGhostObject__hasContactResponse_p0 = Module["_emscripten_bind_btGhostObject__hasContactResponse_p0"] = asm["_emscripten_bind_btGhostObject__hasContactResponse_p0"]; +var _emscripten_bind_btDefaultVehicleRaycaster__castRay_p3 = Module["_emscripten_bind_btDefaultVehicleRaycaster__castRay_p3"] = asm["_emscripten_bind_btDefaultVehicleRaycaster__castRay_p3"]; +var _emscripten_bind_btSliderConstraint__getUseFrameOffset_p0 = Module["_emscripten_bind_btSliderConstraint__getUseFrameOffset_p0"] = asm["_emscripten_bind_btSliderConstraint__getUseFrameOffset_p0"]; +var _emscripten_bind_btCollisionObject__getIslandTag_p0 = Module["_emscripten_bind_btCollisionObject__getIslandTag_p0"] = asm["_emscripten_bind_btCollisionObject__getIslandTag_p0"]; +var _emscripten_bind_btCollisionShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCollisionShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCollisionShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btTranslationalLimitMotor____destroy___p0 = Module["_emscripten_bind_btTranslationalLimitMotor____destroy___p0"] = asm["_emscripten_bind_btTranslationalLimitMotor____destroy___p0"]; +var _emscripten_bind_btConcaveShape__isConvex_p0 = Module["_emscripten_bind_btConcaveShape__isConvex_p0"] = asm["_emscripten_bind_btConcaveShape__isConvex_p0"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1"]; +var _emscripten_bind_btIDebugDraw__drawCone_p5 = Module["_emscripten_bind_btIDebugDraw__drawCone_p5"] = asm["_emscripten_bind_btIDebugDraw__drawCone_p5"]; +var _emscripten_bind_btSphereShape__isNonMoving_p0 = Module["_emscripten_bind_btSphereShape__isNonMoving_p0"] = asm["_emscripten_bind_btSphereShape__isNonMoving_p0"]; +var _emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1 = Module["_emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1"] = asm["_emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0"]; +var _emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1 = Module["_emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1"] = asm["_emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1"]; +var _emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0"]; +var _emscripten_bind_btBoxShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btBoxShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btBoxShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5 = Module["_emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5"] = asm["_emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5"]; +var _emscripten_bind_btCollisionShape__getAabb_p3 = Module["_emscripten_bind_btCollisionShape__getAabb_p3"] = asm["_emscripten_bind_btCollisionShape__getAabb_p3"]; +var _emscripten_bind_btCapsuleShape____destroy___p0 = Module["_emscripten_bind_btCapsuleShape____destroy___p0"] = asm["_emscripten_bind_btCapsuleShape____destroy___p0"]; +var _emscripten_bind_btDynamicsWorld__removeRigidBody_p1 = Module["_emscripten_bind_btDynamicsWorld__removeRigidBody_p1"] = asm["_emscripten_bind_btDynamicsWorld__removeRigidBody_p1"]; +var _emscripten_bind_btHashInt__equals_p1 = Module["_emscripten_bind_btHashInt__equals_p1"] = asm["_emscripten_bind_btHashInt__equals_p1"]; +var _emscripten_bind_btCapsuleShape__isCompound_p0 = Module["_emscripten_bind_btCapsuleShape__isCompound_p0"] = asm["_emscripten_bind_btCapsuleShape__isCompound_p0"]; +var _emscripten_bind_btTransform__setIdentity_p0 = Module["_emscripten_bind_btTransform__setIdentity_p0"] = asm["_emscripten_bind_btTransform__setIdentity_p0"]; +var _emscripten_bind_btRigidBody__getCollisionFlags_p0 = Module["_emscripten_bind_btRigidBody__getCollisionFlags_p0"] = asm["_emscripten_bind_btRigidBody__getCollisionFlags_p0"]; +var _emscripten_bind_btRigidBody__getRootCollisionShape_p0 = Module["_emscripten_bind_btRigidBody__getRootCollisionShape_p0"] = asm["_emscripten_bind_btRigidBody__getRootCollisionShape_p0"]; +var _emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btRigidBody__setLinearVelocity_p1 = Module["_emscripten_bind_btRigidBody__setLinearVelocity_p1"] = asm["_emscripten_bind_btRigidBody__setLinearVelocity_p1"]; +var _emscripten_bind_btTransform__getBasis_p0 = Module["_emscripten_bind_btTransform__getBasis_p0"] = asm["_emscripten_bind_btTransform__getBasis_p0"]; +var _emscripten_bind_btMatrix3x3__setEulerZYX_p3 = Module["_emscripten_bind_btMatrix3x3__setEulerZYX_p3"] = asm["_emscripten_bind_btMatrix3x3__setEulerZYX_p3"]; +var _emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0"]; +var _emscripten_bind_btTriangleMesh__preallocateVertices_p1 = Module["_emscripten_bind_btTriangleMesh__preallocateVertices_p1"] = asm["_emscripten_bind_btTriangleMesh__preallocateVertices_p1"]; +var _emscripten_bind_btManifoldPoint__set_m_index0_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_index0_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_index0_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0"]; +var _emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btDbvtProxy__set_m_aabbMin_p1 = Module["_emscripten_bind_btDbvtProxy__set_m_aabbMin_p1"] = asm["_emscripten_bind_btDbvtProxy__set_m_aabbMin_p1"]; +var _emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0 = Module["_emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0"] = asm["_emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0"]; +var _emscripten_bind_btVector3__distance2_p1 = Module["_emscripten_bind_btVector3__distance2_p1"] = asm["_emscripten_bind_btVector3__distance2_p1"]; +var _emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0 = Module["_emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0"]; +var _emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1 = Module["_emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0"]; +var _emscripten_bind_btConeShapeX__getBoundingSphere_p2 = Module["_emscripten_bind_btConeShapeX__getBoundingSphere_p2"] = asm["_emscripten_bind_btConeShapeX__getBoundingSphere_p2"]; +var _emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2 = Module["_emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2"] = asm["_emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2"]; +var _emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1"]; +var _emscripten_bind_btAngularLimit__set_p5 = Module["_emscripten_bind_btAngularLimit__set_p5"] = asm["_emscripten_bind_btAngularLimit__set_p5"]; +var _emscripten_bind_btAngularLimit__set_p4 = Module["_emscripten_bind_btAngularLimit__set_p4"] = asm["_emscripten_bind_btAngularLimit__set_p4"]; +var _emscripten_bind_btAngularLimit__set_p3 = Module["_emscripten_bind_btAngularLimit__set_p3"] = asm["_emscripten_bind_btAngularLimit__set_p3"]; +var _emscripten_bind_btAngularLimit__set_p2 = Module["_emscripten_bind_btAngularLimit__set_p2"] = asm["_emscripten_bind_btAngularLimit__set_p2"]; +var _emscripten_bind_btBroadphaseProxy__isConvex2d_p1 = Module["_emscripten_bind_btBroadphaseProxy__isConvex2d_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isConvex2d_p1"]; +var _emscripten_bind_btQuantizedBvh__setTraversalMode_p1 = Module["_emscripten_bind_btQuantizedBvh__setTraversalMode_p1"] = asm["_emscripten_bind_btQuantizedBvh__setTraversalMode_p1"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0"]; +var _emscripten_bind_btCollisionWorld____destroy___p0 = Module["_emscripten_bind_btCollisionWorld____destroy___p0"] = asm["_emscripten_bind_btCollisionWorld____destroy___p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__serialize_p2 = Module["_emscripten_bind_btTriangleIndexVertexArray__serialize_p2"] = asm["_emscripten_bind_btTriangleIndexVertexArray__serialize_p2"]; +var _emscripten_bind_btEmptyShape__isConvex2d_p0 = Module["_emscripten_bind_btEmptyShape__isConvex2d_p0"] = asm["_emscripten_bind_btEmptyShape__isConvex2d_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0"]; +var _emscripten_bind_btCompoundShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCompoundShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCompoundShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btClock__getTimeMilliseconds_p0 = Module["_emscripten_bind_btClock__getTimeMilliseconds_p0"] = asm["_emscripten_bind_btClock__getTimeMilliseconds_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0"]; +var _emscripten_bind_btRigidBody__getBroadphaseProxy_p0 = Module["_emscripten_bind_btRigidBody__getBroadphaseProxy_p0"] = asm["_emscripten_bind_btRigidBody__getBroadphaseProxy_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1 = Module["_emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1"] = asm["_emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0"]; +var _emscripten_bind_btRigidBody__clearForces_p0 = Module["_emscripten_bind_btRigidBody__clearForces_p0"] = asm["_emscripten_bind_btRigidBody__clearForces_p0"]; +var _emscripten_bind_btRigidBody__getCollisionShape_p0 = Module["_emscripten_bind_btRigidBody__getCollisionShape_p0"] = asm["_emscripten_bind_btRigidBody__getCollisionShape_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0"]; +var _emscripten_bind_btSliderConstraint__getDampingDirAng_p0 = Module["_emscripten_bind_btSliderConstraint__getDampingDirAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getDampingDirAng_p0"]; +var _emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1 = Module["_emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1"] = asm["_emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2"]; +var _emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7 = Module["_emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7"] = asm["_emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7"]; +var _emscripten_bind_btUniversalConstraint____destroy___p0 = Module["_emscripten_bind_btUniversalConstraint____destroy___p0"] = asm["_emscripten_bind_btUniversalConstraint____destroy___p0"]; +var _emscripten_bind_btCylinderShapeZ__setUserPointer_p1 = Module["_emscripten_bind_btCylinderShapeZ__setUserPointer_p1"] = asm["_emscripten_bind_btCylinderShapeZ__setUserPointer_p1"]; +var _emscripten_bind_btHingeConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btHingeConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btHingeConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btHingeConstraint__getFrameOffsetB_p0 = Module["_emscripten_bind_btHingeConstraint__getFrameOffsetB_p0"] = asm["_emscripten_bind_btHingeConstraint__getFrameOffsetB_p0"]; +var _emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btPoint2PointConstraint__needsFeedback_p0 = Module["_emscripten_bind_btPoint2PointConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__needsFeedback_p0"]; +var _emscripten_bind_btUniformScalingShape__getAabbSlow_p3 = Module["_emscripten_bind_btUniformScalingShape__getAabbSlow_p3"] = asm["_emscripten_bind_btUniformScalingShape__getAabbSlow_p3"]; +var _emscripten_bind_btSphereShape__getUserPointer_p0 = Module["_emscripten_bind_btSphereShape__getUserPointer_p0"] = asm["_emscripten_bind_btSphereShape__getUserPointer_p0"]; +var _emscripten_bind_btRaycastVehicle__updateSuspension_p1 = Module["_emscripten_bind_btRaycastVehicle__updateSuspension_p1"] = asm["_emscripten_bind_btRaycastVehicle__updateSuspension_p1"]; +var _emscripten_bind_btCylinderShapeX__getShapeType_p0 = Module["_emscripten_bind_btCylinderShapeX__getShapeType_p0"] = asm["_emscripten_bind_btCylinderShapeX__getShapeType_p0"]; +var _emscripten_bind_btSliderConstraint__getUpperAngLimit_p0 = Module["_emscripten_bind_btSliderConstraint__getUpperAngLimit_p0"] = asm["_emscripten_bind_btSliderConstraint__getUpperAngLimit_p0"]; +var _emscripten_bind_btManifoldResult__addContactPoint_p3 = Module["_emscripten_bind_btManifoldResult__addContactPoint_p3"] = asm["_emscripten_bind_btManifoldResult__addContactPoint_p3"]; +var _emscripten_bind_bt32BitAxisSweep3__rayTest_p5 = Module["_emscripten_bind_bt32BitAxisSweep3__rayTest_p5"] = asm["_emscripten_bind_bt32BitAxisSweep3__rayTest_p5"]; +var _emscripten_bind_bt32BitAxisSweep3__rayTest_p4 = Module["_emscripten_bind_bt32BitAxisSweep3__rayTest_p4"] = asm["_emscripten_bind_bt32BitAxisSweep3__rayTest_p4"]; +var _emscripten_bind_btHingeConstraint__getLimitSign_p0 = Module["_emscripten_bind_btHingeConstraint__getLimitSign_p0"] = asm["_emscripten_bind_btHingeConstraint__getLimitSign_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2"]; +var _emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btWheelInfo__btWheelInfo_p1 = Module["_emscripten_bind_btWheelInfo__btWheelInfo_p1"] = asm["_emscripten_bind_btWheelInfo__btWheelInfo_p1"]; +var _emscripten_bind_btMultiSphereShape__isConcave_p0 = Module["_emscripten_bind_btMultiSphereShape__isConcave_p0"] = asm["_emscripten_bind_btMultiSphereShape__isConcave_p0"]; +var _emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0 = Module["_emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0"]; +var _emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0 = Module["_emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0"] = asm["_emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0"]; +var _emscripten_bind_btCapsuleShape__getName_p0 = Module["_emscripten_bind_btCapsuleShape__getName_p0"] = asm["_emscripten_bind_btCapsuleShape__getName_p0"]; +var _emscripten_bind_btCapsuleShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btCapsuleShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btCapsuleShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btMatrix3x3__getEulerYPR_p3 = Module["_emscripten_bind_btMatrix3x3__getEulerYPR_p3"] = asm["_emscripten_bind_btMatrix3x3__getEulerYPR_p3"]; +var _emscripten_bind_btRaycastVehicle__setUserConstraintId_p1 = Module["_emscripten_bind_btRaycastVehicle__setUserConstraintId_p1"] = asm["_emscripten_bind_btRaycastVehicle__setUserConstraintId_p1"]; +var _emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0"]; +var _emscripten_bind_btWheelInfo__get_m_worldTransform_p0 = Module["_emscripten_bind_btWheelInfo__get_m_worldTransform_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_worldTransform_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0"]; +var _emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0 = Module["_emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0"] = asm["_emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0"]; +var _emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btCompoundShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCompoundShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCompoundShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1"]; +var _emscripten_bind_btRaycastVehicle__updateWheelTransform_p2 = Module["_emscripten_bind_btRaycastVehicle__updateWheelTransform_p2"] = asm["_emscripten_bind_btRaycastVehicle__updateWheelTransform_p2"]; +var _emscripten_bind_btSliderConstraint__setUpperLinLimit_p1 = Module["_emscripten_bind_btSliderConstraint__setUpperLinLimit_p1"] = asm["_emscripten_bind_btSliderConstraint__setUpperLinLimit_p1"]; +var _emscripten_bind_btCollisionWorld__rayTestSingle_p6 = Module["_emscripten_bind_btCollisionWorld__rayTestSingle_p6"] = asm["_emscripten_bind_btCollisionWorld__rayTestSingle_p6"]; +var _emscripten_bind_btSliderConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btSliderConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btSliderConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btMatrix3x3__serializeFloat_p1 = Module["_emscripten_bind_btMatrix3x3__serializeFloat_p1"] = asm["_emscripten_bind_btMatrix3x3__serializeFloat_p1"]; +var _emscripten_bind_btSliderConstraint__getLowerAngLimit_p0 = Module["_emscripten_bind_btSliderConstraint__getLowerAngLimit_p0"] = asm["_emscripten_bind_btSliderConstraint__getLowerAngLimit_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0"]; +var _emscripten_bind_btConeShapeZ__isNonMoving_p0 = Module["_emscripten_bind_btConeShapeZ__isNonMoving_p0"] = asm["_emscripten_bind_btConeShapeZ__isNonMoving_p0"]; +var _emscripten_bind_btSliderConstraint__btSliderConstraint_p3 = Module["_emscripten_bind_btSliderConstraint__btSliderConstraint_p3"] = asm["_emscripten_bind_btSliderConstraint__btSliderConstraint_p3"]; +var _emscripten_bind_btConeTwistConstraint__getTwistSpan_p0 = Module["_emscripten_bind_btConeTwistConstraint__getTwistSpan_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getTwistSpan_p0"]; +var _emscripten_bind_btRigidBody__set_m_frictionSolverType_p1 = Module["_emscripten_bind_btRigidBody__set_m_frictionSolverType_p1"] = asm["_emscripten_bind_btRigidBody__set_m_frictionSolverType_p1"]; +var _emscripten_bind_btConvexHullShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btConvexHullShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConvexHullShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btCollisionDispatcher__findAlgorithm_p2 = Module["_emscripten_bind_btCollisionDispatcher__findAlgorithm_p2"] = asm["_emscripten_bind_btCollisionDispatcher__findAlgorithm_p2"]; +var _emscripten_bind_btCollisionDispatcher__findAlgorithm_p3 = Module["_emscripten_bind_btCollisionDispatcher__findAlgorithm_p3"] = asm["_emscripten_bind_btCollisionDispatcher__findAlgorithm_p3"]; +var _emscripten_bind_btEmptyShape__setUserPointer_p1 = Module["_emscripten_bind_btEmptyShape__setUserPointer_p1"] = asm["_emscripten_bind_btEmptyShape__setUserPointer_p1"]; +var _emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btDynamicsWorld__stepSimulation_p3 = Module["_emscripten_bind_btDynamicsWorld__stepSimulation_p3"] = asm["_emscripten_bind_btDynamicsWorld__stepSimulation_p3"]; +var _emscripten_bind_btDynamicsWorld__stepSimulation_p2 = Module["_emscripten_bind_btDynamicsWorld__stepSimulation_p2"] = asm["_emscripten_bind_btDynamicsWorld__stepSimulation_p2"]; +var _emscripten_bind_btDynamicsWorld__stepSimulation_p1 = Module["_emscripten_bind_btDynamicsWorld__stepSimulation_p1"] = asm["_emscripten_bind_btDynamicsWorld__stepSimulation_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1"]; +var _emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0 = Module["_emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0"]; +var _emscripten_bind_btOptimizedBvh__serializeInPlace_p3 = Module["_emscripten_bind_btOptimizedBvh__serializeInPlace_p3"] = asm["_emscripten_bind_btOptimizedBvh__serializeInPlace_p3"]; +var _emscripten_bind_btBoxShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btBoxShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btBoxShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btContactConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btContactConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btContactConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0 = Module["_emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0"] = asm["_emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0"]; +var _emscripten_bind_btHingeConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btHingeConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btHingeConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0 = Module["_emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0"] = asm["_emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0"]; +var _emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9 = Module["_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9"] = asm["_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9"]; +var _emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0 = Module["_emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0"] = asm["_emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0"]; +var _emscripten_bind_btIDebugDraw__drawArc_p10 = Module["_emscripten_bind_btIDebugDraw__drawArc_p10"] = asm["_emscripten_bind_btIDebugDraw__drawArc_p10"]; +var _emscripten_bind_btEmptyShape__getMargin_p0 = Module["_emscripten_bind_btEmptyShape__getMargin_p0"] = asm["_emscripten_bind_btEmptyShape__getMargin_p0"]; +var _emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1 = Module["_emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1"] = asm["_emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1"]; +var _emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btCapsuleShapeZ__isCompound_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isCompound_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isCompound_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1"]; +var _emscripten_bind_btUniversalConstraint__setEnabled_p1 = Module["_emscripten_bind_btUniversalConstraint__setEnabled_p1"] = asm["_emscripten_bind_btUniversalConstraint__setEnabled_p1"]; +var _emscripten_bind_btBoxShape__getAabbSlow_p3 = Module["_emscripten_bind_btBoxShape__getAabbSlow_p3"] = asm["_emscripten_bind_btBoxShape__getAabbSlow_p3"]; +var _emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2 = Module["_emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2"] = asm["_emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2"]; +var _emscripten_bind_btVector4__setW_p1 = Module["_emscripten_bind_btVector4__setW_p1"] = asm["_emscripten_bind_btVector4__setW_p1"]; +var _emscripten_bind_btVector4__setZero_p0 = Module["_emscripten_bind_btVector4__setZero_p0"] = asm["_emscripten_bind_btVector4__setZero_p0"]; +var _emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0 = Module["_emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0"]; +var _emscripten_bind_btConeShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConeShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConeShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btBroadphasePair____destroy___p0 = Module["_emscripten_bind_btBroadphasePair____destroy___p0"] = asm["_emscripten_bind_btBroadphasePair____destroy___p0"]; +var _emscripten_bind_btConeShapeZ__getAabbSlow_p3 = Module["_emscripten_bind_btConeShapeZ__getAabbSlow_p3"] = asm["_emscripten_bind_btConeShapeZ__getAabbSlow_p3"]; +var _emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3 = Module["_emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3"] = asm["_emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3"]; +var _emscripten_bind_btConvexInternalShape__isConvex_p0 = Module["_emscripten_bind_btConvexInternalShape__isConvex_p0"] = asm["_emscripten_bind_btConvexInternalShape__isConvex_p0"]; +var _emscripten_bind_btConeTwistConstraint__enableMotor_p1 = Module["_emscripten_bind_btConeTwistConstraint__enableMotor_p1"] = asm["_emscripten_bind_btConeTwistConstraint__enableMotor_p1"]; +var _emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2 = Module["_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2"] = asm["_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2"]; +var _emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1"]; +var _emscripten_bind_btCylinderShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btCylinderShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btCylinderShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btHingeConstraint__getParam_p1 = Module["_emscripten_bind_btHingeConstraint__getParam_p1"] = asm["_emscripten_bind_btHingeConstraint__getParam_p1"]; +var _emscripten_bind_btHingeConstraint__getParam_p2 = Module["_emscripten_bind_btHingeConstraint__getParam_p2"] = asm["_emscripten_bind_btHingeConstraint__getParam_p2"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0"]; +var _emscripten_bind_btConeShapeZ__getLocalScalingNV_p0 = Module["_emscripten_bind_btConeShapeZ__getLocalScalingNV_p0"] = asm["_emscripten_bind_btConeShapeZ__getLocalScalingNV_p0"]; +var _emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btConeTwistConstraint__serialize_p2 = Module["_emscripten_bind_btConeTwistConstraint__serialize_p2"] = asm["_emscripten_bind_btConeTwistConstraint__serialize_p2"]; +var _emscripten_bind_btSliderConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btSliderConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btSliderConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btOptimizedBvh__unQuantize_p1 = Module["_emscripten_bind_btOptimizedBvh__unQuantize_p1"] = asm["_emscripten_bind_btOptimizedBvh__unQuantize_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0"]; +var _emscripten_bind_btCapsuleShapeZ__getName_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getName_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getName_p0"]; +var _emscripten_bind_btCapsuleShape__getAabbSlow_p3 = Module["_emscripten_bind_btCapsuleShape__getAabbSlow_p3"] = asm["_emscripten_bind_btCapsuleShape__getAabbSlow_p3"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btAxisSweep3__removeHandle_p2 = Module["_emscripten_bind_btAxisSweep3__removeHandle_p2"] = asm["_emscripten_bind_btAxisSweep3__removeHandle_p2"]; +var _emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCollisionShape__getMargin_p0 = Module["_emscripten_bind_btCollisionShape__getMargin_p0"] = asm["_emscripten_bind_btCollisionShape__getMargin_p0"]; +var _emscripten_bind_btIndexedMesh__get_m_numTriangles_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_numTriangles_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_numTriangles_p0"]; +var _emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1 = Module["_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1"]; +var _emscripten_bind_btRigidBody__getConstraintRef_p1 = Module["_emscripten_bind_btRigidBody__getConstraintRef_p1"] = asm["_emscripten_bind_btRigidBody__getConstraintRef_p1"]; +var _emscripten_bind_btConvexInternalShape__serializeSingleShape_p1 = Module["_emscripten_bind_btConvexInternalShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btConvexInternalShape__serializeSingleShape_p1"]; +var _emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btConvexHullShape__isCompound_p0 = Module["_emscripten_bind_btConvexHullShape__isCompound_p0"] = asm["_emscripten_bind_btConvexHullShape__isCompound_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0"]; +var _emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1 = Module["_emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1"] = asm["_emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1"]; +var _emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1 = Module["_emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1"] = asm["_emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1"]; +var _emscripten_bind_btUniformScalingShape__serialize_p2 = Module["_emscripten_bind_btUniformScalingShape__serialize_p2"] = asm["_emscripten_bind_btUniformScalingShape__serialize_p2"]; +var _emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1"]; +var _emscripten_bind_btJacobianEntry____destroy___p0 = Module["_emscripten_bind_btJacobianEntry____destroy___p0"] = asm["_emscripten_bind_btJacobianEntry____destroy___p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0"]; +var _emscripten_bind_btCollisionShape__getShapeType_p0 = Module["_emscripten_bind_btCollisionShape__getShapeType_p0"] = asm["_emscripten_bind_btCollisionShape__getShapeType_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getEdge_p3 = Module["_emscripten_bind_btBU_Simplex1to4__getEdge_p3"] = asm["_emscripten_bind_btBU_Simplex1to4__getEdge_p3"]; +var _emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0"]; +var _emscripten_bind_btQuaternion__setValue_p4 = Module["_emscripten_bind_btQuaternion__setValue_p4"] = asm["_emscripten_bind_btQuaternion__setValue_p4"]; +var _emscripten_bind_btCollisionShape__serializeSingleShape_p1 = Module["_emscripten_bind_btCollisionShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btCollisionShape__serializeSingleShape_p1"]; +var _emscripten_bind_btRigidBody__set_m_contactSolverType_p1 = Module["_emscripten_bind_btRigidBody__set_m_contactSolverType_p1"] = asm["_emscripten_bind_btRigidBody__set_m_contactSolverType_p1"]; +var _emscripten_bind_btContactConstraint__needsFeedback_p0 = Module["_emscripten_bind_btContactConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btContactConstraint__needsFeedback_p0"]; +var _emscripten_bind_btAngularLimit__fit_p1 = Module["_emscripten_bind_btAngularLimit__fit_p1"] = asm["_emscripten_bind_btAngularLimit__fit_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0"]; +var _emscripten_bind_btDispatcher__clearManifold_p1 = Module["_emscripten_bind_btDispatcher__clearManifold_p1"] = asm["_emscripten_bind_btDispatcher__clearManifold_p1"]; +var _emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1 = Module["_emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1"]; +var _emscripten_bind_btDbvtProxy__set_leaf_p1 = Module["_emscripten_bind_btDbvtProxy__set_leaf_p1"] = asm["_emscripten_bind_btDbvtProxy__set_leaf_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1"]; +var _emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0 = Module["_emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0"]; +var _emscripten_bind_btCompoundShape__getName_p0 = Module["_emscripten_bind_btCompoundShape__getName_p0"] = asm["_emscripten_bind_btCompoundShape__getName_p0"]; +var _emscripten_bind_btCollisionObject__getCollisionShape_p0 = Module["_emscripten_bind_btCollisionObject__getCollisionShape_p0"] = asm["_emscripten_bind_btCollisionObject__getCollisionShape_p0"]; +var _emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0"]; +var _emscripten_bind_btDynamicsWorld__debugDrawWorld_p0 = Module["_emscripten_bind_btDynamicsWorld__debugDrawWorld_p0"] = asm["_emscripten_bind_btDynamicsWorld__debugDrawWorld_p0"]; +var _emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1 = Module["_emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1"]; +var _emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btWheelInfo__set_m_rotation_p1 = Module["_emscripten_bind_btWheelInfo__set_m_rotation_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_rotation_p1"]; +var _emscripten_bind_btDbvtBroadphase__benchmark_p1 = Module["_emscripten_bind_btDbvtBroadphase__benchmark_p1"] = asm["_emscripten_bind_btDbvtBroadphase__benchmark_p1"]; +var _emscripten_bind_btHinge2Constraint__serialize_p2 = Module["_emscripten_bind_btHinge2Constraint__serialize_p2"] = asm["_emscripten_bind_btHinge2Constraint__serialize_p2"]; +var _emscripten_bind_btDefaultCollisionConfiguration____destroy___p0 = Module["_emscripten_bind_btDefaultCollisionConfiguration____destroy___p0"] = asm["_emscripten_bind_btDefaultCollisionConfiguration____destroy___p0"]; +var _emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1"]; +var _emscripten_bind_btConeTwistConstraint__setLimit_p6 = Module["_emscripten_bind_btConeTwistConstraint__setLimit_p6"] = asm["_emscripten_bind_btConeTwistConstraint__setLimit_p6"]; +var _emscripten_bind_btTypedConstraint__enableFeedback_p1 = Module["_emscripten_bind_btTypedConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btTypedConstraint__enableFeedback_p1"]; +var _emscripten_bind_btConeTwistConstraint__setLimit_p4 = Module["_emscripten_bind_btConeTwistConstraint__setLimit_p4"] = asm["_emscripten_bind_btConeTwistConstraint__setLimit_p4"]; +var _emscripten_bind_btConeTwistConstraint__setLimit_p5 = Module["_emscripten_bind_btConeTwistConstraint__setLimit_p5"] = asm["_emscripten_bind_btConeTwistConstraint__setLimit_p5"]; +var _emscripten_bind_btConeTwistConstraint__setLimit_p2 = Module["_emscripten_bind_btConeTwistConstraint__setLimit_p2"] = asm["_emscripten_bind_btConeTwistConstraint__setLimit_p2"]; +var _emscripten_bind_btConeTwistConstraint__setLimit_p3 = Module["_emscripten_bind_btConeTwistConstraint__setLimit_p3"] = asm["_emscripten_bind_btConeTwistConstraint__setLimit_p3"]; +var _emscripten_bind_btMultiSphereShape__getAabb_p3 = Module["_emscripten_bind_btMultiSphereShape__getAabb_p3"] = asm["_emscripten_bind_btMultiSphereShape__getAabb_p3"]; +var _emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btAxisSweep3__destroyProxy_p2 = Module["_emscripten_bind_btAxisSweep3__destroyProxy_p2"] = asm["_emscripten_bind_btAxisSweep3__destroyProxy_p2"]; +var _emscripten_bind_btManifoldPoint__set_m_partId1_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_partId1_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_partId1_p1"]; +var _emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3 = Module["_emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3"] = asm["_emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3"]; +var _emscripten_bind_btConvexHullShape__btConvexHullShape_p3 = Module["_emscripten_bind_btConvexHullShape__btConvexHullShape_p3"] = asm["_emscripten_bind_btConvexHullShape__btConvexHullShape_p3"]; +var _emscripten_bind_btConvexHullShape__btConvexHullShape_p2 = Module["_emscripten_bind_btConvexHullShape__btConvexHullShape_p2"] = asm["_emscripten_bind_btConvexHullShape__btConvexHullShape_p2"]; +var _emscripten_bind_btConvexHullShape__btConvexHullShape_p1 = Module["_emscripten_bind_btConvexHullShape__btConvexHullShape_p1"] = asm["_emscripten_bind_btConvexHullShape__btConvexHullShape_p1"]; +var _emscripten_bind_btConvexHullShape__btConvexHullShape_p0 = Module["_emscripten_bind_btConvexHullShape__btConvexHullShape_p0"] = asm["_emscripten_bind_btConvexHullShape__btConvexHullShape_p0"]; +var _emscripten_bind_btHashString__btHashString_p1 = Module["_emscripten_bind_btHashString__btHashString_p1"] = asm["_emscripten_bind_btHashString__btHashString_p1"]; +var _emscripten_bind_btVector3__length2_p0 = Module["_emscripten_bind_btVector3__length2_p0"] = asm["_emscripten_bind_btVector3__length2_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getHitFraction_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getHitFraction_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getHitFraction_p0"]; +var _emscripten_bind_btGhostObject__getOverlappingObject_p1 = Module["_emscripten_bind_btGhostObject__getOverlappingObject_p1"] = asm["_emscripten_bind_btGhostObject__getOverlappingObject_p1"]; +var _emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7 = Module["_emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7"] = asm["_emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7"]; +var _emscripten_bind_btDbvtProxy__get_leaf_p0 = Module["_emscripten_bind_btDbvtProxy__get_leaf_p0"] = asm["_emscripten_bind_btDbvtProxy__get_leaf_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5 = Module["_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5"] = asm["_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5"]; +var _emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4 = Module["_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4"] = asm["_emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4"]; +var _emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btRigidBody__getWorldTransform_p0 = Module["_emscripten_bind_btRigidBody__getWorldTransform_p0"] = asm["_emscripten_bind_btRigidBody__getWorldTransform_p0"]; +var _emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btQuantizedBvh__deSerializeDouble_p1 = Module["_emscripten_bind_btQuantizedBvh__deSerializeDouble_p1"] = asm["_emscripten_bind_btQuantizedBvh__deSerializeDouble_p1"]; +var _emscripten_bind_btRigidBody__getCcdMotionThreshold_p0 = Module["_emscripten_bind_btRigidBody__getCcdMotionThreshold_p0"] = asm["_emscripten_bind_btRigidBody__getCcdMotionThreshold_p0"]; +var _emscripten_bind_btStridingMeshInterface__preallocateVertices_p1 = Module["_emscripten_bind_btStridingMeshInterface__preallocateVertices_p1"] = asm["_emscripten_bind_btStridingMeshInterface__preallocateVertices_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0"]; +var _emscripten_bind_btSerializer__registerNameForPointer_p2 = Module["_emscripten_bind_btSerializer__registerNameForPointer_p2"] = asm["_emscripten_bind_btSerializer__registerNameForPointer_p2"]; +var _emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0"]; +var _emscripten_bind_btStaticPlaneShape__isConvex_p0 = Module["_emscripten_bind_btStaticPlaneShape__isConvex_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isConvex_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1"]; +var _emscripten_bind_btConeShapeX__calculateLocalInertia_p2 = Module["_emscripten_bind_btConeShapeX__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConeShapeX__calculateLocalInertia_p2"]; +var _emscripten_bind_btHingeConstraint__getObjectType_p0 = Module["_emscripten_bind_btHingeConstraint__getObjectType_p0"] = asm["_emscripten_bind_btHingeConstraint__getObjectType_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getUserPointer_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getUserPointer_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getUserPointer_p0"]; +var _emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1 = Module["_emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1"] = asm["_emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1"]; +var _emscripten_bind_btRigidBody__getRestitution_p0 = Module["_emscripten_bind_btRigidBody__getRestitution_p0"] = asm["_emscripten_bind_btRigidBody__getRestitution_p0"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1"]; +var _emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2 = Module["_emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2"]; +var _emscripten_bind_btHingeConstraint__getConstraintType_p0 = Module["_emscripten_bind_btHingeConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btHingeConstraint__getConstraintType_p0"]; +var _emscripten_bind_btRigidBody__getFlags_p0 = Module["_emscripten_bind_btRigidBody__getFlags_p0"] = asm["_emscripten_bind_btRigidBody__getFlags_p0"]; +var _emscripten_bind_btConvexHullShape__setLocalScaling_p1 = Module["_emscripten_bind_btConvexHullShape__setLocalScaling_p1"] = asm["_emscripten_bind_btConvexHullShape__setLocalScaling_p1"]; +var _emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0"]; +var _emscripten_bind_btDynamicsWorld__clearForces_p0 = Module["_emscripten_bind_btDynamicsWorld__clearForces_p0"] = asm["_emscripten_bind_btDynamicsWorld__clearForces_p0"]; +var _emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2 = Module["_emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2"] = asm["_emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2"]; +var _emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0"]; +var _emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1 = Module["_emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1"] = asm["_emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1"]; +var _emscripten_bind_btRigidBody__computeImpulseDenominator_p2 = Module["_emscripten_bind_btRigidBody__computeImpulseDenominator_p2"] = asm["_emscripten_bind_btRigidBody__computeImpulseDenominator_p2"]; +var _emscripten_bind_btDbvtBroadphase__set_m_prediction_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_prediction_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_prediction_p1"]; +var _emscripten_bind_btSerializer__getBufferPointer_p0 = Module["_emscripten_bind_btSerializer__getBufferPointer_p0"] = asm["_emscripten_bind_btSerializer__getBufferPointer_p0"]; +var _emscripten_bind_btSerializer__startSerialization_p0 = Module["_emscripten_bind_btSerializer__startSerialization_p0"] = asm["_emscripten_bind_btSerializer__startSerialization_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getAabb_p3 = Module["_emscripten_bind_btPolyhedralConvexShape__getAabb_p3"] = asm["_emscripten_bind_btPolyhedralConvexShape__getAabb_p3"]; +var _emscripten_bind_btPairCachingGhostObject__forceActivationState_p1 = Module["_emscripten_bind_btPairCachingGhostObject__forceActivationState_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__forceActivationState_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getEdge_p3 = Module["_emscripten_bind_btConvexTriangleMeshShape__getEdge_p3"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getEdge_p3"]; +var _emscripten_bind_btBoxShape__getUserPointer_p0 = Module["_emscripten_bind_btBoxShape__getUserPointer_p0"] = asm["_emscripten_bind_btBoxShape__getUserPointer_p0"]; +var _emscripten_bind_btHinge2Constraint__setEnabled_p1 = Module["_emscripten_bind_btHinge2Constraint__setEnabled_p1"] = asm["_emscripten_bind_btHinge2Constraint__setEnabled_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btRigidBody__getAabb_p2 = Module["_emscripten_bind_btRigidBody__getAabb_p2"] = asm["_emscripten_bind_btRigidBody__getAabb_p2"]; +var _emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1 = Module["_emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1"] = asm["_emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1"]; +var _emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1 = Module["_emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1"] = asm["_emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0"]; +var _emscripten_bind_btConvexHullShape__recalcLocalAabb_p0 = Module["_emscripten_bind_btConvexHullShape__recalcLocalAabb_p0"] = asm["_emscripten_bind_btConvexHullShape__recalcLocalAabb_p0"]; +var _emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0 = Module["_emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setParam_p2 = Module["_emscripten_bind_btPoint2PointConstraint__setParam_p2"] = asm["_emscripten_bind_btPoint2PointConstraint__setParam_p2"]; +var _emscripten_bind_btPoint2PointConstraint__setParam_p3 = Module["_emscripten_bind_btPoint2PointConstraint__setParam_p3"] = asm["_emscripten_bind_btPoint2PointConstraint__setParam_p3"]; +var _emscripten_bind_btSerializer__findPointer_p1 = Module["_emscripten_bind_btSerializer__findPointer_p1"] = asm["_emscripten_bind_btSerializer__findPointer_p1"]; +var _emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0 = Module["_emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0"] = asm["_emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1"]; +var _emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btRigidBody__setDeactivationTime_p1 = Module["_emscripten_bind_btRigidBody__setDeactivationTime_p1"] = asm["_emscripten_bind_btRigidBody__setDeactivationTime_p1"]; +var _emscripten_bind_btConeTwistConstraint__getFixThresh_p0 = Module["_emscripten_bind_btConeTwistConstraint__getFixThresh_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getFixThresh_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2"]; +var _emscripten_bind_btConeShape__setUserPointer_p1 = Module["_emscripten_bind_btConeShape__setUserPointer_p1"] = asm["_emscripten_bind_btConeShape__setUserPointer_p1"]; +var _emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2 = Module["_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2"] = asm["_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2"]; +var _emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1 = Module["_emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1"] = asm["_emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1"]; +var _emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1 = Module["_emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1"] = asm["_emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1"]; +var _emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4 = Module["_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4"] = asm["_emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4"]; +var _emscripten_bind_btTypedConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btTypedConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btTypedConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0 = Module["_emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0"] = asm["_emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0"]; +var _emscripten_bind_btGhostObject__getInternalType_p0 = Module["_emscripten_bind_btGhostObject__getInternalType_p0"] = asm["_emscripten_bind_btGhostObject__getInternalType_p0"]; +var _emscripten_bind_btConvexHullShape__getNumPlanes_p0 = Module["_emscripten_bind_btConvexHullShape__getNumPlanes_p0"] = asm["_emscripten_bind_btConvexHullShape__getNumPlanes_p0"]; +var _emscripten_bind_btDynamicsWorld__getConstraint_p1 = Module["_emscripten_bind_btDynamicsWorld__getConstraint_p1"] = asm["_emscripten_bind_btDynamicsWorld__getConstraint_p1"]; +var _emscripten_bind_btConvexShape__setMargin_p1 = Module["_emscripten_bind_btConvexShape__setMargin_p1"] = asm["_emscripten_bind_btConvexShape__setMargin_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__getAxis_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getAxis_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getAxis_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1"]; +var _emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1 = Module["_emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1"] = asm["_emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1"]; +var _emscripten_bind_btVector4____destroy___p0 = Module["_emscripten_bind_btVector4____destroy___p0"] = asm["_emscripten_bind_btVector4____destroy___p0"]; +var _emscripten_bind_btVector3__z_p0 = Module["_emscripten_bind_btVector3__z_p0"] = asm["_emscripten_bind_btVector3__z_p0"]; +var _emscripten_bind_btGhostObject__setIslandTag_p1 = Module["_emscripten_bind_btGhostObject__setIslandTag_p1"] = asm["_emscripten_bind_btGhostObject__setIslandTag_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0"]; +var _emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3 = Module["_emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3"] = asm["_emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3"]; +var _emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0 = Module["_emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0"] = asm["_emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2"]; +var _emscripten_bind_btSliderConstraint__getAngDepth_p0 = Module["_emscripten_bind_btSliderConstraint__getAngDepth_p0"] = asm["_emscripten_bind_btSliderConstraint__getAngDepth_p0"]; +var _emscripten_bind_btCylinderShape__getMarginNV_p0 = Module["_emscripten_bind_btCylinderShape__getMarginNV_p0"] = asm["_emscripten_bind_btCylinderShape__getMarginNV_p0"]; +var _emscripten_bind_btEmptyShape__isConcave_p0 = Module["_emscripten_bind_btEmptyShape__isConcave_p0"] = asm["_emscripten_bind_btEmptyShape__isConcave_p0"]; +var _emscripten_bind_btTypedObject____destroy___p0 = Module["_emscripten_bind_btTypedObject____destroy___p0"] = asm["_emscripten_bind_btTypedObject____destroy___p0"]; +var _emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setIslandTag_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setIslandTag_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setIslandTag_p1"]; +var _emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1 = Module["_emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1"] = asm["_emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__isInside_p2 = Module["_emscripten_bind_btPolyhedralConvexShape__isInside_p2"] = asm["_emscripten_bind_btPolyhedralConvexShape__isInside_p2"]; +var _emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0"]; +var _emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0 = Module["_emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0"] = asm["_emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0"]; +var _emscripten_bind_btDbvtProxy__get_m_clientObject_p0 = Module["_emscripten_bind_btDbvtProxy__get_m_clientObject_p0"] = asm["_emscripten_bind_btDbvtProxy__get_m_clientObject_p0"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1"]; +var _emscripten_bind_btCylinderShapeZ__getUpAxis_p0 = Module["_emscripten_bind_btCylinderShapeZ__getUpAxis_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getUpAxis_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1"]; +var _emscripten_bind_btSliderConstraint__getLinearPos_p0 = Module["_emscripten_bind_btSliderConstraint__getLinearPos_p0"] = asm["_emscripten_bind_btSliderConstraint__getLinearPos_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0"]; +var _emscripten_bind_btQuadWord__setMax_p1 = Module["_emscripten_bind_btQuadWord__setMax_p1"] = asm["_emscripten_bind_btQuadWord__setMax_p1"]; +var _emscripten_bind_btRigidBody__wantsSleeping_p0 = Module["_emscripten_bind_btRigidBody__wantsSleeping_p0"] = asm["_emscripten_bind_btRigidBody__wantsSleeping_p0"]; +var _emscripten_bind_btOptimizedBvh__deSerializeDouble_p1 = Module["_emscripten_bind_btOptimizedBvh__deSerializeDouble_p1"] = asm["_emscripten_bind_btOptimizedBvh__deSerializeDouble_p1"]; +var _emscripten_bind_btEmptyShape__setLocalScaling_p1 = Module["_emscripten_bind_btEmptyShape__setLocalScaling_p1"] = asm["_emscripten_bind_btEmptyShape__setLocalScaling_p1"]; +var _emscripten_bind_btBroadphaseProxy__isInfinite_p1 = Module["_emscripten_bind_btBroadphaseProxy__isInfinite_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isInfinite_p1"]; +var _emscripten_bind_btCollisionAlgorithm__processCollision_p4 = Module["_emscripten_bind_btCollisionAlgorithm__processCollision_p4"] = asm["_emscripten_bind_btCollisionAlgorithm__processCollision_p4"]; +var _emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0 = Module["_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0"] = asm["_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getNumVertices_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getNumVertices_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getNumVertices_p0"]; +var _emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3 = Module["_emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3"]; +var _emscripten_bind_btWheelInfo__get_m_frictionSlip_p0 = Module["_emscripten_bind_btWheelInfo__get_m_frictionSlip_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_frictionSlip_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0"]; +var _emscripten_bind_btStackAlloc__beginBlock_p0 = Module["_emscripten_bind_btStackAlloc__beginBlock_p0"] = asm["_emscripten_bind_btStackAlloc__beginBlock_p0"]; +var _emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3 = Module["_emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3"] = asm["_emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3"]; +var _emscripten_bind_btConeShape__isConvex2d_p0 = Module["_emscripten_bind_btConeShape__isConvex2d_p0"] = asm["_emscripten_bind_btConeShape__isConvex2d_p0"]; +var _emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0 = Module["_emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0"] = asm["_emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__serialize_p2 = Module["_emscripten_bind_btHeightfieldTerrainShape__serialize_p2"] = asm["_emscripten_bind_btHeightfieldTerrainShape__serialize_p2"]; +var _emscripten_bind_btCollisionDispatcher__getNewManifold_p2 = Module["_emscripten_bind_btCollisionDispatcher__getNewManifold_p2"] = asm["_emscripten_bind_btCollisionDispatcher__getNewManifold_p2"]; +var _emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0 = Module["_emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2 = Module["_emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2"]; +var _emscripten_bind_btUniversalConstraint__calcAnchorPos_p0 = Module["_emscripten_bind_btUniversalConstraint__calcAnchorPos_p0"] = asm["_emscripten_bind_btUniversalConstraint__calcAnchorPos_p0"]; +var _emscripten_bind_btTransform__deSerializeDouble_p1 = Module["_emscripten_bind_btTransform__deSerializeDouble_p1"] = asm["_emscripten_bind_btTransform__deSerializeDouble_p1"]; +var _emscripten_bind_btCylinderShapeX__getAabbSlow_p3 = Module["_emscripten_bind_btCylinderShapeX__getAabbSlow_p3"] = asm["_emscripten_bind_btCylinderShapeX__getAabbSlow_p3"]; +var _emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0 = Module["_emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0"] = asm["_emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0"]; +var _emscripten_bind_btQuaternion__btQuaternion_p4 = Module["_emscripten_bind_btQuaternion__btQuaternion_p4"] = asm["_emscripten_bind_btQuaternion__btQuaternion_p4"]; +var _emscripten_bind_btQuaternion__btQuaternion_p3 = Module["_emscripten_bind_btQuaternion__btQuaternion_p3"] = asm["_emscripten_bind_btQuaternion__btQuaternion_p3"]; +var _emscripten_bind_btQuaternion__btQuaternion_p2 = Module["_emscripten_bind_btQuaternion__btQuaternion_p2"] = asm["_emscripten_bind_btQuaternion__btQuaternion_p2"]; +var _emscripten_bind_btQuaternion__btQuaternion_p0 = Module["_emscripten_bind_btQuaternion__btQuaternion_p0"] = asm["_emscripten_bind_btQuaternion__btQuaternion_p0"]; +var _emscripten_bind_btHinge2Constraint__setUserConstraintId_p1 = Module["_emscripten_bind_btHinge2Constraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btHinge2Constraint__setUserConstraintId_p1"]; +var _emscripten_bind_btUniversalConstraint__needsFeedback_p0 = Module["_emscripten_bind_btUniversalConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btUniversalConstraint__needsFeedback_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0"]; +var _emscripten_bind_btBroadphaseInterface__getAabb_p3 = Module["_emscripten_bind_btBroadphaseInterface__getAabb_p3"] = asm["_emscripten_bind_btBroadphaseInterface__getAabb_p3"]; +var _emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1 = Module["_emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1"] = asm["_emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1"]; +var _emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2 = Module["_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2"]; +var _emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1 = Module["_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1"]; +var _emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0 = Module["_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0"]; +var _emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btRigidBody__getGravity_p0 = Module["_emscripten_bind_btRigidBody__getGravity_p0"] = asm["_emscripten_bind_btRigidBody__getGravity_p0"]; +var _emscripten_bind_btRigidBody__getAngularFactor_p0 = Module["_emscripten_bind_btRigidBody__getAngularFactor_p0"] = asm["_emscripten_bind_btRigidBody__getAngularFactor_p0"]; +var _emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1 = Module["_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1"]; +var _emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0 = Module["_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__setGravity_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__setGravity_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setGravity_p1"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1"]; +var _emscripten_bind_btSphereShape__isConvex2d_p0 = Module["_emscripten_bind_btSphereShape__isConvex2d_p0"] = asm["_emscripten_bind_btSphereShape__isConvex2d_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3 = Module["_emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3"]; +var _emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0 = Module["_emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0"]; +var _emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btConvexHullShape__getAabb_p3 = Module["_emscripten_bind_btConvexHullShape__getAabb_p3"] = asm["_emscripten_bind_btConvexHullShape__getAabb_p3"]; +var _emscripten_bind_btVector3__lerp_p2 = Module["_emscripten_bind_btVector3__lerp_p2"] = asm["_emscripten_bind_btVector3__lerp_p2"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1"]; +var _emscripten_bind_btPairCachingGhostObject__upcast_p1 = Module["_emscripten_bind_btPairCachingGhostObject__upcast_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__upcast_p1"]; +var _emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0"]; +var _emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1"]; +var _emscripten_bind_btHingeConstraint__setAxis_p1 = Module["_emscripten_bind_btHingeConstraint__setAxis_p1"] = asm["_emscripten_bind_btHingeConstraint__setAxis_p1"]; +var _emscripten_bind_btCompoundShape__serializeSingleShape_p1 = Module["_emscripten_bind_btCompoundShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btCompoundShape__serializeSingleShape_p1"]; +var _emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1 = Module["_emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1"] = asm["_emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1"]; +var _emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btRigidBody__internalGetAngularFactor_p0 = Module["_emscripten_bind_btRigidBody__internalGetAngularFactor_p0"] = asm["_emscripten_bind_btRigidBody__internalGetAngularFactor_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0 = Module["_emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0"] = asm["_emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0"]; +var _emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_distance1_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_distance1_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_distance1_p1"]; +var _emscripten_bind_btVector3__setValue_p3 = Module["_emscripten_bind_btVector3__setValue_p3"] = asm["_emscripten_bind_btVector3__setValue_p3"]; +var _emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1"]; +var _emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btMatrix3x3__op_add_p1 = Module["_emscripten_bind_btMatrix3x3__op_add_p1"] = asm["_emscripten_bind_btMatrix3x3__op_add_p1"]; +var _emscripten_bind_btStaticPlaneShape__setMargin_p1 = Module["_emscripten_bind_btStaticPlaneShape__setMargin_p1"] = asm["_emscripten_bind_btStaticPlaneShape__setMargin_p1"]; +var _emscripten_bind_btTransform____destroy___p0 = Module["_emscripten_bind_btTransform____destroy___p0"] = asm["_emscripten_bind_btTransform____destroy___p0"]; +var _emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0 = Module["_emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_damping_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_damping_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_damping_p0"]; +var _emscripten_bind_btCollisionWorld__getPairCache_p0 = Module["_emscripten_bind_btCollisionWorld__getPairCache_p0"] = asm["_emscripten_bind_btCollisionWorld__getPairCache_p0"]; +var _emscripten_bind_btHashInt____destroy___p0 = Module["_emscripten_bind_btHashInt____destroy___p0"] = asm["_emscripten_bind_btHashInt____destroy___p0"]; +var _emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0 = Module["_emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0"] = asm["_emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1 = Module["_emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1"] = asm["_emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0"]; +var _emscripten_bind_btRigidBody__setHitFraction_p1 = Module["_emscripten_bind_btRigidBody__setHitFraction_p1"] = asm["_emscripten_bind_btRigidBody__setHitFraction_p1"]; +var _emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0 = Module["_emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0"] = asm["_emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0"]; +var _emscripten_bind_btVector4__dot_p1 = Module["_emscripten_bind_btVector4__dot_p1"] = asm["_emscripten_bind_btVector4__dot_p1"]; +var _emscripten_bind_btDbvtBroadphase__destroyProxy_p2 = Module["_emscripten_bind_btDbvtBroadphase__destroyProxy_p2"] = asm["_emscripten_bind_btDbvtBroadphase__destroyProxy_p2"]; +var _emscripten_bind_btCollisionObject__serializeSingleObject_p1 = Module["_emscripten_bind_btCollisionObject__serializeSingleObject_p1"] = asm["_emscripten_bind_btCollisionObject__serializeSingleObject_p1"]; +var _emscripten_bind_btDispatcherInfo__get_m_timeStep_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_timeStep_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_timeStep_p0"]; +var _emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0"]; +var _emscripten_bind_btTriangleMesh__btTriangleMesh_p0 = Module["_emscripten_bind_btTriangleMesh__btTriangleMesh_p0"] = asm["_emscripten_bind_btTriangleMesh__btTriangleMesh_p0"]; +var _emscripten_bind_btJacobianEntry__get_m_bJ_p0 = Module["_emscripten_bind_btJacobianEntry__get_m_bJ_p0"] = asm["_emscripten_bind_btJacobianEntry__get_m_bJ_p0"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0"]; +var _emscripten_bind_btRotationalLimitMotor____destroy___p0 = Module["_emscripten_bind_btRotationalLimitMotor____destroy___p0"] = asm["_emscripten_bind_btRotationalLimitMotor____destroy___p0"]; +var _emscripten_bind_btGhostObject__convexSweepTest_p4 = Module["_emscripten_bind_btGhostObject__convexSweepTest_p4"] = asm["_emscripten_bind_btGhostObject__convexSweepTest_p4"]; +var _emscripten_bind_btGhostObject__convexSweepTest_p5 = Module["_emscripten_bind_btGhostObject__convexSweepTest_p5"] = asm["_emscripten_bind_btGhostObject__convexSweepTest_p5"]; +var _emscripten_bind_btPoint2PointConstraint____destroy___p0 = Module["_emscripten_bind_btPoint2PointConstraint____destroy___p0"] = asm["_emscripten_bind_btPoint2PointConstraint____destroy___p0"]; +var _emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0 = Module["_emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0"] = asm["_emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0"]; +var _emscripten_bind_btCapsuleShape__getUserPointer_p0 = Module["_emscripten_bind_btCapsuleShape__getUserPointer_p0"] = asm["_emscripten_bind_btCapsuleShape__getUserPointer_p0"]; +var _emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1 = Module["_emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1"] = asm["_emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1"]; +var _emscripten_bind_btConcaveShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConcaveShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConcaveShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btEmptyShape__getAabb_p3 = Module["_emscripten_bind_btEmptyShape__getAabb_p3"] = asm["_emscripten_bind_btEmptyShape__getAabb_p3"]; +var _emscripten_bind_btAxisSweep3__addHandle_p7 = Module["_emscripten_bind_btAxisSweep3__addHandle_p7"] = asm["_emscripten_bind_btAxisSweep3__addHandle_p7"]; +var _emscripten_bind_btHinge2Constraint__setParam_p2 = Module["_emscripten_bind_btHinge2Constraint__setParam_p2"] = asm["_emscripten_bind_btHinge2Constraint__setParam_p2"]; +var _emscripten_bind_btHinge2Constraint__setParam_p3 = Module["_emscripten_bind_btHinge2Constraint__setParam_p3"] = asm["_emscripten_bind_btHinge2Constraint__setParam_p3"]; +var _emscripten_bind_btCapsuleShapeX__setMargin_p1 = Module["_emscripten_bind_btCapsuleShapeX__setMargin_p1"] = asm["_emscripten_bind_btCapsuleShapeX__setMargin_p1"]; +var _emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1"]; +var _emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5 = Module["_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5"] = asm["_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5"]; +var _emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0 = Module["_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0"] = asm["_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0"]; +var _emscripten_bind_btCollisionObject__setAnisotropicFriction_p1 = Module["_emscripten_bind_btCollisionObject__setAnisotropicFriction_p1"] = asm["_emscripten_bind_btCollisionObject__setAnisotropicFriction_p1"]; +var _emscripten_bind_btQuaternion__y_p0 = Module["_emscripten_bind_btQuaternion__y_p0"] = asm["_emscripten_bind_btQuaternion__y_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0"]; +var _emscripten_bind_btDynamicsWorld__updateAabbs_p0 = Module["_emscripten_bind_btDynamicsWorld__updateAabbs_p0"] = asm["_emscripten_bind_btDynamicsWorld__updateAabbs_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0"]; +var _emscripten_bind_btContactConstraint__getParam_p1 = Module["_emscripten_bind_btContactConstraint__getParam_p1"] = asm["_emscripten_bind_btContactConstraint__getParam_p1"]; +var _emscripten_bind_btJacobianEntry__set_m_bJ_p1 = Module["_emscripten_bind_btJacobianEntry__set_m_bJ_p1"] = asm["_emscripten_bind_btJacobianEntry__set_m_bJ_p1"]; +var _emscripten_bind_btTypedConstraint__needsFeedback_p0 = Module["_emscripten_bind_btTypedConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btTypedConstraint__needsFeedback_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0"]; +var _emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1 = Module["_emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1"] = asm["_emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1"]; +var _emscripten_bind_btBoxShape__setMargin_p1 = Module["_emscripten_bind_btBoxShape__setMargin_p1"] = asm["_emscripten_bind_btBoxShape__setMargin_p1"]; +var _emscripten_bind_btConeShapeZ__getAabb_p3 = Module["_emscripten_bind_btConeShapeZ__getAabb_p3"] = asm["_emscripten_bind_btConeShapeZ__getAabb_p3"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1"]; +var _emscripten_bind_btBroadphasePair__set_m_algorithm_p1 = Module["_emscripten_bind_btBroadphasePair__set_m_algorithm_p1"] = asm["_emscripten_bind_btBroadphasePair__set_m_algorithm_p1"]; +var _emscripten_bind_btVector3__distance_p1 = Module["_emscripten_bind_btVector3__distance_p1"] = asm["_emscripten_bind_btVector3__distance_p1"]; +var _emscripten_bind_btConeShapeX__getAabb_p3 = Module["_emscripten_bind_btConeShapeX__getAabb_p3"] = asm["_emscripten_bind_btConeShapeX__getAabb_p3"]; +var _emscripten_bind_btStaticPlaneShape__isConvex2d_p0 = Module["_emscripten_bind_btStaticPlaneShape__isConvex2d_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isConvex2d_p0"]; +var _emscripten_bind_btHashPtr__btHashPtr_p1 = Module["_emscripten_bind_btHashPtr__btHashPtr_p1"] = asm["_emscripten_bind_btHashPtr__btHashPtr_p1"]; +var _emscripten_bind_btQuaternion__op_add_p1 = Module["_emscripten_bind_btQuaternion__op_add_p1"] = asm["_emscripten_bind_btQuaternion__op_add_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3 = Module["_emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3"]; +var _emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1 = Module["_emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1"]; +var _emscripten_bind_btBroadphaseProxy__isSoftBody_p1 = Module["_emscripten_bind_btBroadphaseProxy__isSoftBody_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isSoftBody_p1"]; +var _emscripten_bind_btConeShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConeShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConeShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3"]; +var _emscripten_bind_btGhostObject__getWorldTransform_p0 = Module["_emscripten_bind_btGhostObject__getWorldTransform_p0"] = asm["_emscripten_bind_btGhostObject__getWorldTransform_p0"]; +var _emscripten_bind_btHingeConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btHingeConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btHingeConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4"]; +var _emscripten_bind_btUniversalConstraint__setLowerLimit_p2 = Module["_emscripten_bind_btUniversalConstraint__setLowerLimit_p2"] = asm["_emscripten_bind_btUniversalConstraint__setLowerLimit_p2"]; +var _emscripten_bind_btTransform__deSerializeFloat_p1 = Module["_emscripten_bind_btTransform__deSerializeFloat_p1"] = asm["_emscripten_bind_btTransform__deSerializeFloat_p1"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0"]; +var _emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btHinge2Constraint__setAxis_p2 = Module["_emscripten_bind_btHinge2Constraint__setAxis_p2"] = asm["_emscripten_bind_btHinge2Constraint__setAxis_p2"]; +var _emscripten_bind_btConeTwistConstraint__getAFrame_p0 = Module["_emscripten_bind_btConeTwistConstraint__getAFrame_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getAFrame_p0"]; +var _emscripten_bind_btCylinderShapeX__getRadius_p0 = Module["_emscripten_bind_btCylinderShapeX__getRadius_p0"] = asm["_emscripten_bind_btCylinderShapeX__getRadius_p0"]; +var _emscripten_bind_btStackAlloc__allocate_p1 = Module["_emscripten_bind_btStackAlloc__allocate_p1"] = asm["_emscripten_bind_btStackAlloc__allocate_p1"]; +var _emscripten_bind_btDynamicsWorld__addRigidBody_p1 = Module["_emscripten_bind_btDynamicsWorld__addRigidBody_p1"] = asm["_emscripten_bind_btDynamicsWorld__addRigidBody_p1"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btConeShape__serializeSingleShape_p1 = Module["_emscripten_bind_btConeShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btConeShape__serializeSingleShape_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1"]; +var _emscripten_bind_btBoxShape__isConvex2d_p0 = Module["_emscripten_bind_btBoxShape__isConvex2d_p0"] = asm["_emscripten_bind_btBoxShape__isConvex2d_p0"]; +var _emscripten_bind_btMatrix3x3__setEulerYPR_p3 = Module["_emscripten_bind_btMatrix3x3__setEulerYPR_p3"] = asm["_emscripten_bind_btMatrix3x3__setEulerYPR_p3"]; +var _emscripten_bind_btRigidBody__setCollisionShape_p1 = Module["_emscripten_bind_btRigidBody__setCollisionShape_p1"] = asm["_emscripten_bind_btRigidBody__setCollisionShape_p1"]; +var _emscripten_bind_btCollisionWorld__objectQuerySingle_p8 = Module["_emscripten_bind_btCollisionWorld__objectQuerySingle_p8"] = asm["_emscripten_bind_btCollisionWorld__objectQuerySingle_p8"]; +var _emscripten_bind_btConcaveShape__isInfinite_p0 = Module["_emscripten_bind_btConcaveShape__isInfinite_p0"] = asm["_emscripten_bind_btConcaveShape__isInfinite_p0"]; +var _emscripten_bind_btHinge2Constraint__setFrames_p2 = Module["_emscripten_bind_btHinge2Constraint__setFrames_p2"] = asm["_emscripten_bind_btHinge2Constraint__setFrames_p2"]; +var _emscripten_bind_btHingeConstraint__setLimit_p3 = Module["_emscripten_bind_btHingeConstraint__setLimit_p3"] = asm["_emscripten_bind_btHingeConstraint__setLimit_p3"]; +var _emscripten_bind_btHingeConstraint__setLimit_p2 = Module["_emscripten_bind_btHingeConstraint__setLimit_p2"] = asm["_emscripten_bind_btHingeConstraint__setLimit_p2"]; +var _emscripten_bind_btMatrix3x3__tdoty_p1 = Module["_emscripten_bind_btMatrix3x3__tdoty_p1"] = asm["_emscripten_bind_btMatrix3x3__tdoty_p1"]; +var _emscripten_bind_btConcaveShape__getShapeType_p0 = Module["_emscripten_bind_btConcaveShape__getShapeType_p0"] = asm["_emscripten_bind_btConcaveShape__getShapeType_p0"]; +var _emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0 = Module["_emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0"] = asm["_emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0"]; +var _emscripten_bind_btHingeConstraint__setLimit_p5 = Module["_emscripten_bind_btHingeConstraint__setLimit_p5"] = asm["_emscripten_bind_btHingeConstraint__setLimit_p5"]; +var _emscripten_bind_btCylinderShapeZ__getMargin_p0 = Module["_emscripten_bind_btCylinderShapeZ__getMargin_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getMargin_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0"]; +var _emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1 = Module["_emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1"] = asm["_emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1"]; +var _emscripten_bind_btCapsuleShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btCapsuleShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCapsuleShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btMultiSphereShape__serializeSingleShape_p1 = Module["_emscripten_bind_btMultiSphereShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btMultiSphereShape__serializeSingleShape_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1"]; +var _emscripten_bind_btPairCachingGhostObject__setRestitution_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setRestitution_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setRestitution_p1"]; +var _emscripten_bind_btDefaultMotionState__getWorldTransform_p1 = Module["_emscripten_bind_btDefaultMotionState__getWorldTransform_p1"] = asm["_emscripten_bind_btDefaultMotionState__getWorldTransform_p1"]; +var _emscripten_bind_btDbvtProxy__get_m_aabbMax_p0 = Module["_emscripten_bind_btDbvtProxy__get_m_aabbMax_p0"] = asm["_emscripten_bind_btDbvtProxy__get_m_aabbMax_p0"]; +var _emscripten_bind_btVector3____destroy___p0 = Module["_emscripten_bind_btVector3____destroy___p0"] = asm["_emscripten_bind_btVector3____destroy___p0"]; +var _emscripten_bind_btConeShapeX__getRadius_p0 = Module["_emscripten_bind_btConeShapeX__getRadius_p0"] = asm["_emscripten_bind_btConeShapeX__getRadius_p0"]; +var _emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__printStats_p0 = Module["_emscripten_bind_bt32BitAxisSweep3__printStats_p0"] = asm["_emscripten_bind_bt32BitAxisSweep3__printStats_p0"]; +var _emscripten_bind_btMatrix3x3__tdotz_p1 = Module["_emscripten_bind_btMatrix3x3__tdotz_p1"] = asm["_emscripten_bind_btMatrix3x3__tdotz_p1"]; +var _emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0"]; +var _emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0 = Module["_emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0"] = asm["_emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0"]; +var _emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btDispatcherInfo__set_m_stepCount_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_stepCount_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_stepCount_p1"]; +var _emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1 = Module["_emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1"] = asm["_emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1"]; +var _emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0 = Module["_emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0"] = asm["_emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2"]; +var _emscripten_bind_btConvexHullShape__getShapeType_p0 = Module["_emscripten_bind_btConvexHullShape__getShapeType_p0"] = asm["_emscripten_bind_btConvexHullShape__getShapeType_p0"]; +var _emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2 = Module["_emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2"] = asm["_emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1"]; +var _emscripten_bind_btHingeConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btHingeConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btHingeConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1 = Module["_emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0"]; +var _emscripten_bind_CProfileNode__Return_p0 = Module["_emscripten_bind_CProfileNode__Return_p0"] = asm["_emscripten_bind_CProfileNode__Return_p0"]; +var _emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btGhostObject__setWorldTransform_p1 = Module["_emscripten_bind_btGhostObject__setWorldTransform_p1"] = asm["_emscripten_bind_btGhostObject__setWorldTransform_p1"]; +var _emscripten_bind_btStaticPlaneShape__isSoftBody_p0 = Module["_emscripten_bind_btStaticPlaneShape__isSoftBody_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isSoftBody_p0"]; +var _emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0 = Module["_emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0"] = asm["_emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__createProxy_p8 = Module["_emscripten_bind_bt32BitAxisSweep3__createProxy_p8"] = asm["_emscripten_bind_bt32BitAxisSweep3__createProxy_p8"]; +var _emscripten_bind_btVector4__getSkewSymmetricMatrix_p3 = Module["_emscripten_bind_btVector4__getSkewSymmetricMatrix_p3"] = asm["_emscripten_bind_btVector4__getSkewSymmetricMatrix_p3"]; +var _emscripten_bind_btCapsuleShapeZ__getMargin_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getMargin_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getMargin_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btGhostObject__isStaticObject_p0 = Module["_emscripten_bind_btGhostObject__isStaticObject_p0"] = asm["_emscripten_bind_btGhostObject__isStaticObject_p0"]; +var _emscripten_bind_btHinge2Constraint__isLimited_p1 = Module["_emscripten_bind_btHinge2Constraint__isLimited_p1"] = asm["_emscripten_bind_btHinge2Constraint__isLimited_p1"]; +var _emscripten_bind_btRaycastVehicle__addWheel_p7 = Module["_emscripten_bind_btRaycastVehicle__addWheel_p7"] = asm["_emscripten_bind_btRaycastVehicle__addWheel_p7"]; +var _emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btConcaveShape__setLocalScaling_p1 = Module["_emscripten_bind_btConcaveShape__setLocalScaling_p1"] = asm["_emscripten_bind_btConcaveShape__setLocalScaling_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1"]; +var _emscripten_bind_btGhostObject__getCcdMotionThreshold_p0 = Module["_emscripten_bind_btGhostObject__getCcdMotionThreshold_p0"] = asm["_emscripten_bind_btGhostObject__getCcdMotionThreshold_p0"]; +var _emscripten_bind_btDbvtProxy____destroy___p0 = Module["_emscripten_bind_btDbvtProxy____destroy___p0"] = asm["_emscripten_bind_btDbvtProxy____destroy___p0"]; +var _emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btDynamicsWorld__debugDrawObject_p3 = Module["_emscripten_bind_btDynamicsWorld__debugDrawObject_p3"] = asm["_emscripten_bind_btDynamicsWorld__debugDrawObject_p3"]; +var _emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0 = Module["_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0"]; +var _emscripten_bind_btMatrix3x3__tdotx_p1 = Module["_emscripten_bind_btMatrix3x3__tdotx_p1"] = asm["_emscripten_bind_btMatrix3x3__tdotx_p1"]; +var _emscripten_bind_btTriangleInfo__btTriangleInfo_p0 = Module["_emscripten_bind_btTriangleInfo__btTriangleInfo_p0"] = asm["_emscripten_bind_btTriangleInfo__btTriangleInfo_p0"]; +var _emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0 = Module["_emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1"]; +var _emscripten_bind_btConvexShape__getAabb_p3 = Module["_emscripten_bind_btConvexShape__getAabb_p3"] = asm["_emscripten_bind_btConvexShape__getAabb_p3"]; +var _emscripten_bind_btConeShapeX__btConeShapeX_p2 = Module["_emscripten_bind_btConeShapeX__btConeShapeX_p2"] = asm["_emscripten_bind_btConeShapeX__btConeShapeX_p2"]; +var _emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1 = Module["_emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1"]; +var _emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btCompoundShape__serialize_p2 = Module["_emscripten_bind_btCompoundShape__serialize_p2"] = asm["_emscripten_bind_btCompoundShape__serialize_p2"]; +var _emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1"]; +var _emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1 = Module["_emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1"]; +var _emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btConcaveShape__setUserPointer_p1 = Module["_emscripten_bind_btConcaveShape__setUserPointer_p1"] = asm["_emscripten_bind_btConcaveShape__setUserPointer_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3 = Module["_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3"]; +var _emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2 = Module["_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2"]; +var _emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1"]; +var _emscripten_bind_btConeTwistConstraint__setFrames_p2 = Module["_emscripten_bind_btConeTwistConstraint__setFrames_p2"] = asm["_emscripten_bind_btConeTwistConstraint__setFrames_p2"]; +var _emscripten_bind_btManifoldPoint__getAppliedImpulse_p0 = Module["_emscripten_bind_btManifoldPoint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btManifoldPoint__getAppliedImpulse_p0"]; +var _emscripten_bind_btUniformScalingShape__isConvex2d_p0 = Module["_emscripten_bind_btUniformScalingShape__isConvex2d_p0"] = asm["_emscripten_bind_btUniformScalingShape__isConvex2d_p0"]; +var _emscripten_bind_btDefaultMotionState__set_m_userPointer_p1 = Module["_emscripten_bind_btDefaultMotionState__set_m_userPointer_p1"] = asm["_emscripten_bind_btDefaultMotionState__set_m_userPointer_p1"]; +var _emscripten_bind_btWheelInfo__set_m_worldTransform_p1 = Module["_emscripten_bind_btWheelInfo__set_m_worldTransform_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_worldTransform_p1"]; +var _emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0 = Module["_emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0"] = asm["_emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1"]; +var _emscripten_bind_btSimpleBroadphase__rayTest_p4 = Module["_emscripten_bind_btSimpleBroadphase__rayTest_p4"] = asm["_emscripten_bind_btSimpleBroadphase__rayTest_p4"]; +var _emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0 = Module["_emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0"]; +var _emscripten_bind_btCollisionObject__setDeactivationTime_p1 = Module["_emscripten_bind_btCollisionObject__setDeactivationTime_p1"] = asm["_emscripten_bind_btCollisionObject__setDeactivationTime_p1"]; +var _emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0"]; +var _emscripten_bind_btCollisionShape__setUserPointer_p1 = Module["_emscripten_bind_btCollisionShape__setUserPointer_p1"] = asm["_emscripten_bind_btCollisionShape__setUserPointer_p1"]; +var _emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0 = Module["_emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0"] = asm["_emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0"]; +var _emscripten_bind_btVector4__setX_p1 = Module["_emscripten_bind_btVector4__setX_p1"] = asm["_emscripten_bind_btVector4__setX_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3"]; +var _emscripten_bind_btAngularLimit__getHalfRange_p0 = Module["_emscripten_bind_btAngularLimit__getHalfRange_p0"] = asm["_emscripten_bind_btAngularLimit__getHalfRange_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0 = Module["_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0"] = asm["_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0"]; +var _emscripten_bind_btCompoundShape__isSoftBody_p0 = Module["_emscripten_bind_btCompoundShape__isSoftBody_p0"] = asm["_emscripten_bind_btCompoundShape__isSoftBody_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__isConcave_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isConcave_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isConcave_p0"]; +var _emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0 = Module["_emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0"]; +var _emscripten_bind_btRigidBody__btRigidBody_p3 = Module["_emscripten_bind_btRigidBody__btRigidBody_p3"] = asm["_emscripten_bind_btRigidBody__btRigidBody_p3"]; +var _emscripten_bind_btRigidBody__btRigidBody_p1 = Module["_emscripten_bind_btRigidBody__btRigidBody_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBody_p1"]; +var _emscripten_bind_btConcaveShape__getBoundingSphere_p2 = Module["_emscripten_bind_btConcaveShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btConcaveShape__getBoundingSphere_p2"]; +var _emscripten_bind_btGhostObject__btGhostObject_p0 = Module["_emscripten_bind_btGhostObject__btGhostObject_p0"] = asm["_emscripten_bind_btGhostObject__btGhostObject_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0"]; +var _emscripten_bind_btRigidBody__isInWorld_p0 = Module["_emscripten_bind_btRigidBody__isInWorld_p0"] = asm["_emscripten_bind_btRigidBody__isInWorld_p0"]; +var _emscripten_bind_btDynamicsWorld__updateSingleAabb_p1 = Module["_emscripten_bind_btDynamicsWorld__updateSingleAabb_p1"] = asm["_emscripten_bind_btDynamicsWorld__updateSingleAabb_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0"]; +var _emscripten_bind_btDbvtBroadphase__get_m_paircache_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_paircache_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_paircache_p0"]; +var _emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1"]; +var _emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1 = Module["_emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1"] = asm["_emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1"]; +var _emscripten_bind_btTriangleMesh__hasPremadeAabb_p0 = Module["_emscripten_bind_btTriangleMesh__hasPremadeAabb_p0"] = asm["_emscripten_bind_btTriangleMesh__hasPremadeAabb_p0"]; +var _emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btCollisionObject__getRootCollisionShape_p0 = Module["_emscripten_bind_btCollisionObject__getRootCollisionShape_p0"] = asm["_emscripten_bind_btCollisionObject__getRootCollisionShape_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1"]; +var _emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0 = Module["_emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0"] = asm["_emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0"]; +var _emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2 = Module["_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2"] = asm["_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2"]; +var _emscripten_bind_btRigidBody__setFriction_p1 = Module["_emscripten_bind_btRigidBody__setFriction_p1"] = asm["_emscripten_bind_btRigidBody__setFriction_p1"]; +var _emscripten_bind_btCylinderShapeX__getAabb_p3 = Module["_emscripten_bind_btCylinderShapeX__getAabb_p3"] = asm["_emscripten_bind_btCylinderShapeX__getAabb_p3"]; +var _emscripten_bind_btVector4__closestAxis_p0 = Module["_emscripten_bind_btVector4__closestAxis_p0"] = asm["_emscripten_bind_btVector4__closestAxis_p0"]; +var _emscripten_bind_btConeShape__setLocalScaling_p1 = Module["_emscripten_bind_btConeShape__setLocalScaling_p1"] = asm["_emscripten_bind_btConeShape__setLocalScaling_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1"]; +var _emscripten_bind_btVector4__w_p0 = Module["_emscripten_bind_btVector4__w_p0"] = asm["_emscripten_bind_btVector4__w_p0"]; +var _emscripten_bind_btJacobianEntry__set_m_aJ_p1 = Module["_emscripten_bind_btJacobianEntry__set_m_aJ_p1"] = asm["_emscripten_bind_btJacobianEntry__set_m_aJ_p1"]; +var _emscripten_bind_btVector4__setZ_p1 = Module["_emscripten_bind_btVector4__setZ_p1"] = asm["_emscripten_bind_btVector4__setZ_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3 = Module["_emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3"] = asm["_emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1"]; +var _emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1 = Module["_emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1"] = asm["_emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1"]; +var _emscripten_bind_btVector3__furthestAxis_p0 = Module["_emscripten_bind_btVector3__furthestAxis_p0"] = asm["_emscripten_bind_btVector3__furthestAxis_p0"]; +var _emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0"]; +var _emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1"]; +var _emscripten_bind_btUniversalConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btUniversalConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btUniversalConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btUniversalConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btUniversalConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btUniversalConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btEmptyShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btEmptyShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btEmptyShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btPairCachingGhostObject__setUserPointer_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setUserPointer_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setUserPointer_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btPersistentManifold__clearManifold_p0 = Module["_emscripten_bind_btPersistentManifold__clearManifold_p0"] = asm["_emscripten_bind_btPersistentManifold__clearManifold_p0"]; +var _emscripten_bind_btVector3__safeNormalize_p0 = Module["_emscripten_bind_btVector3__safeNormalize_p0"] = asm["_emscripten_bind_btVector3__safeNormalize_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__isCompound_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isCompound_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isCompound_p0"]; +var _emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0 = Module["_emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0"]; +var _emscripten_bind_btVector4__isZero_p0 = Module["_emscripten_bind_btVector4__isZero_p0"] = asm["_emscripten_bind_btVector4__isZero_p0"]; +var _emscripten_bind_btVector4__setY_p1 = Module["_emscripten_bind_btVector4__setY_p1"] = asm["_emscripten_bind_btVector4__setY_p1"]; +var _emscripten_bind_btVector4__lerp_p2 = Module["_emscripten_bind_btVector4__lerp_p2"] = asm["_emscripten_bind_btVector4__lerp_p2"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0"]; +var _emscripten_bind_btDispatcher__needsCollision_p2 = Module["_emscripten_bind_btDispatcher__needsCollision_p2"] = asm["_emscripten_bind_btDispatcher__needsCollision_p2"]; +var _emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0 = Module["_emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0"] = asm["_emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btCylinderShapeX__getBoundingSphere_p2 = Module["_emscripten_bind_btCylinderShapeX__getBoundingSphere_p2"] = asm["_emscripten_bind_btCylinderShapeX__getBoundingSphere_p2"]; +var _emscripten_bind_btRigidBody__getNumConstraintRefs_p0 = Module["_emscripten_bind_btRigidBody__getNumConstraintRefs_p0"] = asm["_emscripten_bind_btRigidBody__getNumConstraintRefs_p0"]; +var _emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1"]; +var _emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0 = Module["_emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0"] = asm["_emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1"]; +var _emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0 = Module["_emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0"] = asm["_emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0"]; +var _emscripten_bind_btTypedConstraint__getInfo1_p1 = Module["_emscripten_bind_btTypedConstraint__getInfo1_p1"] = asm["_emscripten_bind_btTypedConstraint__getInfo1_p1"]; +var _emscripten_bind_btQuaternion__getW_p0 = Module["_emscripten_bind_btQuaternion__getW_p0"] = asm["_emscripten_bind_btQuaternion__getW_p0"]; +var _emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3 = Module["_emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3"] = asm["_emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2"]; +var _emscripten_bind_btSphereShape__setMargin_p1 = Module["_emscripten_bind_btSphereShape__setMargin_p1"] = asm["_emscripten_bind_btSphereShape__setMargin_p1"]; +var _emscripten_bind_btQuadWord____destroy___p0 = Module["_emscripten_bind_btQuadWord____destroy___p0"] = asm["_emscripten_bind_btQuadWord____destroy___p0"]; +var _emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1 = Module["_emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1"]; +var _emscripten_bind_btSphereShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btSphereShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btSphereShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btConeShape__getAabb_p3 = Module["_emscripten_bind_btConeShape__getAabb_p3"] = asm["_emscripten_bind_btConeShape__getAabb_p3"]; +var _emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0 = Module["_emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0"] = asm["_emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0"]; +var _emscripten_bind_btBoxShape__getVertex_p2 = Module["_emscripten_bind_btBoxShape__getVertex_p2"] = asm["_emscripten_bind_btBoxShape__getVertex_p2"]; +var _emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1 = Module["_emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1"]; +var _emscripten_bind_btCylinderShapeX__isCompound_p0 = Module["_emscripten_bind_btCylinderShapeX__isCompound_p0"] = asm["_emscripten_bind_btCylinderShapeX__isCompound_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1"]; +var _emscripten_bind_btGhostObject__activate_p0 = Module["_emscripten_bind_btGhostObject__activate_p0"] = asm["_emscripten_bind_btGhostObject__activate_p0"]; +var _emscripten_bind_btCollisionWorld__debugDrawWorld_p0 = Module["_emscripten_bind_btCollisionWorld__debugDrawWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__debugDrawWorld_p0"]; +var _emscripten_bind_btDbvtProxy__set_m_clientObject_p1 = Module["_emscripten_bind_btDbvtProxy__set_m_clientObject_p1"] = asm["_emscripten_bind_btDbvtProxy__set_m_clientObject_p1"]; +var _emscripten_bind_btSphereShape__getShapeType_p0 = Module["_emscripten_bind_btSphereShape__getShapeType_p0"] = asm["_emscripten_bind_btSphereShape__getShapeType_p0"]; +var _emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1 = Module["_emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1"]; +var _emscripten_bind_btCollisionObject__getHitFraction_p0 = Module["_emscripten_bind_btCollisionObject__getHitFraction_p0"] = asm["_emscripten_bind_btCollisionObject__getHitFraction_p0"]; +var _emscripten_bind_btCompoundShape__updateChildTransform_p3 = Module["_emscripten_bind_btCompoundShape__updateChildTransform_p3"] = asm["_emscripten_bind_btCompoundShape__updateChildTransform_p3"]; +var _emscripten_bind_btCompoundShape__updateChildTransform_p2 = Module["_emscripten_bind_btCompoundShape__updateChildTransform_p2"] = asm["_emscripten_bind_btCompoundShape__updateChildTransform_p2"]; +var _emscripten_bind_btQuadWord__setZ_p1 = Module["_emscripten_bind_btQuadWord__setZ_p1"] = asm["_emscripten_bind_btQuadWord__setZ_p1"]; +var _emscripten_bind_btTriangleMesh__btTriangleMesh_p2 = Module["_emscripten_bind_btTriangleMesh__btTriangleMesh_p2"] = asm["_emscripten_bind_btTriangleMesh__btTriangleMesh_p2"]; +var _emscripten_bind_btTriangleMesh__btTriangleMesh_p1 = Module["_emscripten_bind_btTriangleMesh__btTriangleMesh_p1"] = asm["_emscripten_bind_btTriangleMesh__btTriangleMesh_p1"]; +var _emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2 = Module["_emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2"] = asm["_emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1"]; +var _emscripten_bind_btMatrix3x3__timesTranspose_p1 = Module["_emscripten_bind_btMatrix3x3__timesTranspose_p1"] = asm["_emscripten_bind_btMatrix3x3__timesTranspose_p1"]; +var _emscripten_bind_btMatrix3x3__absolute_p0 = Module["_emscripten_bind_btMatrix3x3__absolute_p0"] = asm["_emscripten_bind_btMatrix3x3__absolute_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0"]; +var _emscripten_bind_btConeShapeX__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConeShapeX__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConeShapeX__localGetSupportingVertex_p1"]; +var _emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btRaycastVehicle__setSteeringValue_p2 = Module["_emscripten_bind_btRaycastVehicle__setSteeringValue_p2"] = asm["_emscripten_bind_btRaycastVehicle__setSteeringValue_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2"]; +var _emscripten_bind_btConeShape__getHeight_p0 = Module["_emscripten_bind_btConeShape__getHeight_p0"] = asm["_emscripten_bind_btConeShape__getHeight_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getPlane_p3 = Module["_emscripten_bind_btBU_Simplex1to4__getPlane_p3"] = asm["_emscripten_bind_btBU_Simplex1to4__getPlane_p3"]; +var _emscripten_bind_btVector3__setY_p1 = Module["_emscripten_bind_btVector3__setY_p1"] = asm["_emscripten_bind_btVector3__setY_p1"]; +var _emscripten_bind_bt32BitAxisSweep3__rayTest_p3 = Module["_emscripten_bind_bt32BitAxisSweep3__rayTest_p3"] = asm["_emscripten_bind_bt32BitAxisSweep3__rayTest_p3"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1"]; +var _emscripten_bind_btConvexShape__setUserPointer_p1 = Module["_emscripten_bind_btConvexShape__setUserPointer_p1"] = asm["_emscripten_bind_btConvexShape__setUserPointer_p1"]; +var _emscripten_bind_btConeShapeZ____destroy___p0 = Module["_emscripten_bind_btConeShapeZ____destroy___p0"] = asm["_emscripten_bind_btConeShapeZ____destroy___p0"]; +var _emscripten_bind_btConeShapeX__serializeSingleShape_p1 = Module["_emscripten_bind_btConeShapeX__serializeSingleShape_p1"] = asm["_emscripten_bind_btConeShapeX__serializeSingleShape_p1"]; +var _emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0 = Module["_emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0"] = asm["_emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0"]; +var _emscripten_bind_btQuadWord__setX_p1 = Module["_emscripten_bind_btQuadWord__setX_p1"] = asm["_emscripten_bind_btQuadWord__setX_p1"]; +var _emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0"]; +var _emscripten_bind_btPersistentManifold__btPersistentManifold_p0 = Module["_emscripten_bind_btPersistentManifold__btPersistentManifold_p0"] = asm["_emscripten_bind_btPersistentManifold__btPersistentManifold_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1"]; +var _emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0"]; +var _emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0 = Module["_emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0"]; +var _emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2 = Module["_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2"] = asm["_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2"]; +var _emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1 = Module["_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1"] = asm["_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1"]; +var _emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0 = Module["_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0"] = asm["_emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0"]; +var _emscripten_bind_btAxisSweep3__resetPool_p1 = Module["_emscripten_bind_btAxisSweep3__resetPool_p1"] = asm["_emscripten_bind_btAxisSweep3__resetPool_p1"]; +var _emscripten_bind_btOptimizedBvh__isQuantized_p0 = Module["_emscripten_bind_btOptimizedBvh__isQuantized_p0"] = asm["_emscripten_bind_btOptimizedBvh__isQuantized_p0"]; +var _emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btVector4__setMax_p1 = Module["_emscripten_bind_btVector4__setMax_p1"] = asm["_emscripten_bind_btVector4__setMax_p1"]; +var _emscripten_bind_btConeShapeZ__getName_p0 = Module["_emscripten_bind_btConeShapeZ__getName_p0"] = asm["_emscripten_bind_btConeShapeZ__getName_p0"]; +var _emscripten_bind_btActionInterface__debugDraw_p1 = Module["_emscripten_bind_btActionInterface__debugDraw_p1"] = asm["_emscripten_bind_btActionInterface__debugDraw_p1"]; +var _emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btTransform__mult_p2 = Module["_emscripten_bind_btTransform__mult_p2"] = asm["_emscripten_bind_btTransform__mult_p2"]; +var _emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1 = Module["_emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1"] = asm["_emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1"]; +var _emscripten_bind_btGhostObject__setContactProcessingThreshold_p1 = Module["_emscripten_bind_btGhostObject__setContactProcessingThreshold_p1"] = asm["_emscripten_bind_btGhostObject__setContactProcessingThreshold_p1"]; +var _emscripten_bind_btVector3__btVector3_p0 = Module["_emscripten_bind_btVector3__btVector3_p0"] = asm["_emscripten_bind_btVector3__btVector3_p0"]; +var _emscripten_bind_btConeShapeX__getLocalScaling_p0 = Module["_emscripten_bind_btConeShapeX__getLocalScaling_p0"] = asm["_emscripten_bind_btConeShapeX__getLocalScaling_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2"]; +var _emscripten_bind_btBU_Simplex1to4__getNumEdges_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getNumEdges_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getNumEdges_p0"]; +var _emscripten_bind_btCollisionShape__getName_p0 = Module["_emscripten_bind_btCollisionShape__getName_p0"] = asm["_emscripten_bind_btCollisionShape__getName_p0"]; +var _emscripten_bind_btSliderConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btSliderConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btSliderConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btCylinderShapeZ__getAabb_p3 = Module["_emscripten_bind_btCylinderShapeZ__getAabb_p3"] = asm["_emscripten_bind_btCylinderShapeZ__getAabb_p3"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0"]; +var _emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0 = Module["_emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0"] = asm["_emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0"]; +var _emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0 = Module["_emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0"] = asm["_emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0"]; +var _emscripten_bind_btCylinderShapeX__getMarginNV_p0 = Module["_emscripten_bind_btCylinderShapeX__getMarginNV_p0"] = asm["_emscripten_bind_btCylinderShapeX__getMarginNV_p0"]; +var _emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1 = Module["_emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1"] = asm["_emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1"]; +var _emscripten_bind_btEmptyShape__getName_p0 = Module["_emscripten_bind_btEmptyShape__getName_p0"] = asm["_emscripten_bind_btEmptyShape__getName_p0"]; +var _emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2 = Module["_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2"] = asm["_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2"]; +var _emscripten_bind_btHingeConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btHingeConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btHingeConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1"]; +var _emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1 = Module["_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1"] = asm["_emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_pid_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_pid_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_pid_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1"]; +var _emscripten_bind_btRigidBody__getPushVelocity_p0 = Module["_emscripten_bind_btRigidBody__getPushVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getPushVelocity_p0"]; +var _emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btConeShapeX__isConcave_p0 = Module["_emscripten_bind_btConeShapeX__isConcave_p0"] = asm["_emscripten_bind_btConeShapeX__isConcave_p0"]; +var _emscripten_bind_btBoxShape__isCompound_p0 = Module["_emscripten_bind_btBoxShape__isCompound_p0"] = asm["_emscripten_bind_btBoxShape__isCompound_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_pid_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_pid_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_pid_p1"]; +var _emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2 = Module["_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2"]; +var _emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0 = Module["_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0"]; +var _emscripten_bind_btHashPtr__equals_p1 = Module["_emscripten_bind_btHashPtr__equals_p1"] = asm["_emscripten_bind_btHashPtr__equals_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy____destroy___p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy____destroy___p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy____destroy___p0"]; +var _emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1 = Module["_emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1"] = asm["_emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1"]; +var _emscripten_bind_btConvexInternalShape__isConvex2d_p0 = Module["_emscripten_bind_btConvexInternalShape__isConvex2d_p0"] = asm["_emscripten_bind_btConvexInternalShape__isConvex2d_p0"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0"]; +var _emscripten_bind_btConeShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConeShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConeShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1"]; +var _emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3 = Module["_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3"]; +var _emscripten_bind_btDbvtProxy__isNonMoving_p1 = Module["_emscripten_bind_btDbvtProxy__isNonMoving_p1"] = asm["_emscripten_bind_btDbvtProxy__isNonMoving_p1"]; +var _emscripten_bind_btCollisionShape__getLocalScaling_p0 = Module["_emscripten_bind_btCollisionShape__getLocalScaling_p0"] = asm["_emscripten_bind_btCollisionShape__getLocalScaling_p0"]; +var _emscripten_bind_btQuadWord__x_p0 = Module["_emscripten_bind_btQuadWord__x_p0"] = asm["_emscripten_bind_btQuadWord__x_p0"]; +var _emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0 = Module["_emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0"] = asm["_emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btConstraintSolver__reset_p0 = Module["_emscripten_bind_btConstraintSolver__reset_p0"] = asm["_emscripten_bind_btConstraintSolver__reset_p0"]; +var _emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3 = Module["_emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3"] = asm["_emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3"]; +var _emscripten_bind_btBvhTriangleMeshShape__refitTree_p2 = Module["_emscripten_bind_btBvhTriangleMeshShape__refitTree_p2"] = asm["_emscripten_bind_btBvhTriangleMeshShape__refitTree_p2"]; +var _emscripten_bind_btCylinderShapeX__serialize_p2 = Module["_emscripten_bind_btCylinderShapeX__serialize_p2"] = asm["_emscripten_bind_btCylinderShapeX__serialize_p2"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1"]; +var _emscripten_bind_bt32BitAxisSweep3__unQuantize_p3 = Module["_emscripten_bind_bt32BitAxisSweep3__unQuantize_p3"] = asm["_emscripten_bind_bt32BitAxisSweep3__unQuantize_p3"]; +var _emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0"]; +var _emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1 = Module["_emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1"] = asm["_emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1"]; +var _emscripten_bind_btEmptyShape____destroy___p0 = Module["_emscripten_bind_btEmptyShape____destroy___p0"] = asm["_emscripten_bind_btEmptyShape____destroy___p0"]; +var _emscripten_bind_btContactConstraint____destroy___p0 = Module["_emscripten_bind_btContactConstraint____destroy___p0"] = asm["_emscripten_bind_btContactConstraint____destroy___p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1"]; +var _emscripten_bind_btTriangleMesh__getUse32bitIndices_p0 = Module["_emscripten_bind_btTriangleMesh__getUse32bitIndices_p0"] = asm["_emscripten_bind_btTriangleMesh__getUse32bitIndices_p0"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0"]; +var _emscripten_bind_btDispatcherInfo__set_m_useEpa_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_useEpa_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_useEpa_p1"]; +var _emscripten_bind_btJacobianEntry__btJacobianEntry_p6 = Module["_emscripten_bind_btJacobianEntry__btJacobianEntry_p6"] = asm["_emscripten_bind_btJacobianEntry__btJacobianEntry_p6"]; +var _emscripten_bind_btDispatcherInfo__get_m_useEpa_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_useEpa_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_useEpa_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getName_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getName_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getName_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2"]; +var _emscripten_bind_btSliderConstraint__enableFeedback_p1 = Module["_emscripten_bind_btSliderConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btSliderConstraint__enableFeedback_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0"]; +var _emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getInfo1_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getInfo1_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getInfo1_p1"]; +var _emscripten_bind_btJacobianEntry__btJacobianEntry_p4 = Module["_emscripten_bind_btJacobianEntry__btJacobianEntry_p4"] = asm["_emscripten_bind_btJacobianEntry__btJacobianEntry_p4"]; +var _emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0 = Module["_emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0"] = asm["_emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0"]; +var _emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0"]; +var _emscripten_bind_btConeShapeZ__isCompound_p0 = Module["_emscripten_bind_btConeShapeZ__isCompound_p0"] = asm["_emscripten_bind_btConeShapeZ__isCompound_p0"]; +var _emscripten_bind_btConeShape__getName_p0 = Module["_emscripten_bind_btConeShape__getName_p0"] = asm["_emscripten_bind_btConeShape__getName_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3 = Module["_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3"] = asm["_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3"]; +var _emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0 = Module["_emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0"]; +var _emscripten_bind_btMatrix3x3__deSerialize_p1 = Module["_emscripten_bind_btMatrix3x3__deSerialize_p1"] = asm["_emscripten_bind_btMatrix3x3__deSerialize_p1"]; +var _emscripten_bind_btJacobianEntry__btJacobianEntry_p9 = Module["_emscripten_bind_btJacobianEntry__btJacobianEntry_p9"] = asm["_emscripten_bind_btJacobianEntry__btJacobianEntry_p9"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0"]; +var _emscripten_bind_btTransform__setFromOpenGLMatrix_p1 = Module["_emscripten_bind_btTransform__setFromOpenGLMatrix_p1"] = asm["_emscripten_bind_btTransform__setFromOpenGLMatrix_p1"]; +var _emscripten_bind_btRigidBody__updateInertiaTensor_p0 = Module["_emscripten_bind_btRigidBody__updateInertiaTensor_p0"] = asm["_emscripten_bind_btRigidBody__updateInertiaTensor_p0"]; +var _emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btEmptyShape__getBoundingSphere_p2 = Module["_emscripten_bind_btEmptyShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btEmptyShape__getBoundingSphere_p2"]; +var _emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btTypedConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btTypedConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btTypedConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2 = Module["_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2"] = asm["_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2"]; +var _emscripten_bind_btJacobianEntry__getNonDiagonal_p3 = Module["_emscripten_bind_btJacobianEntry__getNonDiagonal_p3"] = asm["_emscripten_bind_btJacobianEntry__getNonDiagonal_p3"]; +var _emscripten_bind_btJacobianEntry__getNonDiagonal_p2 = Module["_emscripten_bind_btJacobianEntry__getNonDiagonal_p2"] = asm["_emscripten_bind_btJacobianEntry__getNonDiagonal_p2"]; +var _emscripten_bind_btMultiSphereShape__getShapeType_p0 = Module["_emscripten_bind_btMultiSphereShape__getShapeType_p0"] = asm["_emscripten_bind_btMultiSphereShape__getShapeType_p0"]; +var _emscripten_bind_btMultiSphereShape__getUserPointer_p0 = Module["_emscripten_bind_btMultiSphereShape__getUserPointer_p0"] = asm["_emscripten_bind_btMultiSphereShape__getUserPointer_p0"]; +var _emscripten_bind_btRigidBody__setAnisotropicFriction_p1 = Module["_emscripten_bind_btRigidBody__setAnisotropicFriction_p1"] = asm["_emscripten_bind_btRigidBody__setAnisotropicFriction_p1"]; +var _emscripten_bind_btStackAlloc__btStackAlloc_p1 = Module["_emscripten_bind_btStackAlloc__btStackAlloc_p1"] = asm["_emscripten_bind_btStackAlloc__btStackAlloc_p1"]; +var _emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0 = Module["_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0"] = asm["_emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0"]; +var _emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1 = Module["_emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1"]; +var _emscripten_bind_btConeTwistConstraint__getUid_p0 = Module["_emscripten_bind_btConeTwistConstraint__getUid_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getUid_p0"]; +var _emscripten_bind_btCylinderShapeZ__isInfinite_p0 = Module["_emscripten_bind_btCylinderShapeZ__isInfinite_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isInfinite_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3 = Module["_emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3"] = asm["_emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3"]; +var _emscripten_bind_btSliderConstraint__setEnabled_p1 = Module["_emscripten_bind_btSliderConstraint__setEnabled_p1"] = asm["_emscripten_bind_btSliderConstraint__setEnabled_p1"]; +var _emscripten_bind_btSphereShape__setLocalScaling_p1 = Module["_emscripten_bind_btSphereShape__setLocalScaling_p1"] = asm["_emscripten_bind_btSphereShape__setLocalScaling_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btPersistentManifold__get_m_objectType_p0 = Module["_emscripten_bind_btPersistentManifold__get_m_objectType_p0"] = asm["_emscripten_bind_btPersistentManifold__get_m_objectType_p0"]; +var _emscripten_bind_btCapsuleShapeX__getMargin_p0 = Module["_emscripten_bind_btCapsuleShapeX__getMargin_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getMargin_p0"]; +var _emscripten_bind_btSliderConstraint__setUpperAngLimit_p1 = Module["_emscripten_bind_btSliderConstraint__setUpperAngLimit_p1"] = asm["_emscripten_bind_btSliderConstraint__setUpperAngLimit_p1"]; +var _emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1 = Module["_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1"] = asm["_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1"]; +var _emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1 = Module["_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1"] = asm["_emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1"]; +var _emscripten_bind_btBU_Simplex1to4__reset_p0 = Module["_emscripten_bind_btBU_Simplex1to4__reset_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__reset_p0"]; +var _emscripten_bind_btHingeConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btHingeConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btHingeConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1 = Module["_emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2 = Module["_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2"] = asm["_emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2"]; +var _emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btConcaveShape__isCompound_p0 = Module["_emscripten_bind_btConcaveShape__isCompound_p0"] = asm["_emscripten_bind_btConcaveShape__isCompound_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__getScaling_p0 = Module["_emscripten_bind_btTriangleIndexVertexArray__getScaling_p0"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getScaling_p0"]; +var _emscripten_bind_btJacobianEntry__get_m_Adiag_p0 = Module["_emscripten_bind_btJacobianEntry__get_m_Adiag_p0"] = asm["_emscripten_bind_btJacobianEntry__get_m_Adiag_p0"]; +var _emscripten_bind_btGhostPairCallback____destroy___p0 = Module["_emscripten_bind_btGhostPairCallback____destroy___p0"] = asm["_emscripten_bind_btGhostPairCallback____destroy___p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1"]; +var _emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btHingeConstraint__enableFeedback_p1 = Module["_emscripten_bind_btHingeConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btHingeConstraint__enableFeedback_p1"]; +var _emscripten_bind_btUniversalConstraint__serialize_p2 = Module["_emscripten_bind_btUniversalConstraint__serialize_p2"] = asm["_emscripten_bind_btUniversalConstraint__serialize_p2"]; +var _emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btStorageResult__get_m_closestPointInB_p0 = Module["_emscripten_bind_btStorageResult__get_m_closestPointInB_p0"] = asm["_emscripten_bind_btStorageResult__get_m_closestPointInB_p0"]; +var _emscripten_bind_btCylinderShape__isPolyhedral_p0 = Module["_emscripten_bind_btCylinderShape__isPolyhedral_p0"] = asm["_emscripten_bind_btCylinderShape__isPolyhedral_p0"]; +var _emscripten_bind_btConeShape__getMarginNV_p0 = Module["_emscripten_bind_btConeShape__getMarginNV_p0"] = asm["_emscripten_bind_btConeShape__getMarginNV_p0"]; +var _emscripten_bind_btConeShape__getBoundingSphere_p2 = Module["_emscripten_bind_btConeShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btConeShape__getBoundingSphere_p2"]; +var _emscripten_bind_btHinge2Constraint__calculateTransforms_p0 = Module["_emscripten_bind_btHinge2Constraint__calculateTransforms_p0"] = asm["_emscripten_bind_btHinge2Constraint__calculateTransforms_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__serialize_p2 = Module["_emscripten_bind_btGeneric6DofConstraint__serialize_p2"] = asm["_emscripten_bind_btGeneric6DofConstraint__serialize_p2"]; +var _emscripten_bind_btStackAlloc____destroy___p0 = Module["_emscripten_bind_btStackAlloc____destroy___p0"] = asm["_emscripten_bind_btStackAlloc____destroy___p0"]; +var _emscripten_bind_btUniversalConstraint__enableFeedback_p1 = Module["_emscripten_bind_btUniversalConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btUniversalConstraint__enableFeedback_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0"]; +var _emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2 = Module["_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2"] = asm["_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2"]; +var _emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1 = Module["_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1"] = asm["_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1"]; +var _emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1 = Module["_emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1"] = asm["_emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1"]; +var _emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0 = Module["_emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0"] = asm["_emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0"]; +var _emscripten_bind_btDbvtBroadphase____destroy___p0 = Module["_emscripten_bind_btDbvtBroadphase____destroy___p0"] = asm["_emscripten_bind_btDbvtBroadphase____destroy___p0"]; +var _emscripten_bind_btTriangleMesh__serialize_p2 = Module["_emscripten_bind_btTriangleMesh__serialize_p2"] = asm["_emscripten_bind_btTriangleMesh__serialize_p2"]; +var _emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1"]; +var _emscripten_bind_btHinge2Constraint__getConstraintType_p0 = Module["_emscripten_bind_btHinge2Constraint__getConstraintType_p0"] = asm["_emscripten_bind_btHinge2Constraint__getConstraintType_p0"]; +var _emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btMultiSphereShape__getMargin_p0 = Module["_emscripten_bind_btMultiSphereShape__getMargin_p0"] = asm["_emscripten_bind_btMultiSphereShape__getMargin_p0"]; +var _emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1"]; +var _emscripten_bind_btSliderConstraint__btSliderConstraint_p5 = Module["_emscripten_bind_btSliderConstraint__btSliderConstraint_p5"] = asm["_emscripten_bind_btSliderConstraint__btSliderConstraint_p5"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0"]; +var _emscripten_bind_btDynamicsWorld__addCharacter_p1 = Module["_emscripten_bind_btDynamicsWorld__addCharacter_p1"] = asm["_emscripten_bind_btDynamicsWorld__addCharacter_p1"]; +var _emscripten_bind_btCollisionObject__activate_p0 = Module["_emscripten_bind_btCollisionObject__activate_p0"] = asm["_emscripten_bind_btCollisionObject__activate_p0"]; +var _emscripten_bind_btCollisionObject__activate_p1 = Module["_emscripten_bind_btCollisionObject__activate_p1"] = asm["_emscripten_bind_btCollisionObject__activate_p1"]; +var _emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0 = Module["_emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0"]; +var _emscripten_bind_btMatrix3x3__diagonalize_p3 = Module["_emscripten_bind_btMatrix3x3__diagonalize_p3"] = asm["_emscripten_bind_btMatrix3x3__diagonalize_p3"]; +var _emscripten_bind_btCapsuleShape__getShapeType_p0 = Module["_emscripten_bind_btCapsuleShape__getShapeType_p0"] = asm["_emscripten_bind_btCapsuleShape__getShapeType_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7 = Module["_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7"] = asm["_emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7"]; +var _emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0 = Module["_emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0"]; +var _emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btConeShapeX__isConvex2d_p0 = Module["_emscripten_bind_btConeShapeX__isConvex2d_p0"] = asm["_emscripten_bind_btConeShapeX__isConvex2d_p0"]; +var _emscripten_bind_btRaycastVehicle__getRigidBody_p0 = Module["_emscripten_bind_btRaycastVehicle__getRigidBody_p0"] = asm["_emscripten_bind_btRaycastVehicle__getRigidBody_p0"]; +var _emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btDbvtProxy__get_m_aabbMin_p0 = Module["_emscripten_bind_btDbvtProxy__get_m_aabbMin_p0"] = asm["_emscripten_bind_btDbvtProxy__get_m_aabbMin_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0"]; +var _emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btSliderConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btSliderConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btSliderConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btStaticPlaneShape__getAabb_p3 = Module["_emscripten_bind_btStaticPlaneShape__getAabb_p3"] = asm["_emscripten_bind_btStaticPlaneShape__getAabb_p3"]; +var _emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_CProfileNode____destroy___p0 = Module["_emscripten_bind_CProfileNode____destroy___p0"] = asm["_emscripten_bind_CProfileNode____destroy___p0"]; +var _emscripten_bind_btConvexHullShape__getNumPoints_p0 = Module["_emscripten_bind_btConvexHullShape__getNumPoints_p0"] = asm["_emscripten_bind_btConvexHullShape__getNumPoints_p0"]; +var _emscripten_bind_btConeShape__isCompound_p0 = Module["_emscripten_bind_btConeShape__isCompound_p0"] = asm["_emscripten_bind_btConeShape__isCompound_p0"]; +var _emscripten_bind_btMatrix3x3__getColumn_p1 = Module["_emscripten_bind_btMatrix3x3__getColumn_p1"] = asm["_emscripten_bind_btMatrix3x3__getColumn_p1"]; +var _emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0 = Module["_emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0"] = asm["_emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0"]; +var _emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0"]; +var _emscripten_bind_btIDebugDraw__drawBox_p4 = Module["_emscripten_bind_btIDebugDraw__drawBox_p4"] = asm["_emscripten_bind_btIDebugDraw__drawBox_p4"]; +var _emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1"]; +var _emscripten_bind_btIDebugDraw__drawBox_p3 = Module["_emscripten_bind_btIDebugDraw__drawBox_p3"] = asm["_emscripten_bind_btIDebugDraw__drawBox_p3"]; +var _emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2 = Module["_emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2"] = asm["_emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0"]; +var _emscripten_bind_btConstraintSolver__solveGroup_p10 = Module["_emscripten_bind_btConstraintSolver__solveGroup_p10"] = asm["_emscripten_bind_btConstraintSolver__solveGroup_p10"]; +var _emscripten_bind_btHinge2Constraint__setUserConstraintType_p1 = Module["_emscripten_bind_btHinge2Constraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btHinge2Constraint__setUserConstraintType_p1"]; +var _emscripten_bind_btMatrix3x3____destroy___p0 = Module["_emscripten_bind_btMatrix3x3____destroy___p0"] = asm["_emscripten_bind_btMatrix3x3____destroy___p0"]; +var _emscripten_bind_btCollisionWorld__getDebugDrawer_p0 = Module["_emscripten_bind_btCollisionWorld__getDebugDrawer_p0"] = asm["_emscripten_bind_btCollisionWorld__getDebugDrawer_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3 = Module["_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3"]; +var _emscripten_bind_btConeShapeZ__isConvex_p0 = Module["_emscripten_bind_btConeShapeZ__isConvex_p0"] = asm["_emscripten_bind_btConeShapeZ__isConvex_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getFriction_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getFriction_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getFriction_p0"]; +var _emscripten_bind_btRigidBody__serializeSingleObject_p1 = Module["_emscripten_bind_btRigidBody__serializeSingleObject_p1"] = asm["_emscripten_bind_btRigidBody__serializeSingleObject_p1"]; +var _emscripten_bind_btOptimizedBvh__updateBvhNodes_p4 = Module["_emscripten_bind_btOptimizedBvh__updateBvhNodes_p4"] = asm["_emscripten_bind_btOptimizedBvh__updateBvhNodes_p4"]; +var _emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0"]; +var _emscripten_bind_btSphereShape__isPolyhedral_p0 = Module["_emscripten_bind_btSphereShape__isPolyhedral_p0"] = asm["_emscripten_bind_btSphereShape__isPolyhedral_p0"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0"]; +var _emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4 = Module["_emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4"] = asm["_emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4"]; +var _emscripten_bind_btRigidBody__saveKinematicState_p1 = Module["_emscripten_bind_btRigidBody__saveKinematicState_p1"] = asm["_emscripten_bind_btRigidBody__saveKinematicState_p1"]; +var _emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btCollisionObject____destroy___p0 = Module["_emscripten_bind_btCollisionObject____destroy___p0"] = asm["_emscripten_bind_btCollisionObject____destroy___p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8 = Module["_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8"]; +var _emscripten_bind_btWheelInfo__set_m_steering_p1 = Module["_emscripten_bind_btWheelInfo__set_m_steering_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_steering_p1"]; +var _emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0 = Module["_emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0"] = asm["_emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0"]; +var _emscripten_bind_btConvexInternalShape__setUserPointer_p1 = Module["_emscripten_bind_btConvexInternalShape__setUserPointer_p1"] = asm["_emscripten_bind_btConvexInternalShape__setUserPointer_p1"]; +var _emscripten_bind_btGhostObject__getCompanionId_p0 = Module["_emscripten_bind_btGhostObject__getCompanionId_p0"] = asm["_emscripten_bind_btGhostObject__getCompanionId_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0"]; +var _emscripten_bind_btTransform__getIdentity_p0 = Module["_emscripten_bind_btTransform__getIdentity_p0"] = asm["_emscripten_bind_btTransform__getIdentity_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1 = Module["_emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1"] = asm["_emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__isCompound_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isCompound_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isCompound_p0"]; +var _emscripten_bind_btCompoundShape__btCompoundShape_p1 = Module["_emscripten_bind_btCompoundShape__btCompoundShape_p1"] = asm["_emscripten_bind_btCompoundShape__btCompoundShape_p1"]; +var _emscripten_bind_btCompoundShape__btCompoundShape_p0 = Module["_emscripten_bind_btCompoundShape__btCompoundShape_p0"] = asm["_emscripten_bind_btCompoundShape__btCompoundShape_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setHitFraction_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setHitFraction_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setHitFraction_p1"]; +var _emscripten_bind_btCollisionObject__getWorldTransform_p0 = Module["_emscripten_bind_btCollisionObject__getWorldTransform_p0"] = asm["_emscripten_bind_btCollisionObject__getWorldTransform_p0"]; +var _emscripten_bind_btContactConstraint__setParam_p3 = Module["_emscripten_bind_btContactConstraint__setParam_p3"] = asm["_emscripten_bind_btContactConstraint__setParam_p3"]; +var _emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0"]; +var _emscripten_bind_btCylinderShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btCylinderShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCylinderShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btTransform__serialize_p1 = Module["_emscripten_bind_btTransform__serialize_p1"] = asm["_emscripten_bind_btTransform__serialize_p1"]; +var _emscripten_bind_btStorageResult__get_m_distance_p0 = Module["_emscripten_bind_btStorageResult__get_m_distance_p0"] = asm["_emscripten_bind_btStorageResult__get_m_distance_p0"]; +var _emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0 = Module["_emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0"] = asm["_emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0"]; +var _emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btIndexedMesh__get_m_numVertices_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_numVertices_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_numVertices_p0"]; +var _emscripten_bind_btMultiSphereShape__setMargin_p1 = Module["_emscripten_bind_btMultiSphereShape__setMargin_p1"] = asm["_emscripten_bind_btMultiSphereShape__setMargin_p1"]; +var _emscripten_bind_btBoxShape__isSoftBody_p0 = Module["_emscripten_bind_btBoxShape__isSoftBody_p0"] = asm["_emscripten_bind_btBoxShape__isSoftBody_p0"]; +var _emscripten_bind_btDbvtProxy__isCompound_p1 = Module["_emscripten_bind_btDbvtProxy__isCompound_p1"] = asm["_emscripten_bind_btDbvtProxy__isCompound_p1"]; +var _emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btEmptyShape__isConvex_p0 = Module["_emscripten_bind_btEmptyShape__isConvex_p0"] = asm["_emscripten_bind_btEmptyShape__isConvex_p0"]; +var _emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btHingeConstraint__setAngularOnly_p1 = Module["_emscripten_bind_btHingeConstraint__setAngularOnly_p1"] = asm["_emscripten_bind_btHingeConstraint__setAngularOnly_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9 = Module["_emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9"] = asm["_emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9"]; +var _emscripten_bind_btCapsuleShapeX__getAabbSlow_p3 = Module["_emscripten_bind_btCapsuleShapeX__getAabbSlow_p3"] = asm["_emscripten_bind_btCapsuleShapeX__getAabbSlow_p3"]; +var _emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0"]; +var _emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3 = Module["_emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3"] = asm["_emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3"]; +var _emscripten_bind_btCapsuleShapeX__isPolyhedral_p0 = Module["_emscripten_bind_btCapsuleShapeX__isPolyhedral_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isPolyhedral_p0"]; +var _emscripten_bind_btVector4__z_p0 = Module["_emscripten_bind_btVector4__z_p0"] = asm["_emscripten_bind_btVector4__z_p0"]; +var _emscripten_bind_btRigidBody__getUserPointer_p0 = Module["_emscripten_bind_btRigidBody__getUserPointer_p0"] = asm["_emscripten_bind_btRigidBody__getUserPointer_p0"]; +var _emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0 = Module["_emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0"] = asm["_emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_paircache_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_paircache_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_paircache_p1"]; +var _emscripten_bind_btHinge2Constraint__setDamping_p2 = Module["_emscripten_bind_btHinge2Constraint__setDamping_p2"] = asm["_emscripten_bind_btHinge2Constraint__setDamping_p2"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2"]; +var _emscripten_bind_btConvexHullShape__getBoundingSphere_p2 = Module["_emscripten_bind_btConvexHullShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btConvexHullShape__getBoundingSphere_p2"]; +var _emscripten_bind_btContactConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btContactConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btContactConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btConeTwistConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btConeTwistConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btConeTwistConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btMultiSphereShape__getMarginNV_p0 = Module["_emscripten_bind_btMultiSphereShape__getMarginNV_p0"] = asm["_emscripten_bind_btMultiSphereShape__getMarginNV_p0"]; +var _emscripten_bind_btRaycastVehicle__rayCast_p1 = Module["_emscripten_bind_btRaycastVehicle__rayCast_p1"] = asm["_emscripten_bind_btRaycastVehicle__rayCast_p1"]; +var _emscripten_bind_btConvexHullShape__isConcave_p0 = Module["_emscripten_bind_btConvexHullShape__isConcave_p0"] = asm["_emscripten_bind_btConvexHullShape__isConcave_p0"]; +var _emscripten_bind_btCollisionObject__getAnisotropicFriction_p0 = Module["_emscripten_bind_btCollisionObject__getAnisotropicFriction_p0"] = asm["_emscripten_bind_btCollisionObject__getAnisotropicFriction_p0"]; +var _emscripten_bind_btSimpleBroadphase____destroy___p0 = Module["_emscripten_bind_btSimpleBroadphase____destroy___p0"] = asm["_emscripten_bind_btSimpleBroadphase____destroy___p0"]; +var _emscripten_bind_btCapsuleShape__btCapsuleShape_p2 = Module["_emscripten_bind_btCapsuleShape__btCapsuleShape_p2"] = asm["_emscripten_bind_btCapsuleShape__btCapsuleShape_p2"]; +var _emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1"]; +var _emscripten_bind_btConvexHullShape__getLocalScaling_p0 = Module["_emscripten_bind_btConvexHullShape__getLocalScaling_p0"] = asm["_emscripten_bind_btConvexHullShape__getLocalScaling_p0"]; +var _emscripten_bind_btVector4__x_p0 = Module["_emscripten_bind_btVector4__x_p0"] = asm["_emscripten_bind_btVector4__x_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1"]; +var _emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1 = Module["_emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1"] = asm["_emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1"]; +var _emscripten_bind_btMultiSphereShape__isConvex2d_p0 = Module["_emscripten_bind_btMultiSphereShape__isConvex2d_p0"] = asm["_emscripten_bind_btMultiSphereShape__isConvex2d_p0"]; +var _emscripten_bind_btCylinderShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCylinderShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCylinderShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btRigidBody__isActive_p0 = Module["_emscripten_bind_btRigidBody__isActive_p0"] = asm["_emscripten_bind_btRigidBody__isActive_p0"]; +var _emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0 = Module["_emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0"] = asm["_emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1 = Module["_emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1"] = asm["_emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1"]; +var _emscripten_bind_btRaycastVehicle__getRightAxis_p0 = Module["_emscripten_bind_btRaycastVehicle__getRightAxis_p0"] = asm["_emscripten_bind_btRaycastVehicle__getRightAxis_p0"]; +var _emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btDispatcherInfo__set_m_timeStep_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_timeStep_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_timeStep_p1"]; +var _emscripten_bind_btGhostObject__getNumOverlappingObjects_p0 = Module["_emscripten_bind_btGhostObject__getNumOverlappingObjects_p0"] = asm["_emscripten_bind_btGhostObject__getNumOverlappingObjects_p0"]; +var _emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btUniversalConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btUniversalConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btUniversalConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btContactConstraint__getInfo2_p1 = Module["_emscripten_bind_btContactConstraint__getInfo2_p1"] = asm["_emscripten_bind_btContactConstraint__getInfo2_p1"]; +var _emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0 = Module["_emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0"] = asm["_emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getIslandTag_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getIslandTag_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getIslandTag_p0"]; +var _emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0"]; +var _emscripten_bind_btRigidBody__setContactProcessingThreshold_p1 = Module["_emscripten_bind_btRigidBody__setContactProcessingThreshold_p1"] = asm["_emscripten_bind_btRigidBody__setContactProcessingThreshold_p1"]; +var _emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btRigidBody__getAngularDamping_p0 = Module["_emscripten_bind_btRigidBody__getAngularDamping_p0"] = asm["_emscripten_bind_btRigidBody__getAngularDamping_p0"]; +var _emscripten_bind_btConcaveShape__getUserPointer_p0 = Module["_emscripten_bind_btConcaveShape__getUserPointer_p0"] = asm["_emscripten_bind_btConcaveShape__getUserPointer_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3 = Module["_emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3"] = asm["_emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3"]; +var _memset = Module["_memset"] = asm["_memset"]; +var _emscripten_bind_btHinge2Constraint__getAngle_p1 = Module["_emscripten_bind_btHinge2Constraint__getAngle_p1"] = asm["_emscripten_bind_btHinge2Constraint__getAngle_p1"]; +var _emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0 = Module["_emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0"]; +var _emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0 = Module["_emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2"]; +var _emscripten_bind_btTypedConstraint__isEnabled_p0 = Module["_emscripten_bind_btTypedConstraint__isEnabled_p0"] = asm["_emscripten_bind_btTypedConstraint__isEnabled_p0"]; +var _emscripten_bind_btVector4__cross_p1 = Module["_emscripten_bind_btVector4__cross_p1"] = asm["_emscripten_bind_btVector4__cross_p1"]; +var _emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0 = Module["_emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0"] = asm["_emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0"]; +var _emscripten_bind_btCapsuleShapeZ__isConvex_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isConvex_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isConvex_p0"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0"]; +var _emscripten_bind_btPairCachingGhostObject__serialize_p2 = Module["_emscripten_bind_btPairCachingGhostObject__serialize_p2"] = asm["_emscripten_bind_btPairCachingGhostObject__serialize_p2"]; +var _emscripten_bind_btCylinderShapeX__isInfinite_p0 = Module["_emscripten_bind_btCylinderShapeX__isInfinite_p0"] = asm["_emscripten_bind_btCylinderShapeX__isInfinite_p0"]; +var _emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0 = Module["_emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0"] = asm["_emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0"]; +var _emscripten_bind_btGhostObject__setFriction_p1 = Module["_emscripten_bind_btGhostObject__setFriction_p1"] = asm["_emscripten_bind_btGhostObject__setFriction_p1"]; +var _emscripten_bind_btCylinderShape__serializeSingleShape_p1 = Module["_emscripten_bind_btCylinderShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btCylinderShape__serializeSingleShape_p1"]; +var _emscripten_bind_btWheelInfo__set_m_skidInfo_p1 = Module["_emscripten_bind_btWheelInfo__set_m_skidInfo_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_skidInfo_p1"]; +var _emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1 = Module["_emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1"] = asm["_emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0"]; +var _emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1 = Module["_emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1"] = asm["_emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1"]; +var _emscripten_bind_btBroadphaseInterface__destroyProxy_p2 = Module["_emscripten_bind_btBroadphaseInterface__destroyProxy_p2"] = asm["_emscripten_bind_btBroadphaseInterface__destroyProxy_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2"]; +var _emscripten_bind_btConeShapeX__getShapeType_p0 = Module["_emscripten_bind_btConeShapeX__getShapeType_p0"] = asm["_emscripten_bind_btConeShapeX__getShapeType_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2 = Module["_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2"] = asm["_emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2"]; +var _emscripten_bind_btTriangleMesh__getPremadeAabb_p2 = Module["_emscripten_bind_btTriangleMesh__getPremadeAabb_p2"] = asm["_emscripten_bind_btTriangleMesh__getPremadeAabb_p2"]; +var _emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0"]; +var _emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0 = Module["_emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0"] = asm["_emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0"]; +var _emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2 = Module["_emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2"] = asm["_emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2"]; +var _emscripten_bind_btTypedConstraint__setParam_p2 = Module["_emscripten_bind_btTypedConstraint__setParam_p2"] = asm["_emscripten_bind_btTypedConstraint__setParam_p2"]; +var _emscripten_bind_btTypedConstraint__setParam_p3 = Module["_emscripten_bind_btTypedConstraint__setParam_p3"] = asm["_emscripten_bind_btTypedConstraint__setParam_p3"]; +var _emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1 = Module["_emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1"] = asm["_emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1"]; +var _emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0 = Module["_emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0"]; +var _emscripten_bind_btCompoundShape____destroy___p0 = Module["_emscripten_bind_btCompoundShape____destroy___p0"] = asm["_emscripten_bind_btCompoundShape____destroy___p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0"]; +var _emscripten_bind_btHashString__get_m_string_p0 = Module["_emscripten_bind_btHashString__get_m_string_p0"] = asm["_emscripten_bind_btHashString__get_m_string_p0"]; +var _emscripten_bind_btQuadWord__btQuadWord_p0 = Module["_emscripten_bind_btQuadWord__btQuadWord_p0"] = asm["_emscripten_bind_btQuadWord__btQuadWord_p0"]; +var _emscripten_bind_btTransform__setRotation_p1 = Module["_emscripten_bind_btTransform__setRotation_p1"] = asm["_emscripten_bind_btTransform__setRotation_p1"]; +var _emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1"]; +var _emscripten_bind_btRigidBody__get_m_frictionSolverType_p0 = Module["_emscripten_bind_btRigidBody__get_m_frictionSolverType_p0"] = asm["_emscripten_bind_btRigidBody__get_m_frictionSolverType_p0"]; +var _emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1"]; +var _emscripten_bind_btBroadphaseProxy____destroy___p0 = Module["_emscripten_bind_btBroadphaseProxy____destroy___p0"] = asm["_emscripten_bind_btBroadphaseProxy____destroy___p0"]; +var _emscripten_bind_btDbvtProxy__isInfinite_p1 = Module["_emscripten_bind_btDbvtProxy__isInfinite_p1"] = asm["_emscripten_bind_btDbvtProxy__isInfinite_p1"]; +var _emscripten_bind_btCompoundShape__getUpdateRevision_p0 = Module["_emscripten_bind_btCompoundShape__getUpdateRevision_p0"] = asm["_emscripten_bind_btCompoundShape__getUpdateRevision_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0"]; +var _emscripten_bind_btVector3__deSerialize_p1 = Module["_emscripten_bind_btVector3__deSerialize_p1"] = asm["_emscripten_bind_btVector3__deSerialize_p1"]; +var _emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btHashString__getHash_p0 = Module["_emscripten_bind_btHashString__getHash_p0"] = asm["_emscripten_bind_btHashString__getHash_p0"]; +var _emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2 = Module["_emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2"] = asm["_emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2"]; +var _emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0"]; +var _emscripten_bind_btCapsuleShape__isConvex_p0 = Module["_emscripten_bind_btCapsuleShape__isConvex_p0"] = asm["_emscripten_bind_btCapsuleShape__isConvex_p0"]; +var _emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0"]; +var _emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2 = Module["_emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2"] = asm["_emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2"]; +var _emscripten_bind_btRigidBody__forceActivationState_p1 = Module["_emscripten_bind_btRigidBody__forceActivationState_p1"] = asm["_emscripten_bind_btRigidBody__forceActivationState_p1"]; +var _emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0"]; +var _emscripten_bind_btConeShapeX__isPolyhedral_p0 = Module["_emscripten_bind_btConeShapeX__isPolyhedral_p0"] = asm["_emscripten_bind_btConeShapeX__isPolyhedral_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1"]; +var _emscripten_bind_btVector3__absolute_p0 = Module["_emscripten_bind_btVector3__absolute_p0"] = asm["_emscripten_bind_btVector3__absolute_p0"]; +var _emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0 = Module["_emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btHingeConstraint__setLimit_p4 = Module["_emscripten_bind_btHingeConstraint__setLimit_p4"] = asm["_emscripten_bind_btHingeConstraint__setLimit_p4"]; +var _emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0"]; +var _emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btVector4__deSerializeDouble_p1 = Module["_emscripten_bind_btVector4__deSerializeDouble_p1"] = asm["_emscripten_bind_btVector4__deSerializeDouble_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2"]; +var _emscripten_bind_btDefaultMotionState__get_m_userPointer_p0 = Module["_emscripten_bind_btDefaultMotionState__get_m_userPointer_p0"] = asm["_emscripten_bind_btDefaultMotionState__get_m_userPointer_p0"]; +var _emscripten_bind_btSliderConstraint__getAncorInB_p0 = Module["_emscripten_bind_btSliderConstraint__getAncorInB_p0"] = asm["_emscripten_bind_btSliderConstraint__getAncorInB_p0"]; +var _emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btTransform__getOrigin_p0 = Module["_emscripten_bind_btTransform__getOrigin_p0"] = asm["_emscripten_bind_btTransform__getOrigin_p0"]; +var _emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0 = Module["_emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0"]; +var _emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btTypedObject__get_m_objectType_p0 = Module["_emscripten_bind_btTypedObject__get_m_objectType_p0"] = asm["_emscripten_bind_btTypedObject__get_m_objectType_p0"]; +var _emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0 = Module["_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0"] = asm["_emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0"]; +var _emscripten_bind_btCompoundShape__getAabb_p3 = Module["_emscripten_bind_btCompoundShape__getAabb_p3"] = asm["_emscripten_bind_btCompoundShape__getAabb_p3"]; +var _emscripten_bind_btBroadphasePair__get_m_pProxy1_p0 = Module["_emscripten_bind_btBroadphasePair__get_m_pProxy1_p0"] = asm["_emscripten_bind_btBroadphasePair__get_m_pProxy1_p0"]; +var _emscripten_bind_btRigidBody__getDeactivationTime_p0 = Module["_emscripten_bind_btRigidBody__getDeactivationTime_p0"] = asm["_emscripten_bind_btRigidBody__getDeactivationTime_p0"]; +var _emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btVector3__length_p0 = Module["_emscripten_bind_btVector3__length_p0"] = asm["_emscripten_bind_btVector3__length_p0"]; +var _emscripten_bind_btConstraintSolver__prepareSolve_p2 = Module["_emscripten_bind_btConstraintSolver__prepareSolve_p2"] = asm["_emscripten_bind_btConstraintSolver__prepareSolve_p2"]; +var _emscripten_bind_btVector4__deSerialize_p1 = Module["_emscripten_bind_btVector4__deSerialize_p1"] = asm["_emscripten_bind_btVector4__deSerialize_p1"]; +var _emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4 = Module["_emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4"] = asm["_emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4"]; +var _emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0"]; +var _emscripten_bind_btContactConstraint__getInfo1_p1 = Module["_emscripten_bind_btContactConstraint__getInfo1_p1"] = asm["_emscripten_bind_btContactConstraint__getInfo1_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0"]; +var _emscripten_bind_btSliderConstraint__getConstraintType_p0 = Module["_emscripten_bind_btSliderConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btSliderConstraint__getConstraintType_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0"]; +var _emscripten_bind_btCompoundShape__getDynamicAabbTree_p0 = Module["_emscripten_bind_btCompoundShape__getDynamicAabbTree_p0"] = asm["_emscripten_bind_btCompoundShape__getDynamicAabbTree_p0"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1"]; +var _emscripten_bind_btConvexInternalShape__getBoundingSphere_p2 = Module["_emscripten_bind_btConvexInternalShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btConvexInternalShape__getBoundingSphere_p2"]; +var _emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btIDebugDraw__drawCylinder_p5 = Module["_emscripten_bind_btIDebugDraw__drawCylinder_p5"] = asm["_emscripten_bind_btIDebugDraw__drawCylinder_p5"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0"]; +var _emscripten_bind_btQuadWord__op_comp_p1 = Module["_emscripten_bind_btQuadWord__op_comp_p1"] = asm["_emscripten_bind_btQuadWord__op_comp_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCylinderShape____destroy___p0 = Module["_emscripten_bind_btCylinderShape____destroy___p0"] = asm["_emscripten_bind_btCylinderShape____destroy___p0"]; +var _emscripten_bind_btConvexHullShape__isConvex_p0 = Module["_emscripten_bind_btConvexHullShape__isConvex_p0"] = asm["_emscripten_bind_btConvexHullShape__isConvex_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0"]; +var _emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5 = Module["_emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5"] = asm["_emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5"]; +var _emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1 = Module["_emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1"] = asm["_emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1"]; +var _emscripten_bind_btTypedConstraint__getUid_p0 = Module["_emscripten_bind_btTypedConstraint__getUid_p0"] = asm["_emscripten_bind_btTypedConstraint__getUid_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__setScaling_p1 = Module["_emscripten_bind_btTriangleIndexVertexArray__setScaling_p1"] = asm["_emscripten_bind_btTriangleIndexVertexArray__setScaling_p1"]; +var _emscripten_bind_btRigidBody__setWorldTransform_p1 = Module["_emscripten_bind_btRigidBody__setWorldTransform_p1"] = asm["_emscripten_bind_btRigidBody__setWorldTransform_p1"]; +var _emscripten_bind_btGhostObject__serialize_p2 = Module["_emscripten_bind_btGhostObject__serialize_p2"] = asm["_emscripten_bind_btGhostObject__serialize_p2"]; +var _emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btQuadWord__setY_p1 = Module["_emscripten_bind_btQuadWord__setY_p1"] = asm["_emscripten_bind_btQuadWord__setY_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0"]; +var _emscripten_bind_btUniformScalingShape____destroy___p0 = Module["_emscripten_bind_btUniformScalingShape____destroy___p0"] = asm["_emscripten_bind_btUniformScalingShape____destroy___p0"]; +var _emscripten_bind_btPairCachingGhostObject__setFriction_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setFriction_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setFriction_p1"]; +var _emscripten_bind_btConeTwistConstraint__getBFrame_p0 = Module["_emscripten_bind_btConeTwistConstraint__getBFrame_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getBFrame_p0"]; +var _emscripten_bind_btRigidBody__getCenterOfMassPosition_p0 = Module["_emscripten_bind_btRigidBody__getCenterOfMassPosition_p0"] = asm["_emscripten_bind_btRigidBody__getCenterOfMassPosition_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6 = Module["_emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1"]; +var _emscripten_bind_btConvexShape__getBoundingSphere_p2 = Module["_emscripten_bind_btConvexShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btConvexShape__getBoundingSphere_p2"]; +var _emscripten_bind_btConvexShape__getUserPointer_p0 = Module["_emscripten_bind_btConvexShape__getUserPointer_p0"] = asm["_emscripten_bind_btConvexShape__getUserPointer_p0"]; +var _emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0"]; +var _emscripten_bind_btIDebugDraw__drawTriangle_p8 = Module["_emscripten_bind_btIDebugDraw__drawTriangle_p8"] = asm["_emscripten_bind_btIDebugDraw__drawTriangle_p8"]; +var _emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0 = Module["_emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0"] = asm["_emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0"]; +var _emscripten_bind_btConeShapeZ__getMarginNV_p0 = Module["_emscripten_bind_btConeShapeZ__getMarginNV_p0"] = asm["_emscripten_bind_btConeShapeZ__getMarginNV_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2 = Module["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2"] = asm["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2"]; +var _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5 = Module["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5"] = asm["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5"]; +var _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4 = Module["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4"] = asm["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4"]; +var _emscripten_bind_btCapsuleShapeX__isConcave_p0 = Module["_emscripten_bind_btCapsuleShapeX__isConcave_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isConcave_p0"]; +var _emscripten_bind_btEmptyShape__btEmptyShape_p0 = Module["_emscripten_bind_btEmptyShape__btEmptyShape_p0"] = asm["_emscripten_bind_btEmptyShape__btEmptyShape_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getPivotInA_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getPivotInA_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getPivotInA_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1"]; +var _emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0 = Module["_emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3 = Module["_emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3"] = asm["_emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3"]; +var _emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0"]; +var _emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1"]; +var _emscripten_bind_btUniversalConstraint__getAngle1_p0 = Module["_emscripten_bind_btUniversalConstraint__getAngle1_p0"] = asm["_emscripten_bind_btUniversalConstraint__getAngle1_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btQuaternion__setY_p1 = Module["_emscripten_bind_btQuaternion__setY_p1"] = asm["_emscripten_bind_btQuaternion__setY_p1"]; +var _emscripten_bind_btAngularLimit__isLimit_p0 = Module["_emscripten_bind_btAngularLimit__isLimit_p0"] = asm["_emscripten_bind_btAngularLimit__isLimit_p0"]; +var _emscripten_bind_btSphereShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btSphereShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btSphereShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btStaticPlaneShape____destroy___p0 = Module["_emscripten_bind_btStaticPlaneShape____destroy___p0"] = asm["_emscripten_bind_btStaticPlaneShape____destroy___p0"]; +var _emscripten_bind_btBoxShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btBoxShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btBoxShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btConeShapeX__isNonMoving_p0 = Module["_emscripten_bind_btConeShapeX__isNonMoving_p0"] = asm["_emscripten_bind_btConeShapeX__isNonMoving_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btIDebugDraw__drawSpherePatch_p10 = Module["_emscripten_bind_btIDebugDraw__drawSpherePatch_p10"] = asm["_emscripten_bind_btIDebugDraw__drawSpherePatch_p10"]; +var _emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2 = Module["_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2"]; +var _emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3 = Module["_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3"]; +var _emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1 = Module["_emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1"] = asm["_emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1"]; +var _emscripten_bind_btUniformScalingShape__getMargin_p0 = Module["_emscripten_bind_btUniformScalingShape__getMargin_p0"] = asm["_emscripten_bind_btUniformScalingShape__getMargin_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0"]; +var _emscripten_bind_btConcaveShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConcaveShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConcaveShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btTransform__inverse_p0 = Module["_emscripten_bind_btTransform__inverse_p0"] = asm["_emscripten_bind_btTransform__inverse_p0"]; +var _emscripten_bind_btCylinderShapeX__isConvex2d_p0 = Module["_emscripten_bind_btCylinderShapeX__isConvex2d_p0"] = asm["_emscripten_bind_btCylinderShapeX__isConvex2d_p0"]; +var _emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1 = Module["_emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1"] = asm["_emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1"]; +var _emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btBroadphaseInterface__rayTest_p4 = Module["_emscripten_bind_btBroadphaseInterface__rayTest_p4"] = asm["_emscripten_bind_btBroadphaseInterface__rayTest_p4"]; +var _emscripten_bind_btBroadphaseInterface__rayTest_p3 = Module["_emscripten_bind_btBroadphaseInterface__rayTest_p3"] = asm["_emscripten_bind_btBroadphaseInterface__rayTest_p3"]; +var _emscripten_bind_btQuaternion__setZ_p1 = Module["_emscripten_bind_btQuaternion__setZ_p1"] = asm["_emscripten_bind_btQuaternion__setZ_p1"]; +var _emscripten_bind_btBU_Simplex1to4__setUserPointer_p1 = Module["_emscripten_bind_btBU_Simplex1to4__setUserPointer_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__setUserPointer_p1"]; +var _emscripten_bind_btQuaternion__setW_p1 = Module["_emscripten_bind_btQuaternion__setW_p1"] = asm["_emscripten_bind_btQuaternion__setW_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8 = Module["_emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8"] = asm["_emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8"]; +var _emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0 = Module["_emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0"] = asm["_emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0"]; +var _emscripten_bind_btRigidBody__applyImpulse_p2 = Module["_emscripten_bind_btRigidBody__applyImpulse_p2"] = asm["_emscripten_bind_btRigidBody__applyImpulse_p2"]; +var _emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1 = Module["_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1"]; +var _emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1 = Module["_emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1"] = asm["_emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1"]; +var _emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1 = Module["_emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1"] = asm["_emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1"]; +var _emscripten_bind_btTriangleCallback__processTriangle_p3 = Module["_emscripten_bind_btTriangleCallback__processTriangle_p3"] = asm["_emscripten_bind_btTriangleCallback__processTriangle_p3"]; +var _emscripten_bind_btDynamicsWorld__contactPairTest_p3 = Module["_emscripten_bind_btDynamicsWorld__contactPairTest_p3"] = asm["_emscripten_bind_btDynamicsWorld__contactPairTest_p3"]; +var _emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2"]; +var _emscripten_bind_btStaticPlaneShape__setLocalScaling_p1 = Module["_emscripten_bind_btStaticPlaneShape__setLocalScaling_p1"] = asm["_emscripten_bind_btStaticPlaneShape__setLocalScaling_p1"]; +var _emscripten_bind_btDynamicsWorld__removeAction_p1 = Module["_emscripten_bind_btDynamicsWorld__removeAction_p1"] = asm["_emscripten_bind_btDynamicsWorld__removeAction_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1"]; +var _emscripten_bind_btQuaternion__setX_p1 = Module["_emscripten_bind_btQuaternion__setX_p1"] = asm["_emscripten_bind_btQuaternion__setX_p1"]; +var _emscripten_bind_btManifoldResult__getPersistentManifold_p0 = Module["_emscripten_bind_btManifoldResult__getPersistentManifold_p0"] = asm["_emscripten_bind_btManifoldResult__getPersistentManifold_p0"]; +var _emscripten_bind_btDispatcher__needsResponse_p2 = Module["_emscripten_bind_btDispatcher__needsResponse_p2"] = asm["_emscripten_bind_btDispatcher__needsResponse_p2"]; +var _emscripten_bind_btCapsuleShapeX__getName_p0 = Module["_emscripten_bind_btCapsuleShapeX__getName_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getName_p0"]; +var _emscripten_bind_btConvexShape__isInfinite_p0 = Module["_emscripten_bind_btConvexShape__isInfinite_p0"] = asm["_emscripten_bind_btConvexShape__isInfinite_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0"]; +var _emscripten_bind_btSimpleBroadphase__printStats_p0 = Module["_emscripten_bind_btSimpleBroadphase__printStats_p0"] = asm["_emscripten_bind_btSimpleBroadphase__printStats_p0"]; +var _emscripten_bind_btCollisionWorld__serialize_p1 = Module["_emscripten_bind_btCollisionWorld__serialize_p1"] = asm["_emscripten_bind_btCollisionWorld__serialize_p1"]; +var _emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__isConvex_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isConvex_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isConvex_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setParam_p2 = Module["_emscripten_bind_btGeneric6DofConstraint__setParam_p2"] = asm["_emscripten_bind_btGeneric6DofConstraint__setParam_p2"]; +var _emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1"]; +var _emscripten_bind_btBU_Simplex1to4____destroy___p0 = Module["_emscripten_bind_btBU_Simplex1to4____destroy___p0"] = asm["_emscripten_bind_btBU_Simplex1to4____destroy___p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1"]; +var _emscripten_bind_btMultiSphereShape__isSoftBody_p0 = Module["_emscripten_bind_btMultiSphereShape__isSoftBody_p0"] = asm["_emscripten_bind_btMultiSphereShape__isSoftBody_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0"]; +var _emscripten_bind_btCompoundShape__getBoundingSphere_p2 = Module["_emscripten_bind_btCompoundShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btCompoundShape__getBoundingSphere_p2"]; +var _emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0"]; +var _emscripten_bind_btConstraintSetting__get_m_damping_p0 = Module["_emscripten_bind_btConstraintSetting__get_m_damping_p0"] = asm["_emscripten_bind_btConstraintSetting__get_m_damping_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btMatrix3x3__getRow_p1 = Module["_emscripten_bind_btMatrix3x3__getRow_p1"] = asm["_emscripten_bind_btMatrix3x3__getRow_p1"]; +var _emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0 = Module["_emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0"] = asm["_emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0"]; +var _emscripten_bind_btConeShape__isConvex_p0 = Module["_emscripten_bind_btConeShape__isConvex_p0"] = asm["_emscripten_bind_btConeShape__isConvex_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btVector4__distance_p1 = Module["_emscripten_bind_btVector4__distance_p1"] = asm["_emscripten_bind_btVector4__distance_p1"]; +var _emscripten_bind_btMatrix3x3__op_set_p1 = Module["_emscripten_bind_btMatrix3x3__op_set_p1"] = asm["_emscripten_bind_btMatrix3x3__op_set_p1"]; +var _emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0 = Module["_emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0"] = asm["_emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3"]; +var _emscripten_bind_btCollisionObject__getDeactivationTime_p0 = Module["_emscripten_bind_btCollisionObject__getDeactivationTime_p0"] = asm["_emscripten_bind_btCollisionObject__getDeactivationTime_p0"]; +var _emscripten_bind_btCollisionShape__setMargin_p1 = Module["_emscripten_bind_btCollisionShape__setMargin_p1"] = asm["_emscripten_bind_btCollisionShape__setMargin_p1"]; +var _emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0 = Module["_emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0"] = asm["_emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0"]; +var _emscripten_bind_btSphereShape__btSphereShape_p1 = Module["_emscripten_bind_btSphereShape__btSphereShape_p1"] = asm["_emscripten_bind_btSphereShape__btSphereShape_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btUniformScalingShape__isNonMoving_p0 = Module["_emscripten_bind_btUniformScalingShape__isNonMoving_p0"] = asm["_emscripten_bind_btUniformScalingShape__isNonMoving_p0"]; +var _emscripten_bind_btPersistentManifold__refreshContactPoints_p2 = Module["_emscripten_bind_btPersistentManifold__refreshContactPoints_p2"] = asm["_emscripten_bind_btPersistentManifold__refreshContactPoints_p2"]; +var _emscripten_bind_btVector3__setZero_p0 = Module["_emscripten_bind_btVector3__setZero_p0"] = asm["_emscripten_bind_btVector3__setZero_p0"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__serialize_p2 = Module["_emscripten_bind_btPolyhedralConvexShape__serialize_p2"] = asm["_emscripten_bind_btPolyhedralConvexShape__serialize_p2"]; +var _emscripten_bind_btTriangleMesh__preallocateIndices_p1 = Module["_emscripten_bind_btTriangleMesh__preallocateIndices_p1"] = asm["_emscripten_bind_btTriangleMesh__preallocateIndices_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getVertex_p2 = Module["_emscripten_bind_btConvexTriangleMeshShape__getVertex_p2"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getVertex_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1"]; +var _emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0 = Module["_emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0"]; +var _emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3 = Module["_emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3"]; +var _emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1"]; +var _emscripten_bind_btCollisionObject__setCollisionShape_p1 = Module["_emscripten_bind_btCollisionObject__setCollisionShape_p1"] = asm["_emscripten_bind_btCollisionObject__setCollisionShape_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1"]; +var _emscripten_bind_btCylinderShape__getUserPointer_p0 = Module["_emscripten_bind_btCylinderShape__getUserPointer_p0"] = asm["_emscripten_bind_btCylinderShape__getUserPointer_p0"]; +var _emscripten_bind_btTransform__btTransform_p1 = Module["_emscripten_bind_btTransform__btTransform_p1"] = asm["_emscripten_bind_btTransform__btTransform_p1"]; +var _emscripten_bind_btTransform__btTransform_p0 = Module["_emscripten_bind_btTransform__btTransform_p0"] = asm["_emscripten_bind_btTransform__btTransform_p0"]; +var _emscripten_bind_btTransform__btTransform_p2 = Module["_emscripten_bind_btTransform__btTransform_p2"] = asm["_emscripten_bind_btTransform__btTransform_p2"]; +var _emscripten_bind_btVector3__normalize_p0 = Module["_emscripten_bind_btVector3__normalize_p0"] = asm["_emscripten_bind_btVector3__normalize_p0"]; +var _emscripten_bind_btConvexHullShape__getPoints_p0 = Module["_emscripten_bind_btConvexHullShape__getPoints_p0"] = asm["_emscripten_bind_btConvexHullShape__getPoints_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__serialize_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__serialize_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__serialize_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0"]; +var _emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_CProfileNode__Get_Total_Calls_p0 = Module["_emscripten_bind_CProfileNode__Get_Total_Calls_p0"] = asm["_emscripten_bind_CProfileNode__Get_Total_Calls_p0"]; +var _emscripten_bind_btVector3__btVector3_p3 = Module["_emscripten_bind_btVector3__btVector3_p3"] = asm["_emscripten_bind_btVector3__btVector3_p3"]; +var _emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3"]; +var _emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btCollisionWorld__contactPairTest_p3 = Module["_emscripten_bind_btCollisionWorld__contactPairTest_p3"] = asm["_emscripten_bind_btCollisionWorld__contactPairTest_p3"]; +var _emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1"]; +var _emscripten_bind_btManifoldResult__refreshContactPoints_p0 = Module["_emscripten_bind_btManifoldResult__refreshContactPoints_p0"] = asm["_emscripten_bind_btManifoldResult__refreshContactPoints_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3"]; +var _emscripten_bind_btCapsuleShapeX__isCompound_p0 = Module["_emscripten_bind_btCapsuleShapeX__isCompound_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isCompound_p0"]; +var _emscripten_bind_btOverlappingPairCache__findPair_p2 = Module["_emscripten_bind_btOverlappingPairCache__findPair_p2"] = asm["_emscripten_bind_btOverlappingPairCache__findPair_p2"]; +var _emscripten_bind_btBU_Simplex1to4__isInfinite_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isInfinite_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isInfinite_p0"]; +var _emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0 = Module["_emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1"]; +var _emscripten_bind_btGhostObject__getHitFraction_p0 = Module["_emscripten_bind_btGhostObject__getHitFraction_p0"] = asm["_emscripten_bind_btGhostObject__getHitFraction_p0"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btCompoundShape__setUserPointer_p1 = Module["_emscripten_bind_btCompoundShape__setUserPointer_p1"] = asm["_emscripten_bind_btCompoundShape__setUserPointer_p1"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0"]; +var _emscripten_bind_btBoxShape____destroy___p0 = Module["_emscripten_bind_btBoxShape____destroy___p0"] = asm["_emscripten_bind_btBoxShape____destroy___p0"]; +var _emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3 = Module["_emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3"] = asm["_emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3"]; +var _emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btTypedConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btTypedConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btTypedConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_CProfileNode__Call_p0 = Module["_emscripten_bind_CProfileNode__Call_p0"] = asm["_emscripten_bind_CProfileNode__Call_p0"]; +var _emscripten_bind_btQuaternion__length_p0 = Module["_emscripten_bind_btQuaternion__length_p0"] = asm["_emscripten_bind_btQuaternion__length_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0"]; +var _emscripten_bind_btPairCachingGhostObject__rayTest_p3 = Module["_emscripten_bind_btPairCachingGhostObject__rayTest_p3"] = asm["_emscripten_bind_btPairCachingGhostObject__rayTest_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0"]; +var _emscripten_bind_btConvexInternalShape__isInfinite_p0 = Module["_emscripten_bind_btConvexInternalShape__isInfinite_p0"] = asm["_emscripten_bind_btConvexInternalShape__isInfinite_p0"]; +var _emscripten_bind_btEmptyShape__setMargin_p1 = Module["_emscripten_bind_btEmptyShape__setMargin_p1"] = asm["_emscripten_bind_btEmptyShape__setMargin_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0"]; +var _emscripten_bind_btHinge2Constraint__setLowerLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__setLowerLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__setLowerLimit_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__clearForces_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__clearForces_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__clearForces_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1"]; +var _emscripten_bind_btConvexShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConvexShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConvexShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btVector4__minAxis_p0 = Module["_emscripten_bind_btVector4__minAxis_p0"] = asm["_emscripten_bind_btVector4__minAxis_p0"]; +var _emscripten_bind_btConeShapeZ__getUserPointer_p0 = Module["_emscripten_bind_btConeShapeZ__getUserPointer_p0"] = asm["_emscripten_bind_btConeShapeZ__getUserPointer_p0"]; +var _emscripten_bind_btCollisionShape__isPolyhedral_p0 = Module["_emscripten_bind_btCollisionShape__isPolyhedral_p0"] = asm["_emscripten_bind_btCollisionShape__isPolyhedral_p0"]; +var _emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0 = Module["_emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0"]; +var _emscripten_bind_btCylinderShape__serialize_p2 = Module["_emscripten_bind_btCylinderShape__serialize_p2"] = asm["_emscripten_bind_btCylinderShape__serialize_p2"]; +var _emscripten_bind_btDynamicsWorld__setDebugDrawer_p1 = Module["_emscripten_bind_btDynamicsWorld__setDebugDrawer_p1"] = asm["_emscripten_bind_btDynamicsWorld__setDebugDrawer_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addAction_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addAction_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addAction_p1"]; +var _emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1"]; +var _emscripten_bind_btUniversalConstraint__getConstraintType_p0 = Module["_emscripten_bind_btUniversalConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btUniversalConstraint__getConstraintType_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btBoxShape__setLocalScaling_p1 = Module["_emscripten_bind_btBoxShape__setLocalScaling_p1"] = asm["_emscripten_bind_btBoxShape__setLocalScaling_p1"]; +var _emscripten_bind_btTransform__serializeFloat_p1 = Module["_emscripten_bind_btTransform__serializeFloat_p1"] = asm["_emscripten_bind_btTransform__serializeFloat_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1"]; +var _emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0 = Module["_emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0"] = asm["_emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0"]; +var _emscripten_bind_CProfileNode__Get_Parent_p0 = Module["_emscripten_bind_CProfileNode__Get_Parent_p0"] = asm["_emscripten_bind_CProfileNode__Get_Parent_p0"]; +var _emscripten_bind_btConvexShape__isCompound_p0 = Module["_emscripten_bind_btConvexShape__isCompound_p0"] = asm["_emscripten_bind_btConvexShape__isCompound_p0"]; +var _emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0 = Module["_emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0"] = asm["_emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0"]; +var _emscripten_bind_btTriangleInfo____destroy___p0 = Module["_emscripten_bind_btTriangleInfo____destroy___p0"] = asm["_emscripten_bind_btTriangleInfo____destroy___p0"]; +var _emscripten_bind_btSliderConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btSliderConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btSliderConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__contactTest_p2 = Module["_emscripten_bind_btContinuousDynamicsWorld__contactTest_p2"] = asm["_emscripten_bind_btContinuousDynamicsWorld__contactTest_p2"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0"]; +var _emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1"]; +var _emscripten_bind_btDynamicsWorld__getBroadphase_p0 = Module["_emscripten_bind_btDynamicsWorld__getBroadphase_p0"] = asm["_emscripten_bind_btDynamicsWorld__getBroadphase_p0"]; +var _emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2 = Module["_emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2"]; +var _emscripten_bind_btDynamicsWorld__getDispatchInfo_p0 = Module["_emscripten_bind_btDynamicsWorld__getDispatchInfo_p0"] = asm["_emscripten_bind_btDynamicsWorld__getDispatchInfo_p0"]; +var _emscripten_bind_btConvexHullShape__getNumEdges_p0 = Module["_emscripten_bind_btConvexHullShape__getNumEdges_p0"] = asm["_emscripten_bind_btConvexHullShape__getNumEdges_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0"]; +var _emscripten_bind_btRigidBody__upcast_p1 = Module["_emscripten_bind_btRigidBody__upcast_p1"] = asm["_emscripten_bind_btRigidBody__upcast_p1"]; +var _emscripten_bind_btDispatcherInfo____destroy___p0 = Module["_emscripten_bind_btDispatcherInfo____destroy___p0"] = asm["_emscripten_bind_btDispatcherInfo____destroy___p0"]; +var _emscripten_bind_btSerializer__getSerializationFlags_p0 = Module["_emscripten_bind_btSerializer__getSerializationFlags_p0"] = asm["_emscripten_bind_btSerializer__getSerializationFlags_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btTransform__inverseTimes_p1 = Module["_emscripten_bind_btTransform__inverseTimes_p1"] = asm["_emscripten_bind_btTransform__inverseTimes_p1"]; +var _emscripten_bind_btPoint2PointConstraint__updateRHS_p1 = Module["_emscripten_bind_btPoint2PointConstraint__updateRHS_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__updateRHS_p1"]; +var _emscripten_bind_btVector3__w_p0 = Module["_emscripten_bind_btVector3__w_p0"] = asm["_emscripten_bind_btVector3__w_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__quantize_p3 = Module["_emscripten_bind_bt32BitAxisSweep3__quantize_p3"] = asm["_emscripten_bind_bt32BitAxisSweep3__quantize_p3"]; +var _emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1 = Module["_emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1"] = asm["_emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1"]; +var _emscripten_bind_btCompoundShape__getUserPointer_p0 = Module["_emscripten_bind_btCompoundShape__getUserPointer_p0"] = asm["_emscripten_bind_btCompoundShape__getUserPointer_p0"]; +var _emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btCapsuleShape__isSoftBody_p0 = Module["_emscripten_bind_btCapsuleShape__isSoftBody_p0"] = asm["_emscripten_bind_btCapsuleShape__isSoftBody_p0"]; +var _emscripten_bind_btWheelInfo__get_m_brake_p0 = Module["_emscripten_bind_btWheelInfo__get_m_brake_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_brake_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1"]; +var _emscripten_bind_btTypedConstraint__getInfo2_p1 = Module["_emscripten_bind_btTypedConstraint__getInfo2_p1"] = asm["_emscripten_bind_btTypedConstraint__getInfo2_p1"]; +var _emscripten_bind_btSimpleBroadphase__createProxy_p8 = Module["_emscripten_bind_btSimpleBroadphase__createProxy_p8"] = asm["_emscripten_bind_btSimpleBroadphase__createProxy_p8"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0"]; +var _emscripten_bind_btCompoundShape__getMargin_p0 = Module["_emscripten_bind_btCompoundShape__getMargin_p0"] = asm["_emscripten_bind_btCompoundShape__getMargin_p0"]; +var _emscripten_bind_btConeShape__getLocalScaling_p0 = Module["_emscripten_bind_btConeShape__getLocalScaling_p0"] = asm["_emscripten_bind_btConeShape__getLocalScaling_p0"]; +var _emscripten_bind_btPairCachingGhostObject__isActive_p0 = Module["_emscripten_bind_btPairCachingGhostObject__isActive_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__isActive_p0"]; +var _emscripten_bind_btConeShape__isConcave_p0 = Module["_emscripten_bind_btConeShape__isConcave_p0"] = asm["_emscripten_bind_btConeShape__isConcave_p0"]; +var _emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1 = Module["_emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1"] = asm["_emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btCollisionObject__setActivationState_p1 = Module["_emscripten_bind_btCollisionObject__setActivationState_p1"] = asm["_emscripten_bind_btCollisionObject__setActivationState_p1"]; +var _emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btConvexHullShape__getPlane_p3 = Module["_emscripten_bind_btConvexHullShape__getPlane_p3"] = asm["_emscripten_bind_btConvexHullShape__getPlane_p3"]; +var _emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btManifoldResult____destroy___p0 = Module["_emscripten_bind_btManifoldResult____destroy___p0"] = asm["_emscripten_bind_btManifoldResult____destroy___p0"]; +var _emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5 = Module["_emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5"] = asm["_emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5"]; +var _emscripten_bind_btPoint2PointConstraint__buildJacobian_p0 = Module["_emscripten_bind_btPoint2PointConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__buildJacobian_p0"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getGravity_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getGravity_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getGravity_p0"]; +var _emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0 = Module["_emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0"] = asm["_emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btHinge2Constraint__set_m_objectType_p1 = Module["_emscripten_bind_btHinge2Constraint__set_m_objectType_p1"] = asm["_emscripten_bind_btHinge2Constraint__set_m_objectType_p1"]; +var _emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2 = Module["_emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2"] = asm["_emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2"]; +var _emscripten_bind_btHingeConstraint__setUseFrameOffset_p1 = Module["_emscripten_bind_btHingeConstraint__setUseFrameOffset_p1"] = asm["_emscripten_bind_btHingeConstraint__setUseFrameOffset_p1"]; +var _emscripten_bind_btGhostObject__forceActivationState_p1 = Module["_emscripten_bind_btGhostObject__forceActivationState_p1"] = asm["_emscripten_bind_btGhostObject__forceActivationState_p1"]; +var _emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0 = Module["_emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0"] = asm["_emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0"]; +var _emscripten_bind_btTypedConstraint__getObjectType_p0 = Module["_emscripten_bind_btTypedConstraint__getObjectType_p0"] = asm["_emscripten_bind_btTypedConstraint__getObjectType_p0"]; +var _emscripten_bind_CProfileNode__Get_Sub_Node_p1 = Module["_emscripten_bind_CProfileNode__Get_Sub_Node_p1"] = asm["_emscripten_bind_CProfileNode__Get_Sub_Node_p1"]; +var _emscripten_bind_btQuaternion__angle_p1 = Module["_emscripten_bind_btQuaternion__angle_p1"] = asm["_emscripten_bind_btQuaternion__angle_p1"]; +var _emscripten_bind_btGhostObject__setCollisionShape_p1 = Module["_emscripten_bind_btGhostObject__setCollisionShape_p1"] = asm["_emscripten_bind_btGhostObject__setCollisionShape_p1"]; +var _emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0 = Module["_emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0"] = asm["_emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getName_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getName_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getName_p0"]; +var _emscripten_bind_btRigidBody__internalGetTurnVelocity_p0 = Module["_emscripten_bind_btRigidBody__internalGetTurnVelocity_p0"] = asm["_emscripten_bind_btRigidBody__internalGetTurnVelocity_p0"]; +var _emscripten_bind_btVector3__op_comp_p1 = Module["_emscripten_bind_btVector3__op_comp_p1"] = asm["_emscripten_bind_btVector3__op_comp_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0"]; +var _emscripten_bind_btVector3__getY_p0 = Module["_emscripten_bind_btVector3__getY_p0"] = asm["_emscripten_bind_btVector3__getY_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1"]; +var _emscripten_bind_btConvexInternalShape__getName_p0 = Module["_emscripten_bind_btConvexInternalShape__getName_p0"] = asm["_emscripten_bind_btConvexInternalShape__getName_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0 = Module["_emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0"] = asm["_emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0"]; +var _emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0 = Module["_emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0"] = asm["_emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0"]; +var _emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0 = Module["_emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0"] = asm["_emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__isConcave_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isConcave_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isConcave_p0"]; +var _emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0 = Module["_emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0"] = asm["_emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0"]; +var _emscripten_bind_btUniversalConstraint__updateRHS_p1 = Module["_emscripten_bind_btUniversalConstraint__updateRHS_p1"] = asm["_emscripten_bind_btUniversalConstraint__updateRHS_p1"]; +var _emscripten_bind_btRigidBody__applyDamping_p1 = Module["_emscripten_bind_btRigidBody__applyDamping_p1"] = asm["_emscripten_bind_btRigidBody__applyDamping_p1"]; +var _emscripten_bind_btConvexInternalShape__isNonMoving_p0 = Module["_emscripten_bind_btConvexInternalShape__isNonMoving_p0"] = asm["_emscripten_bind_btConvexInternalShape__isNonMoving_p0"]; +var _emscripten_bind_btStaticPlaneShape__isConcave_p0 = Module["_emscripten_bind_btStaticPlaneShape__isConcave_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isConcave_p0"]; +var _emscripten_bind_btVector4__deSerializeFloat_p1 = Module["_emscripten_bind_btVector4__deSerializeFloat_p1"] = asm["_emscripten_bind_btVector4__deSerializeFloat_p1"]; +var _emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0"]; +var _emscripten_bind_btHinge2Constraint__calculateTransforms_p2 = Module["_emscripten_bind_btHinge2Constraint__calculateTransforms_p2"] = asm["_emscripten_bind_btHinge2Constraint__calculateTransforms_p2"]; +var _emscripten_bind_btCollisionWorld__btCollisionWorld_p3 = Module["_emscripten_bind_btCollisionWorld__btCollisionWorld_p3"] = asm["_emscripten_bind_btCollisionWorld__btCollisionWorld_p3"]; +var _emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4 = Module["_emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4"] = asm["_emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4"]; +var _emscripten_bind_btCapsuleShapeZ____destroy___p0 = Module["_emscripten_bind_btCapsuleShapeZ____destroy___p0"] = asm["_emscripten_bind_btCapsuleShapeZ____destroy___p0"]; +var _emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0"]; +var _emscripten_bind_btDynamicsWorld____destroy___p0 = Module["_emscripten_bind_btDynamicsWorld____destroy___p0"] = asm["_emscripten_bind_btDynamicsWorld____destroy___p0"]; +var _emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4 = Module["_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4"] = asm["_emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4"]; +var _emscripten_bind_btNodeOverlapCallback__processNode_p2 = Module["_emscripten_bind_btNodeOverlapCallback__processNode_p2"] = asm["_emscripten_bind_btNodeOverlapCallback__processNode_p2"]; +var _emscripten_bind_btConvexShape__getLocalScaling_p0 = Module["_emscripten_bind_btConvexShape__getLocalScaling_p0"] = asm["_emscripten_bind_btConvexShape__getLocalScaling_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getInternalType_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getInternalType_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getInternalType_p0"]; +var _emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btHinge2Constraint__getRigidBodyB_p0 = Module["_emscripten_bind_btHinge2Constraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btHinge2Constraint__getRigidBodyB_p0"]; +var _emscripten_bind_btMatrix3x3__deSerializeFloat_p1 = Module["_emscripten_bind_btMatrix3x3__deSerializeFloat_p1"] = asm["_emscripten_bind_btMatrix3x3__deSerializeFloat_p1"]; +var _emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1 = Module["_emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1"] = asm["_emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1"]; +var _emscripten_bind_btConeShapeX__setLocalScaling_p1 = Module["_emscripten_bind_btConeShapeX__setLocalScaling_p1"] = asm["_emscripten_bind_btConeShapeX__setLocalScaling_p1"]; +var _emscripten_bind_btUniversalConstraint__isEnabled_p0 = Module["_emscripten_bind_btUniversalConstraint__isEnabled_p0"] = asm["_emscripten_bind_btUniversalConstraint__isEnabled_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1 = Module["_emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1"]; +var _emscripten_bind_btAxisSweep3__testAabbOverlap_p2 = Module["_emscripten_bind_btAxisSweep3__testAabbOverlap_p2"] = asm["_emscripten_bind_btAxisSweep3__testAabbOverlap_p2"]; +var _emscripten_bind_btCapsuleShapeX__isConvex2d_p0 = Module["_emscripten_bind_btCapsuleShapeX__isConvex2d_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isConvex2d_p0"]; +var _emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0 = Module["_emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0"] = asm["_emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0"]; +var _emscripten_bind_bt32BitAxisSweep3____destroy___p0 = Module["_emscripten_bind_bt32BitAxisSweep3____destroy___p0"] = asm["_emscripten_bind_bt32BitAxisSweep3____destroy___p0"]; +var _emscripten_bind_btVector3__triple_p2 = Module["_emscripten_bind_btVector3__triple_p2"] = asm["_emscripten_bind_btVector3__triple_p2"]; +var _emscripten_bind_ConcreteContactResultCallback__needsCollision_p1 = Module["_emscripten_bind_ConcreteContactResultCallback__needsCollision_p1"] = asm["_emscripten_bind_ConcreteContactResultCallback__needsCollision_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__getUid_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__getUid_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__getUid_p0"]; +var _emscripten_bind_btConeShapeX__serialize_p2 = Module["_emscripten_bind_btConeShapeX__serialize_p2"] = asm["_emscripten_bind_btConeShapeX__serialize_p2"]; +var _emscripten_bind_btCollisionDispatcher__releaseManifold_p1 = Module["_emscripten_bind_btCollisionDispatcher__releaseManifold_p1"] = asm["_emscripten_bind_btCollisionDispatcher__releaseManifold_p1"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0"]; +var _emscripten_bind_btBU_Simplex1to4__isNonMoving_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isNonMoving_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isNonMoving_p0"]; +var _emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0 = Module["_emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0"] = asm["_emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3 = Module["_emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3"] = asm["_emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3"]; +var _emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2 = Module["_emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2"] = asm["_emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2"]; +var _emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0 = Module["_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0"] = asm["_emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0"]; +var _emscripten_bind_btVector3__angle_p1 = Module["_emscripten_bind_btVector3__angle_p1"] = asm["_emscripten_bind_btVector3__angle_p1"]; +var _emscripten_bind_btCylinderShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btCylinderShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btCylinderShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btConeShape__isInfinite_p0 = Module["_emscripten_bind_btConeShape__isInfinite_p0"] = asm["_emscripten_bind_btConeShape__isInfinite_p0"]; +var _emscripten_bind_btIndexedMesh__get_m_vertexStride_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_vertexStride_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_vertexStride_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0"]; +var _emscripten_bind_btHinge2Constraint__getAnchor2_p0 = Module["_emscripten_bind_btHinge2Constraint__getAnchor2_p0"] = asm["_emscripten_bind_btHinge2Constraint__getAnchor2_p0"]; +var _emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1 = Module["_emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1"] = asm["_emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2"]; +var _emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btCompoundShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btCompoundShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCompoundShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btSliderConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btSliderConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btSliderConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2 = Module["_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2"]; +var _emscripten_bind_btRigidBody__setMotionState_p1 = Module["_emscripten_bind_btRigidBody__setMotionState_p1"] = asm["_emscripten_bind_btRigidBody__setMotionState_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0"]; +var _emscripten_bind_CProfileNode__Get_Sibling_p0 = Module["_emscripten_bind_CProfileNode__Get_Sibling_p0"] = asm["_emscripten_bind_CProfileNode__Get_Sibling_p0"]; +var _emscripten_bind_btHingeConstraint__enableAngularMotor_p3 = Module["_emscripten_bind_btHingeConstraint__enableAngularMotor_p3"] = asm["_emscripten_bind_btHingeConstraint__enableAngularMotor_p3"]; +var _emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0 = Module["_emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0"] = asm["_emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0"]; +var _emscripten_bind_btStaticPlaneShape__getName_p0 = Module["_emscripten_bind_btStaticPlaneShape__getName_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getName_p0"]; +var _emscripten_bind_btGhostObject__getUserPointer_p0 = Module["_emscripten_bind_btGhostObject__getUserPointer_p0"] = asm["_emscripten_bind_btGhostObject__getUserPointer_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0"]; +var _emscripten_bind_btConeShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConeShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConeShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7 = Module["_emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7"] = asm["_emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7"]; +var _emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0"]; +var _emscripten_bind_btHingeConstraint__isEnabled_p0 = Module["_emscripten_bind_btHingeConstraint__isEnabled_p0"] = asm["_emscripten_bind_btHingeConstraint__isEnabled_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btSerializer__serializeName_p1 = Module["_emscripten_bind_btSerializer__serializeName_p1"] = asm["_emscripten_bind_btSerializer__serializeName_p1"]; +var _emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0"]; +var _emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0 = Module["_emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0"] = asm["_emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0"]; +var _emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1 = Module["_emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1"] = asm["_emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1"]; +var _emscripten_bind_btConcaveShape__processAllTriangles_p3 = Module["_emscripten_bind_btConcaveShape__processAllTriangles_p3"] = asm["_emscripten_bind_btConcaveShape__processAllTriangles_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1"]; +var _emscripten_bind_btRigidBody__isKinematicObject_p0 = Module["_emscripten_bind_btRigidBody__isKinematicObject_p0"] = asm["_emscripten_bind_btRigidBody__isKinematicObject_p0"]; +var _emscripten_bind_btCapsuleShapeX__getHalfHeight_p0 = Module["_emscripten_bind_btCapsuleShapeX__getHalfHeight_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getHalfHeight_p0"]; +var _emscripten_bind_btVector4__rotate_p2 = Module["_emscripten_bind_btVector4__rotate_p2"] = asm["_emscripten_bind_btVector4__rotate_p2"]; +var _emscripten_bind_btMatrix3x3__serialize_p1 = Module["_emscripten_bind_btMatrix3x3__serialize_p1"] = asm["_emscripten_bind_btMatrix3x3__serialize_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0"]; +var _emscripten_bind_btDbvtBroadphase__get_m_cid_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_cid_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_cid_p0"]; +var _emscripten_bind_btContactConstraint__getUid_p0 = Module["_emscripten_bind_btContactConstraint__getUid_p0"] = asm["_emscripten_bind_btContactConstraint__getUid_p0"]; +var _emscripten_bind_btVector3__setInterpolate3_p3 = Module["_emscripten_bind_btVector3__setInterpolate3_p3"] = asm["_emscripten_bind_btVector3__setInterpolate3_p3"]; +var _emscripten_bind_btConstraintSolver__allSolved_p3 = Module["_emscripten_bind_btConstraintSolver__allSolved_p3"] = asm["_emscripten_bind_btConstraintSolver__allSolved_p3"]; +var _emscripten_bind_btMatrix3x3__btMatrix3x3_p9 = Module["_emscripten_bind_btMatrix3x3__btMatrix3x3_p9"] = asm["_emscripten_bind_btMatrix3x3__btMatrix3x3_p9"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0"]; +var _emscripten_bind_btTriangleMesh____destroy___p0 = Module["_emscripten_bind_btTriangleMesh____destroy___p0"] = asm["_emscripten_bind_btTriangleMesh____destroy___p0"]; +var _emscripten_bind_btMatrix3x3__btMatrix3x3_p1 = Module["_emscripten_bind_btMatrix3x3__btMatrix3x3_p1"] = asm["_emscripten_bind_btMatrix3x3__btMatrix3x3_p1"]; +var _emscripten_bind_btMatrix3x3__btMatrix3x3_p0 = Module["_emscripten_bind_btMatrix3x3__btMatrix3x3_p0"] = asm["_emscripten_bind_btMatrix3x3__btMatrix3x3_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btBvhSubtreeInfo____destroy___p0 = Module["_emscripten_bind_btBvhSubtreeInfo____destroy___p0"] = asm["_emscripten_bind_btBvhSubtreeInfo____destroy___p0"]; +var _emscripten_bind_btVector3__op_add_p1 = Module["_emscripten_bind_btVector3__op_add_p1"] = asm["_emscripten_bind_btVector3__op_add_p1"]; +var _emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1 = Module["_emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1"] = asm["_emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1"]; +var _emscripten_bind_btHinge2Constraint__getAngle2_p0 = Module["_emscripten_bind_btHinge2Constraint__getAngle2_p0"] = asm["_emscripten_bind_btHinge2Constraint__getAngle2_p0"]; +var _emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9 = Module["_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9"] = asm["_emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9"]; +var _emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0"]; +var _emscripten_bind_btContactConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btContactConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btContactConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btHingeConstraint__getAngularOnly_p0 = Module["_emscripten_bind_btHingeConstraint__getAngularOnly_p0"] = asm["_emscripten_bind_btHingeConstraint__getAngularOnly_p0"]; +var _emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btGhostObject__getCollisionShape_p0 = Module["_emscripten_bind_btGhostObject__getCollisionShape_p0"] = asm["_emscripten_bind_btGhostObject__getCollisionShape_p0"]; +var _emscripten_bind_btCollisionObject__setWorldTransform_p1 = Module["_emscripten_bind_btCollisionObject__setWorldTransform_p1"] = asm["_emscripten_bind_btCollisionObject__setWorldTransform_p1"]; +var _emscripten_bind_btConeShapeZ__setMargin_p1 = Module["_emscripten_bind_btConeShapeZ__setMargin_p1"] = asm["_emscripten_bind_btConeShapeZ__setMargin_p1"]; +var _emscripten_bind_btCapsuleShape__serialize_p2 = Module["_emscripten_bind_btCapsuleShape__serialize_p2"] = asm["_emscripten_bind_btCapsuleShape__serialize_p2"]; +var _emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0 = Module["_emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0"] = asm["_emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0"]; +var _emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1 = Module["_emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1"] = asm["_emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1"]; +var _emscripten_bind_btTransform__getRotation_p0 = Module["_emscripten_bind_btTransform__getRotation_p0"] = asm["_emscripten_bind_btTransform__getRotation_p0"]; +var _emscripten_bind_btStridingMeshInterface__getScaling_p0 = Module["_emscripten_bind_btStridingMeshInterface__getScaling_p0"] = asm["_emscripten_bind_btStridingMeshInterface__getScaling_p0"]; +var _emscripten_bind_btGhostObject__setHitFraction_p1 = Module["_emscripten_bind_btGhostObject__setHitFraction_p1"] = asm["_emscripten_bind_btGhostObject__setHitFraction_p1"]; +var _emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btPersistentManifold__addManifoldPoint_p1 = Module["_emscripten_bind_btPersistentManifold__addManifoldPoint_p1"] = asm["_emscripten_bind_btPersistentManifold__addManifoldPoint_p1"]; +var _emscripten_bind_btSphereShape__getMargin_p0 = Module["_emscripten_bind_btSphereShape__getMargin_p0"] = asm["_emscripten_bind_btSphereShape__getMargin_p0"]; +var _emscripten_bind_btEmptyShape__serializeSingleShape_p1 = Module["_emscripten_bind_btEmptyShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btEmptyShape__serializeSingleShape_p1"]; +var _emscripten_bind_btQuaternion__slerp_p2 = Module["_emscripten_bind_btQuaternion__slerp_p2"] = asm["_emscripten_bind_btQuaternion__slerp_p2"]; +var _emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1"]; +var _emscripten_bind_btPersistentManifold__getObjectType_p0 = Module["_emscripten_bind_btPersistentManifold__getObjectType_p0"] = asm["_emscripten_bind_btPersistentManifold__getObjectType_p0"]; +var _emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_bt32BitAxisSweep3__resetPool_p1 = Module["_emscripten_bind_bt32BitAxisSweep3__resetPool_p1"] = asm["_emscripten_bind_bt32BitAxisSweep3__resetPool_p1"]; +var _emscripten_bind_btHingeConstraint__testLimit_p2 = Module["_emscripten_bind_btHingeConstraint__testLimit_p2"] = asm["_emscripten_bind_btHingeConstraint__testLimit_p2"]; +var _emscripten_bind_btRigidBody__setLinearFactor_p1 = Module["_emscripten_bind_btRigidBody__setLinearFactor_p1"] = asm["_emscripten_bind_btRigidBody__setLinearFactor_p1"]; +var _emscripten_bind_btDynamicsWorld__setBroadphase_p1 = Module["_emscripten_bind_btDynamicsWorld__setBroadphase_p1"] = asm["_emscripten_bind_btDynamicsWorld__setBroadphase_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getActivationState_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getActivationState_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getActivationState_p0"]; +var _emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0"]; +var _emscripten_bind_btEmptyShape__isPolyhedral_p0 = Module["_emscripten_bind_btEmptyShape__isPolyhedral_p0"] = asm["_emscripten_bind_btEmptyShape__isPolyhedral_p0"]; +var _emscripten_bind_btPoint2PointConstraint__isEnabled_p0 = Module["_emscripten_bind_btPoint2PointConstraint__isEnabled_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__isEnabled_p0"]; +var _emscripten_bind_btConeShape__getUserPointer_p0 = Module["_emscripten_bind_btConeShape__getUserPointer_p0"] = asm["_emscripten_bind_btConeShape__getUserPointer_p0"]; +var _emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2"]; +var _emscripten_bind_btMatrix3x3__scaled_p1 = Module["_emscripten_bind_btMatrix3x3__scaled_p1"] = asm["_emscripten_bind_btMatrix3x3__scaled_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1"]; +var _emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0 = Module["_emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0"]; +var _emscripten_bind_btCylinderShapeX____destroy___p0 = Module["_emscripten_bind_btCylinderShapeX____destroy___p0"] = asm["_emscripten_bind_btCylinderShapeX____destroy___p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1"]; +var _emscripten_bind_btContactConstraint__isEnabled_p0 = Module["_emscripten_bind_btContactConstraint__isEnabled_p0"] = asm["_emscripten_bind_btContactConstraint__isEnabled_p0"]; +var _emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0 = Module["_emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0"] = asm["_emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0"]; +var _emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btCylinderShapeX__isConvex_p0 = Module["_emscripten_bind_btCylinderShapeX__isConvex_p0"] = asm["_emscripten_bind_btCylinderShapeX__isConvex_p0"]; +var _emscripten_bind_btIDebugDraw__drawArc_p9 = Module["_emscripten_bind_btIDebugDraw__drawArc_p9"] = asm["_emscripten_bind_btIDebugDraw__drawArc_p9"]; +var _emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1"]; +var _emscripten_bind_btSliderConstraint__getAncorInA_p0 = Module["_emscripten_bind_btSliderConstraint__getAncorInA_p0"] = asm["_emscripten_bind_btSliderConstraint__getAncorInA_p0"]; +var _emscripten_bind_btHingeConstraint__getUpperLimit_p0 = Module["_emscripten_bind_btHingeConstraint__getUpperLimit_p0"] = asm["_emscripten_bind_btHingeConstraint__getUpperLimit_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0"]; +var _emscripten_bind_btConvexShape__setLocalScaling_p1 = Module["_emscripten_bind_btConvexShape__setLocalScaling_p1"] = asm["_emscripten_bind_btConvexShape__setLocalScaling_p1"]; +var _emscripten_bind_btConeShape__getConeUpIndex_p0 = Module["_emscripten_bind_btConeShape__getConeUpIndex_p0"] = asm["_emscripten_bind_btConeShape__getConeUpIndex_p0"]; +var _emscripten_bind_btHinge2Constraint____destroy___p0 = Module["_emscripten_bind_btHinge2Constraint____destroy___p0"] = asm["_emscripten_bind_btHinge2Constraint____destroy___p0"]; +var _emscripten_bind_btCapsuleShapeZ__setMargin_p1 = Module["_emscripten_bind_btCapsuleShapeZ__setMargin_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__setMargin_p1"]; +var _emscripten_bind_btAngularLimit__getLow_p0 = Module["_emscripten_bind_btAngularLimit__getLow_p0"] = asm["_emscripten_bind_btAngularLimit__getLow_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1 = Module["_emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1"]; +var _emscripten_bind_btMultiSphereShape__getSpherePosition_p1 = Module["_emscripten_bind_btMultiSphereShape__getSpherePosition_p1"] = asm["_emscripten_bind_btMultiSphereShape__getSpherePosition_p1"]; +var _emscripten_bind_btRigidBody__internalGetPushVelocity_p0 = Module["_emscripten_bind_btRigidBody__internalGetPushVelocity_p0"] = asm["_emscripten_bind_btRigidBody__internalGetPushVelocity_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1 = Module["_emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1"] = asm["_emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1"]; +var _emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btConcaveShape__isConvex2d_p0 = Module["_emscripten_bind_btConcaveShape__isConvex2d_p0"] = asm["_emscripten_bind_btConcaveShape__isConvex2d_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btConvexShape__isConvex2d_p0 = Module["_emscripten_bind_btConvexShape__isConvex2d_p0"] = asm["_emscripten_bind_btConvexShape__isConvex2d_p0"]; +var _emscripten_bind_btSerializer__setSerializationFlags_p1 = Module["_emscripten_bind_btSerializer__setSerializationFlags_p1"] = asm["_emscripten_bind_btSerializer__setSerializationFlags_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1"]; +var _emscripten_bind_btCylinderShapeZ__isNonMoving_p0 = Module["_emscripten_bind_btCylinderShapeZ__isNonMoving_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isNonMoving_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0"]; +var _emscripten_bind_btPersistentManifold__replaceContactPoint_p2 = Module["_emscripten_bind_btPersistentManifold__replaceContactPoint_p2"] = asm["_emscripten_bind_btPersistentManifold__replaceContactPoint_p2"]; +var _emscripten_bind_btManifoldPoint__get_m_index1_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_index1_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_index1_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btBoxShape__getPlane_p3 = Module["_emscripten_bind_btBoxShape__getPlane_p3"] = asm["_emscripten_bind_btBoxShape__getPlane_p3"]; +var _emscripten_bind_btAxisSweep3__rayTest_p3 = Module["_emscripten_bind_btAxisSweep3__rayTest_p3"] = asm["_emscripten_bind_btAxisSweep3__rayTest_p3"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0"]; +var _emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btAxisSweep3__rayTest_p4 = Module["_emscripten_bind_btAxisSweep3__rayTest_p4"] = asm["_emscripten_bind_btAxisSweep3__rayTest_p4"]; +var _emscripten_bind_btAxisSweep3__rayTest_p5 = Module["_emscripten_bind_btAxisSweep3__rayTest_p5"] = asm["_emscripten_bind_btAxisSweep3__rayTest_p5"]; +var _emscripten_bind_btConvexInternalShape__isPolyhedral_p0 = Module["_emscripten_bind_btConvexInternalShape__isPolyhedral_p0"] = asm["_emscripten_bind_btConvexInternalShape__isPolyhedral_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btRigidBody__getInternalType_p0 = Module["_emscripten_bind_btRigidBody__getInternalType_p0"] = asm["_emscripten_bind_btRigidBody__getInternalType_p0"]; +var _emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2 = Module["_emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0"]; +var _emscripten_bind_btTypedObject__set_m_objectType_p1 = Module["_emscripten_bind_btTypedObject__set_m_objectType_p1"] = asm["_emscripten_bind_btTypedObject__set_m_objectType_p1"]; +var _emscripten_bind_btConvexInternalShape__getShapeType_p0 = Module["_emscripten_bind_btConvexInternalShape__getShapeType_p0"] = asm["_emscripten_bind_btConvexInternalShape__getShapeType_p0"]; +var _emscripten_bind_btCollisionWorld__getBroadphase_p0 = Module["_emscripten_bind_btCollisionWorld__getBroadphase_p0"] = asm["_emscripten_bind_btCollisionWorld__getBroadphase_p0"]; +var _emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0 = Module["_emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0"] = asm["_emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0"]; +var _emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1 = Module["_emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1"] = asm["_emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1"]; +var _emscripten_bind_btManifoldPoint__set_m_lifeTime_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_lifeTime_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_lifeTime_p1"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0"]; +var _emscripten_bind_btCollisionShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCollisionShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCollisionShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btCompoundShape__recalculateLocalAabb_p0 = Module["_emscripten_bind_btCompoundShape__recalculateLocalAabb_p0"] = asm["_emscripten_bind_btCompoundShape__recalculateLocalAabb_p0"]; +var _emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1"]; +var _emscripten_bind_btWheelInfo__get_m_skidInfo_p0 = Module["_emscripten_bind_btWheelInfo__get_m_skidInfo_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_skidInfo_p0"]; +var _emscripten_bind_btConeTwistConstraint__getInfo2_p1 = Module["_emscripten_bind_btConeTwistConstraint__getInfo2_p1"] = asm["_emscripten_bind_btConeTwistConstraint__getInfo2_p1"]; +var _emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btManifoldPoint__btManifoldPoint_p0 = Module["_emscripten_bind_btManifoldPoint__btManifoldPoint_p0"] = asm["_emscripten_bind_btManifoldPoint__btManifoldPoint_p0"]; +var _emscripten_bind_btBoxShape__serialize_p2 = Module["_emscripten_bind_btBoxShape__serialize_p2"] = asm["_emscripten_bind_btBoxShape__serialize_p2"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0"]; +var _emscripten_bind_btContactConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btContactConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btContactConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btBroadphaseProxy__isConcave_p1 = Module["_emscripten_bind_btBroadphaseProxy__isConcave_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isConcave_p1"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3 = Module["_emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1"]; +var _emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1 = Module["_emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1"]; +var _emscripten_bind_btWheelInfo__get_m_rollInfluence_p0 = Module["_emscripten_bind_btWheelInfo__get_m_rollInfluence_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_rollInfluence_p0"]; +var _emscripten_bind_btRaycastVehicle__getForwardVector_p0 = Module["_emscripten_bind_btRaycastVehicle__getForwardVector_p0"] = asm["_emscripten_bind_btRaycastVehicle__getForwardVector_p0"]; +var _emscripten_bind_btCollisionWorld__updateSingleAabb_p1 = Module["_emscripten_bind_btCollisionWorld__updateSingleAabb_p1"] = asm["_emscripten_bind_btCollisionWorld__updateSingleAabb_p1"]; +var _emscripten_bind_btAxisSweep3__setAabb_p4 = Module["_emscripten_bind_btAxisSweep3__setAabb_p4"] = asm["_emscripten_bind_btAxisSweep3__setAabb_p4"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btCapsuleShape__setUserPointer_p1 = Module["_emscripten_bind_btCapsuleShape__setUserPointer_p1"] = asm["_emscripten_bind_btCapsuleShape__setUserPointer_p1"]; +var _emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1"]; +var _emscripten_bind_btConcaveShape__serializeSingleShape_p1 = Module["_emscripten_bind_btConcaveShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btConcaveShape__serializeSingleShape_p1"]; +var _emscripten_bind_btConvexHullShape__getNumVertices_p0 = Module["_emscripten_bind_btConvexHullShape__getNumVertices_p0"] = asm["_emscripten_bind_btConvexHullShape__getNumVertices_p0"]; +var _emscripten_bind_btRigidBody__translate_p1 = Module["_emscripten_bind_btRigidBody__translate_p1"] = asm["_emscripten_bind_btRigidBody__translate_p1"]; +var _emscripten_bind_btRigidBody__getActivationState_p0 = Module["_emscripten_bind_btRigidBody__getActivationState_p0"] = asm["_emscripten_bind_btRigidBody__getActivationState_p0"]; +var _emscripten_bind_btPersistentManifold__set_m_index1a_p1 = Module["_emscripten_bind_btPersistentManifold__set_m_index1a_p1"] = asm["_emscripten_bind_btPersistentManifold__set_m_index1a_p1"]; +var _emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0"]; +var _emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btAxisSweep3__createProxy_p8 = Module["_emscripten_bind_btAxisSweep3__createProxy_p8"] = asm["_emscripten_bind_btAxisSweep3__createProxy_p8"]; +var _emscripten_bind_btUniversalConstraint__getAxis_p1 = Module["_emscripten_bind_btUniversalConstraint__getAxis_p1"] = asm["_emscripten_bind_btUniversalConstraint__getAxis_p1"]; +var _emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0 = Module["_emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0"] = asm["_emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0"]; +var _emscripten_bind_btSliderConstraint__calculateTransforms_p2 = Module["_emscripten_bind_btSliderConstraint__calculateTransforms_p2"] = asm["_emscripten_bind_btSliderConstraint__calculateTransforms_p2"]; +var _emscripten_bind_btDbvtProxy__getUid_p0 = Module["_emscripten_bind_btDbvtProxy__getUid_p0"] = asm["_emscripten_bind_btDbvtProxy__getUid_p0"]; +var _emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0 = Module["_emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0"] = asm["_emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0"]; +var _emscripten_bind_btCompoundShape__getChildTransform_p1 = Module["_emscripten_bind_btCompoundShape__getChildTransform_p1"] = asm["_emscripten_bind_btCompoundShape__getChildTransform_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0 = Module["_emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0"] = asm["_emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0"]; +var _emscripten_bind_btStridingMeshInterface__preallocateIndices_p1 = Module["_emscripten_bind_btStridingMeshInterface__preallocateIndices_p1"] = asm["_emscripten_bind_btStridingMeshInterface__preallocateIndices_p1"]; +var _emscripten_bind_btRigidBody__mergesSimulationIslands_p0 = Module["_emscripten_bind_btRigidBody__mergesSimulationIslands_p0"] = asm["_emscripten_bind_btRigidBody__mergesSimulationIslands_p0"]; +var _emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1"]; +var _emscripten_bind_btTriangleMesh__getNumSubParts_p0 = Module["_emscripten_bind_btTriangleMesh__getNumSubParts_p0"] = asm["_emscripten_bind_btTriangleMesh__getNumSubParts_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0"]; +var _emscripten_bind_btTriangleMesh__getUse4componentVertices_p0 = Module["_emscripten_bind_btTriangleMesh__getUse4componentVertices_p0"] = asm["_emscripten_bind_btTriangleMesh__getUse4componentVertices_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0"]; +var _emscripten_bind_btSphereShape__setUnscaledRadius_p1 = Module["_emscripten_bind_btSphereShape__setUnscaledRadius_p1"] = asm["_emscripten_bind_btSphereShape__setUnscaledRadius_p1"]; +var _emscripten_bind_btVector4__setInterpolate3_p3 = Module["_emscripten_bind_btVector4__setInterpolate3_p3"] = asm["_emscripten_bind_btVector4__setInterpolate3_p3"]; +var _emscripten_bind_btIndexedMesh__set_m_numTriangles_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_numTriangles_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_numTriangles_p1"]; +var _emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btSphereShape____destroy___p0 = Module["_emscripten_bind_btSphereShape____destroy___p0"] = asm["_emscripten_bind_btSphereShape____destroy___p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0"]; +var _emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0 = Module["_emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0"] = asm["_emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0"]; +var _emscripten_bind_btSliderConstraint__getLowerLinLimit_p0 = Module["_emscripten_bind_btSliderConstraint__getLowerLinLimit_p0"] = asm["_emscripten_bind_btSliderConstraint__getLowerLinLimit_p0"]; +var _emscripten_bind_btCapsuleShapeZ__serialize_p2 = Module["_emscripten_bind_btCapsuleShapeZ__serialize_p2"] = asm["_emscripten_bind_btCapsuleShapeZ__serialize_p2"]; +var _emscripten_bind_btDynamicsWorld__addCollisionObject_p1 = Module["_emscripten_bind_btDynamicsWorld__addCollisionObject_p1"] = asm["_emscripten_bind_btDynamicsWorld__addCollisionObject_p1"]; +var _emscripten_bind_btDynamicsWorld__addCollisionObject_p2 = Module["_emscripten_bind_btDynamicsWorld__addCollisionObject_p2"] = asm["_emscripten_bind_btDynamicsWorld__addCollisionObject_p2"]; +var _emscripten_bind_btDynamicsWorld__addCollisionObject_p3 = Module["_emscripten_bind_btDynamicsWorld__addCollisionObject_p3"] = asm["_emscripten_bind_btDynamicsWorld__addCollisionObject_p3"]; +var _emscripten_bind_btStaticPlaneShape__getShapeType_p0 = Module["_emscripten_bind_btStaticPlaneShape__getShapeType_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getShapeType_p0"]; +var _emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1 = Module["_emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1"] = asm["_emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2"]; +var _emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btManifoldPoint__getLifeTime_p0 = Module["_emscripten_bind_btManifoldPoint__getLifeTime_p0"] = asm["_emscripten_bind_btManifoldPoint__getLifeTime_p0"]; +var _emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5 = Module["_emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5"] = asm["_emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5"]; +var _emscripten_bind_btTransform__op_set_p1 = Module["_emscripten_bind_btTransform__op_set_p1"] = asm["_emscripten_bind_btTransform__op_set_p1"]; +var _emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1 = Module["_emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0"]; +var _emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0"]; +var _emscripten_bind_btCollisionShape__isConvex2d_p0 = Module["_emscripten_bind_btCollisionShape__isConvex2d_p0"] = asm["_emscripten_bind_btCollisionShape__isConvex2d_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1"]; +var _emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0"]; +var _emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0 = Module["_emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0"] = asm["_emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0"]; +var _emscripten_bind_btJacobianEntry__getRelativeVelocity_p4 = Module["_emscripten_bind_btJacobianEntry__getRelativeVelocity_p4"] = asm["_emscripten_bind_btJacobianEntry__getRelativeVelocity_p4"]; +var _emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0 = Module["_emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0"] = asm["_emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1"]; +var _emscripten_bind_btUniformScalingShape__getName_p0 = Module["_emscripten_bind_btUniformScalingShape__getName_p0"] = asm["_emscripten_bind_btUniformScalingShape__getName_p0"]; +var _emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2 = Module["_emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2"] = asm["_emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2"]; +var _emscripten_bind_btContinuousDynamicsWorld__addAction_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__addAction_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addAction_p1"]; +var _emscripten_bind_btBoxShape__setUserPointer_p1 = Module["_emscripten_bind_btBoxShape__setUserPointer_p1"] = asm["_emscripten_bind_btBoxShape__setUserPointer_p1"]; +var _emscripten_bind_btCollisionObject__setCollisionFlags_p1 = Module["_emscripten_bind_btCollisionObject__setCollisionFlags_p1"] = asm["_emscripten_bind_btCollisionObject__setCollisionFlags_p1"]; +var _emscripten_bind_btConeShapeZ__isSoftBody_p0 = Module["_emscripten_bind_btConeShapeZ__isSoftBody_p0"] = asm["_emscripten_bind_btConeShapeZ__isSoftBody_p0"]; +var _emscripten_bind_btConstraintSetting____destroy___p0 = Module["_emscripten_bind_btConstraintSetting____destroy___p0"] = asm["_emscripten_bind_btConstraintSetting____destroy___p0"]; +var _emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0 = Module["_emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0"] = asm["_emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1"]; +var _emscripten_bind_btOptimizedBvh____destroy___p0 = Module["_emscripten_bind_btOptimizedBvh____destroy___p0"] = asm["_emscripten_bind_btOptimizedBvh____destroy___p0"]; +var _emscripten_bind_btRigidBody__getOrientation_p0 = Module["_emscripten_bind_btRigidBody__getOrientation_p0"] = asm["_emscripten_bind_btRigidBody__getOrientation_p0"]; +var _emscripten_bind_btUniversalConstraint__getAngle2_p0 = Module["_emscripten_bind_btUniversalConstraint__getAngle2_p0"] = asm["_emscripten_bind_btUniversalConstraint__getAngle2_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6 = Module["_emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6"] = asm["_emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6"]; +var _emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1"]; +var _emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btAxisSweep3__getNumHandles_p0 = Module["_emscripten_bind_btAxisSweep3__getNumHandles_p0"] = asm["_emscripten_bind_btAxisSweep3__getNumHandles_p0"]; +var _emscripten_bind_btRigidBody__setCcdMotionThreshold_p1 = Module["_emscripten_bind_btRigidBody__setCcdMotionThreshold_p1"] = asm["_emscripten_bind_btRigidBody__setCcdMotionThreshold_p1"]; +var _emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0"]; +var _emscripten_bind_btDbvtProxy__isConcave_p1 = Module["_emscripten_bind_btDbvtProxy__isConcave_p1"] = asm["_emscripten_bind_btDbvtProxy__isConcave_p1"]; +var _emscripten_bind_btVector4__triple_p2 = Module["_emscripten_bind_btVector4__triple_p2"] = asm["_emscripten_bind_btVector4__triple_p2"]; +var _emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2 = Module["_emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2"] = asm["_emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2"]; +var _emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0 = Module["_emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0"] = asm["_emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0"]; +var _emscripten_bind_btQuaternion__getAxis_p0 = Module["_emscripten_bind_btQuaternion__getAxis_p0"] = asm["_emscripten_bind_btQuaternion__getAxis_p0"]; +var _emscripten_bind_btVector3__getZ_p0 = Module["_emscripten_bind_btVector3__getZ_p0"] = asm["_emscripten_bind_btVector3__getZ_p0"]; +var _emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1 = Module["_emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1"]; +var _emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1 = Module["_emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1"]; +var _emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1 = Module["_emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1"] = asm["_emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1"]; +var _emscripten_bind_btIndexedMesh__set_m_numVertices_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_numVertices_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_numVertices_p1"]; +var _emscripten_bind_btHashInt__btHashInt_p1 = Module["_emscripten_bind_btHashInt__btHashInt_p1"] = asm["_emscripten_bind_btHashInt__btHashInt_p1"]; +var _emscripten_bind_btConstraintSetting__get_m_tau_p0 = Module["_emscripten_bind_btConstraintSetting__get_m_tau_p0"] = asm["_emscripten_bind_btConstraintSetting__get_m_tau_p0"]; +var _emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1 = Module["_emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1"]; +var _emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0 = Module["_emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0"] = asm["_emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0"]; +var _emscripten_bind_btCapsuleShape__getHalfHeight_p0 = Module["_emscripten_bind_btCapsuleShape__getHalfHeight_p0"] = asm["_emscripten_bind_btCapsuleShape__getHalfHeight_p0"]; +var _emscripten_bind_btSliderConstraint__getLinDepth_p0 = Module["_emscripten_bind_btSliderConstraint__getLinDepth_p0"] = asm["_emscripten_bind_btSliderConstraint__getLinDepth_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1"]; +var _emscripten_bind_btHashString__set_m_hash_p1 = Module["_emscripten_bind_btHashString__set_m_hash_p1"] = asm["_emscripten_bind_btHashString__set_m_hash_p1"]; +var _emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1"]; +var _emscripten_bind_btConeTwistConstraint__getInfo1_p1 = Module["_emscripten_bind_btConeTwistConstraint__getInfo1_p1"] = asm["_emscripten_bind_btConeTwistConstraint__getInfo1_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4"]; +var _emscripten_bind_btConeShapeZ__getMargin_p0 = Module["_emscripten_bind_btConeShapeZ__getMargin_p0"] = asm["_emscripten_bind_btConeShapeZ__getMargin_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0"]; +var _emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1 = Module["_emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1"] = asm["_emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1"]; +var _emscripten_bind_btSerializer__getUniquePointer_p1 = Module["_emscripten_bind_btSerializer__getUniquePointer_p1"] = asm["_emscripten_bind_btSerializer__getUniquePointer_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1"]; +var _emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btConvexInternalShape__isConcave_p0 = Module["_emscripten_bind_btConvexInternalShape__isConcave_p0"] = asm["_emscripten_bind_btConvexInternalShape__isConcave_p0"]; +var _emscripten_bind_btVector4__getW_p0 = Module["_emscripten_bind_btVector4__getW_p0"] = asm["_emscripten_bind_btVector4__getW_p0"]; +var _emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0 = Module["_emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0"] = asm["_emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0"]; +var _emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btVector3__serialize_p1 = Module["_emscripten_bind_btVector3__serialize_p1"] = asm["_emscripten_bind_btVector3__serialize_p1"]; +var _emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3 = Module["_emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3"] = asm["_emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3"]; +var _emscripten_bind_btCollisionObject__isKinematicObject_p0 = Module["_emscripten_bind_btCollisionObject__isKinematicObject_p0"] = asm["_emscripten_bind_btCollisionObject__isKinematicObject_p0"]; +var _emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1 = Module["_emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1"]; +var _emscripten_bind_btSliderConstraint__getUid_p0 = Module["_emscripten_bind_btSliderConstraint__getUid_p0"] = asm["_emscripten_bind_btSliderConstraint__getUid_p0"]; +var _emscripten_bind_btDynamicsWorld__serialize_p1 = Module["_emscripten_bind_btDynamicsWorld__serialize_p1"] = asm["_emscripten_bind_btDynamicsWorld__serialize_p1"]; +var _emscripten_bind_btConeShapeZ__serialize_p2 = Module["_emscripten_bind_btConeShapeZ__serialize_p2"] = asm["_emscripten_bind_btConeShapeZ__serialize_p2"]; +var _emscripten_bind_btRaycastVehicle__getUpAxis_p0 = Module["_emscripten_bind_btRaycastVehicle__getUpAxis_p0"] = asm["_emscripten_bind_btRaycastVehicle__getUpAxis_p0"]; +var _emscripten_bind_btCylinderShapeZ__getRadius_p0 = Module["_emscripten_bind_btCylinderShapeZ__getRadius_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getRadius_p0"]; +var _emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1 = Module["_emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1"] = asm["_emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1"]; +var _emscripten_bind_btConvexHullShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btConvexHullShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btConvexHullShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btCylinderShape__btCylinderShape_p1 = Module["_emscripten_bind_btCylinderShape__btCylinderShape_p1"] = asm["_emscripten_bind_btCylinderShape__btCylinderShape_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld____destroy___p0 = Module["_emscripten_bind_btSimpleDynamicsWorld____destroy___p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld____destroy___p0"]; +var _emscripten_bind_btIDebugDraw__drawPlane_p4 = Module["_emscripten_bind_btIDebugDraw__drawPlane_p4"] = asm["_emscripten_bind_btIDebugDraw__drawPlane_p4"]; +var _emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1 = Module["_emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1"]; +var _emscripten_bind_btRaycastVehicle__setUserConstraintType_p1 = Module["_emscripten_bind_btRaycastVehicle__setUserConstraintType_p1"] = asm["_emscripten_bind_btRaycastVehicle__setUserConstraintType_p1"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _emscripten_bind_btCapsuleShape__serializeSingleShape_p1 = Module["_emscripten_bind_btCapsuleShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btCapsuleShape__serializeSingleShape_p1"]; +var _emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0 = Module["_emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0"]; +var _emscripten_bind_btWheelInfo__get_m_steering_p0 = Module["_emscripten_bind_btWheelInfo__get_m_steering_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_steering_p0"]; +var _emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btRigidBody__hasContactResponse_p0 = Module["_emscripten_bind_btRigidBody__hasContactResponse_p0"] = asm["_emscripten_bind_btRigidBody__hasContactResponse_p0"]; +var _emscripten_bind_btGhostObject__isKinematicObject_p0 = Module["_emscripten_bind_btGhostObject__isKinematicObject_p0"] = asm["_emscripten_bind_btGhostObject__isKinematicObject_p0"]; +var _emscripten_bind_btBroadphasePair__btBroadphasePair_p2 = Module["_emscripten_bind_btBroadphasePair__btBroadphasePair_p2"] = asm["_emscripten_bind_btBroadphasePair__btBroadphasePair_p2"]; +var _emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0"]; +var _emscripten_bind_btPersistentManifold__getBody1_p0 = Module["_emscripten_bind_btPersistentManifold__getBody1_p0"] = asm["_emscripten_bind_btPersistentManifold__getBody1_p0"]; +var _emscripten_bind_btUniversalConstraint__getAnchor2_p0 = Module["_emscripten_bind_btUniversalConstraint__getAnchor2_p0"] = asm["_emscripten_bind_btUniversalConstraint__getAnchor2_p0"]; +var _emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6"]; +var _emscripten_bind_btSphereShape__isConcave_p0 = Module["_emscripten_bind_btSphereShape__isConcave_p0"] = asm["_emscripten_bind_btSphereShape__isConcave_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0"]; +var _emscripten_bind_btRigidBody__getBroadphaseHandle_p0 = Module["_emscripten_bind_btRigidBody__getBroadphaseHandle_p0"] = asm["_emscripten_bind_btRigidBody__getBroadphaseHandle_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1"]; +var _emscripten_bind_btAxisSweep3____destroy___p0 = Module["_emscripten_bind_btAxisSweep3____destroy___p0"] = asm["_emscripten_bind_btAxisSweep3____destroy___p0"]; +var _emscripten_bind_btSliderConstraint__getDampingLimLin_p0 = Module["_emscripten_bind_btSliderConstraint__getDampingLimLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getDampingLimLin_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1"]; +var _emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__serialize_p2 = Module["_emscripten_bind_btBvhTriangleMeshShape__serialize_p2"] = asm["_emscripten_bind_btBvhTriangleMeshShape__serialize_p2"]; +var _emscripten_bind_btConeShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btConeShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btConeShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btDbvtProxy__set_m_uniqueId_p1 = Module["_emscripten_bind_btDbvtProxy__set_m_uniqueId_p1"] = asm["_emscripten_bind_btDbvtProxy__set_m_uniqueId_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0"]; +var _emscripten_bind_btCylinderShapeX__isConcave_p0 = Module["_emscripten_bind_btCylinderShapeX__isConcave_p0"] = asm["_emscripten_bind_btCylinderShapeX__isConcave_p0"]; +var _emscripten_bind_btConeShapeX__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConeShapeX__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConeShapeX__getAabbNonVirtual_p3"]; +var _emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4 = Module["_emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0"]; +var _emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0 = Module["_emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0"] = asm["_emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0"]; +var _emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1"]; +var _emscripten_bind_btCapsuleShape__isPolyhedral_p0 = Module["_emscripten_bind_btCapsuleShape__isPolyhedral_p0"] = asm["_emscripten_bind_btCapsuleShape__isPolyhedral_p0"]; +var _emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0 = Module["_emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0"] = asm["_emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0"]; +var _emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__isConvex_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isConvex_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isConvex_p0"]; +var _emscripten_bind_btConvexShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConvexShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConvexShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_damping_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_damping_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_damping_p1"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btSimpleBroadphase__getAabb_p3 = Module["_emscripten_bind_btSimpleBroadphase__getAabb_p3"] = asm["_emscripten_bind_btSimpleBroadphase__getAabb_p3"]; +var _emscripten_bind_btSliderConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btSliderConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btSliderConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btPersistentManifold__validContactDistance_p1 = Module["_emscripten_bind_btPersistentManifold__validContactDistance_p1"] = asm["_emscripten_bind_btPersistentManifold__validContactDistance_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_localPointB_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_localPointB_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_localPointB_p1"]; +var _emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btBroadphaseProxy__isConvex_p1 = Module["_emscripten_bind_btBroadphaseProxy__isConvex_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isConvex_p1"]; +var _emscripten_bind_btGhostObject__setActivationState_p1 = Module["_emscripten_bind_btGhostObject__setActivationState_p1"] = asm["_emscripten_bind_btGhostObject__setActivationState_p1"]; +var _emscripten_bind_btCapsuleShapeZ__getMarginNV_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getMarginNV_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getMarginNV_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__isLimited_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__isLimited_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__isLimited_p1"]; +var _emscripten_bind_btDbvtBroadphase__rayTest_p3 = Module["_emscripten_bind_btDbvtBroadphase__rayTest_p3"] = asm["_emscripten_bind_btDbvtBroadphase__rayTest_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1"]; +var _emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0 = Module["_emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0"] = asm["_emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0"]; +var _emscripten_bind_btDbvtProxy__set_stage_p1 = Module["_emscripten_bind_btDbvtProxy__set_stage_p1"] = asm["_emscripten_bind_btDbvtProxy__set_stage_p1"]; +var _emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btConvexShape__isPolyhedral_p0 = Module["_emscripten_bind_btConvexShape__isPolyhedral_p0"] = asm["_emscripten_bind_btConvexShape__isPolyhedral_p0"]; +var _emscripten_bind_btStridingMeshInterface__serialize_p2 = Module["_emscripten_bind_btStridingMeshInterface__serialize_p2"] = asm["_emscripten_bind_btStridingMeshInterface__serialize_p2"]; +var _emscripten_bind_btBvhTriangleMeshShape__isConvex_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__isConvex_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__isConvex_p0"]; +var _emscripten_bind_btCollisionObject__btCollisionObject_p0 = Module["_emscripten_bind_btCollisionObject__btCollisionObject_p0"] = asm["_emscripten_bind_btCollisionObject__btCollisionObject_p0"]; +var _emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9 = Module["_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9"] = asm["_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9"]; +var _emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8 = Module["_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8"] = asm["_emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8"]; +var _emscripten_bind_btGeneric6DofConstraint__getObjectType_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getObjectType_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getObjectType_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btRaycastVehicle__resetSuspension_p0 = Module["_emscripten_bind_btRaycastVehicle__resetSuspension_p0"] = asm["_emscripten_bind_btRaycastVehicle__resetSuspension_p0"]; +var _emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0 = Module["_emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0"]; +var _emscripten_bind_btConeShapeX__isInfinite_p0 = Module["_emscripten_bind_btConeShapeX__isInfinite_p0"] = asm["_emscripten_bind_btConeShapeX__isInfinite_p0"]; +var _emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0 = Module["_emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0"] = asm["_emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0"]; +var _emscripten_bind_btConeShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btConeShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btConeShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btRigidBody__applyGravity_p0 = Module["_emscripten_bind_btRigidBody__applyGravity_p0"] = asm["_emscripten_bind_btRigidBody__applyGravity_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1"]; +var _emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btCylinderShapeZ__getUserPointer_p0 = Module["_emscripten_bind_btCylinderShapeZ__getUserPointer_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getUserPointer_p0"]; +var _emscripten_bind_btRigidBody__getContactProcessingThreshold_p0 = Module["_emscripten_bind_btRigidBody__getContactProcessingThreshold_p0"] = asm["_emscripten_bind_btRigidBody__getContactProcessingThreshold_p0"]; +var _emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0 = Module["_emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0"]; +var _emscripten_bind_btConstraintSetting__set_m_damping_p1 = Module["_emscripten_bind_btConstraintSetting__set_m_damping_p1"] = asm["_emscripten_bind_btConstraintSetting__set_m_damping_p1"]; +var _emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0 = Module["_emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0"] = asm["_emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0"]; +var _emscripten_bind_btTypedConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btTypedConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btTypedConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3 = Module["_emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3"] = asm["_emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3"]; +var _emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0"]; +var _emscripten_bind_btSliderConstraint__getInfo2_p1 = Module["_emscripten_bind_btSliderConstraint__getInfo2_p1"] = asm["_emscripten_bind_btSliderConstraint__getInfo2_p1"]; +var _emscripten_bind_btEmptyShape__getUserPointer_p0 = Module["_emscripten_bind_btEmptyShape__getUserPointer_p0"] = asm["_emscripten_bind_btEmptyShape__getUserPointer_p0"]; +var _emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0 = Module["_emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0"]; +var _emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0 = Module["_emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0"] = asm["_emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0"]; +var _emscripten_bind_btTriangleMesh__addTriangle_p4 = Module["_emscripten_bind_btTriangleMesh__addTriangle_p4"] = asm["_emscripten_bind_btTriangleMesh__addTriangle_p4"]; +var _emscripten_bind_btConeShapeX__getMargin_p0 = Module["_emscripten_bind_btConeShapeX__getMargin_p0"] = asm["_emscripten_bind_btConeShapeX__getMargin_p0"]; +var _emscripten_bind_btSphereShape__getLocalScaling_p0 = Module["_emscripten_bind_btSphereShape__getLocalScaling_p0"] = asm["_emscripten_bind_btSphereShape__getLocalScaling_p0"]; +var _emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6 = Module["_emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6"]; +var _emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1"]; +var _emscripten_bind_btConeShapeZ__getLocalScaling_p0 = Module["_emscripten_bind_btConeShapeZ__getLocalScaling_p0"] = asm["_emscripten_bind_btConeShapeZ__getLocalScaling_p0"]; +var _emscripten_bind_btCompoundShape__addChildShape_p2 = Module["_emscripten_bind_btCompoundShape__addChildShape_p2"] = asm["_emscripten_bind_btCompoundShape__addChildShape_p2"]; +var _emscripten_bind_btVector3__setZ_p1 = Module["_emscripten_bind_btVector3__setZ_p1"] = asm["_emscripten_bind_btVector3__setZ_p1"]; +var _emscripten_bind_btConeTwistConstraint__getParam_p1 = Module["_emscripten_bind_btConeTwistConstraint__getParam_p1"] = asm["_emscripten_bind_btConeTwistConstraint__getParam_p1"]; +var _emscripten_bind_btConeTwistConstraint__getParam_p2 = Module["_emscripten_bind_btConeTwistConstraint__getParam_p2"] = asm["_emscripten_bind_btConeTwistConstraint__getParam_p2"]; +var _emscripten_bind_btAxisSweep3__quantize_p3 = Module["_emscripten_bind_btAxisSweep3__quantize_p3"] = asm["_emscripten_bind_btAxisSweep3__quantize_p3"]; +var _emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1"]; +var _emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btConvexShape__isConcave_p0 = Module["_emscripten_bind_btConvexShape__isConcave_p0"] = asm["_emscripten_bind_btConvexShape__isConcave_p0"]; +var _emscripten_bind_btConvexHullShape__setMargin_p1 = Module["_emscripten_bind_btConvexHullShape__setMargin_p1"] = asm["_emscripten_bind_btConvexHullShape__setMargin_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0"]; +var _emscripten_bind_btCapsuleShape__getMarginNV_p0 = Module["_emscripten_bind_btCapsuleShape__getMarginNV_p0"] = asm["_emscripten_bind_btCapsuleShape__getMarginNV_p0"]; +var _emscripten_bind_btCollisionWorld__debugDrawObject_p3 = Module["_emscripten_bind_btCollisionWorld__debugDrawObject_p3"] = asm["_emscripten_bind_btCollisionWorld__debugDrawObject_p3"]; +var _emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0"]; +var _emscripten_bind_btQuaternion____destroy___p0 = Module["_emscripten_bind_btQuaternion____destroy___p0"] = asm["_emscripten_bind_btQuaternion____destroy___p0"]; +var _emscripten_bind_btManifoldPoint__set_m_localPointA_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_localPointA_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_localPointA_p1"]; +var _emscripten_bind_btSliderConstraint__setDampingLimAng_p1 = Module["_emscripten_bind_btSliderConstraint__setDampingLimAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setDampingLimAng_p1"]; +var _emscripten_bind_btTriangleMesh__addTriangle_p3 = Module["_emscripten_bind_btTriangleMesh__addTriangle_p3"] = asm["_emscripten_bind_btTriangleMesh__addTriangle_p3"]; +var _emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1 = Module["_emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1"] = asm["_emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1"]; +var _emscripten_bind_btConeShapeZ__setLocalScaling_p1 = Module["_emscripten_bind_btConeShapeZ__setLocalScaling_p1"] = asm["_emscripten_bind_btConeShapeZ__setLocalScaling_p1"]; +var _emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7 = Module["_emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7"] = asm["_emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7"]; +var _emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1 = Module["_emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1"] = asm["_emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1"]; +var _emscripten_bind_btUniversalConstraint__getParam_p1 = Module["_emscripten_bind_btUniversalConstraint__getParam_p1"] = asm["_emscripten_bind_btUniversalConstraint__getParam_p1"]; +var _emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btConeShape__getMargin_p0 = Module["_emscripten_bind_btConeShape__getMargin_p0"] = asm["_emscripten_bind_btConeShape__getMargin_p0"]; +var _emscripten_bind_btMatrix3x3__getEulerZYX_p3 = Module["_emscripten_bind_btMatrix3x3__getEulerZYX_p3"] = asm["_emscripten_bind_btMatrix3x3__getEulerZYX_p3"]; +var _emscripten_bind_btWheelInfo__get_m_clientInfo_p0 = Module["_emscripten_bind_btWheelInfo__get_m_clientInfo_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_clientInfo_p0"]; +var _emscripten_bind_btMatrix3x3__getEulerZYX_p4 = Module["_emscripten_bind_btMatrix3x3__getEulerZYX_p4"] = asm["_emscripten_bind_btMatrix3x3__getEulerZYX_p4"]; +var _emscripten_bind_btTriangleIndexVertexArray____destroy___p0 = Module["_emscripten_bind_btTriangleIndexVertexArray____destroy___p0"] = asm["_emscripten_bind_btTriangleIndexVertexArray____destroy___p0"]; +var _emscripten_bind_btHashString__portableStringCompare_p2 = Module["_emscripten_bind_btHashString__portableStringCompare_p2"] = asm["_emscripten_bind_btHashString__portableStringCompare_p2"]; +var _emscripten_bind_btCollisionShape__isSoftBody_p0 = Module["_emscripten_bind_btCollisionShape__isSoftBody_p0"] = asm["_emscripten_bind_btCollisionShape__isSoftBody_p0"]; +var _emscripten_bind_btCapsuleShapeZ__isNonMoving_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isNonMoving_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isNonMoving_p0"]; +var _emscripten_bind_btSliderConstraint__isEnabled_p0 = Module["_emscripten_bind_btSliderConstraint__isEnabled_p0"] = asm["_emscripten_bind_btSliderConstraint__isEnabled_p0"]; +var _emscripten_bind_btConcaveShape__setMargin_p1 = Module["_emscripten_bind_btConcaveShape__setMargin_p1"] = asm["_emscripten_bind_btConcaveShape__setMargin_p1"]; +var _emscripten_bind_btCollisionWorld__getDispatcher_p0 = Module["_emscripten_bind_btCollisionWorld__getDispatcher_p0"] = asm["_emscripten_bind_btCollisionWorld__getDispatcher_p0"]; +var _emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1 = Module["_emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1"] = asm["_emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0"]; +var _emscripten_bind_btUniformScalingShape__getLocalScaling_p0 = Module["_emscripten_bind_btUniformScalingShape__getLocalScaling_p0"] = asm["_emscripten_bind_btUniformScalingShape__getLocalScaling_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9 = Module["_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9"]; +var _emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0 = Module["_emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0"]; +var _emscripten_bind_btContactConstraint__getContactManifold_p0 = Module["_emscripten_bind_btContactConstraint__getContactManifold_p0"] = asm["_emscripten_bind_btContactConstraint__getContactManifold_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1 = Module["_emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1"] = asm["_emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btBU_Simplex1to4__isConvex_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isConvex_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isConvex_p0"]; +var _emscripten_bind_btMultiSphereShape__getName_p0 = Module["_emscripten_bind_btMultiSphereShape__getName_p0"] = asm["_emscripten_bind_btMultiSphereShape__getName_p0"]; +var _emscripten_bind_btStaticPlaneShape__processAllTriangles_p3 = Module["_emscripten_bind_btStaticPlaneShape__processAllTriangles_p3"] = asm["_emscripten_bind_btStaticPlaneShape__processAllTriangles_p3"]; +var _emscripten_bind_btBU_Simplex1to4__getIndex_p1 = Module["_emscripten_bind_btBU_Simplex1to4__getIndex_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__getIndex_p1"]; +var _emscripten_bind_CProfileNode__Get_Child_p0 = Module["_emscripten_bind_CProfileNode__Get_Child_p0"] = asm["_emscripten_bind_CProfileNode__Get_Child_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1"]; +var _emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1 = Module["_emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1"] = asm["_emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6 = Module["_emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6"] = asm["_emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6"]; +var _emscripten_bind_btConvexHullShape__serialize_p2 = Module["_emscripten_bind_btConvexHullShape__serialize_p2"] = asm["_emscripten_bind_btConvexHullShape__serialize_p2"]; +var _emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8 = Module["_emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8"] = asm["_emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8"]; +var _emscripten_bind_btManifoldPoint____destroy___p0 = Module["_emscripten_bind_btManifoldPoint____destroy___p0"] = asm["_emscripten_bind_btManifoldPoint____destroy___p0"]; +var _emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btQuantizedBvh____destroy___p0 = Module["_emscripten_bind_btQuantizedBvh____destroy___p0"] = asm["_emscripten_bind_btQuantizedBvh____destroy___p0"]; +var _emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0 = Module["_emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0"]; +var _emscripten_bind_btRigidBody__getMotionState_p0 = Module["_emscripten_bind_btRigidBody__getMotionState_p0"] = asm["_emscripten_bind_btRigidBody__getMotionState_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0"]; +var _emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0"]; +var _emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0 = Module["_emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0"] = asm["_emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0"]; +var _emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1 = Module["_emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1"] = asm["_emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1"]; +var _emscripten_bind_btAxisSweep3__getAabb_p3 = Module["_emscripten_bind_btAxisSweep3__getAabb_p3"] = asm["_emscripten_bind_btAxisSweep3__getAabb_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2 = Module["_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2"]; +var _emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1 = Module["_emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1"] = asm["_emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1"]; +var _emscripten_bind_btCollisionDispatcher__setNearCallback_p1 = Module["_emscripten_bind_btCollisionDispatcher__setNearCallback_p1"] = asm["_emscripten_bind_btCollisionDispatcher__setNearCallback_p1"]; +var _emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4 = Module["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4"] = asm["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4"]; +var _emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4 = Module["_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4"] = asm["_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4"]; +var _emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1"]; +var _emscripten_bind_btGhostObject__getIslandTag_p0 = Module["_emscripten_bind_btGhostObject__getIslandTag_p0"] = asm["_emscripten_bind_btGhostObject__getIslandTag_p0"]; +var _emscripten_bind_btCollisionWorld__removeCollisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__removeCollisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__removeCollisionObject_p1"]; +var _emscripten_bind_btCompoundShape__removeChildShape_p1 = Module["_emscripten_bind_btCompoundShape__removeChildShape_p1"] = asm["_emscripten_bind_btCompoundShape__removeChildShape_p1"]; +var _emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btContactConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btContactConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btContactConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0"]; +var _emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0 = Module["_emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0"] = asm["_emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0"]; +var _emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2 = Module["_emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2"] = asm["_emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2"]; +var _emscripten_bind_btAngularLimit__getHigh_p0 = Module["_emscripten_bind_btAngularLimit__getHigh_p0"] = asm["_emscripten_bind_btAngularLimit__getHigh_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getRestitution_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getRestitution_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getRestitution_p0"]; +var _emscripten_bind_btMatrix3x3__determinant_p0 = Module["_emscripten_bind_btMatrix3x3__determinant_p0"] = asm["_emscripten_bind_btMatrix3x3__determinant_p0"]; +var _emscripten_bind_btRigidBody__getTotalForce_p0 = Module["_emscripten_bind_btRigidBody__getTotalForce_p0"] = asm["_emscripten_bind_btRigidBody__getTotalForce_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1"]; +var _emscripten_bind_btCylinderShape__isConvex_p0 = Module["_emscripten_bind_btCylinderShape__isConvex_p0"] = asm["_emscripten_bind_btCylinderShape__isConvex_p0"]; +var _emscripten_bind_CProfileNode__CProfileNode_p2 = Module["_emscripten_bind_CProfileNode__CProfileNode_p2"] = asm["_emscripten_bind_CProfileNode__CProfileNode_p2"]; +var _emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1 = Module["_emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1"] = asm["_emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1"]; +var _emscripten_bind_btManifoldResult__getBody0Internal_p0 = Module["_emscripten_bind_btManifoldResult__getBody0Internal_p0"] = asm["_emscripten_bind_btManifoldResult__getBody0Internal_p0"]; +var _emscripten_bind_btConeShapeX__isCompound_p0 = Module["_emscripten_bind_btConeShapeX__isCompound_p0"] = asm["_emscripten_bind_btConeShapeX__isCompound_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0"]; +var _emscripten_bind_btHingeConstraint__btHingeConstraint_p3 = Module["_emscripten_bind_btHingeConstraint__btHingeConstraint_p3"] = asm["_emscripten_bind_btHingeConstraint__btHingeConstraint_p3"]; +var _emscripten_bind_btBoxShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btBoxShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btBoxShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btSphereShape__getRadius_p0 = Module["_emscripten_bind_btSphereShape__getRadius_p0"] = asm["_emscripten_bind_btSphereShape__getRadius_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0"]; +var _emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btHingeConstraint__getHingeAngle_p0 = Module["_emscripten_bind_btHingeConstraint__getHingeAngle_p0"] = asm["_emscripten_bind_btHingeConstraint__getHingeAngle_p0"]; +var _emscripten_bind_btHingeConstraint__getHingeAngle_p2 = Module["_emscripten_bind_btHingeConstraint__getHingeAngle_p2"] = asm["_emscripten_bind_btHingeConstraint__getHingeAngle_p2"]; +var _emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1"]; +var _emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2 = Module["_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2"]; +var _emscripten_bind_btOptimizedBvh__quantize_p3 = Module["_emscripten_bind_btOptimizedBvh__quantize_p3"] = asm["_emscripten_bind_btOptimizedBvh__quantize_p3"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1"]; +var _emscripten_bind_btAngularLimit__test_p1 = Module["_emscripten_bind_btAngularLimit__test_p1"] = asm["_emscripten_bind_btAngularLimit__test_p1"]; +var _emscripten_bind_btContactConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btContactConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btContactConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1"]; +var _emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btDynamicsWorld__setGravity_p1 = Module["_emscripten_bind_btDynamicsWorld__setGravity_p1"] = asm["_emscripten_bind_btDynamicsWorld__setGravity_p1"]; +var _emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1 = Module["_emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1"] = asm["_emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0"]; +var _emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1"]; +var _emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1 = Module["_emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1"]; +var _emscripten_bind_btCollisionShape__getUserPointer_p0 = Module["_emscripten_bind_btCollisionShape__getUserPointer_p0"] = asm["_emscripten_bind_btCollisionShape__getUserPointer_p0"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btUniversalConstraint__setParam_p3 = Module["_emscripten_bind_btUniversalConstraint__setParam_p3"] = asm["_emscripten_bind_btUniversalConstraint__setParam_p3"]; +var _emscripten_bind_btUniversalConstraint__setParam_p2 = Module["_emscripten_bind_btUniversalConstraint__setParam_p2"] = asm["_emscripten_bind_btUniversalConstraint__setParam_p2"]; +var _emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btManifoldResult__setPersistentManifold_p1 = Module["_emscripten_bind_btManifoldResult__setPersistentManifold_p1"] = asm["_emscripten_bind_btManifoldResult__setPersistentManifold_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1"]; +var _emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0 = Module["_emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0"]; +var _emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0 = Module["_emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0"] = asm["_emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0"]; +var _emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0 = Module["_emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0"] = asm["_emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0"]; +var _emscripten_bind_btJacobianEntry__btJacobianEntry_p0 = Module["_emscripten_bind_btJacobianEntry__btJacobianEntry_p0"] = asm["_emscripten_bind_btJacobianEntry__btJacobianEntry_p0"]; +var _emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0 = Module["_emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2 = Module["_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2"] = asm["_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2"]; +var _emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1"]; +var _emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btSliderConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btSliderConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btSliderConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__serialize_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__serialize_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__serialize_p1"]; +var _emscripten_bind_btConvexInternalShape__getAabbSlow_p3 = Module["_emscripten_bind_btConvexInternalShape__getAabbSlow_p3"] = asm["_emscripten_bind_btConvexInternalShape__getAabbSlow_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1"]; +var _emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1"]; +var _emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0 = Module["_emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0"]; +var _emscripten_bind_btClock__op_set_p1 = Module["_emscripten_bind_btClock__op_set_p1"] = asm["_emscripten_bind_btClock__op_set_p1"]; +var _emscripten_bind_btStaticPlaneShape__isNonMoving_p0 = Module["_emscripten_bind_btStaticPlaneShape__isNonMoving_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isNonMoving_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getMargin_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getMargin_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getMargin_p0"]; +var _emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2 = Module["_emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2"] = asm["_emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btConvexHullShape__getVertex_p2 = Module["_emscripten_bind_btConvexHullShape__getVertex_p2"] = asm["_emscripten_bind_btConvexHullShape__getVertex_p2"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0"]; +var _emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1 = Module["_emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1"] = asm["_emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1"]; +var _emscripten_bind_btHashString____destroy___p0 = Module["_emscripten_bind_btHashString____destroy___p0"] = asm["_emscripten_bind_btHashString____destroy___p0"]; +var _emscripten_bind_btBU_Simplex1to4__isConvex2d_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isConvex2d_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isConvex2d_p0"]; +var _emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1 = Module["_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1"] = asm["_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1"]; +var _emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2 = Module["_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2"] = asm["_emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2"]; +var _emscripten_bind_btRaycastVehicle__updateFriction_p1 = Module["_emscripten_bind_btRaycastVehicle__updateFriction_p1"] = asm["_emscripten_bind_btRaycastVehicle__updateFriction_p1"]; +var _emscripten_bind_btUniformScalingShape__isPolyhedral_p0 = Module["_emscripten_bind_btUniformScalingShape__isPolyhedral_p0"] = asm["_emscripten_bind_btUniformScalingShape__isPolyhedral_p0"]; +var _emscripten_bind_btTypedObject__btTypedObject_p1 = Module["_emscripten_bind_btTypedObject__btTypedObject_p1"] = asm["_emscripten_bind_btTypedObject__btTypedObject_p1"]; +var _emscripten_bind_btDbvtBroadphase__aabbTest_p3 = Module["_emscripten_bind_btDbvtBroadphase__aabbTest_p3"] = asm["_emscripten_bind_btDbvtBroadphase__aabbTest_p3"]; +var _emscripten_bind_btCylinderShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btCylinderShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btCylinderShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btCollisionShape__isConvex_p0 = Module["_emscripten_bind_btCollisionShape__isConvex_p0"] = asm["_emscripten_bind_btCollisionShape__isConvex_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getInfo2_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getInfo2_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getInfo2_p1"]; +var _emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1 = Module["_emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1"] = asm["_emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1"]; +var _emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2 = Module["_emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2"] = asm["_emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2"]; +var _emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0 = Module["_emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0"] = asm["_emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0"]; +var _emscripten_bind_btJacobianEntry__btJacobianEntry_p5 = Module["_emscripten_bind_btJacobianEntry__btJacobianEntry_p5"] = asm["_emscripten_bind_btJacobianEntry__btJacobianEntry_p5"]; +var _emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0 = Module["_emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0"]; +var _emscripten_bind_btCapsuleShapeZ__getAabb_p3 = Module["_emscripten_bind_btCapsuleShapeZ__getAabb_p3"] = asm["_emscripten_bind_btCapsuleShapeZ__getAabb_p3"]; +var _emscripten_bind_btCylinderShapeX__getUserPointer_p0 = Module["_emscripten_bind_btCylinderShapeX__getUserPointer_p0"] = asm["_emscripten_bind_btCylinderShapeX__getUserPointer_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3 = Module["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3"] = asm["_emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3"]; +var _emscripten_bind_btContactConstraint__getAppliedImpulse_p0 = Module["_emscripten_bind_btContactConstraint__getAppliedImpulse_p0"] = asm["_emscripten_bind_btContactConstraint__getAppliedImpulse_p0"]; +var _emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_bind_btCollisionDispatcher__clearManifold_p1 = Module["_emscripten_bind_btCollisionDispatcher__clearManifold_p1"] = asm["_emscripten_bind_btCollisionDispatcher__clearManifold_p1"]; +var _emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2 = Module["_emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2"] = asm["_emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2"]; +var _emscripten_bind_btIndexedMesh__get_m_vertexType_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_vertexType_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_vertexType_p0"]; +var _emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0 = Module["_emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_localPointA_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_localPointA_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_localPointA_p0"]; +var _emscripten_bind_btMatrix3x3__op_get_p1 = Module["_emscripten_bind_btMatrix3x3__op_get_p1"] = asm["_emscripten_bind_btMatrix3x3__op_get_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3 = Module["_emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3"] = asm["_emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3"]; +var _emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btTypedConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btTypedConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btTypedConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0 = Module["_emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0"] = asm["_emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getMargin_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getMargin_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getMargin_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0"]; +var _emscripten_bind_CProfileNode__CleanupMemory_p0 = Module["_emscripten_bind_CProfileNode__CleanupMemory_p0"] = asm["_emscripten_bind_CProfileNode__CleanupMemory_p0"]; +var _emscripten_bind_btRigidBody__getLinearFactor_p0 = Module["_emscripten_bind_btRigidBody__getLinearFactor_p0"] = asm["_emscripten_bind_btRigidBody__getLinearFactor_p0"]; +var _emscripten_bind_btQuadWord__btQuadWord_p3 = Module["_emscripten_bind_btQuadWord__btQuadWord_p3"] = asm["_emscripten_bind_btQuadWord__btQuadWord_p3"]; +var _emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btBU_Simplex1to4__isInside_p2 = Module["_emscripten_bind_btBU_Simplex1to4__isInside_p2"] = asm["_emscripten_bind_btBU_Simplex1to4__isInside_p2"]; +var _emscripten_bind_btConvexHullShape____destroy___p0 = Module["_emscripten_bind_btConvexHullShape____destroy___p0"] = asm["_emscripten_bind_btConvexHullShape____destroy___p0"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1"]; +var _emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0"]; +var _emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0 = Module["_emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0"]; +var _emscripten_bind_btConcaveShape__serialize_p2 = Module["_emscripten_bind_btConcaveShape__serialize_p2"] = asm["_emscripten_bind_btConcaveShape__serialize_p2"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1"]; +var _emscripten_bind_btTypedObject__getObjectType_p0 = Module["_emscripten_bind_btTypedObject__getObjectType_p0"] = asm["_emscripten_bind_btTypedObject__getObjectType_p0"]; +var _emscripten_bind_btRigidBody__get_m_contactSolverType_p0 = Module["_emscripten_bind_btRigidBody__get_m_contactSolverType_p0"] = asm["_emscripten_bind_btRigidBody__get_m_contactSolverType_p0"]; +var _emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1 = Module["_emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1"] = asm["_emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1"]; +var _emscripten_bind_btCollisionShape__serialize_p2 = Module["_emscripten_bind_btCollisionShape__serialize_p2"] = asm["_emscripten_bind_btCollisionShape__serialize_p2"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1"]; +var _emscripten_bind_btConcaveShape__isPolyhedral_p0 = Module["_emscripten_bind_btConcaveShape__isPolyhedral_p0"] = asm["_emscripten_bind_btConcaveShape__isPolyhedral_p0"]; +var _emscripten_bind_btConeShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConeShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConeShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1 = Module["_emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1"] = asm["_emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0"]; +var _emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1 = Module["_emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1"]; +var _emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1 = Module["_emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1"] = asm["_emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1"]; +var _emscripten_bind_btBU_Simplex1to4__getVertex_p2 = Module["_emscripten_bind_btBU_Simplex1to4__getVertex_p2"] = asm["_emscripten_bind_btBU_Simplex1to4__getVertex_p2"]; +var _emscripten_bind_btCylinderShape__isInfinite_p0 = Module["_emscripten_bind_btCylinderShape__isInfinite_p0"] = asm["_emscripten_bind_btCylinderShape__isInfinite_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__getAabb_p3 = Module["_emscripten_bind_bt32BitAxisSweep3__getAabb_p3"] = asm["_emscripten_bind_bt32BitAxisSweep3__getAabb_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3"]; +var _emscripten_bind_btCollisionObject__serialize_p2 = Module["_emscripten_bind_btCollisionObject__serialize_p2"] = asm["_emscripten_bind_btCollisionObject__serialize_p2"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btVector4__safeNormalize_p0 = Module["_emscripten_bind_btVector4__safeNormalize_p0"] = asm["_emscripten_bind_btVector4__safeNormalize_p0"]; +var _emscripten_bind_btCapsuleShapeX__getUpAxis_p0 = Module["_emscripten_bind_btCapsuleShapeX__getUpAxis_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getUpAxis_p0"]; +var _emscripten_bind_btTriangleMesh__findOrAddVertex_p2 = Module["_emscripten_bind_btTriangleMesh__findOrAddVertex_p2"] = asm["_emscripten_bind_btTriangleMesh__findOrAddVertex_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2"]; +var _emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3 = Module["_emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3"] = asm["_emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3"]; +var _emscripten_bind_btHinge2Constraint__get_m_objectType_p0 = Module["_emscripten_bind_btHinge2Constraint__get_m_objectType_p0"] = asm["_emscripten_bind_btHinge2Constraint__get_m_objectType_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3"]; +var _emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1"]; +var _emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1 = Module["_emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1"] = asm["_emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape____destroy___p0 = Module["_emscripten_bind_btBvhTriangleMeshShape____destroy___p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape____destroy___p0"]; +var _emscripten_bind_btManifoldPoint__get_m_partId1_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_partId1_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_partId1_p0"]; +var _emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0"]; +var _emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1 = Module["_emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1"] = asm["_emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1"]; +var _emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btCylinderShape__isConvex2d_p0 = Module["_emscripten_bind_btCylinderShape__isConvex2d_p0"] = asm["_emscripten_bind_btCylinderShape__isConvex2d_p0"]; +var _emscripten_bind_btDynamicsWorld__getSolverInfo_p0 = Module["_emscripten_bind_btDynamicsWorld__getSolverInfo_p0"] = asm["_emscripten_bind_btDynamicsWorld__getSolverInfo_p0"]; +var _emscripten_bind_btPairCachingGhostObject____destroy___p0 = Module["_emscripten_bind_btPairCachingGhostObject____destroy___p0"] = asm["_emscripten_bind_btPairCachingGhostObject____destroy___p0"]; +var _emscripten_bind_btGeneric6DofConstraint____destroy___p0 = Module["_emscripten_bind_btGeneric6DofConstraint____destroy___p0"] = asm["_emscripten_bind_btGeneric6DofConstraint____destroy___p0"]; +var _emscripten_bind_btCylinderShape__isConcave_p0 = Module["_emscripten_bind_btCylinderShape__isConcave_p0"] = asm["_emscripten_bind_btCylinderShape__isConcave_p0"]; +var _emscripten_bind_btRigidBody__setRestitution_p1 = Module["_emscripten_bind_btRigidBody__setRestitution_p1"] = asm["_emscripten_bind_btRigidBody__setRestitution_p1"]; +var _emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getPlane_p3 = Module["_emscripten_bind_btConvexTriangleMeshShape__getPlane_p3"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getPlane_p3"]; +var _emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0"]; +var _emscripten_bind_btPoint2PointConstraint__enableFeedback_p1 = Module["_emscripten_bind_btPoint2PointConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__enableFeedback_p1"]; +var _emscripten_bind_btCylinderShapeZ__isConvex2d_p0 = Module["_emscripten_bind_btCylinderShapeZ__isConvex2d_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isConvex2d_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btVector3__getX_p0 = Module["_emscripten_bind_btVector3__getX_p0"] = asm["_emscripten_bind_btVector3__getX_p0"]; +var _emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0"]; +var _emscripten_bind_btStridingMeshInterface__setScaling_p1 = Module["_emscripten_bind_btStridingMeshInterface__setScaling_p1"] = asm["_emscripten_bind_btStridingMeshInterface__setScaling_p1"]; +var _emscripten_bind_btCapsuleShapeX__getShapeType_p0 = Module["_emscripten_bind_btCapsuleShapeX__getShapeType_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getShapeType_p0"]; +var _emscripten_bind_btUniformScalingShape__isSoftBody_p0 = Module["_emscripten_bind_btUniformScalingShape__isSoftBody_p0"] = asm["_emscripten_bind_btUniformScalingShape__isSoftBody_p0"]; +var _emscripten_bind_btDynamicsWorld__addVehicle_p1 = Module["_emscripten_bind_btDynamicsWorld__addVehicle_p1"] = asm["_emscripten_bind_btDynamicsWorld__addVehicle_p1"]; +var _emscripten_bind_btGhostObject__hasAnisotropicFriction_p0 = Module["_emscripten_bind_btGhostObject__hasAnisotropicFriction_p0"] = asm["_emscripten_bind_btGhostObject__hasAnisotropicFriction_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0"]; +var _emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2 = Module["_emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2"] = asm["_emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2"]; +var _emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btCylinderShapeZ____destroy___p0 = Module["_emscripten_bind_btCylinderShapeZ____destroy___p0"] = asm["_emscripten_bind_btCylinderShapeZ____destroy___p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0"]; +var _emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6"]; +var _emscripten_bind_btUniformScalingShape__getChildShape_p0 = Module["_emscripten_bind_btUniformScalingShape__getChildShape_p0"] = asm["_emscripten_bind_btUniformScalingShape__getChildShape_p0"]; +var _emscripten_bind_btTriangleMesh__setScaling_p1 = Module["_emscripten_bind_btTriangleMesh__setScaling_p1"] = asm["_emscripten_bind_btTriangleMesh__setScaling_p1"]; +var _emscripten_bind_btWheelInfo__set_m_rollInfluence_p1 = Module["_emscripten_bind_btWheelInfo__set_m_rollInfluence_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_rollInfluence_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0"]; +var _emscripten_bind_btVector4__setValue_p4 = Module["_emscripten_bind_btVector4__setValue_p4"] = asm["_emscripten_bind_btVector4__setValue_p4"]; +var _emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2 = Module["_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2"] = asm["_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2"]; +var _emscripten_bind_btBU_Simplex1to4__serialize_p2 = Module["_emscripten_bind_btBU_Simplex1to4__serialize_p2"] = asm["_emscripten_bind_btBU_Simplex1to4__serialize_p2"]; +var _emscripten_bind_btCylinderShapeZ__getLocalScaling_p0 = Module["_emscripten_bind_btCylinderShapeZ__getLocalScaling_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getLocalScaling_p0"]; +var _emscripten_bind_btPoint2PointConstraint__get_m_setting_p0 = Module["_emscripten_bind_btPoint2PointConstraint__get_m_setting_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__get_m_setting_p0"]; +var _emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0 = Module["_emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0"] = asm["_emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1"]; +var _emscripten_bind_btCompoundShape__isPolyhedral_p0 = Module["_emscripten_bind_btCompoundShape__isPolyhedral_p0"] = asm["_emscripten_bind_btCompoundShape__isPolyhedral_p0"]; +var _emscripten_bind_btContactConstraint__getObjectType_p0 = Module["_emscripten_bind_btContactConstraint__getObjectType_p0"] = asm["_emscripten_bind_btContactConstraint__getObjectType_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1"]; +var _emscripten_bind_btSerializer__getCurrentBufferSize_p0 = Module["_emscripten_bind_btSerializer__getCurrentBufferSize_p0"] = asm["_emscripten_bind_btSerializer__getCurrentBufferSize_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0"]; +var _emscripten_bind_btTypedConstraint__setEnabled_p1 = Module["_emscripten_bind_btTypedConstraint__setEnabled_p1"] = asm["_emscripten_bind_btTypedConstraint__setEnabled_p1"]; +var _emscripten_bind_btCylinderShape__getLocalScaling_p0 = Module["_emscripten_bind_btCylinderShape__getLocalScaling_p0"] = asm["_emscripten_bind_btCylinderShape__getLocalScaling_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1"]; +var _emscripten_bind_btDbvtProxy__isConvex2d_p1 = Module["_emscripten_bind_btDbvtProxy__isConvex2d_p1"] = asm["_emscripten_bind_btDbvtProxy__isConvex2d_p1"]; +var _emscripten_bind_btTriangleInfoMap____destroy___p0 = Module["_emscripten_bind_btTriangleInfoMap____destroy___p0"] = asm["_emscripten_bind_btTriangleInfoMap____destroy___p0"]; +var _emscripten_bind_btRigidBody__getAngularVelocity_p0 = Module["_emscripten_bind_btRigidBody__getAngularVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getAngularVelocity_p0"]; +var _emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0 = Module["_emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0"]; +var _emscripten_bind_btGhostObject__getActivationState_p0 = Module["_emscripten_bind_btGhostObject__getActivationState_p0"] = asm["_emscripten_bind_btGhostObject__getActivationState_p0"]; +var _emscripten_bind_btStaticPlaneShape__isInfinite_p0 = Module["_emscripten_bind_btStaticPlaneShape__isInfinite_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isInfinite_p0"]; +var _emscripten_bind_btCapsuleShapeX__isSoftBody_p0 = Module["_emscripten_bind_btCapsuleShapeX__isSoftBody_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isSoftBody_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1"]; +var _emscripten_bind_btQuaternion__dot_p1 = Module["_emscripten_bind_btQuaternion__dot_p1"] = asm["_emscripten_bind_btQuaternion__dot_p1"]; +var _emscripten_bind_btBoxShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btBoxShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btBoxShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btDynamicsWorld__rayTestSingle_p6 = Module["_emscripten_bind_btDynamicsWorld__rayTestSingle_p6"] = asm["_emscripten_bind_btDynamicsWorld__rayTestSingle_p6"]; +var _emscripten_bind_btMatrix3x3__transpose_p0 = Module["_emscripten_bind_btMatrix3x3__transpose_p0"] = asm["_emscripten_bind_btMatrix3x3__transpose_p0"]; +var _emscripten_bind_btCollisionWorld__contactTest_p2 = Module["_emscripten_bind_btCollisionWorld__contactTest_p2"] = asm["_emscripten_bind_btCollisionWorld__contactTest_p2"]; +var _emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1 = Module["_emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1"] = asm["_emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1"]; +var _emscripten_bind_btVector3__fuzzyZero_p0 = Module["_emscripten_bind_btVector3__fuzzyZero_p0"] = asm["_emscripten_bind_btVector3__fuzzyZero_p0"]; +var _emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0"]; +var _emscripten_bind_btQuaternion__setMax_p1 = Module["_emscripten_bind_btQuaternion__setMax_p1"] = asm["_emscripten_bind_btQuaternion__setMax_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1"]; +var _emscripten_bind_btContactConstraint__getConstraintType_p0 = Module["_emscripten_bind_btContactConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btContactConstraint__getConstraintType_p0"]; +var _emscripten_bind_btCylinderShape__getRadius_p0 = Module["_emscripten_bind_btCylinderShape__getRadius_p0"] = asm["_emscripten_bind_btCylinderShape__getRadius_p0"]; +var _emscripten_bind_btConeShapeX__setMargin_p1 = Module["_emscripten_bind_btConeShapeX__setMargin_p1"] = asm["_emscripten_bind_btConeShapeX__setMargin_p1"]; +var _emscripten_bind_btRigidBody__setFlags_p1 = Module["_emscripten_bind_btRigidBody__setFlags_p1"] = asm["_emscripten_bind_btRigidBody__setFlags_p1"]; +var _emscripten_bind_btDbvtProxy__set_m_aabbMax_p1 = Module["_emscripten_bind_btDbvtProxy__set_m_aabbMax_p1"] = asm["_emscripten_bind_btDbvtProxy__set_m_aabbMax_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0 = Module["_emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0"] = asm["_emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0"]; +var _emscripten_bind_btClock__reset_p0 = Module["_emscripten_bind_btClock__reset_p0"] = asm["_emscripten_bind_btClock__reset_p0"]; +var _emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btOptimizedBvh__deSerializeFloat_p1 = Module["_emscripten_bind_btOptimizedBvh__deSerializeFloat_p1"] = asm["_emscripten_bind_btOptimizedBvh__deSerializeFloat_p1"]; +var _emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2 = Module["_emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2"] = asm["_emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2"]; +var _emscripten_bind_btBoxShape__getConvexPolyhedron_p0 = Module["_emscripten_bind_btBoxShape__getConvexPolyhedron_p0"] = asm["_emscripten_bind_btBoxShape__getConvexPolyhedron_p0"]; +var _emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btDynamicsWorld__contactTest_p2 = Module["_emscripten_bind_btDynamicsWorld__contactTest_p2"] = asm["_emscripten_bind_btDynamicsWorld__contactTest_p2"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btBroadphasePair__get_m_pProxy0_p0 = Module["_emscripten_bind_btBroadphasePair__get_m_pProxy0_p0"] = asm["_emscripten_bind_btBroadphasePair__get_m_pProxy0_p0"]; +var _emscripten_bind_btRaycastVehicle__applyEngineForce_p2 = Module["_emscripten_bind_btRaycastVehicle__applyEngineForce_p2"] = asm["_emscripten_bind_btRaycastVehicle__applyEngineForce_p2"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1"]; +var _emscripten_bind_btBroadphaseInterface__setAabb_p4 = Module["_emscripten_bind_btBroadphaseInterface__setAabb_p4"] = asm["_emscripten_bind_btBroadphaseInterface__setAabb_p4"]; +var _emscripten_bind_btConvexShape__isSoftBody_p0 = Module["_emscripten_bind_btConvexShape__isSoftBody_p0"] = asm["_emscripten_bind_btConvexShape__isSoftBody_p0"]; +var _emscripten_bind_btUniformScalingShape__setLocalScaling_p1 = Module["_emscripten_bind_btUniformScalingShape__setLocalScaling_p1"] = asm["_emscripten_bind_btUniformScalingShape__setLocalScaling_p1"]; +var _emscripten_bind_btConvexShape__isConvex_p0 = Module["_emscripten_bind_btConvexShape__isConvex_p0"] = asm["_emscripten_bind_btConvexShape__isConvex_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1 = Module["_emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1"]; +var _emscripten_bind_btBroadphaseProxy__getUid_p0 = Module["_emscripten_bind_btBroadphaseProxy__getUid_p0"] = asm["_emscripten_bind_btBroadphaseProxy__getUid_p0"]; +var _emscripten_bind_btMultiSphereShape__isPolyhedral_p0 = Module["_emscripten_bind_btMultiSphereShape__isPolyhedral_p0"] = asm["_emscripten_bind_btMultiSphereShape__isPolyhedral_p0"]; +var _emscripten_bind_btSphereShape__getName_p0 = Module["_emscripten_bind_btSphereShape__getName_p0"] = asm["_emscripten_bind_btSphereShape__getName_p0"]; +var _emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4 = Module["_emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4"] = asm["_emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4"]; +var _emscripten_bind_btHinge2Constraint__getAnchor_p0 = Module["_emscripten_bind_btHinge2Constraint__getAnchor_p0"] = asm["_emscripten_bind_btHinge2Constraint__getAnchor_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btGhostObject__activate_p1 = Module["_emscripten_bind_btGhostObject__activate_p1"] = asm["_emscripten_bind_btGhostObject__activate_p1"]; +var _emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0 = Module["_emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0"]; +var _emscripten_bind_btQuaternion__z_p0 = Module["_emscripten_bind_btQuaternion__z_p0"] = asm["_emscripten_bind_btQuaternion__z_p0"]; +var _emscripten_bind_btBoxShape__getShapeType_p0 = Module["_emscripten_bind_btBoxShape__getShapeType_p0"] = asm["_emscripten_bind_btBoxShape__getShapeType_p0"]; +var _emscripten_bind_btVector4__getY_p0 = Module["_emscripten_bind_btVector4__getY_p0"] = asm["_emscripten_bind_btVector4__getY_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3"]; +var _emscripten_bind_btVector4__getX_p0 = Module["_emscripten_bind_btVector4__getX_p0"] = asm["_emscripten_bind_btVector4__getX_p0"]; +var _emscripten_bind_btBroadphasePair__btBroadphasePair_p1 = Module["_emscripten_bind_btBroadphasePair__btBroadphasePair_p1"] = asm["_emscripten_bind_btBroadphasePair__btBroadphasePair_p1"]; +var _emscripten_bind_btBroadphasePair__btBroadphasePair_p0 = Module["_emscripten_bind_btBroadphasePair__btBroadphasePair_p0"] = asm["_emscripten_bind_btBroadphasePair__btBroadphasePair_p0"]; +var _emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0 = Module["_emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0"] = asm["_emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0"]; +var _emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1 = Module["_emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btBroadphasePair__get_m_algorithm_p0 = Module["_emscripten_bind_btBroadphasePair__get_m_algorithm_p0"] = asm["_emscripten_bind_btBroadphasePair__get_m_algorithm_p0"]; +var __GLOBAL__I_a = Module["__GLOBAL__I_a"] = asm["__GLOBAL__I_a"]; +var _emscripten_bind_btConvexHullShape__getEdge_p3 = Module["_emscripten_bind_btConvexHullShape__getEdge_p3"] = asm["_emscripten_bind_btConvexHullShape__getEdge_p3"]; +var _emscripten_bind_btCompoundShape__getChildShape_p1 = Module["_emscripten_bind_btCompoundShape__getChildShape_p1"] = asm["_emscripten_bind_btCompoundShape__getChildShape_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2"]; +var _emscripten_bind_btEmptyShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btEmptyShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btEmptyShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btCylinderShapeZ__getName_p0 = Module["_emscripten_bind_btCylinderShapeZ__getName_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getName_p0"]; +var _emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1 = Module["_emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1"]; +var _emscripten_bind_btVector3__isZero_p0 = Module["_emscripten_bind_btVector3__isZero_p0"] = asm["_emscripten_bind_btVector3__isZero_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0"]; +var _emscripten_bind_btConeShape__btConeShape_p2 = Module["_emscripten_bind_btConeShape__btConeShape_p2"] = asm["_emscripten_bind_btConeShape__btConeShape_p2"]; +var _emscripten_bind_btVector3__minAxis_p0 = Module["_emscripten_bind_btVector3__minAxis_p0"] = asm["_emscripten_bind_btVector3__minAxis_p0"]; +var _emscripten_bind_btIndexedMesh__get_m_vertexBase_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_vertexBase_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_vertexBase_p0"]; +var _emscripten_bind_btSliderConstraint__setDampingLimLin_p1 = Module["_emscripten_bind_btSliderConstraint__setDampingLimLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setDampingLimLin_p1"]; +var _emscripten_bind_btSphereShape__isCompound_p0 = Module["_emscripten_bind_btSphereShape__isCompound_p0"] = asm["_emscripten_bind_btSphereShape__isCompound_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__setGravity_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setGravity_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setGravity_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btHinge2Constraint__getAxis_p1 = Module["_emscripten_bind_btHinge2Constraint__getAxis_p1"] = asm["_emscripten_bind_btHinge2Constraint__getAxis_p1"]; +var _emscripten_bind_btCollisionWorld__setBroadphase_p1 = Module["_emscripten_bind_btCollisionWorld__setBroadphase_p1"] = asm["_emscripten_bind_btCollisionWorld__setBroadphase_p1"]; +var _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1 = Module["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1"]; +var _emscripten_bind_btCapsuleShapeX__isNonMoving_p0 = Module["_emscripten_bind_btCapsuleShapeX__isNonMoving_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isNonMoving_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0"]; +var _emscripten_bind_btRaycastVehicle__updateAction_p2 = Module["_emscripten_bind_btRaycastVehicle__updateAction_p2"] = asm["_emscripten_bind_btRaycastVehicle__updateAction_p2"]; +var _emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1"]; +var _emscripten_bind_btWheelInfo__set_m_brake_p1 = Module["_emscripten_bind_btWheelInfo__set_m_brake_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_brake_p1"]; +var _emscripten_bind_btSphereShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btSphereShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btSphereShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0"]; +var _emscripten_bind_btCylinderShapeZ__getShapeType_p0 = Module["_emscripten_bind_btCylinderShapeZ__getShapeType_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getShapeType_p0"]; +var _emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0 = Module["_emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0"] = asm["_emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0"]; +var _emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0 = Module["_emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0"] = asm["_emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0"]; +var _emscripten_bind_btConeShapeX____destroy___p0 = Module["_emscripten_bind_btConeShapeX____destroy___p0"] = asm["_emscripten_bind_btConeShapeX____destroy___p0"]; +var _emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btHashPtr____destroy___p0 = Module["_emscripten_bind_btHashPtr____destroy___p0"] = asm["_emscripten_bind_btHashPtr____destroy___p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1"]; +var _emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1 = Module["_emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1"] = asm["_emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0 = Module["_emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0"]; +var _emscripten_bind_btQuaternion__op_sub_p1 = Module["_emscripten_bind_btQuaternion__op_sub_p1"] = asm["_emscripten_bind_btQuaternion__op_sub_p1"]; +var _emscripten_bind_btHingeConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btHingeConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btHingeConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1"]; +var _emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1 = Module["_emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1"] = asm["_emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1"]; +var _emscripten_bind_btIDebugDraw__getDebugMode_p0 = Module["_emscripten_bind_btIDebugDraw__getDebugMode_p0"] = asm["_emscripten_bind_btIDebugDraw__getDebugMode_p0"]; +var _emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2 = Module["_emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2"] = asm["_emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2"]; +var _emscripten_bind_btVector4__absolute_p0 = Module["_emscripten_bind_btVector4__absolute_p0"] = asm["_emscripten_bind_btVector4__absolute_p0"]; +var _emscripten_bind_btStorageResult__setShapeIdentifiersA_p2 = Module["_emscripten_bind_btStorageResult__setShapeIdentifiersA_p2"] = asm["_emscripten_bind_btStorageResult__setShapeIdentifiersA_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0"]; +var _emscripten_bind_btStorageResult__set_m_distance_p1 = Module["_emscripten_bind_btStorageResult__set_m_distance_p1"] = asm["_emscripten_bind_btStorageResult__set_m_distance_p1"]; +var _emscripten_bind_btPersistentManifold__set_m_companionIdA_p1 = Module["_emscripten_bind_btPersistentManifold__set_m_companionIdA_p1"] = asm["_emscripten_bind_btPersistentManifold__set_m_companionIdA_p1"]; +var _emscripten_bind_btTypedConstraint__getConstraintType_p0 = Module["_emscripten_bind_btTypedConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btTypedConstraint__getConstraintType_p0"]; +var _emscripten_bind_btConvexShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btConvexShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConvexShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1 = Module["_emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1"] = asm["_emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1"]; +var _emscripten_bind_btVector4__getZ_p0 = Module["_emscripten_bind_btVector4__getZ_p0"] = asm["_emscripten_bind_btVector4__getZ_p0"]; +var _emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btVector4__serializeDouble_p1 = Module["_emscripten_bind_btVector4__serializeDouble_p1"] = asm["_emscripten_bind_btVector4__serializeDouble_p1"]; +var _emscripten_bind_btRigidBody__setActivationState_p1 = Module["_emscripten_bind_btRigidBody__setActivationState_p1"] = asm["_emscripten_bind_btRigidBody__setActivationState_p1"]; +var _emscripten_bind_btTransform__invXform_p1 = Module["_emscripten_bind_btTransform__invXform_p1"] = asm["_emscripten_bind_btTransform__invXform_p1"]; +var _emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btUniversalConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btUniversalConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btUniversalConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btCollisionObject__getFriction_p0 = Module["_emscripten_bind_btCollisionObject__getFriction_p0"] = asm["_emscripten_bind_btCollisionObject__getFriction_p0"]; +var _emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1 = Module["_emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1"] = asm["_emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0"]; +var _emscripten_bind_btDispatcher__getNewManifold_p2 = Module["_emscripten_bind_btDispatcher__getNewManifold_p2"] = asm["_emscripten_bind_btDispatcher__getNewManifold_p2"]; +var _emscripten_bind_btPolyhedralConvexShape__getName_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getName_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getName_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1"]; +var _emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1 = Module["_emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1"] = asm["_emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1"]; +var _emscripten_bind_btRigidBody__setSleepingThresholds_p2 = Module["_emscripten_bind_btRigidBody__setSleepingThresholds_p2"] = asm["_emscripten_bind_btRigidBody__setSleepingThresholds_p2"]; +var _emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0 = Module["_emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0"] = asm["_emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0"]; +var _emscripten_bind_btMultiSphereShape__getSphereRadius_p1 = Module["_emscripten_bind_btMultiSphereShape__getSphereRadius_p1"] = asm["_emscripten_bind_btMultiSphereShape__getSphereRadius_p1"]; +var _emscripten_bind_btConvexHullShape__serializeSingleShape_p1 = Module["_emscripten_bind_btConvexHullShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btConvexHullShape__serializeSingleShape_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3 = Module["_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3"]; +var _emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2 = Module["_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2"] = asm["_emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2"]; +var _emscripten_bind_btWheelInfo__get_m_engineForce_p0 = Module["_emscripten_bind_btWheelInfo__get_m_engineForce_p0"] = asm["_emscripten_bind_btWheelInfo__get_m_engineForce_p0"]; +var _emscripten_bind_btUniformScalingShape__getShapeType_p0 = Module["_emscripten_bind_btUniformScalingShape__getShapeType_p0"] = asm["_emscripten_bind_btUniformScalingShape__getShapeType_p0"]; +var _emscripten_bind_btDefaultMotionState__setWorldTransform_p1 = Module["_emscripten_bind_btDefaultMotionState__setWorldTransform_p1"] = asm["_emscripten_bind_btDefaultMotionState__setWorldTransform_p1"]; +var _emscripten_bind_btQuaternion__getZ_p0 = Module["_emscripten_bind_btQuaternion__getZ_p0"] = asm["_emscripten_bind_btQuaternion__getZ_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3 = Module["_emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3"] = asm["_emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3"]; +var _emscripten_bind_btBoxShape__serializeSingleShape_p1 = Module["_emscripten_bind_btBoxShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btBoxShape__serializeSingleShape_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3 = Module["_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3"] = asm["_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3"]; +var _emscripten_bind_btConvexInternalShape__serialize_p2 = Module["_emscripten_bind_btConvexInternalShape__serialize_p2"] = asm["_emscripten_bind_btConvexInternalShape__serialize_p2"]; +var _emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0"]; +var _emscripten_bind_btSliderConstraint__getSolveLinLimit_p0 = Module["_emscripten_bind_btSliderConstraint__getSolveLinLimit_p0"] = asm["_emscripten_bind_btSliderConstraint__getSolveLinLimit_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1"]; +var _emscripten_bind_btVector3__rotate_p2 = Module["_emscripten_bind_btVector3__rotate_p2"] = asm["_emscripten_bind_btVector3__rotate_p2"]; +var _emscripten_bind_btPolyhedralConvexShape__getShapeType_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getShapeType_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getShapeType_p0"]; +var _emscripten_bind_btContactConstraint__setParam_p2 = Module["_emscripten_bind_btContactConstraint__setParam_p2"] = asm["_emscripten_bind_btContactConstraint__setParam_p2"]; +var _emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1 = Module["_emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1"] = asm["_emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1"]; +var _emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2 = Module["_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2"] = asm["_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1"]; +var _emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4 = Module["_emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4"] = asm["_emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1"]; +var _emscripten_bind_btHingeConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btHingeConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btHingeConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1 = Module["_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1"] = asm["_emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1"]; +var _emscripten_bind_btCylinderShapeX__getName_p0 = Module["_emscripten_bind_btCylinderShapeX__getName_p0"] = asm["_emscripten_bind_btCylinderShapeX__getName_p0"]; +var _emscripten_bind_btDispatcher__releaseManifold_p1 = Module["_emscripten_bind_btDispatcher__releaseManifold_p1"] = asm["_emscripten_bind_btDispatcher__releaseManifold_p1"]; +var _emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1 = Module["_emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1"] = asm["_emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1"]; +var _emscripten_bind_btDbvtBroadphase__optimize_p0 = Module["_emscripten_bind_btDbvtBroadphase__optimize_p0"] = asm["_emscripten_bind_btDbvtBroadphase__optimize_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3"]; +var _emscripten_bind_btRaycastVehicle__setPitchControl_p1 = Module["_emscripten_bind_btRaycastVehicle__setPitchControl_p1"] = asm["_emscripten_bind_btRaycastVehicle__setPitchControl_p1"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4"]; +var _emscripten_bind_btCollisionObject__setUserPointer_p1 = Module["_emscripten_bind_btCollisionObject__setUserPointer_p1"] = asm["_emscripten_bind_btCollisionObject__setUserPointer_p1"]; +var _emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btConeTwistConstraint__setEnabled_p1 = Module["_emscripten_bind_btConeTwistConstraint__setEnabled_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setEnabled_p1"]; +var _emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1 = Module["_emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1"] = asm["_emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1"]; +var _emscripten_bind_btCylinderShapeZ__setMargin_p1 = Module["_emscripten_bind_btCylinderShapeZ__setMargin_p1"] = asm["_emscripten_bind_btCylinderShapeZ__setMargin_p1"]; +var _emscripten_bind_btVector3__normalized_p0 = Module["_emscripten_bind_btVector3__normalized_p0"] = asm["_emscripten_bind_btVector3__normalized_p0"]; +var _emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3 = Module["_emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3"] = asm["_emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3"]; +var _emscripten_bind_btRigidBody__getLinearDamping_p0 = Module["_emscripten_bind_btRigidBody__getLinearDamping_p0"] = asm["_emscripten_bind_btRigidBody__getLinearDamping_p0"]; +var _emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1 = Module["_emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1"] = asm["_emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1"]; +var _emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0 = Module["_emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0"] = asm["_emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getShapeType_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getShapeType_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getShapeType_p0"]; +var _emscripten_bind_btCollisionObject__setHitFraction_p1 = Module["_emscripten_bind_btCollisionObject__setHitFraction_p1"] = asm["_emscripten_bind_btCollisionObject__setHitFraction_p1"]; +var _emscripten_bind_btSliderConstraint__serialize_p2 = Module["_emscripten_bind_btSliderConstraint__serialize_p2"] = asm["_emscripten_bind_btSliderConstraint__serialize_p2"]; +var _emscripten_bind_btAngularLimit__getCorrection_p0 = Module["_emscripten_bind_btAngularLimit__getCorrection_p0"] = asm["_emscripten_bind_btAngularLimit__getCorrection_p0"]; +var _emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7 = Module["_emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7"] = asm["_emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7"]; +var _emscripten_bind_btBroadphaseProxy__isNonMoving_p1 = Module["_emscripten_bind_btBroadphaseProxy__isNonMoving_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isNonMoving_p1"]; +var _emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btCylinderShape__getBoundingSphere_p2 = Module["_emscripten_bind_btCylinderShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btCylinderShape__getBoundingSphere_p2"]; +var _emscripten_bind_btDynamicsWorld__getWorldType_p0 = Module["_emscripten_bind_btDynamicsWorld__getWorldType_p0"] = asm["_emscripten_bind_btDynamicsWorld__getWorldType_p0"]; +var _emscripten_bind_btVector3__op_div_p1 = Module["_emscripten_bind_btVector3__op_div_p1"] = asm["_emscripten_bind_btVector3__op_div_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3 = Module["_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2"]; +var _emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__getAabb_p3 = Module["_emscripten_bind_btBvhTriangleMeshShape__getAabb_p3"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getAabb_p3"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0"]; +var _emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0"]; +var _emscripten_bind_btMultiSphereShape__setLocalScaling_p1 = Module["_emscripten_bind_btMultiSphereShape__setLocalScaling_p1"] = asm["_emscripten_bind_btMultiSphereShape__setLocalScaling_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btSliderConstraint__setUseFrameOffset_p1 = Module["_emscripten_bind_btSliderConstraint__setUseFrameOffset_p1"] = asm["_emscripten_bind_btSliderConstraint__setUseFrameOffset_p1"]; +var _emscripten_bind_btHingeConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btHingeConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btHingeConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0"]; +var _emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0 = Module["_emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0"]; +var _emscripten_bind_btIDebugDraw__drawTransform_p2 = Module["_emscripten_bind_btIDebugDraw__drawTransform_p2"] = asm["_emscripten_bind_btIDebugDraw__drawTransform_p2"]; +var _emscripten_bind_btConeTwistConstraint__getTwistAngle_p0 = Module["_emscripten_bind_btConeTwistConstraint__getTwistAngle_p0"] = asm["_emscripten_bind_btConeTwistConstraint__getTwistAngle_p0"]; +var _emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1 = Module["_emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1"] = asm["_emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1"]; +var _emscripten_bind_btStackAlloc__getAvailableMemory_p0 = Module["_emscripten_bind_btStackAlloc__getAvailableMemory_p0"] = asm["_emscripten_bind_btStackAlloc__getAvailableMemory_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btBvhTriangleMeshShape__getMargin_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getMargin_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getMargin_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__isConvex_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isConvex_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isConvex_p0"]; +var _emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3 = Module["_emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3"] = asm["_emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0"]; +var _emscripten_bind_btTriangleInfo__get_m_flags_p0 = Module["_emscripten_bind_btTriangleInfo__get_m_flags_p0"] = asm["_emscripten_bind_btTriangleInfo__get_m_flags_p0"]; +var _emscripten_bind_btConcaveShape__getName_p0 = Module["_emscripten_bind_btConcaveShape__getName_p0"] = asm["_emscripten_bind_btConcaveShape__getName_p0"]; +var _emscripten_bind_btContactConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btContactConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btContactConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1"]; +var _emscripten_bind_btOptimizedBvh__refitPartial_p3 = Module["_emscripten_bind_btOptimizedBvh__refitPartial_p3"] = asm["_emscripten_bind_btOptimizedBvh__refitPartial_p3"]; +var _emscripten_bind_btConcaveShape__getAabb_p3 = Module["_emscripten_bind_btConcaveShape__getAabb_p3"] = asm["_emscripten_bind_btConcaveShape__getAabb_p3"]; +var _emscripten_bind_btCollisionShape__isInfinite_p0 = Module["_emscripten_bind_btCollisionShape__isInfinite_p0"] = asm["_emscripten_bind_btCollisionShape__isInfinite_p0"]; +var _emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1 = Module["_emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1"]; +var _emscripten_bind_btConvexInternalShape__getMargin_p0 = Module["_emscripten_bind_btConvexInternalShape__getMargin_p0"] = asm["_emscripten_bind_btConvexInternalShape__getMargin_p0"]; +var _emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btCompoundShape__isConvex_p0 = Module["_emscripten_bind_btCompoundShape__isConvex_p0"] = asm["_emscripten_bind_btCompoundShape__isConvex_p0"]; +var _emscripten_bind_btSliderConstraint__setDampingDirLin_p1 = Module["_emscripten_bind_btSliderConstraint__setDampingDirLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setDampingDirLin_p1"]; +var _emscripten_bind_btCapsuleShape__getMargin_p0 = Module["_emscripten_bind_btCapsuleShape__getMargin_p0"] = asm["_emscripten_bind_btCapsuleShape__getMargin_p0"]; +var _emscripten_bind_btAngularLimit____destroy___p0 = Module["_emscripten_bind_btAngularLimit____destroy___p0"] = asm["_emscripten_bind_btAngularLimit____destroy___p0"]; +var _emscripten_bind_btUniversalConstraint__getInfo2_p1 = Module["_emscripten_bind_btUniversalConstraint__getInfo2_p1"] = asm["_emscripten_bind_btUniversalConstraint__getInfo2_p1"]; +var _emscripten_bind_btMatrix3x3__getIdentity_p0 = Module["_emscripten_bind_btMatrix3x3__getIdentity_p0"] = asm["_emscripten_bind_btMatrix3x3__getIdentity_p0"]; +var _free = Module["_free"] = asm["_free"]; +var _emscripten_bind_btConeShapeX__getName_p0 = Module["_emscripten_bind_btConeShapeX__getName_p0"] = asm["_emscripten_bind_btConeShapeX__getName_p0"]; +var _emscripten_bind_btTransform__setBasis_p1 = Module["_emscripten_bind_btTransform__setBasis_p1"] = asm["_emscripten_bind_btTransform__setBasis_p1"]; +var _emscripten_bind_btCapsuleShape__isConcave_p0 = Module["_emscripten_bind_btCapsuleShape__isConcave_p0"] = asm["_emscripten_bind_btCapsuleShape__isConcave_p0"]; +var _emscripten_bind_btHingeConstraint__enableMotor_p1 = Module["_emscripten_bind_btHingeConstraint__enableMotor_p1"] = asm["_emscripten_bind_btHingeConstraint__enableMotor_p1"]; +var _emscripten_bind_btCollisionObject__setIslandTag_p1 = Module["_emscripten_bind_btCollisionObject__setIslandTag_p1"] = asm["_emscripten_bind_btCollisionObject__setIslandTag_p1"]; +var _emscripten_bind_btSliderConstraint__setDampingDirAng_p1 = Module["_emscripten_bind_btSliderConstraint__setDampingDirAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setDampingDirAng_p1"]; +var _emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btGhostObject__setCcdMotionThreshold_p1 = Module["_emscripten_bind_btGhostObject__setCcdMotionThreshold_p1"] = asm["_emscripten_bind_btGhostObject__setCcdMotionThreshold_p1"]; +var _emscripten_bind_btConcaveShape__getLocalScaling_p0 = Module["_emscripten_bind_btConcaveShape__getLocalScaling_p0"] = asm["_emscripten_bind_btConcaveShape__getLocalScaling_p0"]; +var _emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1 = Module["_emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1"] = asm["_emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1"]; +var _emscripten_bind_btQuaternion__setEulerZYX_p3 = Module["_emscripten_bind_btQuaternion__setEulerZYX_p3"] = asm["_emscripten_bind_btQuaternion__setEulerZYX_p3"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0"]; +var _emscripten_bind_btHashInt__getUid1_p0 = Module["_emscripten_bind_btHashInt__getUid1_p0"] = asm["_emscripten_bind_btHashInt__getUid1_p0"]; +var _emscripten_bind_btCapsuleShapeZ__isConvex2d_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isConvex2d_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isConvex2d_p0"]; +var _emscripten_bind_btVector3__maxAxis_p0 = Module["_emscripten_bind_btVector3__maxAxis_p0"] = asm["_emscripten_bind_btVector3__maxAxis_p0"]; +var _emscripten_bind_btSliderConstraint__needsFeedback_p0 = Module["_emscripten_bind_btSliderConstraint__needsFeedback_p0"] = asm["_emscripten_bind_btSliderConstraint__needsFeedback_p0"]; +var _emscripten_bind_btIDebugDraw__drawSpherePatch_p9 = Module["_emscripten_bind_btIDebugDraw__drawSpherePatch_p9"] = asm["_emscripten_bind_btIDebugDraw__drawSpherePatch_p9"]; +var _emscripten_bind_btVector3__op_mul_p1 = Module["_emscripten_bind_btVector3__op_mul_p1"] = asm["_emscripten_bind_btVector3__op_mul_p1"]; +var _emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btRigidBody__setMassProps_p2 = Module["_emscripten_bind_btRigidBody__setMassProps_p2"] = asm["_emscripten_bind_btRigidBody__setMassProps_p2"]; +var _emscripten_bind_btHeightfieldTerrainShape__getMargin_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__getMargin_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getMargin_p0"]; +var _emscripten_bind_btHingeConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btHingeConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btHingeConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1 = Module["_emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1"] = asm["_emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0"]; +var _emscripten_bind_btConvexHullShape__getName_p0 = Module["_emscripten_bind_btConvexHullShape__getName_p0"] = asm["_emscripten_bind_btConvexHullShape__getName_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2"]; +var _emscripten_bind_btPoint2PointConstraint__getPivotInB_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getPivotInB_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getPivotInB_p0"]; +var _emscripten_bind_btBU_Simplex1to4__setMargin_p1 = Module["_emscripten_bind_btBU_Simplex1to4__setMargin_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__setMargin_p1"]; +var _emscripten_bind_btRaycastVehicle__getWheelInfo_p1 = Module["_emscripten_bind_btRaycastVehicle__getWheelInfo_p1"] = asm["_emscripten_bind_btRaycastVehicle__getWheelInfo_p1"]; +var _emscripten_bind_btRigidBody__setAngularVelocity_p1 = Module["_emscripten_bind_btRigidBody__setAngularVelocity_p1"] = asm["_emscripten_bind_btRigidBody__setAngularVelocity_p1"]; +var _emscripten_bind_btRigidBody__serialize_p2 = Module["_emscripten_bind_btRigidBody__serialize_p2"] = asm["_emscripten_bind_btRigidBody__serialize_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__setMargin_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__setMargin_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__setMargin_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btCapsuleShapeX__getRadius_p0 = Module["_emscripten_bind_btCapsuleShapeX__getRadius_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getRadius_p0"]; +var _emscripten_bind_btQuaternion__op_div_p1 = Module["_emscripten_bind_btQuaternion__op_div_p1"] = asm["_emscripten_bind_btQuaternion__op_div_p1"]; +var _emscripten_bind_btCylinderShapeZ__setLocalScaling_p1 = Module["_emscripten_bind_btCylinderShapeZ__setLocalScaling_p1"] = asm["_emscripten_bind_btCylinderShapeZ__setLocalScaling_p1"]; +var _emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btHingeConstraint__setMotorTarget_p2 = Module["_emscripten_bind_btHingeConstraint__setMotorTarget_p2"] = asm["_emscripten_bind_btHingeConstraint__setMotorTarget_p2"]; +var _emscripten_bind_btConeShapeX__getAabbSlow_p3 = Module["_emscripten_bind_btConeShapeX__getAabbSlow_p3"] = asm["_emscripten_bind_btConeShapeX__getAabbSlow_p3"]; +var _emscripten_bind_btMultiSphereShape____destroy___p0 = Module["_emscripten_bind_btMultiSphereShape____destroy___p0"] = asm["_emscripten_bind_btMultiSphereShape____destroy___p0"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1"]; +var _emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3 = Module["_emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3"] = asm["_emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3"]; +var _emscripten_bind_btConvexShape__getAabbSlow_p3 = Module["_emscripten_bind_btConvexShape__getAabbSlow_p3"] = asm["_emscripten_bind_btConvexShape__getAabbSlow_p3"]; +var _emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3 = Module["_emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3"]; +var _emscripten_bind_btCylinderShapeZ__isCompound_p0 = Module["_emscripten_bind_btCylinderShapeZ__isCompound_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isCompound_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getObjectType_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getObjectType_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getObjectType_p0"]; +var _emscripten_bind_btCylinderShapeX__isSoftBody_p0 = Module["_emscripten_bind_btCylinderShapeX__isSoftBody_p0"] = asm["_emscripten_bind_btCylinderShapeX__isSoftBody_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0"]; +var _emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0 = Module["_emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0"]; +var _emscripten_bind_btUniformScalingShape__getAabb_p3 = Module["_emscripten_bind_btUniformScalingShape__getAabb_p3"] = asm["_emscripten_bind_btUniformScalingShape__getAabb_p3"]; +var _emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0"]; +var _emscripten_bind_btHeightfieldTerrainShape__isCompound_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__isCompound_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__isCompound_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btCapsuleShapeZ__isConcave_p0 = Module["_emscripten_bind_btCapsuleShapeZ__isConcave_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__isConcave_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0"]; +var _emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btConeShapeX__getMarginNonVirtual_p0 = Module["_emscripten_bind_btConeShapeX__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btConeShapeX__getMarginNonVirtual_p0"]; +var _emscripten_bind_btConeShapeZ__btConeShapeZ_p2 = Module["_emscripten_bind_btConeShapeZ__btConeShapeZ_p2"] = asm["_emscripten_bind_btConeShapeZ__btConeShapeZ_p2"]; +var _emscripten_bind_btVector4__maxAxis4_p0 = Module["_emscripten_bind_btVector4__maxAxis4_p0"] = asm["_emscripten_bind_btVector4__maxAxis4_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1"]; +var _emscripten_bind_btVector4__absolute4_p0 = Module["_emscripten_bind_btVector4__absolute4_p0"] = asm["_emscripten_bind_btVector4__absolute4_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1"]; +var _emscripten_bind_btSerializer__findNameForPointer_p1 = Module["_emscripten_bind_btSerializer__findNameForPointer_p1"] = asm["_emscripten_bind_btSerializer__findNameForPointer_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7 = Module["_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7"]; +var _emscripten_bind_btPairCachingGhostObject__activate_p1 = Module["_emscripten_bind_btPairCachingGhostObject__activate_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__activate_p1"]; +var _emscripten_bind_btPairCachingGhostObject__activate_p0 = Module["_emscripten_bind_btPairCachingGhostObject__activate_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__activate_p0"]; +var _emscripten_bind_btMatrix3x3__op_sub_p1 = Module["_emscripten_bind_btMatrix3x3__op_sub_p1"] = asm["_emscripten_bind_btMatrix3x3__op_sub_p1"]; +var _emscripten_bind_btGhostObject__getRestitution_p0 = Module["_emscripten_bind_btGhostObject__getRestitution_p0"] = asm["_emscripten_bind_btGhostObject__getRestitution_p0"]; +var _emscripten_bind_btHinge2Constraint__getAngle1_p0 = Module["_emscripten_bind_btHinge2Constraint__getAngle1_p0"] = asm["_emscripten_bind_btHinge2Constraint__getAngle1_p0"]; +var _emscripten_bind_btSphereShape__serialize_p2 = Module["_emscripten_bind_btSphereShape__serialize_p2"] = asm["_emscripten_bind_btSphereShape__serialize_p2"]; +var _emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0 = Module["_emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0"] = asm["_emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0"]; +var _emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2 = Module["_emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2"]; +var _emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2 = Module["_emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2"] = asm["_emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2"]; +var _emscripten_bind_btRigidBody__setBroadphaseHandle_p1 = Module["_emscripten_bind_btRigidBody__setBroadphaseHandle_p1"] = asm["_emscripten_bind_btRigidBody__setBroadphaseHandle_p1"]; +var _emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1"]; +var _emscripten_bind_btCapsuleShapeX__getUserPointer_p0 = Module["_emscripten_bind_btCapsuleShapeX__getUserPointer_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getUserPointer_p0"]; +var _emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0 = Module["_emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0"] = asm["_emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2 = Module["_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2"] = asm["_emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1"]; +var _emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1"]; +var _emscripten_bind_btPersistentManifold__btPersistentManifold_p5 = Module["_emscripten_bind_btPersistentManifold__btPersistentManifold_p5"] = asm["_emscripten_bind_btPersistentManifold__btPersistentManifold_p5"]; +var _emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0 = Module["_emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0"] = asm["_emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0"]; +var _emscripten_bind_btCylinderShapeZ__getMarginNV_p0 = Module["_emscripten_bind_btCylinderShapeZ__getMarginNV_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getMarginNV_p0"]; +var _emscripten_bind_btTriangleMesh__addIndexedMesh_p1 = Module["_emscripten_bind_btTriangleMesh__addIndexedMesh_p1"] = asm["_emscripten_bind_btTriangleMesh__addIndexedMesh_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1"]; +var _emscripten_bind_btTriangleMesh__addIndexedMesh_p2 = Module["_emscripten_bind_btTriangleMesh__addIndexedMesh_p2"] = asm["_emscripten_bind_btTriangleMesh__addIndexedMesh_p2"]; +var _emscripten_bind_btSliderConstraint__setFrames_p2 = Module["_emscripten_bind_btSliderConstraint__setFrames_p2"] = asm["_emscripten_bind_btSliderConstraint__setFrames_p2"]; +var _emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0 = Module["_emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0"] = asm["_emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__removeAction_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__removeAction_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__removeAction_p1"]; +var _emscripten_bind_btContactConstraint__setContactManifold_p1 = Module["_emscripten_bind_btContactConstraint__setContactManifold_p1"] = asm["_emscripten_bind_btContactConstraint__setContactManifold_p1"]; +var _emscripten_bind_btSphereShape__setUserPointer_p1 = Module["_emscripten_bind_btSphereShape__setUserPointer_p1"] = asm["_emscripten_bind_btSphereShape__setUserPointer_p1"]; +var _emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1"]; +var _emscripten_bind_btCapsuleShapeZ__getUpAxis_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getUpAxis_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getUpAxis_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__getPlane_p3 = Module["_emscripten_bind_btPolyhedralConvexShape__getPlane_p3"] = asm["_emscripten_bind_btPolyhedralConvexShape__getPlane_p3"]; +var _emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0"]; +var _emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0 = Module["_emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0"] = asm["_emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__clearForces_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__clearForces_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__clearForces_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setPivotB_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setPivotB_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setPivotB_p1"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0"]; +var _emscripten_bind_btSerializer__finalizeChunk_p4 = Module["_emscripten_bind_btSerializer__finalizeChunk_p4"] = asm["_emscripten_bind_btSerializer__finalizeChunk_p4"]; +var _emscripten_bind_btGeneric6DofConstraint__setEnabled_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setEnabled_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setEnabled_p1"]; +var _emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1 = Module["_emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1"] = asm["_emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1"]; +var _emscripten_bind_btCylinderShapeX__getLocalScaling_p0 = Module["_emscripten_bind_btCylinderShapeX__getLocalScaling_p0"] = asm["_emscripten_bind_btCylinderShapeX__getLocalScaling_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1"]; +var _emscripten_bind_btStackAlloc__endBlock_p1 = Module["_emscripten_bind_btStackAlloc__endBlock_p1"] = asm["_emscripten_bind_btStackAlloc__endBlock_p1"]; +var _emscripten_bind_btCylinderShape__setLocalScaling_p1 = Module["_emscripten_bind_btCylinderShape__setLocalScaling_p1"] = asm["_emscripten_bind_btCylinderShape__setLocalScaling_p1"]; +var _emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1 = Module["_emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1"]; +var _emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1 = Module["_emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1"] = asm["_emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1"]; +var _emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btMatrix3x3__adjoint_p0 = Module["_emscripten_bind_btMatrix3x3__adjoint_p0"] = asm["_emscripten_bind_btMatrix3x3__adjoint_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0"]; +var _emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1 = Module["_emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1"] = asm["_emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1"]; +var _emscripten_bind_btVector4__normalized_p0 = Module["_emscripten_bind_btVector4__normalized_p0"] = asm["_emscripten_bind_btVector4__normalized_p0"]; +var _emscripten_bind_btSliderConstraint__getObjectType_p0 = Module["_emscripten_bind_btSliderConstraint__getObjectType_p0"] = asm["_emscripten_bind_btSliderConstraint__getObjectType_p0"]; +var _emscripten_bind_btRigidBody__setGravity_p1 = Module["_emscripten_bind_btRigidBody__setGravity_p1"] = asm["_emscripten_bind_btRigidBody__setGravity_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0"]; +var _emscripten_bind_btDynamicsWorld__removeConstraint_p1 = Module["_emscripten_bind_btDynamicsWorld__removeConstraint_p1"] = asm["_emscripten_bind_btDynamicsWorld__removeConstraint_p1"]; +var _emscripten_bind_btPersistentManifold__clearUserCache_p1 = Module["_emscripten_bind_btPersistentManifold__clearUserCache_p1"] = asm["_emscripten_bind_btPersistentManifold__clearUserCache_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5 = Module["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5"] = asm["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5"]; +var _emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btDbvtProxy__btDbvtProxy_p5 = Module["_emscripten_bind_btDbvtProxy__btDbvtProxy_p5"] = asm["_emscripten_bind_btDbvtProxy__btDbvtProxy_p5"]; +var _emscripten_bind_btCollisionShape__setLocalScaling_p1 = Module["_emscripten_bind_btCollisionShape__setLocalScaling_p1"] = asm["_emscripten_bind_btCollisionShape__setLocalScaling_p1"]; +var _emscripten_bind_btUniversalConstraint__getObjectType_p0 = Module["_emscripten_bind_btUniversalConstraint__getObjectType_p0"] = asm["_emscripten_bind_btUniversalConstraint__getObjectType_p0"]; +var _emscripten_bind_btSphereShape__getAabbSlow_p3 = Module["_emscripten_bind_btSphereShape__getAabbSlow_p3"] = asm["_emscripten_bind_btSphereShape__getAabbSlow_p3"]; +var _emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btConvexShape__getName_p0 = Module["_emscripten_bind_btConvexShape__getName_p0"] = asm["_emscripten_bind_btConvexShape__getName_p0"]; +var _emscripten_bind_btRotationalLimitMotor__testLimitValue_p1 = Module["_emscripten_bind_btRotationalLimitMotor__testLimitValue_p1"] = asm["_emscripten_bind_btRotationalLimitMotor__testLimitValue_p1"]; +var _emscripten_bind_btCollisionWorld__getDispatchInfo_p0 = Module["_emscripten_bind_btCollisionWorld__getDispatchInfo_p0"] = asm["_emscripten_bind_btCollisionWorld__getDispatchInfo_p0"]; +var _emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0 = Module["_emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0"]; +var _emscripten_bind_btBoxShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btBoxShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btBoxShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btDispatcher__getInternalManifoldPool_p0 = Module["_emscripten_bind_btDispatcher__getInternalManifoldPool_p0"] = asm["_emscripten_bind_btDispatcher__getInternalManifoldPool_p0"]; +var _emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0 = Module["_emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0"]; +var _emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0 = Module["_emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0"] = asm["_emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0"]; +var _emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0 = Module["_emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0"] = asm["_emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0"]; +var _emscripten_bind_btHinge2Constraint__getUserConstraintId_p0 = Module["_emscripten_bind_btHinge2Constraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btHinge2Constraint__getUserConstraintId_p0"]; +var _emscripten_bind_btQuaternion__setRotation_p2 = Module["_emscripten_bind_btQuaternion__setRotation_p2"] = asm["_emscripten_bind_btQuaternion__setRotation_p2"]; +var _emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2 = Module["_emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2"] = asm["_emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2"]; +var _emscripten_bind_btCylinderShapeX__isPolyhedral_p0 = Module["_emscripten_bind_btCylinderShapeX__isPolyhedral_p0"] = asm["_emscripten_bind_btCylinderShapeX__isPolyhedral_p0"]; +var _emscripten_bind_btEmptyShape__getShapeType_p0 = Module["_emscripten_bind_btEmptyShape__getShapeType_p0"] = asm["_emscripten_bind_btEmptyShape__getShapeType_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0"]; +var _emscripten_bind_btManifoldResult__getBody1Internal_p0 = Module["_emscripten_bind_btManifoldResult__getBody1Internal_p0"] = asm["_emscripten_bind_btManifoldResult__getBody1Internal_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0"]; +var _emscripten_bind_btQuadWord__op_set_p1 = Module["_emscripten_bind_btQuadWord__op_set_p1"] = asm["_emscripten_bind_btQuadWord__op_set_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0"]; +var _emscripten_bind_btPersistentManifold__getNumContacts_p0 = Module["_emscripten_bind_btPersistentManifold__getNumContacts_p0"] = asm["_emscripten_bind_btPersistentManifold__getNumContacts_p0"]; +var _emscripten_bind_btUniversalConstraint__get_m_objectType_p0 = Module["_emscripten_bind_btUniversalConstraint__get_m_objectType_p0"] = asm["_emscripten_bind_btUniversalConstraint__get_m_objectType_p0"]; +var _emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0 = Module["_emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setAxis_p2 = Module["_emscripten_bind_btGeneric6DofConstraint__setAxis_p2"] = asm["_emscripten_bind_btGeneric6DofConstraint__setAxis_p2"]; +var _emscripten_bind_btWheelInfo__getSuspensionRestLength_p0 = Module["_emscripten_bind_btWheelInfo__getSuspensionRestLength_p0"] = asm["_emscripten_bind_btWheelInfo__getSuspensionRestLength_p0"]; +var _emscripten_bind_btSphereShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btSphereShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btSphereShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btHashPtr__getPointer_p0 = Module["_emscripten_bind_btHashPtr__getPointer_p0"] = asm["_emscripten_bind_btHashPtr__getPointer_p0"]; +var _emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0 = Module["_emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0"] = asm["_emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0"]; +var _emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1 = Module["_emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3"]; +var _emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2 = Module["_emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2"] = asm["_emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2"]; +var _emscripten_bind_btConeShape____destroy___p0 = Module["_emscripten_bind_btConeShape____destroy___p0"] = asm["_emscripten_bind_btConeShape____destroy___p0"]; +var _emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btConeTwistConstraint__setMotorTarget_p1 = Module["_emscripten_bind_btConeTwistConstraint__setMotorTarget_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setMotorTarget_p1"]; +var _emscripten_bind_btConvexShape__serialize_p2 = Module["_emscripten_bind_btConvexShape__serialize_p2"] = asm["_emscripten_bind_btConvexShape__serialize_p2"]; +var _emscripten_bind_btContactConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btContactConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btContactConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btQuaternion__setEuler_p3 = Module["_emscripten_bind_btQuaternion__setEuler_p3"] = asm["_emscripten_bind_btQuaternion__setEuler_p3"]; +var _emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0 = Module["_emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0"] = asm["_emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1 = Module["_emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1"] = asm["_emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3"]; +var _emscripten_bind_btPairCachingGhostObject__isStaticObject_p0 = Module["_emscripten_bind_btPairCachingGhostObject__isStaticObject_p0"] = asm["_emscripten_bind_btPairCachingGhostObject__isStaticObject_p0"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1"]; +var _emscripten_bind_btBoxShape__getEdge_p3 = Module["_emscripten_bind_btBoxShape__getEdge_p3"] = asm["_emscripten_bind_btBoxShape__getEdge_p3"]; +var _emscripten_bind_btVector4__serializeFloat_p1 = Module["_emscripten_bind_btVector4__serializeFloat_p1"] = asm["_emscripten_bind_btVector4__serializeFloat_p1"]; +var _emscripten_bind_btMultiSphereShape__setUserPointer_p1 = Module["_emscripten_bind_btMultiSphereShape__setUserPointer_p1"] = asm["_emscripten_bind_btMultiSphereShape__setUserPointer_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3"]; +var _emscripten_bind_CProfileNode__Get_Name_p0 = Module["_emscripten_bind_CProfileNode__Get_Name_p0"] = asm["_emscripten_bind_CProfileNode__Get_Name_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__aabbTest_p3 = Module["_emscripten_bind_bt32BitAxisSweep3__aabbTest_p3"] = asm["_emscripten_bind_bt32BitAxisSweep3__aabbTest_p3"]; +var _emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2 = Module["_emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2"]; +var _emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0 = Module["_emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0"] = asm["_emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0"]; +var _emscripten_bind_btSliderConstraint____destroy___p0 = Module["_emscripten_bind_btSliderConstraint____destroy___p0"] = asm["_emscripten_bind_btSliderConstraint____destroy___p0"]; +var _emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2 = Module["_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2"] = asm["_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2"]; +var _emscripten_bind_btUniversalConstraint__getAnchor_p0 = Module["_emscripten_bind_btUniversalConstraint__getAnchor_p0"] = asm["_emscripten_bind_btUniversalConstraint__getAnchor_p0"]; +var _emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1 = Module["_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btRotationalLimitMotor__isLimited_p0 = Module["_emscripten_bind_btRotationalLimitMotor__isLimited_p0"] = asm["_emscripten_bind_btRotationalLimitMotor__isLimited_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__setMargin_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__setMargin_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__setMargin_p1"]; +var _emscripten_bind_btHingeConstraint__updateRHS_p1 = Module["_emscripten_bind_btHingeConstraint__updateRHS_p1"] = asm["_emscripten_bind_btHingeConstraint__updateRHS_p1"]; +var _emscripten_bind_btIndexedMesh__set_m_indexType_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_indexType_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_indexType_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_distance1_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_distance1_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_distance1_p0"]; +var _emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1"]; +var _emscripten_bind_btClock__getTimeMicroseconds_p0 = Module["_emscripten_bind_btClock__getTimeMicroseconds_p0"] = asm["_emscripten_bind_btClock__getTimeMicroseconds_p0"]; +var _emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _llvm_uadd_with_overflow_i64 = Module["_llvm_uadd_with_overflow_i64"] = asm["_llvm_uadd_with_overflow_i64"]; +var _emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0 = Module["_emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0"]; +var _emscripten_bind_btCylinderShapeX__getMargin_p0 = Module["_emscripten_bind_btCylinderShapeX__getMargin_p0"] = asm["_emscripten_bind_btCylinderShapeX__getMargin_p0"]; +var _emscripten_bind_btContactConstraint__enableFeedback_p1 = Module["_emscripten_bind_btContactConstraint__enableFeedback_p1"] = asm["_emscripten_bind_btContactConstraint__enableFeedback_p1"]; +var _emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0 = Module["_emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0"] = asm["_emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setPivotA_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setPivotA_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setPivotA_p1"]; +var _emscripten_bind_btConeTwistConstraint__setParam_p3 = Module["_emscripten_bind_btConeTwistConstraint__setParam_p3"] = asm["_emscripten_bind_btConeTwistConstraint__setParam_p3"]; +var _emscripten_bind_btConeShapeX__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConeShapeX__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConeShapeX__calculateTemporalAabb_p6"]; +var _emscripten_bind_btHinge2Constraint__updateRHS_p1 = Module["_emscripten_bind_btHinge2Constraint__updateRHS_p1"] = asm["_emscripten_bind_btHinge2Constraint__updateRHS_p1"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0"]; +var _emscripten_bind_btMultiSphereShape__isConvex_p0 = Module["_emscripten_bind_btMultiSphereShape__isConvex_p0"] = asm["_emscripten_bind_btMultiSphereShape__isConvex_p0"]; +var _emscripten_bind_btRigidBody__setDamping_p2 = Module["_emscripten_bind_btRigidBody__setDamping_p2"] = asm["_emscripten_bind_btRigidBody__setDamping_p2"]; +var _emscripten_bind_btQuaternion__x_p0 = Module["_emscripten_bind_btQuaternion__x_p0"] = asm["_emscripten_bind_btQuaternion__x_p0"]; +var _emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6"]; +var _emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1"]; +var _emscripten_bind_btPersistentManifold__getContactPoint_p1 = Module["_emscripten_bind_btPersistentManifold__getContactPoint_p1"] = asm["_emscripten_bind_btPersistentManifold__getContactPoint_p1"]; +var _emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0 = Module["_emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0"]; +var _emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btMotionState__getWorldTransform_p1 = Module["_emscripten_bind_btMotionState__getWorldTransform_p1"] = asm["_emscripten_bind_btMotionState__getWorldTransform_p1"]; +var _emscripten_bind_btRigidBody__activate_p0 = Module["_emscripten_bind_btRigidBody__activate_p0"] = asm["_emscripten_bind_btRigidBody__activate_p0"]; +var _emscripten_bind_btRigidBody__activate_p1 = Module["_emscripten_bind_btRigidBody__activate_p1"] = asm["_emscripten_bind_btRigidBody__activate_p1"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0"]; +var _emscripten_bind_btCompoundShape__setLocalScaling_p1 = Module["_emscripten_bind_btCompoundShape__setLocalScaling_p1"] = asm["_emscripten_bind_btCompoundShape__setLocalScaling_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0"]; +var _emscripten_bind_btCollisionObject__setCompanionId_p1 = Module["_emscripten_bind_btCollisionObject__setCompanionId_p1"] = asm["_emscripten_bind_btCollisionObject__setCompanionId_p1"]; +var _emscripten_bind_btConeTwistConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btConeTwistConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btConeTwistConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btDynamicsWorld__getNumConstraints_p0 = Module["_emscripten_bind_btDynamicsWorld__getNumConstraints_p0"] = asm["_emscripten_bind_btDynamicsWorld__getNumConstraints_p0"]; +var _emscripten_bind_btGhostObject__rayTest_p3 = Module["_emscripten_bind_btGhostObject__rayTest_p3"] = asm["_emscripten_bind_btGhostObject__rayTest_p3"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0"]; +var _emscripten_bind_btBoxShape__isConcave_p0 = Module["_emscripten_bind_btBoxShape__isConcave_p0"] = asm["_emscripten_bind_btBoxShape__isConcave_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__isCompound_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isCompound_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isCompound_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4 = Module["_emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4"] = asm["_emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4"]; +var _emscripten_bind_btSliderConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btSliderConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btSliderConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1 = Module["_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3 = Module["_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3"]; +var _emscripten_bind_btCollisionConfiguration__getStackAllocator_p0 = Module["_emscripten_bind_btCollisionConfiguration__getStackAllocator_p0"] = asm["_emscripten_bind_btCollisionConfiguration__getStackAllocator_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btStaticPlaneShape__serialize_p2 = Module["_emscripten_bind_btStaticPlaneShape__serialize_p2"] = asm["_emscripten_bind_btStaticPlaneShape__serialize_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__rayTest_p3 = Module["_emscripten_bind_btContinuousDynamicsWorld__rayTest_p3"] = asm["_emscripten_bind_btContinuousDynamicsWorld__rayTest_p3"]; +var _emscripten_bind_btSliderConstraint__getParam_p1 = Module["_emscripten_bind_btSliderConstraint__getParam_p1"] = asm["_emscripten_bind_btSliderConstraint__getParam_p1"]; +var _emscripten_bind_btSliderConstraint__getParam_p2 = Module["_emscripten_bind_btSliderConstraint__getParam_p2"] = asm["_emscripten_bind_btSliderConstraint__getParam_p2"]; +var _emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11"]; +var _emscripten_bind_btGeneric6DofConstraint__getAngle_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getAngle_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getAngle_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1"]; +var _emscripten_bind_btCollisionObject__getActivationState_p0 = Module["_emscripten_bind_btCollisionObject__getActivationState_p0"] = asm["_emscripten_bind_btCollisionObject__getActivationState_p0"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2 = Module["_emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2"] = asm["_emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2"]; +var _emscripten_bind_btStaticPlaneShape__isCompound_p0 = Module["_emscripten_bind_btStaticPlaneShape__isCompound_p0"] = asm["_emscripten_bind_btStaticPlaneShape__isCompound_p0"]; +var _emscripten_bind_btBoxShape__isInfinite_p0 = Module["_emscripten_bind_btBoxShape__isInfinite_p0"] = asm["_emscripten_bind_btBoxShape__isInfinite_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__removeAction_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__removeAction_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__removeAction_p1"]; +var _emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0 = Module["_emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0"]; +var _emscripten_bind_btSliderConstraint__getUpperLinLimit_p0 = Module["_emscripten_bind_btSliderConstraint__getUpperLinLimit_p0"] = asm["_emscripten_bind_btSliderConstraint__getUpperLinLimit_p0"]; +var _emscripten_bind_btConeShapeX__setUserPointer_p1 = Module["_emscripten_bind_btConeShapeX__setUserPointer_p1"] = asm["_emscripten_bind_btConeShapeX__setUserPointer_p1"]; +var _emscripten_bind_btJacobianEntry__get_m_aJ_p0 = Module["_emscripten_bind_btJacobianEntry__get_m_aJ_p0"] = asm["_emscripten_bind_btJacobianEntry__get_m_aJ_p0"]; +var _emscripten_bind_btDynamicsWorld__addRigidBody_p3 = Module["_emscripten_bind_btDynamicsWorld__addRigidBody_p3"] = asm["_emscripten_bind_btDynamicsWorld__addRigidBody_p3"]; +var _emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3 = Module["_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3"] = asm["_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3"]; +var _emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2 = Module["_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2"] = asm["_emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2"]; +var _emscripten_bind_btBoxShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btBoxShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btBoxShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btCylinderShapeZ__isConcave_p0 = Module["_emscripten_bind_btCylinderShapeZ__isConcave_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isConcave_p0"]; +var _emscripten_bind_btSimpleBroadphase__setAabb_p4 = Module["_emscripten_bind_btSimpleBroadphase__setAabb_p4"] = asm["_emscripten_bind_btSimpleBroadphase__setAabb_p4"]; +var _emscripten_bind_btManifoldPoint__get_m_localPointB_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_localPointB_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_localPointB_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2 = Module["_emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2"] = asm["_emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2"]; +var _emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1"]; +var _emscripten_bind_btGhostObject__setDeactivationTime_p1 = Module["_emscripten_bind_btGhostObject__setDeactivationTime_p1"] = asm["_emscripten_bind_btGhostObject__setDeactivationTime_p1"]; +var _emscripten_bind_btQuaternion__getIdentity_p0 = Module["_emscripten_bind_btQuaternion__getIdentity_p0"] = asm["_emscripten_bind_btQuaternion__getIdentity_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0"]; +var _emscripten_bind_btCylinderShapeX__setMargin_p1 = Module["_emscripten_bind_btCylinderShapeX__setMargin_p1"] = asm["_emscripten_bind_btCylinderShapeX__setMargin_p1"]; +var _emscripten_bind_btCollisionShape__getBoundingSphere_p2 = Module["_emscripten_bind_btCollisionShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btCollisionShape__getBoundingSphere_p2"]; +var _emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_prediction_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_prediction_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_prediction_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btDispatcher__findAlgorithm_p3 = Module["_emscripten_bind_btDispatcher__findAlgorithm_p3"] = asm["_emscripten_bind_btDispatcher__findAlgorithm_p3"]; +var _emscripten_bind_btDispatcher__findAlgorithm_p2 = Module["_emscripten_bind_btDispatcher__findAlgorithm_p2"] = asm["_emscripten_bind_btDispatcher__findAlgorithm_p2"]; +var _emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1"]; +var _emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3 = Module["_emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3"] = asm["_emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0"]; +var _emscripten_bind_btRigidBody__getCompanionId_p0 = Module["_emscripten_bind_btRigidBody__getCompanionId_p0"] = asm["_emscripten_bind_btRigidBody__getCompanionId_p0"]; +var _emscripten_bind_btCollisionWorld__rayTest_p3 = Module["_emscripten_bind_btCollisionWorld__rayTest_p3"] = asm["_emscripten_bind_btCollisionWorld__rayTest_p3"]; +var _emscripten_bind_btConvexTriangleMeshShape__setMargin_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__setMargin_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__setMargin_p1"]; +var _emscripten_bind_btCollisionWorld__addCollisionObject_p1 = Module["_emscripten_bind_btCollisionWorld__addCollisionObject_p1"] = asm["_emscripten_bind_btCollisionWorld__addCollisionObject_p1"]; +var _emscripten_bind_btCollisionWorld__addCollisionObject_p3 = Module["_emscripten_bind_btCollisionWorld__addCollisionObject_p3"] = asm["_emscripten_bind_btCollisionWorld__addCollisionObject_p3"]; +var _emscripten_bind_btCollisionWorld__addCollisionObject_p2 = Module["_emscripten_bind_btCollisionWorld__addCollisionObject_p2"] = asm["_emscripten_bind_btCollisionWorld__addCollisionObject_p2"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0"]; +var _emscripten_bind_btCapsuleShapeZ__getRadius_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getRadius_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getRadius_p0"]; +var _emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0 = Module["_emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0"] = asm["_emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0"]; +var _emscripten_bind_btRigidBody__hasAnisotropicFriction_p0 = Module["_emscripten_bind_btRigidBody__hasAnisotropicFriction_p0"] = asm["_emscripten_bind_btRigidBody__hasAnisotropicFriction_p0"]; +var _emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2 = Module["_emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2"] = asm["_emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2"]; +var _emscripten_bind_btConcaveShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btConcaveShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConcaveShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btBoxShape__getPlaneEquation_p2 = Module["_emscripten_bind_btBoxShape__getPlaneEquation_p2"] = asm["_emscripten_bind_btBoxShape__getPlaneEquation_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7"]; +var _emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getMarginNV_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getMarginNV_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getMarginNV_p0"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0"]; +var _emscripten_bind_btStaticPlaneShape__getMargin_p0 = Module["_emscripten_bind_btStaticPlaneShape__getMargin_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getMargin_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1"]; +var _emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1 = Module["_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1"] = asm["_emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0"]; +var _emscripten_bind_btGhostObject__getFriction_p0 = Module["_emscripten_bind_btGhostObject__getFriction_p0"] = asm["_emscripten_bind_btGhostObject__getFriction_p0"]; +var _emscripten_bind_btConvexInternalShape__setMargin_p1 = Module["_emscripten_bind_btConvexInternalShape__setMargin_p1"] = asm["_emscripten_bind_btConvexInternalShape__setMargin_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1"]; +var _emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6 = Module["_emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6"]; +var _emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getMargin_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getMargin_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getMargin_p0"]; +var _emscripten_bind_btSimpleBroadphase__aabbTest_p3 = Module["_emscripten_bind_btSimpleBroadphase__aabbTest_p3"] = asm["_emscripten_bind_btSimpleBroadphase__aabbTest_p3"]; +var _emscripten_bind_btHinge2Constraint__setUpperLimit_p1 = Module["_emscripten_bind_btHinge2Constraint__setUpperLimit_p1"] = asm["_emscripten_bind_btHinge2Constraint__setUpperLimit_p1"]; +var _emscripten_bind_btConvexHullShape__isConvex2d_p0 = Module["_emscripten_bind_btConvexHullShape__isConvex2d_p0"] = asm["_emscripten_bind_btConvexHullShape__isConvex2d_p0"]; +var _emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0 = Module["_emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0"] = asm["_emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0"]; +var _emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btVector4__angle_p1 = Module["_emscripten_bind_btVector4__angle_p1"] = asm["_emscripten_bind_btVector4__angle_p1"]; +var _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4 = Module["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4"] = asm["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4"]; +var _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3 = Module["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3"] = asm["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3"]; +var _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2 = Module["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2"] = asm["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2"]; +var _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1 = Module["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1"]; +var _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0 = Module["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0"]; +var _emscripten_bind_btVector3__setMin_p1 = Module["_emscripten_bind_btVector3__setMin_p1"] = asm["_emscripten_bind_btVector3__setMin_p1"]; +var _emscripten_bind_btSliderConstraint__setLowerLinLimit_p1 = Module["_emscripten_bind_btSliderConstraint__setLowerLinLimit_p1"] = asm["_emscripten_bind_btSliderConstraint__setLowerLinLimit_p1"]; +var _emscripten_bind_btCylinderShape__getShapeType_p0 = Module["_emscripten_bind_btCylinderShape__getShapeType_p0"] = asm["_emscripten_bind_btCylinderShape__getShapeType_p0"]; +var _emscripten_bind_btMotionState__setWorldTransform_p1 = Module["_emscripten_bind_btMotionState__setWorldTransform_p1"] = asm["_emscripten_bind_btMotionState__setWorldTransform_p1"]; +var _emscripten_bind_btHingeConstraint__getUid_p0 = Module["_emscripten_bind_btHingeConstraint__getUid_p0"] = asm["_emscripten_bind_btHingeConstraint__getUid_p0"]; +var _emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4 = Module["_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4"] = asm["_emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4"]; +var _emscripten_bind_btUniformScalingShape__isConvex_p0 = Module["_emscripten_bind_btUniformScalingShape__isConvex_p0"] = asm["_emscripten_bind_btUniformScalingShape__isConvex_p0"]; +var _emscripten_bind_btQuantizedBvh__setQuantizationValues_p2 = Module["_emscripten_bind_btQuantizedBvh__setQuantizationValues_p2"] = asm["_emscripten_bind_btQuantizedBvh__setQuantizationValues_p2"]; +var _emscripten_bind_btQuantizedBvh__setQuantizationValues_p3 = Module["_emscripten_bind_btQuantizedBvh__setQuantizationValues_p3"] = asm["_emscripten_bind_btQuantizedBvh__setQuantizationValues_p3"]; +var _emscripten_bind_btQuantizedBvh__serialize_p3 = Module["_emscripten_bind_btQuantizedBvh__serialize_p3"] = asm["_emscripten_bind_btQuantizedBvh__serialize_p3"]; +var _emscripten_bind_btQuantizedBvh__serialize_p2 = Module["_emscripten_bind_btQuantizedBvh__serialize_p2"] = asm["_emscripten_bind_btQuantizedBvh__serialize_p2"]; +var _emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btHeightfieldTerrainShape__getName_p0 = Module["_emscripten_bind_btHeightfieldTerrainShape__getName_p0"] = asm["_emscripten_bind_btHeightfieldTerrainShape__getName_p0"]; +var _emscripten_bind_btQuadWord__btQuadWord_p4 = Module["_emscripten_bind_btQuadWord__btQuadWord_p4"] = asm["_emscripten_bind_btQuadWord__btQuadWord_p4"]; +var _emscripten_bind_btQuantizedBvh__isQuantized_p0 = Module["_emscripten_bind_btQuantizedBvh__isQuantized_p0"] = asm["_emscripten_bind_btQuantizedBvh__isQuantized_p0"]; +var _emscripten_bind_btQuaternion__nearest_p1 = Module["_emscripten_bind_btQuaternion__nearest_p1"] = asm["_emscripten_bind_btQuaternion__nearest_p1"]; +var _emscripten_bind_btConeShapeZ__getShapeType_p0 = Module["_emscripten_bind_btConeShapeZ__getShapeType_p0"] = asm["_emscripten_bind_btConeShapeZ__getShapeType_p0"]; +var _emscripten_bind_btHinge2Constraint__setLimit_p3 = Module["_emscripten_bind_btHinge2Constraint__setLimit_p3"] = asm["_emscripten_bind_btHinge2Constraint__setLimit_p3"]; +var _emscripten_bind_btUniversalConstraint__getUserConstraintId_p0 = Module["_emscripten_bind_btUniversalConstraint__getUserConstraintId_p0"] = asm["_emscripten_bind_btUniversalConstraint__getUserConstraintId_p0"]; +var _emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0 = Module["_emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0"] = asm["_emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0"]; +var _emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1 = Module["_emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1"] = asm["_emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1"]; +var _emscripten_bind_btSliderConstraint__getDampingLimAng_p0 = Module["_emscripten_bind_btSliderConstraint__getDampingLimAng_p0"] = asm["_emscripten_bind_btSliderConstraint__getDampingLimAng_p0"]; +var _emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btCompoundShape__isInfinite_p0 = Module["_emscripten_bind_btCompoundShape__isInfinite_p0"] = asm["_emscripten_bind_btCompoundShape__isInfinite_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1"]; +var _emscripten_bind_btConeShapeX__getLocalScalingNV_p0 = Module["_emscripten_bind_btConeShapeX__getLocalScalingNV_p0"] = asm["_emscripten_bind_btConeShapeX__getLocalScalingNV_p0"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0"]; +var _emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0 = Module["_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0"] = asm["_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0"]; +var _emscripten_bind_btSliderConstraint__getFrameOffsetA_p0 = Module["_emscripten_bind_btSliderConstraint__getFrameOffsetA_p0"] = asm["_emscripten_bind_btSliderConstraint__getFrameOffsetA_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1"]; +var _emscripten_bind_btVector3__serializeFloat_p1 = Module["_emscripten_bind_btVector3__serializeFloat_p1"] = asm["_emscripten_bind_btVector3__serializeFloat_p1"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3 = Module["_emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3"] = asm["_emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3"]; +var _emscripten_bind_btAxisSweep3__printStats_p0 = Module["_emscripten_bind_btAxisSweep3__printStats_p0"] = asm["_emscripten_bind_btAxisSweep3__printStats_p0"]; +var _emscripten_bind_btSphereShape__isSoftBody_p0 = Module["_emscripten_bind_btSphereShape__isSoftBody_p0"] = asm["_emscripten_bind_btSphereShape__isSoftBody_p0"]; +var _emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1"]; +var _emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btVector3__dot_p1 = Module["_emscripten_bind_btVector3__dot_p1"] = asm["_emscripten_bind_btVector3__dot_p1"]; +var _emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1"]; +var _emscripten_bind_btHashString__equals_p1 = Module["_emscripten_bind_btHashString__equals_p1"] = asm["_emscripten_bind_btHashString__equals_p1"]; +var _emscripten_bind_btUniversalConstraint__buildJacobian_p0 = Module["_emscripten_bind_btUniversalConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btUniversalConstraint__buildJacobian_p0"]; +var _emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btContactConstraint__set_m_objectType_p1 = Module["_emscripten_bind_btContactConstraint__set_m_objectType_p1"] = asm["_emscripten_bind_btContactConstraint__set_m_objectType_p1"]; +var _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0 = Module["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0"] = asm["_emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0"]; +var _emscripten_bind_btAngularLimit__getSoftness_p0 = Module["_emscripten_bind_btAngularLimit__getSoftness_p0"] = asm["_emscripten_bind_btAngularLimit__getSoftness_p0"]; +var _emscripten_bind_btRigidBody__applyCentralForce_p1 = Module["_emscripten_bind_btRigidBody__applyCentralForce_p1"] = asm["_emscripten_bind_btRigidBody__applyCentralForce_p1"]; +var _emscripten_bind_btQuaternion__farthest_p1 = Module["_emscripten_bind_btQuaternion__farthest_p1"] = asm["_emscripten_bind_btQuaternion__farthest_p1"]; +var _emscripten_bind_btPersistentManifold__removeContactPoint_p1 = Module["_emscripten_bind_btPersistentManifold__removeContactPoint_p1"] = asm["_emscripten_bind_btPersistentManifold__removeContactPoint_p1"]; +var _emscripten_bind_btJacobianEntry__set_m_Adiag_p1 = Module["_emscripten_bind_btJacobianEntry__set_m_Adiag_p1"] = asm["_emscripten_bind_btJacobianEntry__set_m_Adiag_p1"]; +var _emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1 = Module["_emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1"]; +var _emscripten_bind_btConvexHullShape__getMargin_p0 = Module["_emscripten_bind_btConvexHullShape__getMargin_p0"] = asm["_emscripten_bind_btConvexHullShape__getMargin_p0"]; +var _emscripten_bind_btMultiSphereShape__getLocalScaling_p0 = Module["_emscripten_bind_btMultiSphereShape__getLocalScaling_p0"] = asm["_emscripten_bind_btMultiSphereShape__getLocalScaling_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0 = Module["_emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0"] = asm["_emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btIDebugDraw__setDebugMode_p1 = Module["_emscripten_bind_btIDebugDraw__setDebugMode_p1"] = asm["_emscripten_bind_btIDebugDraw__setDebugMode_p1"]; +var _emscripten_bind_btPairCachingGhostObject__setCompanionId_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setCompanionId_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setCompanionId_p1"]; +var _emscripten_bind_btVector4__normalize_p0 = Module["_emscripten_bind_btVector4__normalize_p0"] = asm["_emscripten_bind_btVector4__normalize_p0"]; +var _emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1"]; +var _emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1 = Module["_emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1"] = asm["_emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getUid_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getUid_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getUid_p0"]; +var _emscripten_bind_btSliderConstraint__testAngLimits_p0 = Module["_emscripten_bind_btSliderConstraint__testAngLimits_p0"] = asm["_emscripten_bind_btSliderConstraint__testAngLimits_p0"]; +var _emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2 = Module["_emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2"] = asm["_emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2"]; +var _emscripten_bind_btBoxShape__isConvex_p0 = Module["_emscripten_bind_btBoxShape__isConvex_p0"] = asm["_emscripten_bind_btBoxShape__isConvex_p0"]; +var _emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5 = Module["_emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5"] = asm["_emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5"]; +var _emscripten_bind_btPersistentManifold__get_m_companionIdB_p0 = Module["_emscripten_bind_btPersistentManifold__get_m_companionIdB_p0"] = asm["_emscripten_bind_btPersistentManifold__get_m_companionIdB_p0"]; +var _emscripten_bind_btUniformScalingShape__isConcave_p0 = Module["_emscripten_bind_btUniformScalingShape__isConcave_p0"] = asm["_emscripten_bind_btUniformScalingShape__isConcave_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0"]; +var _emscripten_bind_bt32BitAxisSweep3__getHandle_p1 = Module["_emscripten_bind_bt32BitAxisSweep3__getHandle_p1"] = asm["_emscripten_bind_bt32BitAxisSweep3__getHandle_p1"]; +var _emscripten_bind_CProfileNode__Reset_p0 = Module["_emscripten_bind_CProfileNode__Reset_p0"] = asm["_emscripten_bind_CProfileNode__Reset_p0"]; +var _emscripten_bind_btSphereShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btSphereShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btSphereShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0 = Module["_emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0"] = asm["_emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0"]; +var _emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0 = Module["_emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0"] = asm["_emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0 = Module["_emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0"]; +var _emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2 = Module["_emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2"] = asm["_emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2"]; +var _emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1 = Module["_emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1"] = asm["_emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1"]; +var _emscripten_bind_btBoxShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btBoxShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btBoxShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btCylinderShape__getMargin_p0 = Module["_emscripten_bind_btCylinderShape__getMargin_p0"] = asm["_emscripten_bind_btCylinderShape__getMargin_p0"]; +var _emscripten_bind_btQuaternion__w_p0 = Module["_emscripten_bind_btQuaternion__w_p0"] = asm["_emscripten_bind_btQuaternion__w_p0"]; +var _emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0 = Module["_emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0"] = asm["_emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0"]; +var _emscripten_bind_btIDebugDraw__draw3dText_p2 = Module["_emscripten_bind_btIDebugDraw__draw3dText_p2"] = asm["_emscripten_bind_btIDebugDraw__draw3dText_p2"]; +var _emscripten_bind_btMatrix3x3__setIdentity_p0 = Module["_emscripten_bind_btMatrix3x3__setIdentity_p0"] = asm["_emscripten_bind_btMatrix3x3__setIdentity_p0"]; +var _emscripten_bind_btHingeConstraint____destroy___p0 = Module["_emscripten_bind_btHingeConstraint____destroy___p0"] = asm["_emscripten_bind_btHingeConstraint____destroy___p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1"]; +var _emscripten_bind_btCollisionWorld__setDebugDrawer_p1 = Module["_emscripten_bind_btCollisionWorld__setDebugDrawer_p1"] = asm["_emscripten_bind_btCollisionWorld__setDebugDrawer_p1"]; +var _emscripten_bind_btTriangleMesh__getScaling_p0 = Module["_emscripten_bind_btTriangleMesh__getScaling_p0"] = asm["_emscripten_bind_btTriangleMesh__getScaling_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0"]; +var _emscripten_bind_btCapsuleShape__isConvex2d_p0 = Module["_emscripten_bind_btCapsuleShape__isConvex2d_p0"] = asm["_emscripten_bind_btCapsuleShape__isConvex2d_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0"]; +var _emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1 = Module["_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1"] = asm["_emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1"]; +var _emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btCylinderShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btCylinderShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btCylinderShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btCompoundShape__isConvex2d_p0 = Module["_emscripten_bind_btCompoundShape__isConvex2d_p0"] = asm["_emscripten_bind_btCompoundShape__isConvex2d_p0"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0"]; +var _emscripten_bind_btHinge2Constraint__isEnabled_p0 = Module["_emscripten_bind_btHinge2Constraint__isEnabled_p0"] = asm["_emscripten_bind_btHinge2Constraint__isEnabled_p0"]; +var _emscripten_bind_btSliderConstraint__getDampingDirLin_p0 = Module["_emscripten_bind_btSliderConstraint__getDampingDirLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getDampingDirLin_p0"]; +var _emscripten_bind_btDispatcher__getInternalManifoldPointer_p0 = Module["_emscripten_bind_btDispatcher__getInternalManifoldPointer_p0"] = asm["_emscripten_bind_btDispatcher__getInternalManifoldPointer_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1"]; +var _emscripten_bind_btMultiSphereShape__getSphereCount_p0 = Module["_emscripten_bind_btMultiSphereShape__getSphereCount_p0"] = asm["_emscripten_bind_btMultiSphereShape__getSphereCount_p0"]; +var _emscripten_bind_btDbvtBroadphase__rayTest_p5 = Module["_emscripten_bind_btDbvtBroadphase__rayTest_p5"] = asm["_emscripten_bind_btDbvtBroadphase__rayTest_p5"]; +var _emscripten_bind_btDbvtBroadphase__rayTest_p4 = Module["_emscripten_bind_btDbvtBroadphase__rayTest_p4"] = asm["_emscripten_bind_btDbvtBroadphase__rayTest_p4"]; +var _emscripten_bind_btHinge2Constraint__setStiffness_p2 = Module["_emscripten_bind_btHinge2Constraint__setStiffness_p2"] = asm["_emscripten_bind_btHinge2Constraint__setStiffness_p2"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1"]; +var _emscripten_bind_btCylinderShapeX__isNonMoving_p0 = Module["_emscripten_bind_btCylinderShapeX__isNonMoving_p0"] = asm["_emscripten_bind_btCylinderShapeX__isNonMoving_p0"]; +var _emscripten_bind_btConvexInternalShape__getMarginNV_p0 = Module["_emscripten_bind_btConvexInternalShape__getMarginNV_p0"] = asm["_emscripten_bind_btConvexInternalShape__getMarginNV_p0"]; +var _emscripten_bind_btConeShapeX__isSoftBody_p0 = Module["_emscripten_bind_btConeShapeX__isSoftBody_p0"] = asm["_emscripten_bind_btConeShapeX__isSoftBody_p0"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btHingeConstraint__getInfo2Internal_p5 = Module["_emscripten_bind_btHingeConstraint__getInfo2Internal_p5"] = asm["_emscripten_bind_btHingeConstraint__getInfo2Internal_p5"]; +var _emscripten_bind_btVector3__serializeDouble_p1 = Module["_emscripten_bind_btVector3__serializeDouble_p1"] = asm["_emscripten_bind_btVector3__serializeDouble_p1"]; +var _emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1 = Module["_emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1"] = asm["_emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1"]; +var _emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0 = Module["_emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0"] = asm["_emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0"]; +var _emscripten_bind_btVehicleRaycaster__castRay_p3 = Module["_emscripten_bind_btVehicleRaycaster__castRay_p3"] = asm["_emscripten_bind_btVehicleRaycaster__castRay_p3"]; +var _emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3 = Module["_emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3"] = asm["_emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3"]; +var _emscripten_bind_btManifoldPoint__get_m_index0_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_index0_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_index0_p0"]; +var _emscripten_bind_btTriangleInfoMap__deSerialize_p1 = Module["_emscripten_bind_btTriangleInfoMap__deSerialize_p1"] = asm["_emscripten_bind_btTriangleInfoMap__deSerialize_p1"]; +var _emscripten_bind_btDynamicsWorld__convexSweepTest_p4 = Module["_emscripten_bind_btDynamicsWorld__convexSweepTest_p4"] = asm["_emscripten_bind_btDynamicsWorld__convexSweepTest_p4"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1"]; +var _emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0 = Module["_emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0"] = asm["_emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1"]; +var _emscripten_bind_btHingeConstraint__getRigidBodyA_p0 = Module["_emscripten_bind_btHingeConstraint__getRigidBodyA_p0"] = asm["_emscripten_bind_btHingeConstraint__getRigidBodyA_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12 = Module["_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12"] = asm["_emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1"]; +var _emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0 = Module["_emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0"] = asm["_emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0"]; +var _emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1 = Module["_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1"]; +var _emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0 = Module["_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0"] = asm["_emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0"]; +var _emscripten_bind_btCapsuleShape__getLocalScaling_p0 = Module["_emscripten_bind_btCapsuleShape__getLocalScaling_p0"] = asm["_emscripten_bind_btCapsuleShape__getLocalScaling_p0"]; +var _emscripten_bind_btRaycastVehicle__getNumWheels_p0 = Module["_emscripten_bind_btRaycastVehicle__getNumWheels_p0"] = asm["_emscripten_bind_btRaycastVehicle__getNumWheels_p0"]; +var _emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0"]; +var _emscripten_bind_btConcaveShape__getMargin_p0 = Module["_emscripten_bind_btConcaveShape__getMargin_p0"] = asm["_emscripten_bind_btConcaveShape__getMargin_p0"]; +var _emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1 = Module["_emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1"] = asm["_emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1"]; +var _emscripten_bind_btBU_Simplex1to4__getAabb_p3 = Module["_emscripten_bind_btBU_Simplex1to4__getAabb_p3"] = asm["_emscripten_bind_btBU_Simplex1to4__getAabb_p3"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1"]; +var _emscripten_bind_btManifoldPoint__get_m_partId0_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_partId0_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_partId0_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1"]; +var _emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1 = Module["_emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1"] = asm["_emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2 = Module["_emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2"] = asm["_emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2"]; +var _emscripten_bind_btCylinderShapeZ__getAabbSlow_p3 = Module["_emscripten_bind_btCylinderShapeZ__getAabbSlow_p3"] = asm["_emscripten_bind_btCylinderShapeZ__getAabbSlow_p3"]; +var _emscripten_bind_btHingeConstraint__getUseFrameOffset_p0 = Module["_emscripten_bind_btHingeConstraint__getUseFrameOffset_p0"] = asm["_emscripten_bind_btHingeConstraint__getUseFrameOffset_p0"]; +var _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0 = Module["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0"] = asm["_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0"]; +var _emscripten_bind_btDynamicsWorld__convexSweepTest_p5 = Module["_emscripten_bind_btDynamicsWorld__convexSweepTest_p5"] = asm["_emscripten_bind_btDynamicsWorld__convexSweepTest_p5"]; +var _emscripten_bind_btCylinderShape__isSoftBody_p0 = Module["_emscripten_bind_btCylinderShape__isSoftBody_p0"] = asm["_emscripten_bind_btCylinderShape__isSoftBody_p0"]; +var _emscripten_bind_btCylinderShape__setMargin_p1 = Module["_emscripten_bind_btCylinderShape__setMargin_p1"] = asm["_emscripten_bind_btCylinderShape__setMargin_p1"]; +var _emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0 = Module["_emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0"] = asm["_emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0"]; +var _emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0"]; +var _emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2 = Module["_emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2"] = asm["_emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2"]; +var _emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1 = Module["_emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1"]; +var _emscripten_bind_btVector3__op_sub_p1 = Module["_emscripten_bind_btVector3__op_sub_p1"] = asm["_emscripten_bind_btVector3__op_sub_p1"]; +var _emscripten_bind_btIndexedMesh__get_m_indexType_p0 = Module["_emscripten_bind_btIndexedMesh__get_m_indexType_p0"] = asm["_emscripten_bind_btIndexedMesh__get_m_indexType_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2 = Module["_emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2"]; +var _emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1 = Module["_emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1"] = asm["_emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2"]; +var _emscripten_bind_btCapsuleShapeX__isInfinite_p0 = Module["_emscripten_bind_btCapsuleShapeX__isInfinite_p0"] = asm["_emscripten_bind_btCapsuleShapeX__isInfinite_p0"]; +var _emscripten_bind_btCylinderShapeZ__isConvex_p0 = Module["_emscripten_bind_btCylinderShapeZ__isConvex_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isConvex_p0"]; +var _emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1 = Module["_emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1"] = asm["_emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1"]; +var _emscripten_bind_btSliderConstraint__getAngularPos_p0 = Module["_emscripten_bind_btSliderConstraint__getAngularPos_p0"] = asm["_emscripten_bind_btSliderConstraint__getAngularPos_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8 = Module["_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8"] = asm["_emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8"]; +var _emscripten_bind_btConvexInternalShape__isSoftBody_p0 = Module["_emscripten_bind_btConvexInternalShape__isSoftBody_p0"] = asm["_emscripten_bind_btConvexInternalShape__isSoftBody_p0"]; +var _emscripten_bind_btMultiSphereShape__getBoundingSphere_p2 = Module["_emscripten_bind_btMultiSphereShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btMultiSphereShape__getBoundingSphere_p2"]; +var _emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1"]; +var _emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2 = Module["_emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2"] = asm["_emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2"]; +var _emscripten_bind_btConvexHullShape__isPolyhedral_p0 = Module["_emscripten_bind_btConvexHullShape__isPolyhedral_p0"] = asm["_emscripten_bind_btConvexHullShape__isPolyhedral_p0"]; +var _emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1 = Module["_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1"]; +var _emscripten_bind_btSphereShape__getAabb_p3 = Module["_emscripten_bind_btSphereShape__getAabb_p3"] = asm["_emscripten_bind_btSphereShape__getAabb_p3"]; +var _emscripten_bind_btCollisionObject__setFriction_p1 = Module["_emscripten_bind_btCollisionObject__setFriction_p1"] = asm["_emscripten_bind_btCollisionObject__setFriction_p1"]; +var _emscripten_bind_btConvexHullShape__getMarginNV_p0 = Module["_emscripten_bind_btConvexHullShape__getMarginNV_p0"] = asm["_emscripten_bind_btConvexHullShape__getMarginNV_p0"]; +var _emscripten_bind_btCylinderShapeZ__isPolyhedral_p0 = Module["_emscripten_bind_btCylinderShapeZ__isPolyhedral_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isPolyhedral_p0"]; +var _emscripten_bind_btBU_Simplex1to4__isConcave_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isConcave_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isConcave_p0"]; +var _emscripten_bind_btConvexShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConvexShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConvexShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btIDebugDraw__drawContactPoint_p5 = Module["_emscripten_bind_btIDebugDraw__drawContactPoint_p5"] = asm["_emscripten_bind_btIDebugDraw__drawContactPoint_p5"]; +var _emscripten_bind_btConeShapeZ__isPolyhedral_p0 = Module["_emscripten_bind_btConeShapeZ__isPolyhedral_p0"] = asm["_emscripten_bind_btConeShapeZ__isPolyhedral_p0"]; +var _emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1 = Module["_emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1"] = asm["_emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1"]; +var _emscripten_bind_btContactConstraint__getUserConstraintPtr_p0 = Module["_emscripten_bind_btContactConstraint__getUserConstraintPtr_p0"] = asm["_emscripten_bind_btContactConstraint__getUserConstraintPtr_p0"]; +var _emscripten_bind_btContactConstraint__buildJacobian_p0 = Module["_emscripten_bind_btContactConstraint__buildJacobian_p0"] = asm["_emscripten_bind_btContactConstraint__buildJacobian_p0"]; +var _emscripten_bind_btRaycastVehicle__updateVehicle_p1 = Module["_emscripten_bind_btRaycastVehicle__updateVehicle_p1"] = asm["_emscripten_bind_btRaycastVehicle__updateVehicle_p1"]; +var _emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btClock____destroy___p0 = Module["_emscripten_bind_btClock____destroy___p0"] = asm["_emscripten_bind_btClock____destroy___p0"]; +var _emscripten_bind_btClock__btClock_p1 = Module["_emscripten_bind_btClock__btClock_p1"] = asm["_emscripten_bind_btClock__btClock_p1"]; +var _emscripten_bind_btClock__btClock_p0 = Module["_emscripten_bind_btClock__btClock_p0"] = asm["_emscripten_bind_btClock__btClock_p0"]; +var _emscripten_bind_btTriangleMesh__getNumTriangles_p0 = Module["_emscripten_bind_btTriangleMesh__getNumTriangles_p0"] = asm["_emscripten_bind_btTriangleMesh__getNumTriangles_p0"]; +var _emscripten_bind_btHingeConstraint__getRigidBodyB_p0 = Module["_emscripten_bind_btHingeConstraint__getRigidBodyB_p0"] = asm["_emscripten_bind_btHingeConstraint__getRigidBodyB_p0"]; +var _emscripten_bind_btCylinderShape__setUserPointer_p1 = Module["_emscripten_bind_btCylinderShape__setUserPointer_p1"] = asm["_emscripten_bind_btCylinderShape__setUserPointer_p1"]; +var _emscripten_bind_btManifoldPoint__get_m_lifeTime_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_lifeTime_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_lifeTime_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2"]; +var _emscripten_bind_btBroadphaseProxy__isCompound_p1 = Module["_emscripten_bind_btBroadphaseProxy__isCompound_p1"] = asm["_emscripten_bind_btBroadphaseProxy__isCompound_p1"]; +var _emscripten_bind_btConvexInternalShape__getLocalScaling_p0 = Module["_emscripten_bind_btConvexInternalShape__getLocalScaling_p0"] = asm["_emscripten_bind_btConvexInternalShape__getLocalScaling_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6 = Module["_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6"] = asm["_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6"]; +var _emscripten_bind_btRigidBody__setUserPointer_p1 = Module["_emscripten_bind_btRigidBody__setUserPointer_p1"] = asm["_emscripten_bind_btRigidBody__setUserPointer_p1"]; +var _emscripten_bind_btGhostObject__getBroadphaseHandle_p0 = Module["_emscripten_bind_btGhostObject__getBroadphaseHandle_p0"] = asm["_emscripten_bind_btGhostObject__getBroadphaseHandle_p0"]; +var _emscripten_bind_btUniformScalingShape__isCompound_p0 = Module["_emscripten_bind_btUniformScalingShape__isCompound_p0"] = asm["_emscripten_bind_btUniformScalingShape__isCompound_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0"]; +var _emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0 = Module["_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0"] = asm["_emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1"]; +var _emscripten_bind_btQuadWord__z_p0 = Module["_emscripten_bind_btQuadWord__z_p0"] = asm["_emscripten_bind_btQuadWord__z_p0"]; +var _emscripten_bind_btSerializer__allocate_p2 = Module["_emscripten_bind_btSerializer__allocate_p2"] = asm["_emscripten_bind_btSerializer__allocate_p2"]; +var _emscripten_bind_btConvexShape__getAabbNonVirtual_p3 = Module["_emscripten_bind_btConvexShape__getAabbNonVirtual_p3"] = asm["_emscripten_bind_btConvexShape__getAabbNonVirtual_p3"]; +var _emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5 = Module["_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5"] = asm["_emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5"]; +var _emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3 = Module["_emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3"] = asm["_emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3"]; +var _emscripten_bind_btGhostObject__getDeactivationTime_p0 = Module["_emscripten_bind_btGhostObject__getDeactivationTime_p0"] = asm["_emscripten_bind_btGhostObject__getDeactivationTime_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btManifoldResult__btManifoldResult_p2 = Module["_emscripten_bind_btManifoldResult__btManifoldResult_p2"] = asm["_emscripten_bind_btManifoldResult__btManifoldResult_p2"]; +var _emscripten_bind_btManifoldResult__btManifoldResult_p0 = Module["_emscripten_bind_btManifoldResult__btManifoldResult_p0"] = asm["_emscripten_bind_btManifoldResult__btManifoldResult_p0"]; +var _emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0 = Module["_emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0"] = asm["_emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0"]; +var _emscripten_bind_btDbvtProxy__isPolyhedral_p1 = Module["_emscripten_bind_btDbvtProxy__isPolyhedral_p1"] = asm["_emscripten_bind_btDbvtProxy__isPolyhedral_p1"]; +var _emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1 = Module["_emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1"] = asm["_emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1"]; +var _emscripten_bind_btVector4__setMin_p1 = Module["_emscripten_bind_btVector4__setMin_p1"] = asm["_emscripten_bind_btVector4__setMin_p1"]; +var _emscripten_bind_btManifoldPoint__set_m_index1_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_index1_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_index1_p1"]; +var _emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btPoint2PointConstraint__getConstraintType_p0 = Module["_emscripten_bind_btPoint2PointConstraint__getConstraintType_p0"] = asm["_emscripten_bind_btPoint2PointConstraint__getConstraintType_p0"]; +var _emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btStaticPlaneShape__getLocalScaling_p0 = Module["_emscripten_bind_btStaticPlaneShape__getLocalScaling_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getLocalScaling_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1"]; +var _emscripten_bind_btOverlapCallback__processOverlap_p1 = Module["_emscripten_bind_btOverlapCallback__processOverlap_p1"] = asm["_emscripten_bind_btOverlapCallback__processOverlap_p1"]; +var _emscripten_bind_btConeShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btConeShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btConeShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btStackAlloc__destroy_p0 = Module["_emscripten_bind_btStackAlloc__destroy_p0"] = asm["_emscripten_bind_btStackAlloc__destroy_p0"]; +var _emscripten_bind_btConeShapeX__getAngularMotionDisc_p0 = Module["_emscripten_bind_btConeShapeX__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btConeShapeX__getAngularMotionDisc_p0"]; +var _emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2 = Module["_emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2"] = asm["_emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2"]; +var _emscripten_bind_btBroadphasePair__set_m_pProxy0_p1 = Module["_emscripten_bind_btBroadphasePair__set_m_pProxy0_p1"] = asm["_emscripten_bind_btBroadphasePair__set_m_pProxy0_p1"]; +var _emscripten_bind_btPairCachingGhostObject__setActivationState_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setActivationState_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setActivationState_p1"]; +var _emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0 = Module["_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0"] = asm["_emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0"]; +var _emscripten_bind_btSliderConstraint__testLinLimits_p0 = Module["_emscripten_bind_btSliderConstraint__testLinLimits_p0"] = asm["_emscripten_bind_btSliderConstraint__testLinLimits_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1 = Module["_emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1"]; +var _emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1 = Module["_emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1"] = asm["_emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0"]; +var _emscripten_bind_btConeShapeX__getHeight_p0 = Module["_emscripten_bind_btConeShapeX__getHeight_p0"] = asm["_emscripten_bind_btConeShapeX__getHeight_p0"]; +var _emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0 = Module["_emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0"] = asm["_emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0"]; +var _emscripten_bind_btMatrix3x3__cofac_p4 = Module["_emscripten_bind_btMatrix3x3__cofac_p4"] = asm["_emscripten_bind_btMatrix3x3__cofac_p4"]; +var _emscripten_bind_btDbvtBroadphase__setAabb_p4 = Module["_emscripten_bind_btDbvtBroadphase__setAabb_p4"] = asm["_emscripten_bind_btDbvtBroadphase__setAabb_p4"]; +var _emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1 = Module["_emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1"] = asm["_emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1"]; +var _emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0"]; +var _emscripten_bind_btGhostObject__mergesSimulationIslands_p0 = Module["_emscripten_bind_btGhostObject__mergesSimulationIslands_p0"] = asm["_emscripten_bind_btGhostObject__mergesSimulationIslands_p0"]; +var _emscripten_bind_btConeTwistConstraint__setParam_p2 = Module["_emscripten_bind_btConeTwistConstraint__setParam_p2"] = asm["_emscripten_bind_btConeTwistConstraint__setParam_p2"]; +var _emscripten_bind_btPersistentManifold____destroy___p0 = Module["_emscripten_bind_btPersistentManifold____destroy___p0"] = asm["_emscripten_bind_btPersistentManifold____destroy___p0"]; +var _emscripten_bind_btBoxShape__getBoundingSphere_p2 = Module["_emscripten_bind_btBoxShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btBoxShape__getBoundingSphere_p2"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0"]; +var _emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0 = Module["_emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0"]; +var _emscripten_bind_btCollisionShape__isCompound_p0 = Module["_emscripten_bind_btCollisionShape__isCompound_p0"] = asm["_emscripten_bind_btCollisionShape__isCompound_p0"]; +var _emscripten_bind_btVector4__minAxis4_p0 = Module["_emscripten_bind_btVector4__minAxis4_p0"] = asm["_emscripten_bind_btVector4__minAxis4_p0"]; +var _emscripten_bind_btBroadphasePair__set_m_pProxy1_p1 = Module["_emscripten_bind_btBroadphasePair__set_m_pProxy1_p1"] = asm["_emscripten_bind_btBroadphasePair__set_m_pProxy1_p1"]; +var _emscripten_bind_btQuadWord__setMin_p1 = Module["_emscripten_bind_btQuadWord__setMin_p1"] = asm["_emscripten_bind_btQuadWord__setMin_p1"]; +var _emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1 = Module["_emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1"] = asm["_emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1"]; +var _emscripten_bind_btDbvtBroadphase__createProxy_p8 = Module["_emscripten_bind_btDbvtBroadphase__createProxy_p8"] = asm["_emscripten_bind_btDbvtBroadphase__createProxy_p8"]; +var _emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2 = Module["_emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2"] = asm["_emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2"]; +var _emscripten_bind_btDynamicsWorld__getConstraintSolver_p0 = Module["_emscripten_bind_btDynamicsWorld__getConstraintSolver_p0"] = asm["_emscripten_bind_btDynamicsWorld__getConstraintSolver_p0"]; +var _emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3 = Module["_emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3"] = asm["_emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3"]; +var _emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0 = Module["_emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0"] = asm["_emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0"]; +var _emscripten_bind_btQuaternion__inverse_p0 = Module["_emscripten_bind_btQuaternion__inverse_p0"] = asm["_emscripten_bind_btQuaternion__inverse_p0"]; +var _emscripten_bind_btRigidBody__internalGetExtensionPointer_p0 = Module["_emscripten_bind_btRigidBody__internalGetExtensionPointer_p0"] = asm["_emscripten_bind_btRigidBody__internalGetExtensionPointer_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1"]; +var _emscripten_bind_btDynamicsWorld__objectQuerySingle_p8 = Module["_emscripten_bind_btDynamicsWorld__objectQuerySingle_p8"] = asm["_emscripten_bind_btDynamicsWorld__objectQuerySingle_p8"]; +var _emscripten_bind_btCollisionObject__isStaticObject_p0 = Module["_emscripten_bind_btCollisionObject__isStaticObject_p0"] = asm["_emscripten_bind_btCollisionObject__isStaticObject_p0"]; +var _emscripten_bind_btCapsuleShape__getBoundingSphere_p2 = Module["_emscripten_bind_btCapsuleShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btCapsuleShape__getBoundingSphere_p2"]; +var _emscripten_bind_btStorageResult__setShapeIdentifiersB_p2 = Module["_emscripten_bind_btStorageResult__setShapeIdentifiersB_p2"] = asm["_emscripten_bind_btStorageResult__setShapeIdentifiersB_p2"]; +var _emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2 = Module["_emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2"] = asm["_emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0"]; +var _emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0 = Module["_emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0"] = asm["_emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2 = Module["_emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2"]; +var _emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getParam_p2 = Module["_emscripten_bind_btGeneric6DofConstraint__getParam_p2"] = asm["_emscripten_bind_btGeneric6DofConstraint__getParam_p2"]; +var _emscripten_bind_btVector3__setX_p1 = Module["_emscripten_bind_btVector3__setX_p1"] = asm["_emscripten_bind_btVector3__setX_p1"]; +var _emscripten_bind_btSphereShape__getBoundingSphere_p2 = Module["_emscripten_bind_btSphereShape__getBoundingSphere_p2"] = asm["_emscripten_bind_btSphereShape__getBoundingSphere_p2"]; +var _emscripten_bind_btGeneric6DofConstraint__getParam_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getParam_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getParam_p1"]; +var _emscripten_bind_btActionInterface__updateAction_p2 = Module["_emscripten_bind_btActionInterface__updateAction_p2"] = asm["_emscripten_bind_btActionInterface__updateAction_p2"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0 = Module["_emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0"] = asm["_emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1"]; +var _emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0 = Module["_emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0"] = asm["_emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0"]; +var _emscripten_bind_btQuantizedBvh__buildInternal_p0 = Module["_emscripten_bind_btQuantizedBvh__buildInternal_p0"] = asm["_emscripten_bind_btQuantizedBvh__buildInternal_p0"]; +var _emscripten_bind_btConvexShape__getMargin_p0 = Module["_emscripten_bind_btConvexShape__getMargin_p0"] = asm["_emscripten_bind_btConvexShape__getMargin_p0"]; +var _emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1 = Module["_emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1"]; +var _emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0 = Module["_emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0"] = asm["_emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0"]; +var _emscripten_bind_btConeShape__setMargin_p1 = Module["_emscripten_bind_btConeShape__setMargin_p1"] = asm["_emscripten_bind_btConeShape__setMargin_p1"]; +var _emscripten_bind_btStackAlloc__create_p1 = Module["_emscripten_bind_btStackAlloc__create_p1"] = asm["_emscripten_bind_btStackAlloc__create_p1"]; +var _emscripten_bind_btRigidBody__getAnisotropicFriction_p0 = Module["_emscripten_bind_btRigidBody__getAnisotropicFriction_p0"] = asm["_emscripten_bind_btRigidBody__getAnisotropicFriction_p0"]; +var _emscripten_bind_btBU_Simplex1to4__isSoftBody_p0 = Module["_emscripten_bind_btBU_Simplex1to4__isSoftBody_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__isSoftBody_p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4 = Module["_emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4"]; +var _emscripten_bind_btCollisionShape__calculateLocalInertia_p2 = Module["_emscripten_bind_btCollisionShape__calculateLocalInertia_p2"] = asm["_emscripten_bind_btCollisionShape__calculateLocalInertia_p2"]; +var _emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6 = Module["_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6"] = asm["_emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6"]; +var _emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0"]; +var _emscripten_bind_btQuaternion__length2_p0 = Module["_emscripten_bind_btQuaternion__length2_p0"] = asm["_emscripten_bind_btQuaternion__length2_p0"]; +var _emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0 = Module["_emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0"] = asm["_emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0"]; +var _emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1 = Module["_emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1"] = asm["_emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1"]; +var _emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4 = Module["_emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4"] = asm["_emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4"]; +var _emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1"]; +var _emscripten_bind_btRaycastVehicle__getForwardAxis_p0 = Module["_emscripten_bind_btRaycastVehicle__getForwardAxis_p0"] = asm["_emscripten_bind_btRaycastVehicle__getForwardAxis_p0"]; +var _emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0 = Module["_emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0"] = asm["_emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0"]; +var _emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1 = Module["_emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1"] = asm["_emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1"]; +var _emscripten_bind_btStaticPlaneShape__getUserPointer_p0 = Module["_emscripten_bind_btStaticPlaneShape__getUserPointer_p0"] = asm["_emscripten_bind_btStaticPlaneShape__getUserPointer_p0"]; +var _emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0 = Module["_emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0"] = asm["_emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0"]; +var _emscripten_bind_btSimpleDynamicsWorld__contactTest_p2 = Module["_emscripten_bind_btSimpleDynamicsWorld__contactTest_p2"] = asm["_emscripten_bind_btSimpleDynamicsWorld__contactTest_p2"]; +var _emscripten_bind_btGhostObject__internalGetExtensionPointer_p0 = Module["_emscripten_bind_btGhostObject__internalGetExtensionPointer_p0"] = asm["_emscripten_bind_btGhostObject__internalGetExtensionPointer_p0"]; +var _emscripten_bind_btStridingMeshInterface__getNumSubParts_p0 = Module["_emscripten_bind_btStridingMeshInterface__getNumSubParts_p0"] = asm["_emscripten_bind_btStridingMeshInterface__getNumSubParts_p0"]; +var _emscripten_bind_btVector3__getSkewSymmetricMatrix_p3 = Module["_emscripten_bind_btVector3__getSkewSymmetricMatrix_p3"] = asm["_emscripten_bind_btVector3__getSkewSymmetricMatrix_p3"]; +var _emscripten_bind_btGhostObject__setBroadphaseHandle_p1 = Module["_emscripten_bind_btGhostObject__setBroadphaseHandle_p1"] = asm["_emscripten_bind_btGhostObject__setBroadphaseHandle_p1"]; +var _emscripten_bind_ConcreteContactResultCallback____destroy___p0 = Module["_emscripten_bind_ConcreteContactResultCallback____destroy___p0"] = asm["_emscripten_bind_ConcreteContactResultCallback____destroy___p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0"]; +var _emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0 = Module["_emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0"] = asm["_emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0"]; +var _emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1 = Module["_emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1"] = asm["_emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1"]; +var _emscripten_bind_btHingeConstraint__setFrames_p2 = Module["_emscripten_bind_btHingeConstraint__setFrames_p2"] = asm["_emscripten_bind_btHingeConstraint__setFrames_p2"]; +var _emscripten_bind_btBroadphaseAabbCallback__process_p1 = Module["_emscripten_bind_btBroadphaseAabbCallback__process_p1"] = asm["_emscripten_bind_btBroadphaseAabbCallback__process_p1"]; +var _emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1 = Module["_emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1"] = asm["_emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1"]; +var _emscripten_bind_btCylinderShape__getAabb_p3 = Module["_emscripten_bind_btCylinderShape__getAabb_p3"] = asm["_emscripten_bind_btCylinderShape__getAabb_p3"]; +var _emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2 = Module["_emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2"] = asm["_emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2"]; +var _emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0 = Module["_emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0"] = asm["_emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0"]; +var _emscripten_bind_btRaycastVehicle__getUserConstraintId_p0 = Module["_emscripten_bind_btRaycastVehicle__getUserConstraintId_p0"] = asm["_emscripten_bind_btRaycastVehicle__getUserConstraintId_p0"]; +var _emscripten_bind_btEmptyShape__isInfinite_p0 = Module["_emscripten_bind_btEmptyShape__isInfinite_p0"] = asm["_emscripten_bind_btEmptyShape__isInfinite_p0"]; +var _emscripten_bind_btAngularLimit__getSign_p0 = Module["_emscripten_bind_btAngularLimit__getSign_p0"] = asm["_emscripten_bind_btAngularLimit__getSign_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1"]; +var _emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3 = Module["_emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3"] = asm["_emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3"]; +var _emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1 = Module["_emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1"] = asm["_emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1"]; +var _emscripten_bind_btVector3__cross_p1 = Module["_emscripten_bind_btVector3__cross_p1"] = asm["_emscripten_bind_btVector3__cross_p1"]; +var _emscripten_bind_btCylinderShapeZ__serialize_p2 = Module["_emscripten_bind_btCylinderShapeZ__serialize_p2"] = asm["_emscripten_bind_btCylinderShapeZ__serialize_p2"]; +var _emscripten_bind_btCylinderShapeZ__isSoftBody_p0 = Module["_emscripten_bind_btCylinderShapeZ__isSoftBody_p0"] = asm["_emscripten_bind_btCylinderShapeZ__isSoftBody_p0"]; +var _emscripten_bind_btMultiSphereShape__serialize_p2 = Module["_emscripten_bind_btMultiSphereShape__serialize_p2"] = asm["_emscripten_bind_btMultiSphereShape__serialize_p2"]; +var _emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0 = Module["_emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0"] = asm["_emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0"]; +var _emscripten_bind_btVector4__length_p0 = Module["_emscripten_bind_btVector4__length_p0"] = asm["_emscripten_bind_btVector4__length_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3 = Module["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3"] = asm["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3"]; +var _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2 = Module["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2"] = asm["_emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2"]; +var _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1 = Module["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1"] = asm["_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1"]; +var _emscripten_bind_btCollisionShape__isNonMoving_p0 = Module["_emscripten_bind_btCollisionShape__isNonMoving_p0"] = asm["_emscripten_bind_btCollisionShape__isNonMoving_p0"]; +var _emscripten_bind_btConvexShape__localGetSupportingVertex_p1 = Module["_emscripten_bind_btConvexShape__localGetSupportingVertex_p1"] = asm["_emscripten_bind_btConvexShape__localGetSupportingVertex_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape____destroy___p0 = Module["_emscripten_bind_btConvexTriangleMeshShape____destroy___p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape____destroy___p0"]; +var _emscripten_bind_btRigidBody__setIslandTag_p1 = Module["_emscripten_bind_btRigidBody__setIslandTag_p1"] = asm["_emscripten_bind_btRigidBody__setIslandTag_p1"]; +var _emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btPolyhedralConvexShape__isInfinite_p0 = Module["_emscripten_bind_btPolyhedralConvexShape__isInfinite_p0"] = asm["_emscripten_bind_btPolyhedralConvexShape__isInfinite_p0"]; +var _emscripten_bind_btTriangleMesh__unLockVertexBase_p1 = Module["_emscripten_bind_btTriangleMesh__unLockVertexBase_p1"] = asm["_emscripten_bind_btTriangleMesh__unLockVertexBase_p1"]; +var _emscripten_bind_btQuaternion__setMin_p1 = Module["_emscripten_bind_btQuaternion__setMin_p1"] = asm["_emscripten_bind_btQuaternion__setMin_p1"]; +var _emscripten_bind_btConeShapeZ__getHeight_p0 = Module["_emscripten_bind_btConeShapeZ__getHeight_p0"] = asm["_emscripten_bind_btConeShapeZ__getHeight_p0"]; +var _emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1 = Module["_emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1"] = asm["_emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1"]; +var _emscripten_bind_btAngularLimit__getRelaxationFactor_p0 = Module["_emscripten_bind_btAngularLimit__getRelaxationFactor_p0"] = asm["_emscripten_bind_btAngularLimit__getRelaxationFactor_p0"]; +var _emscripten_bind_btSphereShape__isInfinite_p0 = Module["_emscripten_bind_btSphereShape__isInfinite_p0"] = asm["_emscripten_bind_btSphereShape__isInfinite_p0"]; +var _emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0 = Module["_emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0"] = asm["_emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0"]; +var _emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0 = Module["_emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0"] = asm["_emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0"]; +var _emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1 = Module["_emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1"] = asm["_emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1"]; +var _emscripten_bind_btBoxShape__getNumVertices_p0 = Module["_emscripten_bind_btBoxShape__getNumVertices_p0"] = asm["_emscripten_bind_btBoxShape__getNumVertices_p0"]; +var _emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0 = Module["_emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0"] = asm["_emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0"]; +var _emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0 = Module["_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0"] = asm["_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0"]; +var _emscripten_bind_btBU_Simplex1to4__getName_p0 = Module["_emscripten_bind_btBU_Simplex1to4__getName_p0"] = asm["_emscripten_bind_btBU_Simplex1to4__getName_p0"]; +var _emscripten_bind_btStorageResult__addContactPoint_p3 = Module["_emscripten_bind_btStorageResult__addContactPoint_p3"] = asm["_emscripten_bind_btStorageResult__addContactPoint_p3"]; +var _emscripten_bind_btHingeConstraint__getSolveLimit_p0 = Module["_emscripten_bind_btHingeConstraint__getSolveLimit_p0"] = asm["_emscripten_bind_btHingeConstraint__getSolveLimit_p0"]; +var _emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0 = Module["_emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0"] = asm["_emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0"]; +var _emscripten_bind_btConvexTriangleMeshShape__serialize_p2 = Module["_emscripten_bind_btConvexTriangleMeshShape__serialize_p2"] = asm["_emscripten_bind_btConvexTriangleMeshShape__serialize_p2"]; +var _emscripten_bind_btDispatcher__getNumManifolds_p0 = Module["_emscripten_bind_btDispatcher__getNumManifolds_p0"] = asm["_emscripten_bind_btDispatcher__getNumManifolds_p0"]; +var _emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0 = Module["_emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0"] = asm["_emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0"]; +var _emscripten_bind_btSliderConstraint__getInfo1_p1 = Module["_emscripten_bind_btSliderConstraint__getInfo1_p1"] = asm["_emscripten_bind_btSliderConstraint__getInfo1_p1"]; +var _emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0 = Module["_emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0"] = asm["_emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0"]; +var _emscripten_bind_btGhostObject____destroy___p0 = Module["_emscripten_bind_btGhostObject____destroy___p0"] = asm["_emscripten_bind_btGhostObject____destroy___p0"]; +var _emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0 = Module["_emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0"] = asm["_emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0"]; +var _emscripten_bind_btConvexShape__serializeSingleShape_p1 = Module["_emscripten_bind_btConvexShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btConvexShape__serializeSingleShape_p1"]; +var _emscripten_bind_btCapsuleShapeX____destroy___p0 = Module["_emscripten_bind_btCapsuleShapeX____destroy___p0"] = asm["_emscripten_bind_btCapsuleShapeX____destroy___p0"]; +var _emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3 = Module["_emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"] = asm["_emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3"]; +var _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0"]; +var _emscripten_bind_btUniformScalingShape__isInfinite_p0 = Module["_emscripten_bind_btUniformScalingShape__isInfinite_p0"] = asm["_emscripten_bind_btUniformScalingShape__isInfinite_p0"]; +var _emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6 = Module["_emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6"] = asm["_emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6"]; +var _emscripten_bind_btBoxShape__getAabb_p3 = Module["_emscripten_bind_btBoxShape__getAabb_p3"] = asm["_emscripten_bind_btBoxShape__getAabb_p3"]; +var _emscripten_bind_btHingeConstraint__setParam_p2 = Module["_emscripten_bind_btHingeConstraint__setParam_p2"] = asm["_emscripten_bind_btHingeConstraint__setParam_p2"]; +var _emscripten_bind_btUniversalConstraint__isLimited_p1 = Module["_emscripten_bind_btUniversalConstraint__isLimited_p1"] = asm["_emscripten_bind_btUniversalConstraint__isLimited_p1"]; +var _emscripten_bind_btCapsuleShapeX__getAabb_p3 = Module["_emscripten_bind_btCapsuleShapeX__getAabb_p3"] = asm["_emscripten_bind_btCapsuleShapeX__getAabb_p3"]; +var _emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1 = Module["_emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1"] = asm["_emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1"]; +var _emscripten_bind_btHinge2Constraint__getObjectType_p0 = Module["_emscripten_bind_btHinge2Constraint__getObjectType_p0"] = asm["_emscripten_bind_btHinge2Constraint__getObjectType_p0"]; +var _emscripten_bind_btManifoldPoint__setDistance_p1 = Module["_emscripten_bind_btManifoldPoint__setDistance_p1"] = asm["_emscripten_bind_btManifoldPoint__setDistance_p1"]; +var _emscripten_bind_btGhostObject__checkCollideWith_p1 = Module["_emscripten_bind_btGhostObject__checkCollideWith_p1"] = asm["_emscripten_bind_btGhostObject__checkCollideWith_p1"]; +var _emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1 = Module["_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1"]; +var _emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3 = Module["_emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3"] = asm["_emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3"]; +var _emscripten_bind_btMatrix3x3__setRotation_p1 = Module["_emscripten_bind_btMatrix3x3__setRotation_p1"] = asm["_emscripten_bind_btMatrix3x3__setRotation_p1"]; +var _emscripten_bind_btVector4__btVector4_p0 = Module["_emscripten_bind_btVector4__btVector4_p0"] = asm["_emscripten_bind_btVector4__btVector4_p0"]; +var _emscripten_bind_btManifoldPoint__set_m_partId0_p1 = Module["_emscripten_bind_btManifoldPoint__set_m_partId0_p1"] = asm["_emscripten_bind_btManifoldPoint__set_m_partId0_p1"]; +var _emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1 = Module["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1"] = asm["_emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1"]; +var _emscripten_bind_btVector4__btVector4_p4 = Module["_emscripten_bind_btVector4__btVector4_p4"] = asm["_emscripten_bind_btVector4__btVector4_p4"]; +var _emscripten_bind_btGhostObject__getCollisionFlags_p0 = Module["_emscripten_bind_btGhostObject__getCollisionFlags_p0"] = asm["_emscripten_bind_btGhostObject__getCollisionFlags_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1"]; +var _emscripten_bind_btGeneric6DofConstraint__updateRHS_p1 = Module["_emscripten_bind_btGeneric6DofConstraint__updateRHS_p1"] = asm["_emscripten_bind_btGeneric6DofConstraint__updateRHS_p1"]; +var _emscripten_bind_btContactConstraint__serialize_p2 = Module["_emscripten_bind_btContactConstraint__serialize_p2"] = asm["_emscripten_bind_btContactConstraint__serialize_p2"]; +var _emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4 = Module["_emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4"] = asm["_emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4"]; +var _emscripten_bind_btMultiSphereShape__isNonMoving_p0 = Module["_emscripten_bind_btMultiSphereShape__isNonMoving_p0"] = asm["_emscripten_bind_btMultiSphereShape__isNonMoving_p0"]; +var _emscripten_bind_btHinge2Constraint__enableSpring_p2 = Module["_emscripten_bind_btHinge2Constraint__enableSpring_p2"] = asm["_emscripten_bind_btHinge2Constraint__enableSpring_p2"]; +var _emscripten_bind_btCapsuleShapeX__setLocalScaling_p1 = Module["_emscripten_bind_btCapsuleShapeX__setLocalScaling_p1"] = asm["_emscripten_bind_btCapsuleShapeX__setLocalScaling_p1"]; +var _emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0 = Module["_emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0"] = asm["_emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0"]; +var _emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0 = Module["_emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0"] = asm["_emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0"]; +var _emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0 = Module["_emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0"]; +var _emscripten_bind_btHinge2Constraint__getInfo2_p1 = Module["_emscripten_bind_btHinge2Constraint__getInfo2_p1"] = asm["_emscripten_bind_btHinge2Constraint__getInfo2_p1"]; +var _emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4 = Module["_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4"] = asm["_emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4"]; +var _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1 = Module["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1"] = asm["_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1"]; +var _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0 = Module["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0"] = asm["_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0"]; +var _emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1 = Module["_emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1"] = asm["_emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1"]; +var _emscripten_bind_btQuantizedBvh__deSerializeFloat_p1 = Module["_emscripten_bind_btQuantizedBvh__deSerializeFloat_p1"] = asm["_emscripten_bind_btQuantizedBvh__deSerializeFloat_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__isConcave_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isConcave_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isConcave_p0"]; +var _emscripten_bind_btRigidBody__setAngularFactor_p1 = Module["_emscripten_bind_btRigidBody__setAngularFactor_p1"] = asm["_emscripten_bind_btRigidBody__setAngularFactor_p1"]; +var _emscripten_bind_btAngularLimit__btAngularLimit_p0 = Module["_emscripten_bind_btAngularLimit__btAngularLimit_p0"] = asm["_emscripten_bind_btAngularLimit__btAngularLimit_p0"]; +var _emscripten_bind_btCapsuleShapeZ__setUserPointer_p1 = Module["_emscripten_bind_btCapsuleShapeZ__setUserPointer_p1"] = asm["_emscripten_bind_btCapsuleShapeZ__setUserPointer_p1"]; +var _emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1 = Module["_emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1"] = asm["_emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1"]; +var _emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1 = Module["_emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1"] = asm["_emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1"]; +var _emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5 = Module["_emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5"] = asm["_emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5"]; +var _emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1 = Module["_emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1"] = asm["_emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__serialize_p1 = Module["_emscripten_bind_btContinuousDynamicsWorld__serialize_p1"] = asm["_emscripten_bind_btContinuousDynamicsWorld__serialize_p1"]; +var _emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2 = Module["_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2"] = asm["_emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2"]; +var _emscripten_bind_btSphereShape__getMarginNonVirtual_p0 = Module["_emscripten_bind_btSphereShape__getMarginNonVirtual_p0"] = asm["_emscripten_bind_btSphereShape__getMarginNonVirtual_p0"]; +var _emscripten_bind_btCollisionDispatcher__needsResponse_p2 = Module["_emscripten_bind_btCollisionDispatcher__needsResponse_p2"] = asm["_emscripten_bind_btCollisionDispatcher__needsResponse_p2"]; +var _emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btPoint2PointConstraint__getParam_p2 = Module["_emscripten_bind_btPoint2PointConstraint__getParam_p2"] = asm["_emscripten_bind_btPoint2PointConstraint__getParam_p2"]; +var _emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btCollisionObject__getInternalType_p0 = Module["_emscripten_bind_btCollisionObject__getInternalType_p0"] = asm["_emscripten_bind_btCollisionObject__getInternalType_p0"]; +var _emscripten_bind_btPoint2PointConstraint__getParam_p1 = Module["_emscripten_bind_btPoint2PointConstraint__getParam_p1"] = asm["_emscripten_bind_btPoint2PointConstraint__getParam_p1"]; +var _emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0 = Module["_emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0"] = asm["_emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0"]; +var _emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1 = Module["_emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1"] = asm["_emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1"]; +var _emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1 = Module["_emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1"] = asm["_emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1"]; +var _emscripten_bind_btUniformScalingShape__setMargin_p1 = Module["_emscripten_bind_btUniformScalingShape__setMargin_p1"] = asm["_emscripten_bind_btUniformScalingShape__setMargin_p1"]; +var _emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2 = Module["_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2"] = asm["_emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2"]; +var _emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0 = Module["_emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0"] = asm["_emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0"]; +var _emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1 = Module["_emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1"] = asm["_emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1"]; +var _emscripten_bind_btOptimizedBvh__setQuantizationValues_p2 = Module["_emscripten_bind_btOptimizedBvh__setQuantizationValues_p2"] = asm["_emscripten_bind_btOptimizedBvh__setQuantizationValues_p2"]; +var _emscripten_bind_btOptimizedBvh__setQuantizationValues_p3 = Module["_emscripten_bind_btOptimizedBvh__setQuantizationValues_p3"] = asm["_emscripten_bind_btOptimizedBvh__setQuantizationValues_p3"]; +var _emscripten_bind_btMatrix3x3__setValue_p9 = Module["_emscripten_bind_btMatrix3x3__setValue_p9"] = asm["_emscripten_bind_btMatrix3x3__setValue_p9"]; +var _emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1 = Module["_emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1"] = asm["_emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1"]; +var _emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1 = Module["_emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1"] = asm["_emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1"]; +var _emscripten_bind_btMatrix3x3__op_mul_p1 = Module["_emscripten_bind_btMatrix3x3__op_mul_p1"] = asm["_emscripten_bind_btMatrix3x3__op_mul_p1"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_iiiiiif = Module["dynCall_iiiiiif"] = asm["dynCall_iiiiiif"]; +var dynCall_vif = Module["dynCall_vif"] = asm["dynCall_vif"]; +var dynCall_viifii = Module["dynCall_viifii"] = asm["dynCall_viifii"]; +var dynCall_viiiifffffif = Module["dynCall_viiiifffffif"] = asm["dynCall_viiiifffffif"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_iiiiiffii = Module["dynCall_iiiiiffii"] = asm["dynCall_iiiiiffii"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_viiifii = Module["dynCall_viiifii"] = asm["dynCall_viiifii"]; +var dynCall_ifffffffff = Module["dynCall_ifffffffff"] = asm["dynCall_ifffffffff"]; +var dynCall_viiiif = Module["dynCall_viiiif"] = asm["dynCall_viiiif"]; +var dynCall_viiiiffffii = Module["dynCall_viiiiffffii"] = asm["dynCall_viiiiffffii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_iiiiiiifif = Module["dynCall_iiiiiiifif"] = asm["dynCall_iiiiiiifif"]; +var dynCall_vifffi = Module["dynCall_vifffi"] = asm["dynCall_vifffi"]; +var dynCall_ifiii = Module["dynCall_ifiii"] = asm["dynCall_ifiii"]; +var dynCall_viifi = Module["dynCall_viifi"] = asm["dynCall_viifi"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_viiiiiiff = Module["dynCall_viiiiiiff"] = asm["dynCall_viiiiiiff"]; +var dynCall_iiiifiii = Module["dynCall_iiiifiii"] = asm["dynCall_iiiifiii"]; +var dynCall_iiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiii"] = asm["dynCall_iiiiiiiiiiiiii"]; +var dynCall_viffff = Module["dynCall_viffff"] = asm["dynCall_viffff"]; +var dynCall_viffiii = Module["dynCall_viffiii"] = asm["dynCall_viffiii"]; +var dynCall_iiiiiiiiiiii = Module["dynCall_iiiiiiiiiiii"] = asm["dynCall_iiiiiiiiiiii"]; +var dynCall_fififii = Module["dynCall_fififii"] = asm["dynCall_fififii"]; +var dynCall_fiiiiiiiiiii = Module["dynCall_fiiiiiiiiiii"] = asm["dynCall_fiiiiiiiiiii"]; +var dynCall_fiifii = Module["dynCall_fiifii"] = asm["dynCall_fiifii"]; +var dynCall_ifff = Module["dynCall_ifff"] = asm["dynCall_ifff"]; +var dynCall_viiff = Module["dynCall_viiff"] = asm["dynCall_viiff"]; +var dynCall_iifi = Module["dynCall_iifi"] = asm["dynCall_iifi"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiifffffi = Module["dynCall_viiiifffffi"] = asm["dynCall_viiiifffffi"]; +var dynCall_fif = Module["dynCall_fif"] = asm["dynCall_fif"]; +var dynCall_iiiiff = Module["dynCall_iiiiff"] = asm["dynCall_iiiiff"]; +var dynCall_viff = Module["dynCall_viff"] = asm["dynCall_viff"]; +var dynCall_vifi = Module["dynCall_vifi"] = asm["dynCall_vifi"]; +var dynCall_viiiiif = Module["dynCall_viiiiif"] = asm["dynCall_viiiiif"]; +var dynCall_vifff = Module["dynCall_vifff"] = asm["dynCall_vifff"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_fiiff = Module["dynCall_fiiff"] = asm["dynCall_fiiff"]; +var dynCall_iiif = Module["dynCall_iiif"] = asm["dynCall_iiif"]; +var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = asm["dynCall_iiiiiiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viffffff = Module["dynCall_viffffff"] = asm["dynCall_viffffff"]; +var dynCall_fiii = Module["dynCall_fiii"] = asm["dynCall_fiii"]; +var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = asm["dynCall_iiiiiiiiii"]; +var dynCall_fiif = Module["dynCall_fiif"] = asm["dynCall_fiif"]; +var dynCall_fiiiiiiiiii = Module["dynCall_fiiiiiiiiii"] = asm["dynCall_fiiiiiiiiii"]; +var dynCall_ifii = Module["dynCall_ifii"] = asm["dynCall_ifii"]; +var dynCall_fiffiiiiiii = Module["dynCall_fiffiiiiiii"] = asm["dynCall_fiffiiiiiii"]; +var dynCall_iiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiii"] = asm["dynCall_iiiiiiiiiiiii"]; +var dynCall_fiiiii = Module["dynCall_fiiiii"] = asm["dynCall_fiiiii"]; +var dynCall_iif = Module["dynCall_iif"] = asm["dynCall_iif"]; +var dynCall_if = Module["dynCall_if"] = asm["dynCall_if"]; +var dynCall_vifffff = Module["dynCall_vifffff"] = asm["dynCall_vifffff"]; +var dynCall_viiiiiiiif = Module["dynCall_viiiiiiiif"] = asm["dynCall_viiiiiiiif"]; +var dynCall_vifii = Module["dynCall_vifii"] = asm["dynCall_vifii"]; +var dynCall_fi = Module["dynCall_fi"] = asm["dynCall_fi"]; +var dynCall_viiiiiiiiii = Module["dynCall_viiiiiiiiii"] = asm["dynCall_viiiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; +var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = asm["dynCall_iiiiiii"]; +var dynCall_viiiiiiif = Module["dynCall_viiiiiiif"] = asm["dynCall_viiiiiiif"]; +var dynCall_fii = Module["dynCall_fii"] = asm["dynCall_fii"]; +var dynCall_vifffffffff = Module["dynCall_vifffffffff"] = asm["dynCall_vifffffffff"]; +var dynCall_fiiiiiiii = Module["dynCall_fiiiiiiii"] = asm["dynCall_fiiiiiiii"]; +var dynCall_iifif = Module["dynCall_iifif"] = asm["dynCall_iifif"]; +var dynCall_iffff = Module["dynCall_iffff"] = asm["dynCall_iffff"]; +var dynCall_viiiiffffiif = Module["dynCall_viiiiffffiif"] = asm["dynCall_viiiiffffiif"]; +var dynCall_iiiiif = Module["dynCall_iiiiif"] = asm["dynCall_iiiiif"]; +var dynCall_iiff = Module["dynCall_iiff"] = asm["dynCall_iiff"]; +var dynCall_viiif = Module["dynCall_viiif"] = asm["dynCall_viiif"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_viiiifii = Module["dynCall_viiiifii"] = asm["dynCall_viiiifii"]; +var dynCall_iiiifffiii = Module["dynCall_iiiifffiii"] = asm["dynCall_iiiifffiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_iff = Module["dynCall_iff"] = asm["dynCall_iff"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = asm["dynCall_iiiiiiiii"]; +var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"]; +var dynCall_viif = Module["dynCall_viif"] = asm["dynCall_viif"]; +var dynCall_iiiif = Module["dynCall_iiiif"] = asm["dynCall_iiiif"]; +var dynCall_fiiifii = Module["dynCall_fiiifii"] = asm["dynCall_fiiifii"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) }; +Runtime.stackSave = function() { return asm['stackSave']() }; +Runtime.stackRestore = function(top) { asm['stackRestore'](top) }; +// Warning: printing of i64 values may be slightly rounded! No deep i64 math used, so precise i64 code not included +var i64Math = null; +// === Auto-generated postamble setup entry stuff === +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; +var initialStackTop; +var preloadStartTime = null; +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + args = args || []; + if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('preload time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + ensureInitRuntime(); + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString("/bin/this.program"), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + initialStackTop = STACKTOP; + try { + var ret = Module['_main'](argc, argv, 0); + // if we're not running an evented main loop, it's time to exit + if (!Module['noExitRuntime']) { + exit(ret); + } + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + throw e; + } + } +} +function run(args) { + args = args || Module['arguments']; + if (preloadStartTime === null) preloadStartTime = Date.now(); + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + return; + } + preRun(); + if (runDependencies > 0) { + // a preRun added a dependency, run will be called later + return; + } + function doRun() { + ensureInitRuntime(); + preMain(); + calledRun = true; + if (Module['_main'] && shouldRunNow) { + Module['callMain'](args); + } + postRun(); + } + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + if (!ABORT) doRun(); + }, 1); + } else { + doRun(); + } +} +Module['run'] = Module.run = run; +function exit(status) { + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + // exit the runtime + exitRuntime(); + // throw an exception to halt the current execution + throw new ExitStatus(status); +} +Module['exit'] = Module.exit = exit; +function abort(text) { + if (text) { + Module.print(text); + Module.printErr(text); + } + ABORT = true; + EXITSTATUS = 1; + throw 'abort() at ' + (new Error().stack); +} +Module['abort'] = Module.abort = abort; +// {{PRE_RUN_ADDITIONS}} +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} +run(); +// {{POST_RUN_ADDITIONS}} +// {{MODULE_ADDITIONS}} +// Bindings utilities +var Object__cache = {}; // we do it this way so we do not modify |Object| +function wrapPointer(ptr, __class__) { + var cache = __class__ ? __class__.prototype.__cache__ : Object__cache; + var ret = cache[ptr]; + if (ret) return ret; + __class__ = __class__ || Object; + ret = Object.create(__class__.prototype); + ret.ptr = ptr; + ret.__class__ = __class__; + return cache[ptr] = ret; +} +Module['wrapPointer'] = wrapPointer; +function castObject(obj, __class__) { + return wrapPointer(obj.ptr, __class__); +} +Module['castObject'] = castObject; +Module['NULL'] = wrapPointer(0); +function destroy(obj) { + if (!obj['__destroy__']) throw 'Error: Cannot destroy object. (Did you create it yourself?)'; + obj['__destroy__'](); + // Remove from cache, so the object can be GC'd and refs added onto it released + if (obj.__class__ !== Object) { + delete obj.__class__.prototype.__cache__[obj.ptr]; + } else { + delete Object__cache[obj.ptr]; + } +} +Module['destroy'] = destroy; +function compare(obj1, obj2) { + return obj1.ptr === obj2.ptr; +} +Module['compare'] = compare; +function getPointer(obj) { + return obj.ptr; +} +Module['getPointer'] = getPointer; +function getClass(obj) { + return obj.__class__; +} +Module['getClass'] = getClass; +function customizeVTable(object, replacementPairs) { + // Does not handle multiple inheritance + // Find out vtable size + var vTable = getValue(object.ptr, 'void*'); + // This assumes our modification where we null-terminate vtables + var size = 0; + while (getValue(vTable + Runtime.QUANTUM_SIZE*size, 'void*')) { + size++; + } + // Prepare replacement lookup table and add replacements. + // There is actually no good way to do this! So we do the following hack: + // We create a fake vtable with canary functions, to detect which actual + // function is being called + var vTable2 = _malloc(size*Runtime.QUANTUM_SIZE); + setValue(object.ptr, vTable2, 'void*'); + var canaryValue; + var tempFuncs = []; + for (var i = 0; i < size; i++) { + (function(j) { + var index = Runtime.addFunction(function() { + canaryValue = j; + }); + setValue(vTable2 + Runtime.QUANTUM_SIZE*i, index, 'void*'); + tempFuncs.push(index); + })(i); + } + var args = [{ptr: 0}]; + replacementPairs.forEach(function(pair) { + // We need the wrapper function that converts arguments to not fail. Keep adding arguments til it works. + while(1) { + try { + pair['original'].apply(object, args); + break; + } catch(e) { + args.push(args[0]); + } + } + pair.originalIndex = getValue(vTable + canaryValue*Runtime.QUANTUM_SIZE, 'void*'); + }); + for (var i = 0; i < size; i++) { + Runtime.removeFunction(tempFuncs[i]); + } + // Do the replacements + var replacements = {}; + replacementPairs.forEach(function(pair) { + replacements[pair.originalIndex] = Runtime.addFunction(pair['replacement']); + }); + // Copy and modify vtable + for (var i = 0; i < size; i++) { + var value = getValue(vTable + Runtime.QUANTUM_SIZE*i, 'void*'); + if (value in replacements) value = replacements[value]; + setValue(vTable2 + Runtime.QUANTUM_SIZE*i, value, 'void*'); + } + return object; +} +Module['customizeVTable'] = customizeVTable; +// Converts a value into a C-style string. +function ensureString(value) { + if (typeof value == 'number') return value; + return allocate(intArrayFromString(value), 'i8', ALLOC_STACK); +} +function btMatrix3x3(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btMatrix3x3__btMatrix3x3_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btMatrix3x3__btMatrix3x3_p1(arg0.ptr); + else + this.ptr = _emscripten_bind_btMatrix3x3__btMatrix3x3_p9(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + btMatrix3x3.prototype.__cache__[this.ptr] = this; + this.__class__ = btMatrix3x3; +} +btMatrix3x3.prototype.__cache__ = {}; +Module['btMatrix3x3'] = btMatrix3x3; +btMatrix3x3.prototype['getColumn'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__getColumn_p1(this.ptr, arg0), Module['btVector3']); +} +btMatrix3x3.prototype['serialize'] = function(arg0) { + _emscripten_bind_btMatrix3x3__serialize_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['deSerializeDouble'] = function(arg0) { + _emscripten_bind_btMatrix3x3__deSerializeDouble_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['scaled'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__scaled_p1(this.ptr, arg0.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['op_sub'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__op_sub_p1(this.ptr, arg0.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['transposeTimes'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__transposeTimes_p1(this.ptr, arg0.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['getRotation'] = function(arg0) { + _emscripten_bind_btMatrix3x3__getRotation_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['tdotz'] = function(arg0) { + return _emscripten_bind_btMatrix3x3__tdotz_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['serializeFloat'] = function(arg0) { + _emscripten_bind_btMatrix3x3__serializeFloat_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['tdotx'] = function(arg0) { + return _emscripten_bind_btMatrix3x3__tdotx_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['absolute'] = function() { + return wrapPointer(_emscripten_bind_btMatrix3x3__absolute_p0(this.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['tdoty'] = function(arg0) { + return _emscripten_bind_btMatrix3x3__tdoty_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['inverse'] = function() { + return wrapPointer(_emscripten_bind_btMatrix3x3__inverse_p0(this.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['cofac'] = function(arg0, arg1, arg2, arg3) { + return _emscripten_bind_btMatrix3x3__cofac_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btMatrix3x3.prototype['deSerializeFloat'] = function(arg0) { + _emscripten_bind_btMatrix3x3__deSerializeFloat_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['getIdentity'] = function() { + return wrapPointer(_emscripten_bind_btMatrix3x3__getIdentity_p0(), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['adjoint'] = function() { + return wrapPointer(_emscripten_bind_btMatrix3x3__adjoint_p0(this.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['getRow'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__getRow_p1(this.ptr, arg0), Module['btVector3']); +} +btMatrix3x3.prototype['op_add'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__op_add_p1(this.ptr, arg0.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['op_mul'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__op_mul_p1(this.ptr, arg0.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['diagonalize'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMatrix3x3__diagonalize_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btMatrix3x3.prototype['setRotation'] = function(arg0) { + _emscripten_bind_btMatrix3x3__setRotation_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['setEulerZYX'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMatrix3x3__setEulerZYX_p3(this.ptr, arg0, arg1, arg2); +} +btMatrix3x3.prototype['setIdentity'] = function() { + _emscripten_bind_btMatrix3x3__setIdentity_p0(this.ptr); +} +btMatrix3x3.prototype['op_set'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__op_set_p1(this.ptr, arg0.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['getEulerZYX'] = function(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + _emscripten_bind_btMatrix3x3__getEulerZYX_p3(this.ptr, arg0, arg1, arg2); + else + _emscripten_bind_btMatrix3x3__getEulerZYX_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btMatrix3x3.prototype['setEulerYPR'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMatrix3x3__setEulerYPR_p3(this.ptr, arg0, arg1, arg2); +} +btMatrix3x3.prototype['determinant'] = function() { + return _emscripten_bind_btMatrix3x3__determinant_p0(this.ptr); +} +btMatrix3x3.prototype['setValue'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + _emscripten_bind_btMatrix3x3__setValue_p9(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +btMatrix3x3.prototype['deSerialize'] = function(arg0) { + _emscripten_bind_btMatrix3x3__deSerialize_p1(this.ptr, arg0.ptr); +} +btMatrix3x3.prototype['transpose'] = function() { + return wrapPointer(_emscripten_bind_btMatrix3x3__transpose_p0(this.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['op_get'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__op_get_p1(this.ptr, arg0), Module['btVector3']); +} +btMatrix3x3.prototype['__destroy__'] = function() { + _emscripten_bind_btMatrix3x3____destroy___p0(this.ptr); +} +btMatrix3x3.prototype['timesTranspose'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMatrix3x3__timesTranspose_p1(this.ptr, arg0.ptr), Module['btMatrix3x3']); +} +btMatrix3x3.prototype['getEulerYPR'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMatrix3x3__getEulerYPR_p3(this.ptr, arg0, arg1, arg2); +} +function btDispatcherInfo() { + this.ptr = _emscripten_bind_btDispatcherInfo__btDispatcherInfo_p0(); + btDispatcherInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btDispatcherInfo; +} +btDispatcherInfo.prototype.__cache__ = {}; +Module['btDispatcherInfo'] = btDispatcherInfo; +btDispatcherInfo.prototype['set_m_enableSatConvex'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_enableSatConvex_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['set_m_stepCount'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_stepCount_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['get_m_timeOfImpact'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_timeOfImpact_p0(this.ptr); +} +btDispatcherInfo.prototype['get_m_stepCount'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_stepCount_p0(this.ptr); +} +btDispatcherInfo.prototype['get_m_useEpa'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_useEpa_p0(this.ptr); +} +btDispatcherInfo.prototype['get_m_useContinuous'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_useContinuous_p0(this.ptr); +} +btDispatcherInfo.prototype['set_m_useContinuous'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_useContinuous_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['get_m_dispatchFunc'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_dispatchFunc_p0(this.ptr); +} +btDispatcherInfo.prototype['set_m_stackAllocator'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_stackAllocator_p1(this.ptr, arg0.ptr); +} +btDispatcherInfo.prototype['get_m_stackAllocator'] = function() { + return wrapPointer(_emscripten_bind_btDispatcherInfo__get_m_stackAllocator_p0(this.ptr), Module['btStackAlloc']); +} +btDispatcherInfo.prototype['get_m_timeStep'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_timeStep_p0(this.ptr); +} +btDispatcherInfo.prototype['get_m_convexConservativeDistanceThreshold'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_convexConservativeDistanceThreshold_p0(this.ptr); +} +btDispatcherInfo.prototype['get_m_enableSatConvex'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_enableSatConvex_p0(this.ptr); +} +btDispatcherInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btDispatcherInfo____destroy___p0(this.ptr); +} +btDispatcherInfo.prototype['set_m_allowedCcdPenetration'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_allowedCcdPenetration_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['set_m_timeStep'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_timeStep_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['set_m_timeOfImpact'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_timeOfImpact_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['set_m_useConvexConservativeDistanceUtil'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_useConvexConservativeDistanceUtil_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['get_m_useConvexConservativeDistanceUtil'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_useConvexConservativeDistanceUtil_p0(this.ptr); +} +btDispatcherInfo.prototype['get_m_allowedCcdPenetration'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_allowedCcdPenetration_p0(this.ptr); +} +btDispatcherInfo.prototype['set_m_convexConservativeDistanceThreshold'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_convexConservativeDistanceThreshold_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['set_m_dispatchFunc'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_dispatchFunc_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['get_m_enableSPU'] = function() { + return _emscripten_bind_btDispatcherInfo__get_m_enableSPU_p0(this.ptr); +} +btDispatcherInfo.prototype['set_m_enableSPU'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_enableSPU_p1(this.ptr, arg0); +} +btDispatcherInfo.prototype['set_m_useEpa'] = function(arg0) { + _emscripten_bind_btDispatcherInfo__set_m_useEpa_p1(this.ptr, arg0); +} +btCapsuleShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShape.prototype['isCompound'] = function() { + return _emscripten_bind_btCapsuleShape__isCompound_p0(this.ptr); +} +btCapsuleShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCapsuleShape__setUserPointer_p1(this.ptr, arg0); +} +function btCapsuleShape(arg0, arg1) { + this.ptr = _emscripten_bind_btCapsuleShape__btCapsuleShape_p2(arg0, arg1); + btCapsuleShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btCapsuleShape; +} +btCapsuleShape.prototype.__cache__ = {}; +Module['btCapsuleShape'] = btCapsuleShape; +btCapsuleShape.prototype['getUpAxis'] = function() { + return _emscripten_bind_btCapsuleShape__getUpAxis_p0(this.ptr); +} +btCapsuleShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCapsuleShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCapsuleShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btCapsuleShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btCapsuleShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCapsuleShape__isPolyhedral_p0(this.ptr); +} +btCapsuleShape.prototype['getRadius'] = function() { + return _emscripten_bind_btCapsuleShape__getRadius_p0(this.ptr); +} +btCapsuleShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCapsuleShape__calculateSerializeBufferSize_p0(this.ptr); +} +btCapsuleShape.prototype['getName'] = function() { + return _emscripten_bind_btCapsuleShape__getName_p0(this.ptr); +} +btCapsuleShape.prototype['getHalfHeight'] = function() { + return _emscripten_bind_btCapsuleShape__getHalfHeight_p0(this.ptr); +} +btCapsuleShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btCapsuleShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCapsuleShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCapsuleShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btCapsuleShape__getMarginNV_p0(this.ptr); +} +btCapsuleShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCapsuleShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCapsuleShape.prototype['isConvex'] = function() { + return _emscripten_bind_btCapsuleShape__isConvex_p0(this.ptr); +} +btCapsuleShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btCapsuleShape__isInfinite_p0(this.ptr); +} +btCapsuleShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCapsuleShape__getUserPointer_p0(this.ptr); +} +btCapsuleShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCapsuleShape__isNonMoving_p0(this.ptr); +} +btCapsuleShape.prototype['getMargin'] = function() { + return _emscripten_bind_btCapsuleShape__getMargin_p0(this.ptr); +} +btCapsuleShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCapsuleShape__setMargin_p1(this.ptr, arg0); +} +btCapsuleShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCapsuleShape__isConvex2d_p0(this.ptr); +} +btCapsuleShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btCapsuleShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btCapsuleShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCapsuleShape__isSoftBody_p0(this.ptr); +} +btCapsuleShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btCapsuleShape__getMarginNonVirtual_p0(this.ptr); +} +btCapsuleShape.prototype['__destroy__'] = function() { + _emscripten_bind_btCapsuleShape____destroy___p0(this.ptr); +} +btCapsuleShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btCapsuleShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btCapsuleShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCapsuleShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCapsuleShape__getAngularMotionDisc_p0(this.ptr); +} +btCapsuleShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCapsuleShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCapsuleShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCapsuleShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btCapsuleShape.prototype['isConcave'] = function() { + return _emscripten_bind_btCapsuleShape__isConcave_p0(this.ptr); +} +btCapsuleShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btCapsuleShape__getShapeType_p0(this.ptr); +} +btConvexHullShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConvexHullShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConvexHullShape.prototype['getNumPlanes'] = function() { + return _emscripten_bind_btConvexHullShape__getNumPlanes_p0(this.ptr); +} +btConvexHullShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConvexHullShape__getAngularMotionDisc_p0(this.ptr); +} +btConvexHullShape.prototype['getScaledPoint'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexHullShape__getScaledPoint_p1(this.ptr, arg0), Module['btVector3']); +} +btConvexHullShape.prototype['isConvex'] = function() { + return _emscripten_bind_btConvexHullShape__isConvex_p0(this.ptr); +} +btConvexHullShape.prototype['getEdge'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexHullShape__getEdge_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btConvexHullShape.prototype['getNumVertices'] = function() { + return _emscripten_bind_btConvexHullShape__getNumVertices_p0(this.ptr); +} +btConvexHullShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConvexHullShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConvexHullShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConvexHullShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConvexHullShape__isPolyhedral_p0(this.ptr); +} +btConvexHullShape.prototype['getVertex'] = function(arg0, arg1) { + _emscripten_bind_btConvexHullShape__getVertex_p2(this.ptr, arg0, arg1.ptr); +} +btConvexHullShape.prototype['getUnscaledPoints'] = function() { + return wrapPointer(_emscripten_bind_btConvexHullShape__getUnscaledPoints_p0(this.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexHullShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexHullShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConvexHullShape__calculateSerializeBufferSize_p0(this.ptr); +} +btConvexHullShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConvexHullShape__setUserPointer_p1(this.ptr, arg0); +} +btConvexHullShape.prototype['getNumEdges'] = function() { + return _emscripten_bind_btConvexHullShape__getNumEdges_p0(this.ptr); +} +btConvexHullShape.prototype['getName'] = function() { + return _emscripten_bind_btConvexHullShape__getName_p0(this.ptr); +} +function btConvexHullShape(arg0, arg1, arg2) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btConvexHullShape__btConvexHullShape_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btConvexHullShape__btConvexHullShape_p1(arg0); + else if (arg2 === undefined) + this.ptr = _emscripten_bind_btConvexHullShape__btConvexHullShape_p2(arg0, arg1); + else + this.ptr = _emscripten_bind_btConvexHullShape__btConvexHullShape_p3(arg0, arg1, arg2); + btConvexHullShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btConvexHullShape; +} +btConvexHullShape.prototype.__cache__ = {}; +Module['btConvexHullShape'] = btConvexHullShape; +btConvexHullShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btConvexHullShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btConvexHullShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btConvexHullShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConvexHullShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConvexHullShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexHullShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexHullShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btConvexHullShape__getMarginNV_p0(this.ptr); +} +btConvexHullShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConvexHullShape__isConvex2d_p0(this.ptr); +} +btConvexHullShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConvexHullShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConvexHullShape.prototype['addPoint'] = function(arg0) { + _emscripten_bind_btConvexHullShape__addPoint_p1(this.ptr, arg0.ptr); +} +btConvexHullShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btConvexHullShape__isInfinite_p0(this.ptr); +} +btConvexHullShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConvexHullShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConvexHullShape.prototype['isConcave'] = function() { + return _emscripten_bind_btConvexHullShape__isConcave_p0(this.ptr); +} +btConvexHullShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConvexHullShape__getUserPointer_p0(this.ptr); +} +btConvexHullShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConvexHullShape__isNonMoving_p0(this.ptr); +} +btConvexHullShape.prototype['getMargin'] = function() { + return _emscripten_bind_btConvexHullShape__getMargin_p0(this.ptr); +} +btConvexHullShape.prototype['recalcLocalAabb'] = function() { + _emscripten_bind_btConvexHullShape__recalcLocalAabb_p0(this.ptr); +} +btConvexHullShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConvexHullShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConvexHullShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConvexHullShape__setMargin_p1(this.ptr, arg0); +} +btConvexHullShape.prototype['getNonvirtualAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btConvexHullShape__getNonvirtualAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3); +} +btConvexHullShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexHullShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConvexHullShape__isSoftBody_p0(this.ptr); +} +btConvexHullShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConvexHullShape__getMarginNonVirtual_p0(this.ptr); +} +btConvexHullShape.prototype['__destroy__'] = function() { + _emscripten_bind_btConvexHullShape____destroy___p0(this.ptr); +} +btConvexHullShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexHullShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexHullShape.prototype['getPoints'] = function() { + return wrapPointer(_emscripten_bind_btConvexHullShape__getPoints_p0(this.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btConvexHullShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btConvexHullShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConvexHullShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConvexHullShape.prototype['isInside'] = function(arg0, arg1) { + return _emscripten_bind_btConvexHullShape__isInside_p2(this.ptr, arg0.ptr, arg1); +} +btConvexHullShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConvexHullShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConvexHullShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexHullShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexHullShape.prototype['getPlane'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexHullShape__getPlane_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexHullShape.prototype['isCompound'] = function() { + return _emscripten_bind_btConvexHullShape__isCompound_p0(this.ptr); +} +btConvexHullShape.prototype['getConvexPolyhedron'] = function() { + return _emscripten_bind_btConvexHullShape__getConvexPolyhedron_p0(this.ptr); +} +btConvexHullShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConvexHullShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConvexHullShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btConvexHullShape__getShapeType_p0(this.ptr); +} +btConvexHullShape.prototype['getNumPoints'] = function() { + return _emscripten_bind_btConvexHullShape__getNumPoints_p0(this.ptr); +} +btConvexHullShape.prototype['initializePolyhedralFeatures'] = function() { + return _emscripten_bind_btConvexHullShape__initializePolyhedralFeatures_p0(this.ptr); +} +btTypedObject.prototype['__destroy__'] = function() { + _emscripten_bind_btTypedObject____destroy___p0(this.ptr); +} +function btTypedObject(arg0) { + this.ptr = _emscripten_bind_btTypedObject__btTypedObject_p1(arg0); + btTypedObject.prototype.__cache__[this.ptr] = this; + this.__class__ = btTypedObject; +} +btTypedObject.prototype.__cache__ = {}; +Module['btTypedObject'] = btTypedObject; +btTypedObject.prototype['getObjectType'] = function() { + return _emscripten_bind_btTypedObject__getObjectType_p0(this.ptr); +} +btTypedObject.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btTypedObject__get_m_objectType_p0(this.ptr); +} +btTypedObject.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btTypedObject__set_m_objectType_p1(this.ptr, arg0); +} +btIndexedMesh.prototype['get_m_numVertices'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_numVertices_p0(this.ptr); +} +btIndexedMesh.prototype['get_m_vertexBase'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_vertexBase_p0(this.ptr); +} +btIndexedMesh.prototype['set_m_indexType'] = function(arg0) { + _emscripten_bind_btIndexedMesh__set_m_indexType_p1(this.ptr, arg0); +} +btIndexedMesh.prototype['set_m_numTriangles'] = function(arg0) { + _emscripten_bind_btIndexedMesh__set_m_numTriangles_p1(this.ptr, arg0); +} +btIndexedMesh.prototype['get_m_vertexType'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_vertexType_p0(this.ptr); +} +btIndexedMesh.prototype['get_m_vertexStride'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_vertexStride_p0(this.ptr); +} +btIndexedMesh.prototype['get_m_numTriangles'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_numTriangles_p0(this.ptr); +} +btIndexedMesh.prototype['set_m_numVertices'] = function(arg0) { + _emscripten_bind_btIndexedMesh__set_m_numVertices_p1(this.ptr, arg0); +} +btIndexedMesh.prototype['set_m_vertexType'] = function(arg0) { + _emscripten_bind_btIndexedMesh__set_m_vertexType_p1(this.ptr, arg0); +} +btIndexedMesh.prototype['get_m_indexType'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_indexType_p0(this.ptr); +} +btIndexedMesh.prototype['__destroy__'] = function() { + _emscripten_bind_btIndexedMesh____destroy___p0(this.ptr); +} +btIndexedMesh.prototype['set_m_vertexBase'] = function(arg0) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btIndexedMesh__set_m_vertexBase_p1(this.ptr, ensureString(arg0)); +} finally { Runtime.stackRestore(stack) } +} +function btIndexedMesh() { + this.ptr = _emscripten_bind_btIndexedMesh__btIndexedMesh_p0(); + btIndexedMesh.prototype.__cache__[this.ptr] = this; + this.__class__ = btIndexedMesh; +} +btIndexedMesh.prototype.__cache__ = {}; +Module['btIndexedMesh'] = btIndexedMesh; +btIndexedMesh.prototype['get_m_triangleIndexBase'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_triangleIndexBase_p0(this.ptr); +} +btIndexedMesh.prototype['set_m_triangleIndexStride'] = function(arg0) { + _emscripten_bind_btIndexedMesh__set_m_triangleIndexStride_p1(this.ptr, arg0); +} +btIndexedMesh.prototype['set_m_vertexStride'] = function(arg0) { + _emscripten_bind_btIndexedMesh__set_m_vertexStride_p1(this.ptr, arg0); +} +btIndexedMesh.prototype['set_m_triangleIndexBase'] = function(arg0) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btIndexedMesh__set_m_triangleIndexBase_p1(this.ptr, ensureString(arg0)); +} finally { Runtime.stackRestore(stack) } +} +btIndexedMesh.prototype['get_m_triangleIndexStride'] = function() { + return _emscripten_bind_btIndexedMesh__get_m_triangleIndexStride_p0(this.ptr); +} +btCollisionObject.prototype['getFriction'] = function() { + return _emscripten_bind_btCollisionObject__getFriction_p0(this.ptr); +} +btCollisionObject.prototype['setContactProcessingThreshold'] = function(arg0) { + _emscripten_bind_btCollisionObject__setContactProcessingThreshold_p1(this.ptr, arg0); +} +btCollisionObject.prototype['setInterpolationLinearVelocity'] = function(arg0) { + _emscripten_bind_btCollisionObject__setInterpolationLinearVelocity_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['getDeactivationTime'] = function() { + return _emscripten_bind_btCollisionObject__getDeactivationTime_p0(this.ptr); +} +btCollisionObject.prototype['setInterpolationAngularVelocity'] = function(arg0) { + _emscripten_bind_btCollisionObject__setInterpolationAngularVelocity_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionObject__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCollisionObject.prototype['setFriction'] = function(arg0) { + _emscripten_bind_btCollisionObject__setFriction_p1(this.ptr, arg0); +} +btCollisionObject.prototype['internalSetExtensionPointer'] = function(arg0) { + _emscripten_bind_btCollisionObject__internalSetExtensionPointer_p1(this.ptr, arg0); +} +btCollisionObject.prototype['activate'] = function(arg0) { + if (arg0 === undefined) + _emscripten_bind_btCollisionObject__activate_p0(this.ptr); + else + _emscripten_bind_btCollisionObject__activate_p1(this.ptr, arg0); +} +btCollisionObject.prototype['setInterpolationWorldTransform'] = function(arg0) { + _emscripten_bind_btCollisionObject__setInterpolationWorldTransform_p1(this.ptr, arg0.ptr); +} +function btCollisionObject() { + this.ptr = _emscripten_bind_btCollisionObject__btCollisionObject_p0(); + btCollisionObject.prototype.__cache__[this.ptr] = this; + this.__class__ = btCollisionObject; +} +btCollisionObject.prototype.__cache__ = {}; +Module['btCollisionObject'] = btCollisionObject; +btCollisionObject.prototype['getInterpolationLinearVelocity'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getInterpolationLinearVelocity_p0(this.ptr), Module['btVector3']); +} +btCollisionObject.prototype['mergesSimulationIslands'] = function() { + return _emscripten_bind_btCollisionObject__mergesSimulationIslands_p0(this.ptr); +} +btCollisionObject.prototype['setCollisionShape'] = function(arg0) { + _emscripten_bind_btCollisionObject__setCollisionShape_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['setCcdMotionThreshold'] = function(arg0) { + _emscripten_bind_btCollisionObject__setCcdMotionThreshold_p1(this.ptr, arg0); +} +btCollisionObject.prototype['getIslandTag'] = function() { + return _emscripten_bind_btCollisionObject__getIslandTag_p0(this.ptr); +} +btCollisionObject.prototype['setCompanionId'] = function(arg0) { + _emscripten_bind_btCollisionObject__setCompanionId_p1(this.ptr, arg0); +} +btCollisionObject.prototype['getCcdMotionThreshold'] = function() { + return _emscripten_bind_btCollisionObject__getCcdMotionThreshold_p0(this.ptr); +} +btCollisionObject.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCollisionObject__setUserPointer_p1(this.ptr, arg0); +} +btCollisionObject.prototype['checkCollideWith'] = function(arg0) { + return _emscripten_bind_btCollisionObject__checkCollideWith_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['getAnisotropicFriction'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getAnisotropicFriction_p0(this.ptr), Module['btVector3']); +} +btCollisionObject.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCollisionObject__calculateSerializeBufferSize_p0(this.ptr); +} +btCollisionObject.prototype['getInterpolationAngularVelocity'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getInterpolationAngularVelocity_p0(this.ptr), Module['btVector3']); +} +btCollisionObject.prototype['forceActivationState'] = function(arg0) { + _emscripten_bind_btCollisionObject__forceActivationState_p1(this.ptr, arg0); +} +btCollisionObject.prototype['getInterpolationWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getInterpolationWorldTransform_p0(this.ptr), Module['btTransform']); +} +btCollisionObject.prototype['setIslandTag'] = function(arg0) { + _emscripten_bind_btCollisionObject__setIslandTag_p1(this.ptr, arg0); +} +btCollisionObject.prototype['setHitFraction'] = function(arg0) { + _emscripten_bind_btCollisionObject__setHitFraction_p1(this.ptr, arg0); +} +btCollisionObject.prototype['serializeSingleObject'] = function(arg0) { + _emscripten_bind_btCollisionObject__serializeSingleObject_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['getCollisionFlags'] = function() { + return _emscripten_bind_btCollisionObject__getCollisionFlags_p0(this.ptr); +} +btCollisionObject.prototype['isStaticObject'] = function() { + return _emscripten_bind_btCollisionObject__isStaticObject_p0(this.ptr); +} +btCollisionObject.prototype['getCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btCollisionObject.prototype['setAnisotropicFriction'] = function(arg0) { + _emscripten_bind_btCollisionObject__setAnisotropicFriction_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionObject____destroy___p0(this.ptr); +} +btCollisionObject.prototype['getBroadphaseHandle'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getBroadphaseHandle_p0(this.ptr), Module['btBroadphaseProxy']); +} +btCollisionObject.prototype['getRestitution'] = function() { + return _emscripten_bind_btCollisionObject__getRestitution_p0(this.ptr); +} +btCollisionObject.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCollisionObject__getUserPointer_p0(this.ptr); +} +btCollisionObject.prototype['setCcdSweptSphereRadius'] = function(arg0) { + _emscripten_bind_btCollisionObject__setCcdSweptSphereRadius_p1(this.ptr, arg0); +} +btCollisionObject.prototype['getWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getWorldTransform_p0(this.ptr), Module['btTransform']); +} +btCollisionObject.prototype['getCcdSquareMotionThreshold'] = function() { + return _emscripten_bind_btCollisionObject__getCcdSquareMotionThreshold_p0(this.ptr); +} +btCollisionObject.prototype['setWorldTransform'] = function(arg0) { + _emscripten_bind_btCollisionObject__setWorldTransform_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['internalSetTemporaryCollisionShape'] = function(arg0) { + _emscripten_bind_btCollisionObject__internalSetTemporaryCollisionShape_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['getCompanionId'] = function() { + return _emscripten_bind_btCollisionObject__getCompanionId_p0(this.ptr); +} +btCollisionObject.prototype['isActive'] = function() { + return _emscripten_bind_btCollisionObject__isActive_p0(this.ptr); +} +btCollisionObject.prototype['getInternalType'] = function() { + return _emscripten_bind_btCollisionObject__getInternalType_p0(this.ptr); +} +btCollisionObject.prototype['getActivationState'] = function() { + return _emscripten_bind_btCollisionObject__getActivationState_p0(this.ptr); +} +btCollisionObject.prototype['hasContactResponse'] = function() { + return _emscripten_bind_btCollisionObject__hasContactResponse_p0(this.ptr); +} +btCollisionObject.prototype['setActivationState'] = function(arg0) { + _emscripten_bind_btCollisionObject__setActivationState_p1(this.ptr, arg0); +} +btCollisionObject.prototype['getRootCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btCollisionObject__getRootCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btCollisionObject.prototype['getContactProcessingThreshold'] = function() { + return _emscripten_bind_btCollisionObject__getContactProcessingThreshold_p0(this.ptr); +} +btCollisionObject.prototype['getHitFraction'] = function() { + return _emscripten_bind_btCollisionObject__getHitFraction_p0(this.ptr); +} +btCollisionObject.prototype['getCcdSweptSphereRadius'] = function() { + return _emscripten_bind_btCollisionObject__getCcdSweptSphereRadius_p0(this.ptr); +} +btCollisionObject.prototype['setDeactivationTime'] = function(arg0) { + _emscripten_bind_btCollisionObject__setDeactivationTime_p1(this.ptr, arg0); +} +btCollisionObject.prototype['internalGetExtensionPointer'] = function() { + return _emscripten_bind_btCollisionObject__internalGetExtensionPointer_p0(this.ptr); +} +btCollisionObject.prototype['setCollisionFlags'] = function(arg0) { + _emscripten_bind_btCollisionObject__setCollisionFlags_p1(this.ptr, arg0); +} +btCollisionObject.prototype['isStaticOrKinematicObject'] = function() { + return _emscripten_bind_btCollisionObject__isStaticOrKinematicObject_p0(this.ptr); +} +btCollisionObject.prototype['setRestitution'] = function(arg0) { + _emscripten_bind_btCollisionObject__setRestitution_p1(this.ptr, arg0); +} +btCollisionObject.prototype['hasAnisotropicFriction'] = function() { + return _emscripten_bind_btCollisionObject__hasAnisotropicFriction_p0(this.ptr); +} +btCollisionObject.prototype['setBroadphaseHandle'] = function(arg0) { + _emscripten_bind_btCollisionObject__setBroadphaseHandle_p1(this.ptr, arg0.ptr); +} +btCollisionObject.prototype['isKinematicObject'] = function() { + return _emscripten_bind_btCollisionObject__isKinematicObject_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConvexTriangleMeshShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConvexTriangleMeshShape.prototype['getNumPlanes'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getNumPlanes_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexTriangleMeshShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConvexTriangleMeshShape__setUserPointer_p1(this.ptr, arg0); +} +btConvexTriangleMeshShape.prototype['isInside'] = function(arg0, arg1) { + return _emscripten_bind_btConvexTriangleMeshShape__isInside_p2(this.ptr, arg0.ptr, arg1); +} +btConvexTriangleMeshShape.prototype['getNumVertices'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getNumVertices_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConvexTriangleMeshShape.prototype['getMeshInterface'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getMeshInterface_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isPolyhedral_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getVertex'] = function(arg0, arg1) { + _emscripten_bind_btConvexTriangleMeshShape__getVertex_p2(this.ptr, arg0, arg1.ptr); +} +function btConvexTriangleMeshShape(arg0, arg1) { + if (arg1 === undefined) + this.ptr = _emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p1(arg0.ptr); + else + this.ptr = _emscripten_bind_btConvexTriangleMeshShape__btConvexTriangleMeshShape_p2(arg0.ptr, arg1); + btConvexTriangleMeshShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btConvexTriangleMeshShape; +} +btConvexTriangleMeshShape.prototype.__cache__ = {}; +Module['btConvexTriangleMeshShape'] = btConvexTriangleMeshShape; +btConvexTriangleMeshShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexTriangleMeshShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexTriangleMeshShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexTriangleMeshShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__calculateSerializeBufferSize_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getNumEdges'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getNumEdges_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getName'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getName_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getEdge'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexTriangleMeshShape__getEdge_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btConvexTriangleMeshShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btConvexTriangleMeshShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexTriangleMeshShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btConvexTriangleMeshShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btConvexTriangleMeshShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConvexTriangleMeshShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConvexTriangleMeshShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexTriangleMeshShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexTriangleMeshShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getMarginNV_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isConvex2d_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConvexTriangleMeshShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConvexTriangleMeshShape.prototype['isConvex'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isConvex_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isInfinite_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConvexTriangleMeshShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConvexTriangleMeshShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getUserPointer_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isNonMoving_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getMargin'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getMargin_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['recalcLocalAabb'] = function() { + _emscripten_bind_btConvexTriangleMeshShape__recalcLocalAabb_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConvexTriangleMeshShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConvexTriangleMeshShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConvexTriangleMeshShape__setMargin_p1(this.ptr, arg0); +} +btConvexTriangleMeshShape.prototype['getNonvirtualAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btConvexTriangleMeshShape__getNonvirtualAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3); +} +btConvexTriangleMeshShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexTriangleMeshShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isSoftBody_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getMarginNonVirtual_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['__destroy__'] = function() { + _emscripten_bind_btConvexTriangleMeshShape____destroy___p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexTriangleMeshShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btConvexTriangleMeshShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btConvexTriangleMeshShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConvexTriangleMeshShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConvexTriangleMeshShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getAngularMotionDisc_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConvexTriangleMeshShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConvexTriangleMeshShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexTriangleMeshShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexTriangleMeshShape.prototype['getPlane'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexTriangleMeshShape__getPlane_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexTriangleMeshShape.prototype['isCompound'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isCompound_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getConvexPolyhedron'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getConvexPolyhedron_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConvexTriangleMeshShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConvexTriangleMeshShape.prototype['calculatePrincipalAxisTransform'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexTriangleMeshShape__calculatePrincipalAxisTransform_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexTriangleMeshShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__getShapeType_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['isConcave'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__isConcave_p0(this.ptr); +} +btConvexTriangleMeshShape.prototype['initializePolyhedralFeatures'] = function() { + return _emscripten_bind_btConvexTriangleMeshShape__initializePolyhedralFeatures_p0(this.ptr); +} +function btBroadphaseInterface(){ throw "btBroadphaseInterface is abstract!" } +btBroadphaseInterface.prototype.__cache__ = {}; +Module['btBroadphaseInterface'] = btBroadphaseInterface; +btBroadphaseInterface.prototype['rayTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg3 === undefined) + _emscripten_bind_btBroadphaseInterface__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else if (arg4 === undefined) + _emscripten_bind_btBroadphaseInterface__rayTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btBroadphaseInterface__rayTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btBroadphaseInterface.prototype['setAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btBroadphaseInterface__setAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btBroadphaseInterface.prototype['getOverlappingPairCache'] = function() { + return wrapPointer(_emscripten_bind_btBroadphaseInterface__getOverlappingPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btBroadphaseInterface.prototype['resetPool'] = function(arg0) { + _emscripten_bind_btBroadphaseInterface__resetPool_p1(this.ptr, arg0.ptr); +} +btBroadphaseInterface.prototype['calculateOverlappingPairs'] = function(arg0) { + _emscripten_bind_btBroadphaseInterface__calculateOverlappingPairs_p1(this.ptr, arg0.ptr); +} +btBroadphaseInterface.prototype['printStats'] = function() { + _emscripten_bind_btBroadphaseInterface__printStats_p0(this.ptr); +} +btBroadphaseInterface.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBroadphaseInterface__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBroadphaseInterface.prototype['aabbTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBroadphaseInterface__aabbTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBroadphaseInterface.prototype['createProxy'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + return wrapPointer(_emscripten_bind_btBroadphaseInterface__createProxy_p8(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5, arg6.ptr, arg7), Module['btBroadphaseProxy']); +} +btBroadphaseInterface.prototype['getBroadphaseAabb'] = function(arg0, arg1) { + _emscripten_bind_btBroadphaseInterface__getBroadphaseAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btBroadphaseInterface.prototype['destroyProxy'] = function(arg0, arg1) { + _emscripten_bind_btBroadphaseInterface__destroyProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btAngularLimit.prototype['getCorrection'] = function() { + return _emscripten_bind_btAngularLimit__getCorrection_p0(this.ptr); +} +function btAngularLimit() { + this.ptr = _emscripten_bind_btAngularLimit__btAngularLimit_p0(); + btAngularLimit.prototype.__cache__[this.ptr] = this; + this.__class__ = btAngularLimit; +} +btAngularLimit.prototype.__cache__ = {}; +Module['btAngularLimit'] = btAngularLimit; +btAngularLimit.prototype['getError'] = function() { + return _emscripten_bind_btAngularLimit__getError_p0(this.ptr); +} +btAngularLimit.prototype['fit'] = function(arg0) { + _emscripten_bind_btAngularLimit__fit_p1(this.ptr, arg0); +} +btAngularLimit.prototype['__destroy__'] = function() { + _emscripten_bind_btAngularLimit____destroy___p0(this.ptr); +} +btAngularLimit.prototype['isLimit'] = function() { + return _emscripten_bind_btAngularLimit__isLimit_p0(this.ptr); +} +btAngularLimit.prototype['getBiasFactor'] = function() { + return _emscripten_bind_btAngularLimit__getBiasFactor_p0(this.ptr); +} +btAngularLimit.prototype['getSign'] = function() { + return _emscripten_bind_btAngularLimit__getSign_p0(this.ptr); +} +btAngularLimit.prototype['set'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg2 === undefined) + _emscripten_bind_btAngularLimit__set_p2(this.ptr, arg0, arg1); + else if (arg3 === undefined) + _emscripten_bind_btAngularLimit__set_p3(this.ptr, arg0, arg1, arg2); + else if (arg4 === undefined) + _emscripten_bind_btAngularLimit__set_p4(this.ptr, arg0, arg1, arg2, arg3); + else + _emscripten_bind_btAngularLimit__set_p5(this.ptr, arg0, arg1, arg2, arg3, arg4); +} +btAngularLimit.prototype['getSoftness'] = function() { + return _emscripten_bind_btAngularLimit__getSoftness_p0(this.ptr); +} +btAngularLimit.prototype['getHigh'] = function() { + return _emscripten_bind_btAngularLimit__getHigh_p0(this.ptr); +} +btAngularLimit.prototype['test'] = function(arg0) { + _emscripten_bind_btAngularLimit__test_p1(this.ptr, arg0); +} +btAngularLimit.prototype['getHalfRange'] = function() { + return _emscripten_bind_btAngularLimit__getHalfRange_p0(this.ptr); +} +btAngularLimit.prototype['getLow'] = function() { + return _emscripten_bind_btAngularLimit__getLow_p0(this.ptr); +} +btAngularLimit.prototype['getRelaxationFactor'] = function() { + return _emscripten_bind_btAngularLimit__getRelaxationFactor_p0(this.ptr); +} +btDefaultCollisionConfiguration.prototype['__destroy__'] = function() { + _emscripten_bind_btDefaultCollisionConfiguration____destroy___p0(this.ptr); +} +btDefaultCollisionConfiguration.prototype['getStackAllocator'] = function() { + return wrapPointer(_emscripten_bind_btDefaultCollisionConfiguration__getStackAllocator_p0(this.ptr), Module['btStackAlloc']); +} +function btDefaultCollisionConfiguration(arg0) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p0(); + else + this.ptr = _emscripten_bind_btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_p1(arg0.ptr); + btDefaultCollisionConfiguration.prototype.__cache__[this.ptr] = this; + this.__class__ = btDefaultCollisionConfiguration; +} +btDefaultCollisionConfiguration.prototype.__cache__ = {}; +Module['btDefaultCollisionConfiguration'] = btDefaultCollisionConfiguration; +btDefaultCollisionConfiguration.prototype['getPersistentManifoldPool'] = function() { + return _emscripten_bind_btDefaultCollisionConfiguration__getPersistentManifoldPool_p0(this.ptr); +} +btDefaultCollisionConfiguration.prototype['getSimplexSolver'] = function() { + return _emscripten_bind_btDefaultCollisionConfiguration__getSimplexSolver_p0(this.ptr); +} +btDefaultCollisionConfiguration.prototype['setConvexConvexMultipointIterations'] = function(arg0, arg1) { + if (arg0 === undefined) + _emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p0(this.ptr); + else if (arg1 === undefined) + _emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p1(this.ptr, arg0); + else + _emscripten_bind_btDefaultCollisionConfiguration__setConvexConvexMultipointIterations_p2(this.ptr, arg0, arg1); +} +btDefaultCollisionConfiguration.prototype['getCollisionAlgorithmPool'] = function() { + return _emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmPool_p0(this.ptr); +} +btDefaultCollisionConfiguration.prototype['getCollisionAlgorithmCreateFunc'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2(this.ptr, arg0, arg1), Module['btCollisionAlgorithmCreateFunc']); +} +function ContactResultCallback(){ throw "ContactResultCallback is abstract!" } +ContactResultCallback.prototype.__cache__ = {}; +Module['ContactResultCallback'] = ContactResultCallback; +ContactResultCallback.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +ContactResultCallback.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ContactResultCallback__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +ContactResultCallback.prototype['addSingleResult'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + return _emscripten_bind_btCollisionWorld__ContactResultCallback__addSingleResult_p7(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4.ptr, arg5, arg6); +} +ContactResultCallback.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterMask_p0(this.ptr); +} +ContactResultCallback.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btCollisionWorld__ContactResultCallback__get_m_collisionFilterGroup_p0(this.ptr); +} +ContactResultCallback.prototype['needsCollision'] = function(arg0) { + return _emscripten_bind_btCollisionWorld__ContactResultCallback__needsCollision_p1(this.ptr, arg0.ptr); +} +btSphereSphereCollisionAlgorithm.prototype['getAllContactManifolds'] = function(arg0) { + _emscripten_bind_btSphereSphereCollisionAlgorithm__getAllContactManifolds_p1(this.ptr, arg0); +} +function btSphereSphereCollisionAlgorithm(arg0, arg1, arg2, arg3) { + if (arg1 === undefined) + this.ptr = _emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p1(arg0.ptr); + else + this.ptr = _emscripten_bind_btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + btSphereSphereCollisionAlgorithm.prototype.__cache__[this.ptr] = this; + this.__class__ = btSphereSphereCollisionAlgorithm; +} +btSphereSphereCollisionAlgorithm.prototype.__cache__ = {}; +Module['btSphereSphereCollisionAlgorithm'] = btSphereSphereCollisionAlgorithm; +btSphereSphereCollisionAlgorithm.prototype['calculateTimeOfImpact'] = function(arg0, arg1, arg2, arg3) { + return _emscripten_bind_btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btSphereSphereCollisionAlgorithm.prototype['processCollision'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btSphereSphereCollisionAlgorithm__processCollision_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btSphereSphereCollisionAlgorithm.prototype['__destroy__'] = function() { + _emscripten_bind_btSphereSphereCollisionAlgorithm____destroy___p0(this.ptr); +} +btSimpleBroadphase.prototype['__destroy__'] = function() { + _emscripten_bind_btSimpleBroadphase____destroy___p0(this.ptr); +} +function btSimpleBroadphase(arg0, arg1) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p1(arg0); + else + this.ptr = _emscripten_bind_btSimpleBroadphase__btSimpleBroadphase_p2(arg0, arg1.ptr); + btSimpleBroadphase.prototype.__cache__[this.ptr] = this; + this.__class__ = btSimpleBroadphase; +} +btSimpleBroadphase.prototype.__cache__ = {}; +Module['btSimpleBroadphase'] = btSimpleBroadphase; +btSimpleBroadphase.prototype['setAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btSimpleBroadphase__setAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btSimpleBroadphase.prototype['getOverlappingPairCache'] = function() { + return wrapPointer(_emscripten_bind_btSimpleBroadphase__getOverlappingPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btSimpleBroadphase.prototype['rayTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg3 === undefined) + _emscripten_bind_btSimpleBroadphase__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else if (arg4 === undefined) + _emscripten_bind_btSimpleBroadphase__rayTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btSimpleBroadphase__rayTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btSimpleBroadphase.prototype['calculateOverlappingPairs'] = function(arg0) { + _emscripten_bind_btSimpleBroadphase__calculateOverlappingPairs_p1(this.ptr, arg0.ptr); +} +btSimpleBroadphase.prototype['testAabbOverlap'] = function(arg0, arg1) { + return _emscripten_bind_btSimpleBroadphase__testAabbOverlap_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btSimpleBroadphase.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSimpleBroadphase__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSimpleBroadphase.prototype['aabbTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSimpleBroadphase__aabbTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSimpleBroadphase.prototype['createProxy'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + return wrapPointer(_emscripten_bind_btSimpleBroadphase__createProxy_p8(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5, arg6.ptr, arg7), Module['btBroadphaseProxy']); +} +btSimpleBroadphase.prototype['printStats'] = function() { + _emscripten_bind_btSimpleBroadphase__printStats_p0(this.ptr); +} +btSimpleBroadphase.prototype['aabbOverlap'] = function(arg0, arg1) { + return _emscripten_bind_btSimpleBroadphase__aabbOverlap_p2(arg0.ptr, arg1.ptr); +} +btSimpleBroadphase.prototype['getBroadphaseAabb'] = function(arg0, arg1) { + _emscripten_bind_btSimpleBroadphase__getBroadphaseAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btSimpleBroadphase.prototype['destroyProxy'] = function(arg0, arg1) { + _emscripten_bind_btSimpleBroadphase__destroyProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +function btCollisionConfiguration(){ throw "btCollisionConfiguration is abstract!" } +btCollisionConfiguration.prototype.__cache__ = {}; +Module['btCollisionConfiguration'] = btCollisionConfiguration; +btCollisionConfiguration.prototype['getPersistentManifoldPool'] = function() { + return _emscripten_bind_btCollisionConfiguration__getPersistentManifoldPool_p0(this.ptr); +} +btCollisionConfiguration.prototype['getStackAllocator'] = function() { + return wrapPointer(_emscripten_bind_btCollisionConfiguration__getStackAllocator_p0(this.ptr), Module['btStackAlloc']); +} +btCollisionConfiguration.prototype['getCollisionAlgorithmPool'] = function() { + return _emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmPool_p0(this.ptr); +} +btCollisionConfiguration.prototype['getCollisionAlgorithmCreateFunc'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btCollisionConfiguration__getCollisionAlgorithmCreateFunc_p2(this.ptr, arg0, arg1), Module['btCollisionAlgorithmCreateFunc']); +} +btPersistentManifold.prototype['getNumContacts'] = function() { + return _emscripten_bind_btPersistentManifold__getNumContacts_p0(this.ptr); +} +btPersistentManifold.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btPersistentManifold__set_m_objectType_p1(this.ptr, arg0); +} +btPersistentManifold.prototype['getBody1'] = function() { + return _emscripten_bind_btPersistentManifold__getBody1_p0(this.ptr); +} +btPersistentManifold.prototype['validContactDistance'] = function(arg0) { + return _emscripten_bind_btPersistentManifold__validContactDistance_p1(this.ptr, arg0.ptr); +} +btPersistentManifold.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btPersistentManifold__get_m_objectType_p0(this.ptr); +} +btPersistentManifold.prototype['refreshContactPoints'] = function(arg0, arg1) { + _emscripten_bind_btPersistentManifold__refreshContactPoints_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btPersistentManifold.prototype['clearUserCache'] = function(arg0) { + _emscripten_bind_btPersistentManifold__clearUserCache_p1(this.ptr, arg0.ptr); +} +btPersistentManifold.prototype['set_m_index1a'] = function(arg0) { + _emscripten_bind_btPersistentManifold__set_m_index1a_p1(this.ptr, arg0); +} +function btPersistentManifold(arg0, arg1, arg2, arg3, arg4) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btPersistentManifold__btPersistentManifold_p0(); + else + this.ptr = _emscripten_bind_btPersistentManifold__btPersistentManifold_p5(arg0, arg1, arg2, arg3, arg4); + btPersistentManifold.prototype.__cache__[this.ptr] = this; + this.__class__ = btPersistentManifold; +} +btPersistentManifold.prototype.__cache__ = {}; +Module['btPersistentManifold'] = btPersistentManifold; +btPersistentManifold.prototype['addManifoldPoint'] = function(arg0) { + return _emscripten_bind_btPersistentManifold__addManifoldPoint_p1(this.ptr, arg0.ptr); +} +btPersistentManifold.prototype['getCacheEntry'] = function(arg0) { + return _emscripten_bind_btPersistentManifold__getCacheEntry_p1(this.ptr, arg0.ptr); +} +btPersistentManifold.prototype['getObjectType'] = function() { + return _emscripten_bind_btPersistentManifold__getObjectType_p0(this.ptr); +} +btPersistentManifold.prototype['getContactPoint'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPersistentManifold__getContactPoint_p1(this.ptr, arg0), Module['btManifoldPoint']); +} +btPersistentManifold.prototype['getContactBreakingThreshold'] = function() { + return _emscripten_bind_btPersistentManifold__getContactBreakingThreshold_p0(this.ptr); +} +btPersistentManifold.prototype['clearManifold'] = function() { + _emscripten_bind_btPersistentManifold__clearManifold_p0(this.ptr); +} +btPersistentManifold.prototype['getBody0'] = function() { + return _emscripten_bind_btPersistentManifold__getBody0_p0(this.ptr); +} +btPersistentManifold.prototype['setBodies'] = function(arg0, arg1) { + _emscripten_bind_btPersistentManifold__setBodies_p2(this.ptr, arg0, arg1); +} +btPersistentManifold.prototype['removeContactPoint'] = function(arg0) { + _emscripten_bind_btPersistentManifold__removeContactPoint_p1(this.ptr, arg0); +} +btPersistentManifold.prototype['__destroy__'] = function() { + _emscripten_bind_btPersistentManifold____destroy___p0(this.ptr); +} +btPersistentManifold.prototype['get_m_index1a'] = function() { + return _emscripten_bind_btPersistentManifold__get_m_index1a_p0(this.ptr); +} +btPersistentManifold.prototype['getContactProcessingThreshold'] = function() { + return _emscripten_bind_btPersistentManifold__getContactProcessingThreshold_p0(this.ptr); +} +btPersistentManifold.prototype['get_m_companionIdB'] = function() { + return _emscripten_bind_btPersistentManifold__get_m_companionIdB_p0(this.ptr); +} +btPersistentManifold.prototype['get_m_companionIdA'] = function() { + return _emscripten_bind_btPersistentManifold__get_m_companionIdA_p0(this.ptr); +} +btPersistentManifold.prototype['set_m_companionIdB'] = function(arg0) { + _emscripten_bind_btPersistentManifold__set_m_companionIdB_p1(this.ptr, arg0); +} +btPersistentManifold.prototype['set_m_companionIdA'] = function(arg0) { + _emscripten_bind_btPersistentManifold__set_m_companionIdA_p1(this.ptr, arg0); +} +btPersistentManifold.prototype['replaceContactPoint'] = function(arg0, arg1) { + _emscripten_bind_btPersistentManifold__replaceContactPoint_p2(this.ptr, arg0.ptr, arg1); +} +function btNodeOverlapCallback(){ throw "btNodeOverlapCallback is abstract!" } +btNodeOverlapCallback.prototype.__cache__ = {}; +Module['btNodeOverlapCallback'] = btNodeOverlapCallback; +btNodeOverlapCallback.prototype['processNode'] = function(arg0, arg1) { + _emscripten_bind_btNodeOverlapCallback__processNode_p2(this.ptr, arg0, arg1); +} +btCompoundShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCompoundShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCompoundShape.prototype['getDynamicAabbTree'] = function() { + return wrapPointer(_emscripten_bind_btCompoundShape__getDynamicAabbTree_p0(this.ptr), Module['btDbvt']); +} +btCompoundShape.prototype['isConvex'] = function() { + return _emscripten_bind_btCompoundShape__isConvex_p0(this.ptr); +} +btCompoundShape.prototype['getUpdateRevision'] = function() { + return _emscripten_bind_btCompoundShape__getUpdateRevision_p0(this.ptr); +} +btCompoundShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCompoundShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCompoundShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCompoundShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCompoundShape.prototype['createAabbTreeFromChildren'] = function() { + _emscripten_bind_btCompoundShape__createAabbTreeFromChildren_p0(this.ptr); +} +function btCompoundShape(arg0) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btCompoundShape__btCompoundShape_p0(); + else + this.ptr = _emscripten_bind_btCompoundShape__btCompoundShape_p1(arg0); + btCompoundShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btCompoundShape; +} +btCompoundShape.prototype.__cache__ = {}; +Module['btCompoundShape'] = btCompoundShape; +btCompoundShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCompoundShape__calculateSerializeBufferSize_p0(this.ptr); +} +btCompoundShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCompoundShape__setUserPointer_p1(this.ptr, arg0); +} +btCompoundShape.prototype['getName'] = function() { + return _emscripten_bind_btCompoundShape__getName_p0(this.ptr); +} +btCompoundShape.prototype['isCompound'] = function() { + return _emscripten_bind_btCompoundShape__isCompound_p0(this.ptr); +} +btCompoundShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCompoundShape__isPolyhedral_p0(this.ptr); +} +btCompoundShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCompoundShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCompoundShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCompoundShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCompoundShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCompoundShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCompoundShape.prototype['getChildShape'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCompoundShape__getChildShape_p1(this.ptr, arg0), Module['btCollisionShape']); +} +btCompoundShape.prototype['addChildShape'] = function(arg0, arg1) { + _emscripten_bind_btCompoundShape__addChildShape_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btCompoundShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btCompoundShape__isInfinite_p0(this.ptr); +} +btCompoundShape.prototype['getChildTransform'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCompoundShape__getChildTransform_p1(this.ptr, arg0), Module['btTransform']); +} +btCompoundShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCompoundShape__getUserPointer_p0(this.ptr); +} +btCompoundShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCompoundShape__isNonMoving_p0(this.ptr); +} +btCompoundShape.prototype['getChildList'] = function() { + return wrapPointer(_emscripten_bind_btCompoundShape__getChildList_p0(this.ptr), Module['btCompoundShapeChild']); +} +btCompoundShape.prototype['getMargin'] = function() { + return _emscripten_bind_btCompoundShape__getMargin_p0(this.ptr); +} +btCompoundShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCompoundShape__setMargin_p1(this.ptr, arg0); +} +btCompoundShape.prototype['getNumChildShapes'] = function() { + return _emscripten_bind_btCompoundShape__getNumChildShapes_p0(this.ptr); +} +btCompoundShape.prototype['removeChildShapeByIndex'] = function(arg0) { + _emscripten_bind_btCompoundShape__removeChildShapeByIndex_p1(this.ptr, arg0); +} +btCompoundShape.prototype['recalculateLocalAabb'] = function() { + _emscripten_bind_btCompoundShape__recalculateLocalAabb_p0(this.ptr); +} +btCompoundShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCompoundShape__isSoftBody_p0(this.ptr); +} +btCompoundShape.prototype['__destroy__'] = function() { + _emscripten_bind_btCompoundShape____destroy___p0(this.ptr); +} +btCompoundShape.prototype['updateChildTransform'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btCompoundShape__updateChildTransform_p2(this.ptr, arg0, arg1.ptr); + else + _emscripten_bind_btCompoundShape__updateChildTransform_p3(this.ptr, arg0, arg1.ptr, arg2); +} +btCompoundShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCompoundShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCompoundShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCompoundShape__getAngularMotionDisc_p0(this.ptr); +} +btCompoundShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCompoundShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCompoundShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCompoundShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btCompoundShape.prototype['calculatePrincipalAxisTransform'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCompoundShape__calculatePrincipalAxisTransform_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btCompoundShape.prototype['removeChildShape'] = function(arg0) { + _emscripten_bind_btCompoundShape__removeChildShape_p1(this.ptr, arg0.ptr); +} +btCompoundShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btCompoundShape__getShapeType_p0(this.ptr); +} +btCompoundShape.prototype['isConcave'] = function() { + return _emscripten_bind_btCompoundShape__isConcave_p0(this.ptr); +} +btCompoundShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCompoundShape__isConvex2d_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btScaledBvhTriangleMeshShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btScaledBvhTriangleMeshShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btScaledBvhTriangleMeshShape__setUserPointer_p1(this.ptr, arg0); +} +function btScaledBvhTriangleMeshShape(arg0, arg1) { + this.ptr = _emscripten_bind_btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_p2(arg0.ptr, arg1.ptr); + btScaledBvhTriangleMeshShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btScaledBvhTriangleMeshShape; +} +btScaledBvhTriangleMeshShape.prototype.__cache__ = {}; +Module['btScaledBvhTriangleMeshShape'] = btScaledBvhTriangleMeshShape; +btScaledBvhTriangleMeshShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btScaledBvhTriangleMeshShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btScaledBvhTriangleMeshShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btScaledBvhTriangleMeshShape.prototype['processAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btScaledBvhTriangleMeshShape__processAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btScaledBvhTriangleMeshShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getName'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__getName_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['isCompound'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isCompound_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isPolyhedral_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btScaledBvhTriangleMeshShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btScaledBvhTriangleMeshShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btScaledBvhTriangleMeshShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btScaledBvhTriangleMeshShape.prototype['getChildShape'] = function() { + return wrapPointer(_emscripten_bind_btScaledBvhTriangleMeshShape__getChildShape_p0(this.ptr), Module['btBvhTriangleMeshShape']); +} +btScaledBvhTriangleMeshShape.prototype['isConvex'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isConvex_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isInfinite_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__getUserPointer_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isNonMoving_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getMargin'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__getMargin_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btScaledBvhTriangleMeshShape__setMargin_p1(this.ptr, arg0); +} +btScaledBvhTriangleMeshShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isConvex2d_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isSoftBody_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['__destroy__'] = function() { + _emscripten_bind_btScaledBvhTriangleMeshShape____destroy___p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btScaledBvhTriangleMeshShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btScaledBvhTriangleMeshShape.prototype['isConcave'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__isConcave_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__getAngularMotionDisc_p0(this.ptr); +} +btScaledBvhTriangleMeshShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btScaledBvhTriangleMeshShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btScaledBvhTriangleMeshShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btScaledBvhTriangleMeshShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btScaledBvhTriangleMeshShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btScaledBvhTriangleMeshShape__getShapeType_p0(this.ptr); +} +function btDynamicsWorld(){ throw "btDynamicsWorld is abstract!" } +btDynamicsWorld.prototype.__cache__ = {}; +Module['btDynamicsWorld'] = btDynamicsWorld; +btDynamicsWorld.prototype['setGravity'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__setGravity_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['addAction'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__addAction_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['getSolverInfo'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getSolverInfo_p0(this.ptr), Module['btContactSolverInfo']); +} +btDynamicsWorld.prototype['serialize'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__serialize_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['getDispatcher'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getDispatcher_p0(this.ptr), Module['btDispatcher']); +} +btDynamicsWorld.prototype['addRigidBody'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btDynamicsWorld__addRigidBody_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btDynamicsWorld__addRigidBody_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btDynamicsWorld.prototype['clearForces'] = function() { + _emscripten_bind_btDynamicsWorld__clearForces_p0(this.ptr); +} +btDynamicsWorld.prototype['removeVehicle'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__removeVehicle_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['getDebugDrawer'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getDebugDrawer_p0(this.ptr), Module['btIDebugDraw']); +} +btDynamicsWorld.prototype['setBroadphase'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__setBroadphase_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['performDiscreteCollisionDetection'] = function() { + _emscripten_bind_btDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr); +} +btDynamicsWorld.prototype['getCollisionObjectArray'] = function() { + return _emscripten_bind_btDynamicsWorld__getCollisionObjectArray_p0(this.ptr); +} +btDynamicsWorld.prototype['debugDrawObject'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDynamicsWorld__debugDrawObject_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDynamicsWorld.prototype['removeConstraint'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__removeConstraint_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['rayTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDynamicsWorld__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDynamicsWorld.prototype['getNumConstraints'] = function() { + return _emscripten_bind_btDynamicsWorld__getNumConstraints_p0(this.ptr); +} +btDynamicsWorld.prototype['addCollisionObject'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btDynamicsWorld__addCollisionObject_p1(this.ptr, arg0.ptr); + else if (arg2 === undefined) + _emscripten_bind_btDynamicsWorld__addCollisionObject_p2(this.ptr, arg0.ptr, arg1); + else + _emscripten_bind_btDynamicsWorld__addCollisionObject_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btDynamicsWorld.prototype['removeRigidBody'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__removeRigidBody_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['contactTest'] = function(arg0, arg1) { + _emscripten_bind_btDynamicsWorld__contactTest_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btDynamicsWorld.prototype['setInternalTickCallback'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btDynamicsWorld__setInternalTickCallback_p1(this.ptr, arg0); + else if (arg2 === undefined) + _emscripten_bind_btDynamicsWorld__setInternalTickCallback_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btDynamicsWorld__setInternalTickCallback_p3(this.ptr, arg0, arg1, arg2); +} +btDynamicsWorld.prototype['getForceUpdateAllAabbs'] = function() { + return _emscripten_bind_btDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr); +} +btDynamicsWorld.prototype['updateAabbs'] = function() { + _emscripten_bind_btDynamicsWorld__updateAabbs_p0(this.ptr); +} +btDynamicsWorld.prototype['setDebugDrawer'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__setDebugDrawer_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['synchronizeMotionStates'] = function() { + _emscripten_bind_btDynamicsWorld__synchronizeMotionStates_p0(this.ptr); +} +btDynamicsWorld.prototype['convexSweepTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg4 === undefined) + _emscripten_bind_btDynamicsWorld__convexSweepTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btDynamicsWorld__convexSweepTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); +} +btDynamicsWorld.prototype['getNumCollisionObjects'] = function() { + return _emscripten_bind_btDynamicsWorld__getNumCollisionObjects_p0(this.ptr); +} +btDynamicsWorld.prototype['__destroy__'] = function() { + _emscripten_bind_btDynamicsWorld____destroy___p0(this.ptr); +} +btDynamicsWorld.prototype['addConstraint'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btDynamicsWorld__addConstraint_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btDynamicsWorld__addConstraint_p2(this.ptr, arg0.ptr, arg1); +} +btDynamicsWorld.prototype['contactPairTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDynamicsWorld__contactPairTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDynamicsWorld.prototype['getGravity'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getGravity_p0(this.ptr), Module['btVector3']); +} +btDynamicsWorld.prototype['debugDrawWorld'] = function() { + _emscripten_bind_btDynamicsWorld__debugDrawWorld_p0(this.ptr); +} +btDynamicsWorld.prototype['getBroadphase'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getBroadphase_p0(this.ptr), Module['btBroadphaseInterface']); +} +btDynamicsWorld.prototype['rayTestSingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btDynamicsWorld__rayTestSingle_p6(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr); +} +btDynamicsWorld.prototype['removeAction'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__removeAction_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['setForceUpdateAllAabbs'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr, arg0); +} +btDynamicsWorld.prototype['setWorldUserInfo'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__setWorldUserInfo_p1(this.ptr, arg0); +} +btDynamicsWorld.prototype['removeCharacter'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__removeCharacter_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['getConstraint'] = function(arg0) { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getConstraint_p1(this.ptr, arg0), Module['btTypedConstraint']); +} +btDynamicsWorld.prototype['getConstraintSolver'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getConstraintSolver_p0(this.ptr), Module['btConstraintSolver']); +} +btDynamicsWorld.prototype['stepSimulation'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + return _emscripten_bind_btDynamicsWorld__stepSimulation_p1(this.ptr, arg0); + else if (arg2 === undefined) + return _emscripten_bind_btDynamicsWorld__stepSimulation_p2(this.ptr, arg0, arg1); + else + return _emscripten_bind_btDynamicsWorld__stepSimulation_p3(this.ptr, arg0, arg1, arg2); +} +btDynamicsWorld.prototype['addCharacter'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__addCharacter_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['getWorldType'] = function() { + return _emscripten_bind_btDynamicsWorld__getWorldType_p0(this.ptr); +} +btDynamicsWorld.prototype['updateSingleAabb'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__updateSingleAabb_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['addVehicle'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__addVehicle_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['getPairCache'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btDynamicsWorld.prototype['getWorldUserInfo'] = function() { + return _emscripten_bind_btDynamicsWorld__getWorldUserInfo_p0(this.ptr); +} +btDynamicsWorld.prototype['removeCollisionObject'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__removeCollisionObject_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['setConstraintSolver'] = function(arg0) { + _emscripten_bind_btDynamicsWorld__setConstraintSolver_p1(this.ptr, arg0.ptr); +} +btDynamicsWorld.prototype['objectQuerySingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + _emscripten_bind_btDynamicsWorld__objectQuerySingle_p8(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7); +} +btDynamicsWorld.prototype['getDispatchInfo'] = function() { + return wrapPointer(_emscripten_bind_btDynamicsWorld__getDispatchInfo_p0(this.ptr), Module['btDispatcherInfo']); +} +function btDefaultVehicleRaycaster(arg0) { + this.ptr = _emscripten_bind_btDefaultVehicleRaycaster__btDefaultVehicleRaycaster_p1(arg0.ptr); + btDefaultVehicleRaycaster.prototype.__cache__[this.ptr] = this; + this.__class__ = btDefaultVehicleRaycaster; +} +btDefaultVehicleRaycaster.prototype.__cache__ = {}; +Module['btDefaultVehicleRaycaster'] = btDefaultVehicleRaycaster; +btDefaultVehicleRaycaster.prototype['__destroy__'] = function() { + _emscripten_bind_btDefaultVehicleRaycaster____destroy___p0(this.ptr); +} +btDefaultVehicleRaycaster.prototype['castRay'] = function(arg0, arg1, arg2) { + return _emscripten_bind_btDefaultVehicleRaycaster__castRay_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConstraintSetting.prototype['__destroy__'] = function() { + _emscripten_bind_btConstraintSetting____destroy___p0(this.ptr); +} +function btConstraintSetting() { + this.ptr = _emscripten_bind_btConstraintSetting__btConstraintSetting_p0(); + btConstraintSetting.prototype.__cache__[this.ptr] = this; + this.__class__ = btConstraintSetting; +} +btConstraintSetting.prototype.__cache__ = {}; +Module['btConstraintSetting'] = btConstraintSetting; +btConstraintSetting.prototype['set_m_impulseClamp'] = function(arg0) { + _emscripten_bind_btConstraintSetting__set_m_impulseClamp_p1(this.ptr, arg0); +} +btConstraintSetting.prototype['get_m_damping'] = function() { + return _emscripten_bind_btConstraintSetting__get_m_damping_p0(this.ptr); +} +btConstraintSetting.prototype['get_m_impulseClamp'] = function() { + return _emscripten_bind_btConstraintSetting__get_m_impulseClamp_p0(this.ptr); +} +btConstraintSetting.prototype['set_m_tau'] = function(arg0) { + _emscripten_bind_btConstraintSetting__set_m_tau_p1(this.ptr, arg0); +} +btConstraintSetting.prototype['set_m_damping'] = function(arg0) { + _emscripten_bind_btConstraintSetting__set_m_damping_p1(this.ptr, arg0); +} +btConstraintSetting.prototype['get_m_tau'] = function() { + return _emscripten_bind_btConstraintSetting__get_m_tau_p0(this.ptr); +} +btStackAlloc.prototype['__destroy__'] = function() { + _emscripten_bind_btStackAlloc____destroy___p0(this.ptr); +} +btStackAlloc.prototype['create'] = function(arg0) { + _emscripten_bind_btStackAlloc__create_p1(this.ptr, arg0); +} +function btStackAlloc(arg0) { + this.ptr = _emscripten_bind_btStackAlloc__btStackAlloc_p1(arg0); + btStackAlloc.prototype.__cache__[this.ptr] = this; + this.__class__ = btStackAlloc; +} +btStackAlloc.prototype.__cache__ = {}; +Module['btStackAlloc'] = btStackAlloc; +btStackAlloc.prototype['allocate'] = function(arg0) { + return _emscripten_bind_btStackAlloc__allocate_p1(this.ptr, arg0); +} +btStackAlloc.prototype['destroy'] = function() { + _emscripten_bind_btStackAlloc__destroy_p0(this.ptr); +} +btStackAlloc.prototype['beginBlock'] = function() { + return wrapPointer(_emscripten_bind_btStackAlloc__beginBlock_p0(this.ptr), Module['btBlock']); +} +btStackAlloc.prototype['getAvailableMemory'] = function() { + return _emscripten_bind_btStackAlloc__getAvailableMemory_p0(this.ptr); +} +btStackAlloc.prototype['endBlock'] = function(arg0) { + _emscripten_bind_btStackAlloc__endBlock_p1(this.ptr, arg0.ptr); +} +function btContactSolverInfo() { + this.ptr = _emscripten_bind_btContactSolverInfo__btContactSolverInfo_p0(); + btContactSolverInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btContactSolverInfo; +} +btContactSolverInfo.prototype.__cache__ = {}; +Module['btContactSolverInfo'] = btContactSolverInfo; +btContactSolverInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btContactSolverInfo____destroy___p0(this.ptr); +} +btUniversalConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btUniversalConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btUniversalConstraint__buildJacobian_p0(this.ptr); +} +btUniversalConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btUniversalConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btUniversalConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btUniversalConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btUniversalConstraint__getUid_p0(this.ptr); +} +btUniversalConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setEnabled_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['getFrameOffsetA'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getFrameOffsetA_p0(this.ptr), Module['btTransform']); +} +btUniversalConstraint.prototype['getRelativePivotPosition'] = function(arg0) { + return _emscripten_bind_btUniversalConstraint__getRelativePivotPosition_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['getFrameOffsetB'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getFrameOffsetB_p0(this.ptr), Module['btTransform']); +} +btUniversalConstraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + _emscripten_bind_btUniversalConstraint__getInfo2NonVirtual_p7(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr); +} +btUniversalConstraint.prototype['getCalculatedTransformA'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getCalculatedTransformA_p0(this.ptr), Module['btTransform']); +} +btUniversalConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btUniversalConstraint__getUserConstraintId_p0(this.ptr); +} +btUniversalConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btUniversalConstraint__get_m_objectType_p0(this.ptr); +} +btUniversalConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btUniversalConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btUniversalConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btUniversalConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btUniversalConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btUniversalConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btUniversalConstraint.prototype['setUpperLimit'] = function(arg0, arg1) { + _emscripten_bind_btUniversalConstraint__setUpperLimit_p2(this.ptr, arg0, arg1); +} +btUniversalConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['calcAnchorPos'] = function() { + _emscripten_bind_btUniversalConstraint__calcAnchorPos_p0(this.ptr); +} +btUniversalConstraint.prototype['getAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__getAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btUniversalConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btUniversalConstraint.prototype['getAxis'] = function(arg0) { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getAxis_p1(this.ptr, arg0), Module['btVector3']); +} +btUniversalConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btUniversalConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btUniversalConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btUniversalConstraint__isEnabled_p0(this.ptr); +} +btUniversalConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['getLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__getLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btUniversalConstraint__getConstraintType_p0(this.ptr); +} +btUniversalConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__enableFeedback_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['getAnchor'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getAnchor_p0(this.ptr), Module['btVector3']); +} +btUniversalConstraint.prototype['setUseFrameOffset'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setUseFrameOffset_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['isLimited'] = function(arg0) { + return _emscripten_bind_btUniversalConstraint__isLimited_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['getAngle2'] = function() { + return _emscripten_bind_btUniversalConstraint__getAngle2_p0(this.ptr); +} +btUniversalConstraint.prototype['getRotationalLimitMotor'] = function(arg0) { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getRotationalLimitMotor_p1(this.ptr, arg0), Module['btRotationalLimitMotor']); +} +btUniversalConstraint.prototype['getAngle1'] = function() { + return _emscripten_bind_btUniversalConstraint__getAngle1_p0(this.ptr); +} +btUniversalConstraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btUniversalConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btUniversalConstraint.prototype['setLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['getAnchor2'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getAnchor2_p0(this.ptr), Module['btVector3']); +} +btUniversalConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btUniversalConstraint____destroy___p0(this.ptr); +} +btUniversalConstraint.prototype['getLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__getLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['setFrames'] = function(arg0, arg1) { + _emscripten_bind_btUniversalConstraint__setFrames_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btUniversalConstraint.prototype['getUseFrameOffset'] = function() { + return _emscripten_bind_btUniversalConstraint__getUseFrameOffset_p0(this.ptr); +} +btUniversalConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['getCalculatedTransformB'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getCalculatedTransformB_p0(this.ptr), Module['btTransform']); +} +btUniversalConstraint.prototype['calculateTransforms'] = function(arg0, arg1) { + if (arg0 === undefined) + _emscripten_bind_btUniversalConstraint__calculateTransforms_p0(this.ptr); + else + _emscripten_bind_btUniversalConstraint__calculateTransforms_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btUniversalConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['get_limit_motor_info2'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + if (arg11 === undefined) + return _emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p11(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10); + else + return _emscripten_bind_btUniversalConstraint__get_limit_motor_info2_p12(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10, arg11); +} +btUniversalConstraint.prototype['get_m_useSolveConstraintObsolete'] = function() { + return _emscripten_bind_btUniversalConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr); +} +btUniversalConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btUniversalConstraint__getAppliedImpulse_p0(this.ptr); +} +btUniversalConstraint.prototype['setLimit'] = function(arg0, arg1, arg2) { + _emscripten_bind_btUniversalConstraint__setLimit_p3(this.ptr, arg0, arg1, arg2); +} +function btUniversalConstraint(arg0, arg1, arg2, arg3, arg4) { + this.ptr = _emscripten_bind_btUniversalConstraint__btUniversalConstraint_p5(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); + btUniversalConstraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btUniversalConstraint; +} +btUniversalConstraint.prototype.__cache__ = {}; +Module['btUniversalConstraint'] = btUniversalConstraint; +btUniversalConstraint.prototype['getTranslationalLimitMotor'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getTranslationalLimitMotor_p0(this.ptr), Module['btTranslationalLimitMotor']); +} +btUniversalConstraint.prototype['setLowerLimit'] = function(arg0, arg1) { + _emscripten_bind_btUniversalConstraint__setLowerLimit_p2(this.ptr, arg0, arg1); +} +btUniversalConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btUniversalConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btUniversalConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btUniversalConstraint__needsFeedback_p0(this.ptr); +} +btUniversalConstraint.prototype['getAngle'] = function(arg0) { + return _emscripten_bind_btUniversalConstraint__getAngle_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['set_m_useSolveConstraintObsolete'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['updateRHS'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__updateRHS_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['getAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__getAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['setAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btUniversalConstraint__getObjectType_p0(this.ptr); +} +btUniversalConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btUniversalConstraint__getUserConstraintType_p0(this.ptr); +} +btUniversalConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btUniversalConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btUniversalConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btUniversalConstraint__getDbgDrawSize_p0(this.ptr); +} +btUniversalConstraint.prototype['getAxis1'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getAxis1_p0(this.ptr), Module['btVector3']); +} +btUniversalConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btUniversalConstraint__getUserConstraintPtr_p0(this.ptr); +} +btUniversalConstraint.prototype['getAxis2'] = function() { + return wrapPointer(_emscripten_bind_btUniversalConstraint__getAxis2_p0(this.ptr), Module['btVector3']); +} +btUniversalConstraint.prototype['setLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['setAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btUniversalConstraint.prototype['setAxis'] = function(arg0, arg1) { + _emscripten_bind_btUniversalConstraint__setAxis_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btUniversalConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btUniversalConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btUniversalConstraint.prototype['testAngularLimitMotor'] = function(arg0) { + return _emscripten_bind_btUniversalConstraint__testAngularLimitMotor_p1(this.ptr, arg0); +} +btEmptyShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btEmptyShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btEmptyShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btEmptyShape__setUserPointer_p1(this.ptr, arg0); +} +btEmptyShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btEmptyShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btEmptyShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btEmptyShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btEmptyShape.prototype['processAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btEmptyShape__processAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btEmptyShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btEmptyShape__calculateSerializeBufferSize_p0(this.ptr); +} +btEmptyShape.prototype['getName'] = function() { + return _emscripten_bind_btEmptyShape__getName_p0(this.ptr); +} +btEmptyShape.prototype['isCompound'] = function() { + return _emscripten_bind_btEmptyShape__isCompound_p0(this.ptr); +} +btEmptyShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btEmptyShape__isPolyhedral_p0(this.ptr); +} +btEmptyShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btEmptyShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btEmptyShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btEmptyShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btEmptyShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btEmptyShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btEmptyShape.prototype['isConvex'] = function() { + return _emscripten_bind_btEmptyShape__isConvex_p0(this.ptr); +} +btEmptyShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btEmptyShape__isInfinite_p0(this.ptr); +} +btEmptyShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btEmptyShape__getUserPointer_p0(this.ptr); +} +btEmptyShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btEmptyShape__isNonMoving_p0(this.ptr); +} +btEmptyShape.prototype['getMargin'] = function() { + return _emscripten_bind_btEmptyShape__getMargin_p0(this.ptr); +} +btEmptyShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btEmptyShape__setMargin_p1(this.ptr, arg0); +} +btEmptyShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btEmptyShape__isConvex2d_p0(this.ptr); +} +btEmptyShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btEmptyShape__isSoftBody_p0(this.ptr); +} +function btEmptyShape() { + this.ptr = _emscripten_bind_btEmptyShape__btEmptyShape_p0(); + btEmptyShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btEmptyShape; +} +btEmptyShape.prototype.__cache__ = {}; +Module['btEmptyShape'] = btEmptyShape; +btEmptyShape.prototype['__destroy__'] = function() { + _emscripten_bind_btEmptyShape____destroy___p0(this.ptr); +} +btEmptyShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btEmptyShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btEmptyShape.prototype['isConcave'] = function() { + return _emscripten_bind_btEmptyShape__isConcave_p0(this.ptr); +} +btEmptyShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btEmptyShape__getAngularMotionDisc_p0(this.ptr); +} +btEmptyShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btEmptyShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btEmptyShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btEmptyShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btEmptyShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btEmptyShape__getShapeType_p0(this.ptr); +} +btRigidBody.prototype['updateDeactivation'] = function(arg0) { + _emscripten_bind_btRigidBody__updateDeactivation_p1(this.ptr, arg0); +} +btRigidBody.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btRigidBody__setUserPointer_p1(this.ptr, arg0); +} +btRigidBody.prototype['wantsSleeping'] = function() { + return _emscripten_bind_btRigidBody__wantsSleeping_p0(this.ptr); +} +btRigidBody.prototype['getOrientation'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getOrientation_p0(this.ptr), Module['btQuaternion']); +} +btRigidBody.prototype['setMassProps'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__setMassProps_p2(this.ptr, arg0, arg1.ptr); +} +btRigidBody.prototype['setMotionState'] = function(arg0) { + _emscripten_bind_btRigidBody__setMotionState_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['clearForces'] = function() { + _emscripten_bind_btRigidBody__clearForces_p0(this.ptr); +} +btRigidBody.prototype['getInterpolationLinearVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getInterpolationLinearVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['set_m_frictionSolverType'] = function(arg0) { + _emscripten_bind_btRigidBody__set_m_frictionSolverType_p1(this.ptr, arg0); +} +btRigidBody.prototype['setCollisionShape'] = function(arg0) { + _emscripten_bind_btRigidBody__setCollisionShape_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getHitFraction'] = function() { + return _emscripten_bind_btRigidBody__getHitFraction_p0(this.ptr); +} +btRigidBody.prototype['getTurnVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getTurnVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['internalGetInvMass'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__internalGetInvMass_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['setIslandTag'] = function(arg0) { + _emscripten_bind_btRigidBody__setIslandTag_p1(this.ptr, arg0); +} +btRigidBody.prototype['getInvMass'] = function() { + return _emscripten_bind_btRigidBody__getInvMass_p0(this.ptr); +} +btRigidBody.prototype['getCollisionFlags'] = function() { + return _emscripten_bind_btRigidBody__getCollisionFlags_p0(this.ptr); +} +btRigidBody.prototype['getTotalForce'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getTotalForce_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['getCenterOfMassPosition'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getCenterOfMassPosition_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['getDeactivationTime'] = function() { + return _emscripten_bind_btRigidBody__getDeactivationTime_p0(this.ptr); +} +btRigidBody.prototype['getRootCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getRootCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btRigidBody.prototype['getGravity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getGravity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['setCenterOfMassTransform'] = function(arg0) { + _emscripten_bind_btRigidBody__setCenterOfMassTransform_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['setFlags'] = function(arg0) { + _emscripten_bind_btRigidBody__setFlags_p1(this.ptr, arg0); +} +btRigidBody.prototype['isActive'] = function() { + return _emscripten_bind_btRigidBody__isActive_p0(this.ptr); +} +btRigidBody.prototype['getActivationState'] = function() { + return _emscripten_bind_btRigidBody__getActivationState_p0(this.ptr); +} +btRigidBody.prototype['getTotalTorque'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getTotalTorque_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['getInvInertiaTensorWorld'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getInvInertiaTensorWorld_p0(this.ptr), Module['btMatrix3x3']); +} +btRigidBody.prototype['computeImpulseDenominator'] = function(arg0, arg1) { + return _emscripten_bind_btRigidBody__computeImpulseDenominator_p2(this.ptr, arg0.ptr, arg1.ptr); +} +function btRigidBody(arg0, arg1, arg2, arg3) { + if (arg1 === undefined) + this.ptr = _emscripten_bind_btRigidBody__btRigidBody_p1(arg0.ptr); + else if (arg3 === undefined) + this.ptr = _emscripten_bind_btRigidBody__btRigidBody_p3(arg0, arg1.ptr, arg2.ptr); + else + this.ptr = _emscripten_bind_btRigidBody__btRigidBody_p4(arg0, arg1.ptr, arg2.ptr, arg3.ptr); + btRigidBody.prototype.__cache__[this.ptr] = this; + this.__class__ = btRigidBody; +} +btRigidBody.prototype.__cache__ = {}; +Module['btRigidBody'] = btRigidBody; +btRigidBody.prototype['getLinearSleepingThreshold'] = function() { + return _emscripten_bind_btRigidBody__getLinearSleepingThreshold_p0(this.ptr); +} +btRigidBody.prototype['internalGetExtensionPointer'] = function() { + return _emscripten_bind_btRigidBody__internalGetExtensionPointer_p0(this.ptr); +} +btRigidBody.prototype['applyForce'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__applyForce_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btRigidBody.prototype['internalGetVelocityInLocalPointObsolete'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__internalGetVelocityInLocalPointObsolete_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btRigidBody.prototype['mergesSimulationIslands'] = function() { + return _emscripten_bind_btRigidBody__mergesSimulationIslands_p0(this.ptr); +} +btRigidBody.prototype['getFriction'] = function() { + return _emscripten_bind_btRigidBody__getFriction_p0(this.ptr); +} +btRigidBody.prototype['setContactProcessingThreshold'] = function(arg0) { + _emscripten_bind_btRigidBody__setContactProcessingThreshold_p1(this.ptr, arg0); +} +btRigidBody.prototype['internalGetDeltaAngularVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__internalGetDeltaAngularVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['applyCentralForce'] = function(arg0) { + _emscripten_bind_btRigidBody__applyCentralForce_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['applyImpulse'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__applyImpulse_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btRigidBody.prototype['applyTorque'] = function(arg0) { + _emscripten_bind_btRigidBody__applyTorque_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getIslandTag'] = function() { + return _emscripten_bind_btRigidBody__getIslandTag_p0(this.ptr); +} +btRigidBody.prototype['internalGetAngularFactor'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__internalGetAngularFactor_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['predictIntegratedTransform'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__predictIntegratedTransform_p2(this.ptr, arg0, arg1.ptr); +} +btRigidBody.prototype['getInterpolationAngularVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getInterpolationAngularVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['forceActivationState'] = function(arg0) { + _emscripten_bind_btRigidBody__forceActivationState_p1(this.ptr, arg0); +} +btRigidBody.prototype['getAngularVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getAngularVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['getLinearVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getLinearVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['checkCollideWithOverride'] = function(arg0) { + return _emscripten_bind_btRigidBody__checkCollideWithOverride_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getBroadphaseHandle'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getBroadphaseHandle_p0(this.ptr), Module['btBroadphaseProxy']); +} +btRigidBody.prototype['getUserPointer'] = function() { + return _emscripten_bind_btRigidBody__getUserPointer_p0(this.ptr); +} +btRigidBody.prototype['setCcdSweptSphereRadius'] = function(arg0) { + _emscripten_bind_btRigidBody__setCcdSweptSphereRadius_p1(this.ptr, arg0); +} +btRigidBody.prototype['setAngularVelocity'] = function(arg0) { + _emscripten_bind_btRigidBody__setAngularVelocity_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['addConstraintRef'] = function(arg0) { + _emscripten_bind_btRigidBody__addConstraintRef_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['integrateVelocities'] = function(arg0) { + _emscripten_bind_btRigidBody__integrateVelocities_p1(this.ptr, arg0); +} +btRigidBody.prototype['isInWorld'] = function() { + return _emscripten_bind_btRigidBody__isInWorld_p0(this.ptr); +} +btRigidBody.prototype['internalSetTemporaryCollisionShape'] = function(arg0) { + _emscripten_bind_btRigidBody__internalSetTemporaryCollisionShape_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['computeAngularImpulseDenominator'] = function(arg0) { + return _emscripten_bind_btRigidBody__computeAngularImpulseDenominator_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getAngularDamping'] = function() { + return _emscripten_bind_btRigidBody__getAngularDamping_p0(this.ptr); +} +btRigidBody.prototype['setNewBroadphaseProxy'] = function(arg0) { + _emscripten_bind_btRigidBody__setNewBroadphaseProxy_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['removeConstraintRef'] = function(arg0) { + _emscripten_bind_btRigidBody__removeConstraintRef_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getAngularFactor'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getAngularFactor_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['isStaticOrKinematicObject'] = function() { + return _emscripten_bind_btRigidBody__isStaticOrKinematicObject_p0(this.ptr); +} +btRigidBody.prototype['setRestitution'] = function(arg0) { + _emscripten_bind_btRigidBody__setRestitution_p1(this.ptr, arg0); +} +btRigidBody.prototype['isKinematicObject'] = function() { + return _emscripten_bind_btRigidBody__isKinematicObject_p0(this.ptr); +} +btRigidBody.prototype['proceedToTransform'] = function(arg0) { + _emscripten_bind_btRigidBody__proceedToTransform_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['internalWritebackVelocity'] = function(arg0) { + if (arg0 === undefined) + _emscripten_bind_btRigidBody__internalWritebackVelocity_p0(this.ptr); + else + _emscripten_bind_btRigidBody__internalWritebackVelocity_p1(this.ptr, arg0); +} +btRigidBody.prototype['setInterpolationLinearVelocity'] = function(arg0) { + _emscripten_bind_btRigidBody__setInterpolationLinearVelocity_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['applyGravity'] = function() { + _emscripten_bind_btRigidBody__applyGravity_p0(this.ptr); +} +btRigidBody.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btRigidBody__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btRigidBody.prototype['internalApplyImpulse'] = function(arg0, arg1, arg2) { + _emscripten_bind_btRigidBody__internalApplyImpulse_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btRigidBody.prototype['internalSetExtensionPointer'] = function(arg0) { + _emscripten_bind_btRigidBody__internalSetExtensionPointer_p1(this.ptr, arg0); +} +btRigidBody.prototype['activate'] = function(arg0) { + if (arg0 === undefined) + _emscripten_bind_btRigidBody__activate_p0(this.ptr); + else + _emscripten_bind_btRigidBody__activate_p1(this.ptr, arg0); +} +btRigidBody.prototype['getMotionState'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getMotionState_p0(this.ptr), Module['btMotionState']); +} +btRigidBody.prototype['setCompanionId'] = function(arg0) { + _emscripten_bind_btRigidBody__setCompanionId_p1(this.ptr, arg0); +} +btRigidBody.prototype['internalApplyPushImpulse'] = function(arg0, arg1, arg2) { + _emscripten_bind_btRigidBody__internalApplyPushImpulse_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btRigidBody.prototype['setCcdMotionThreshold'] = function(arg0) { + _emscripten_bind_btRigidBody__setCcdMotionThreshold_p1(this.ptr, arg0); +} +btRigidBody.prototype['getVelocityInLocalPoint'] = function(arg0) { + return wrapPointer(_emscripten_bind_btRigidBody__getVelocityInLocalPoint_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btRigidBody.prototype['getCcdMotionThreshold'] = function() { + return _emscripten_bind_btRigidBody__getCcdMotionThreshold_p0(this.ptr); +} +btRigidBody.prototype['getLinearFactor'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getLinearFactor_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['getAnisotropicFriction'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getAnisotropicFriction_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['getAngularSleepingThreshold'] = function() { + return _emscripten_bind_btRigidBody__getAngularSleepingThreshold_p0(this.ptr); +} +btRigidBody.prototype['getInterpolationWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getInterpolationWorldTransform_p0(this.ptr), Module['btTransform']); +} +btRigidBody.prototype['getAabb'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__getAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btRigidBody.prototype['serializeSingleObject'] = function(arg0) { + _emscripten_bind_btRigidBody__serializeSingleObject_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['translate'] = function(arg0) { + _emscripten_bind_btRigidBody__translate_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getWorldTransform_p0(this.ptr), Module['btTransform']); +} +btRigidBody.prototype['getBroadphaseProxy'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getBroadphaseProxy_p0(this.ptr), Module['btBroadphaseProxy']); +} +btRigidBody.prototype['getCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btRigidBody.prototype['setAnisotropicFriction'] = function(arg0) { + _emscripten_bind_btRigidBody__setAnisotropicFriction_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['get_m_contactSolverType'] = function() { + return _emscripten_bind_btRigidBody__get_m_contactSolverType_p0(this.ptr); +} +btRigidBody.prototype['internalGetDeltaLinearVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__internalGetDeltaLinearVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['hasContactResponse'] = function() { + return _emscripten_bind_btRigidBody__hasContactResponse_p0(this.ptr); +} +btRigidBody.prototype['upcast'] = function(arg0) { + return wrapPointer(_emscripten_bind_btRigidBody__upcast_p1(arg0.ptr), Module['btRigidBody']); +} +btRigidBody.prototype['getCompanionId'] = function() { + return _emscripten_bind_btRigidBody__getCompanionId_p0(this.ptr); +} +btRigidBody.prototype['saveKinematicState'] = function(arg0) { + _emscripten_bind_btRigidBody__saveKinematicState_p1(this.ptr, arg0); +} +btRigidBody.prototype['setWorldTransform'] = function(arg0) { + _emscripten_bind_btRigidBody__setWorldTransform_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['setActivationState'] = function(arg0) { + _emscripten_bind_btRigidBody__setActivationState_p1(this.ptr, arg0); +} +btRigidBody.prototype['getDeltaAngularVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getDeltaAngularVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['getCcdSweptSphereRadius'] = function() { + return _emscripten_bind_btRigidBody__getCcdSweptSphereRadius_p0(this.ptr); +} +btRigidBody.prototype['getConstraintRef'] = function(arg0) { + return wrapPointer(_emscripten_bind_btRigidBody__getConstraintRef_p1(this.ptr, arg0), Module['btTypedConstraint']); +} +btRigidBody.prototype['setDeactivationTime'] = function(arg0) { + _emscripten_bind_btRigidBody__setDeactivationTime_p1(this.ptr, arg0); +} +btRigidBody.prototype['getCenterOfMassTransform'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getCenterOfMassTransform_p0(this.ptr), Module['btTransform']); +} +btRigidBody.prototype['hasAnisotropicFriction'] = function() { + return _emscripten_bind_btRigidBody__hasAnisotropicFriction_p0(this.ptr); +} +btRigidBody.prototype['setBroadphaseHandle'] = function(arg0) { + _emscripten_bind_btRigidBody__setBroadphaseHandle_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getFlags'] = function() { + return _emscripten_bind_btRigidBody__getFlags_p0(this.ptr); +} +btRigidBody.prototype['setGravity'] = function(arg0) { + _emscripten_bind_btRigidBody__setGravity_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getCcdSquareMotionThreshold'] = function() { + return _emscripten_bind_btRigidBody__getCcdSquareMotionThreshold_p0(this.ptr); +} +btRigidBody.prototype['setAngularFactor'] = function(arg0) { + _emscripten_bind_btRigidBody__setAngularFactor_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getPushVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getPushVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['updateInertiaTensor'] = function() { + _emscripten_bind_btRigidBody__updateInertiaTensor_p0(this.ptr); +} +btRigidBody.prototype['setInterpolationAngularVelocity'] = function(arg0) { + _emscripten_bind_btRigidBody__setInterpolationAngularVelocity_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['setFriction'] = function(arg0) { + _emscripten_bind_btRigidBody__setFriction_p1(this.ptr, arg0); +} +btRigidBody.prototype['setDamping'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__setDamping_p2(this.ptr, arg0, arg1); +} +btRigidBody.prototype['getInternalType'] = function() { + return _emscripten_bind_btRigidBody__getInternalType_p0(this.ptr); +} +btRigidBody.prototype['set_m_contactSolverType'] = function(arg0) { + _emscripten_bind_btRigidBody__set_m_contactSolverType_p1(this.ptr, arg0); +} +btRigidBody.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btRigidBody__calculateSerializeBufferSize_p0(this.ptr); +} +btRigidBody.prototype['checkCollideWith'] = function(arg0) { + return _emscripten_bind_btRigidBody__checkCollideWith_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getInvInertiaDiagLocal'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getInvInertiaDiagLocal_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['applyTorqueImpulse'] = function(arg0) { + _emscripten_bind_btRigidBody__applyTorqueImpulse_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['internalGetPushVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__internalGetPushVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['setLinearFactor'] = function(arg0) { + _emscripten_bind_btRigidBody__setLinearFactor_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['setLinearVelocity'] = function(arg0) { + _emscripten_bind_btRigidBody__setLinearVelocity_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['isStaticObject'] = function() { + return _emscripten_bind_btRigidBody__isStaticObject_p0(this.ptr); +} +btRigidBody.prototype['applyCentralImpulse'] = function(arg0) { + _emscripten_bind_btRigidBody__applyCentralImpulse_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['setCollisionFlags'] = function(arg0) { + _emscripten_bind_btRigidBody__setCollisionFlags_p1(this.ptr, arg0); +} +btRigidBody.prototype['getDeltaLinearVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__getDeltaLinearVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['setInvInertiaDiagLocal'] = function(arg0) { + _emscripten_bind_btRigidBody__setInvInertiaDiagLocal_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['setSleepingThresholds'] = function(arg0, arg1) { + _emscripten_bind_btRigidBody__setSleepingThresholds_p2(this.ptr, arg0, arg1); +} +btRigidBody.prototype['get_m_frictionSolverType'] = function() { + return _emscripten_bind_btRigidBody__get_m_frictionSolverType_p0(this.ptr); +} +btRigidBody.prototype['__destroy__'] = function() { + _emscripten_bind_btRigidBody____destroy___p0(this.ptr); +} +btRigidBody.prototype['internalGetAngularVelocity'] = function(arg0) { + _emscripten_bind_btRigidBody__internalGetAngularVelocity_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['getNumConstraintRefs'] = function() { + return _emscripten_bind_btRigidBody__getNumConstraintRefs_p0(this.ptr); +} +btRigidBody.prototype['getRestitution'] = function() { + return _emscripten_bind_btRigidBody__getRestitution_p0(this.ptr); +} +btRigidBody.prototype['getContactProcessingThreshold'] = function() { + return _emscripten_bind_btRigidBody__getContactProcessingThreshold_p0(this.ptr); +} +btRigidBody.prototype['internalGetTurnVelocity'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__internalGetTurnVelocity_p0(this.ptr), Module['btVector3']); +} +btRigidBody.prototype['setInterpolationWorldTransform'] = function(arg0) { + _emscripten_bind_btRigidBody__setInterpolationWorldTransform_p1(this.ptr, arg0.ptr); +} +btRigidBody.prototype['setHitFraction'] = function(arg0) { + _emscripten_bind_btRigidBody__setHitFraction_p1(this.ptr, arg0); +} +btRigidBody.prototype['applyDamping'] = function(arg0) { + _emscripten_bind_btRigidBody__applyDamping_p1(this.ptr, arg0); +} +btRigidBody.prototype['getLinearDamping'] = function() { + return _emscripten_bind_btRigidBody__getLinearDamping_p0(this.ptr); +} +btOptimizedBvh.prototype['buildInternal'] = function() { + _emscripten_bind_btOptimizedBvh__buildInternal_p0(this.ptr); +} +btOptimizedBvh.prototype['serialize'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + return _emscripten_bind_btOptimizedBvh__serialize_p2(this.ptr, arg0, arg1.ptr); + else + return _emscripten_bind_btOptimizedBvh__serialize_p3(this.ptr, arg0, arg1, arg2); +} +btOptimizedBvh.prototype['getLeafNodeArray'] = function() { + return _emscripten_bind_btOptimizedBvh__getLeafNodeArray_p0(this.ptr); +} +btOptimizedBvh.prototype['setQuantizationValues'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btOptimizedBvh__setQuantizationValues_p2(this.ptr, arg0.ptr, arg1.ptr); + else + _emscripten_bind_btOptimizedBvh__setQuantizationValues_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btOptimizedBvh.prototype['quantize'] = function(arg0, arg1, arg2) { + _emscripten_bind_btOptimizedBvh__quantize_p3(this.ptr, arg0, arg1.ptr, arg2); +} +btOptimizedBvh.prototype['isQuantized'] = function() { + return _emscripten_bind_btOptimizedBvh__isQuantized_p0(this.ptr); +} +btOptimizedBvh.prototype['getAlignmentSerializationPadding'] = function() { + return _emscripten_bind_btOptimizedBvh__getAlignmentSerializationPadding_p0(); +} +btOptimizedBvh.prototype['updateBvhNodes'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btOptimizedBvh__updateBvhNodes_p4(this.ptr, arg0.ptr, arg1, arg2, arg3); +} +btOptimizedBvh.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btOptimizedBvh__calculateSerializeBufferSize_p0(this.ptr); +} +btOptimizedBvh.prototype['getQuantizedNodeArray'] = function() { + return _emscripten_bind_btOptimizedBvh__getQuantizedNodeArray_p0(this.ptr); +} +btOptimizedBvh.prototype['reportAabbOverlappingNodex'] = function(arg0, arg1, arg2) { + _emscripten_bind_btOptimizedBvh__reportAabbOverlappingNodex_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btOptimizedBvh.prototype['reportRayOverlappingNodex'] = function(arg0, arg1, arg2) { + _emscripten_bind_btOptimizedBvh__reportRayOverlappingNodex_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btOptimizedBvh.prototype['build'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btOptimizedBvh__build_p4(this.ptr, arg0.ptr, arg1, arg2.ptr, arg3.ptr); +} +btOptimizedBvh.prototype['refitPartial'] = function(arg0, arg1, arg2) { + _emscripten_bind_btOptimizedBvh__refitPartial_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btOptimizedBvh.prototype['deSerializeInPlace'] = function(arg0, arg1, arg2) { + return wrapPointer(_emscripten_bind_btOptimizedBvh__deSerializeInPlace_p3(arg0, arg1, arg2), Module['btOptimizedBvh']); +} +btOptimizedBvh.prototype['quantizeWithClamp'] = function(arg0, arg1, arg2) { + _emscripten_bind_btOptimizedBvh__quantizeWithClamp_p3(this.ptr, arg0, arg1.ptr, arg2); +} +btOptimizedBvh.prototype['refit'] = function(arg0, arg1, arg2) { + _emscripten_bind_btOptimizedBvh__refit_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btOptimizedBvh.prototype['deSerializeDouble'] = function(arg0) { + _emscripten_bind_btOptimizedBvh__deSerializeDouble_p1(this.ptr, arg0.ptr); +} +btOptimizedBvh.prototype['calculateSerializeBufferSizeNew'] = function() { + return _emscripten_bind_btOptimizedBvh__calculateSerializeBufferSizeNew_p0(this.ptr); +} +btOptimizedBvh.prototype['__destroy__'] = function() { + _emscripten_bind_btOptimizedBvh____destroy___p0(this.ptr); +} +btOptimizedBvh.prototype['deSerializeFloat'] = function(arg0) { + _emscripten_bind_btOptimizedBvh__deSerializeFloat_p1(this.ptr, arg0.ptr); +} +btOptimizedBvh.prototype['serializeInPlace'] = function(arg0, arg1, arg2) { + return _emscripten_bind_btOptimizedBvh__serializeInPlace_p3(this.ptr, arg0, arg1, arg2); +} +btOptimizedBvh.prototype['getSubtreeInfoArray'] = function() { + return _emscripten_bind_btOptimizedBvh__getSubtreeInfoArray_p0(this.ptr); +} +btOptimizedBvh.prototype['unQuantize'] = function(arg0) { + return wrapPointer(_emscripten_bind_btOptimizedBvh__unQuantize_p1(this.ptr, arg0), Module['btVector3']); +} +btOptimizedBvh.prototype['reportBoxCastOverlappingNodex'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btOptimizedBvh__reportBoxCastOverlappingNodex_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +function btOptimizedBvh() { + this.ptr = _emscripten_bind_btOptimizedBvh__btOptimizedBvh_p0(); + btOptimizedBvh.prototype.__cache__[this.ptr] = this; + this.__class__ = btOptimizedBvh; +} +btOptimizedBvh.prototype.__cache__ = {}; +Module['btOptimizedBvh'] = btOptimizedBvh; +function btTypedConstraint(){ throw "btTypedConstraint is abstract!" } +btTypedConstraint.prototype.__cache__ = {}; +Module['btTypedConstraint'] = btTypedConstraint; +btTypedConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btTypedConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btTypedConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btTypedConstraint__buildJacobian_p0(this.ptr); +} +btTypedConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btTypedConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btTypedConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btTypedConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btTypedConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btTypedConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btTypedConstraint__enableFeedback_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btTypedConstraint__getUserConstraintId_p0(this.ptr); +} +btTypedConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btTypedConstraint__get_m_objectType_p0(this.ptr); +} +btTypedConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btTypedConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btTypedConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btTypedConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btTypedConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btTypedConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btTypedConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btTypedConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btTypedConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btTypedConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btTypedConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btTypedConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btTypedConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btTypedConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btTypedConstraint__isEnabled_p0(this.ptr); +} +btTypedConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btTypedConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btTypedConstraint__getConstraintType_p0(this.ptr); +} +btTypedConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btTypedConstraint__getDbgDrawSize_p0(this.ptr); +} +btTypedConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btTypedConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btTypedConstraint__needsFeedback_p0(this.ptr); +} +btTypedConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btTypedConstraint__getObjectType_p0(this.ptr); +} +btTypedConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btTypedConstraint__getUserConstraintPtr_p0(this.ptr); +} +btTypedConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btTypedConstraint__setEnabled_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btTypedConstraint__getUid_p0(this.ptr); +} +btTypedConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btTypedConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btTypedConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btTypedConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btTypedConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btTypedConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btTypedConstraint____destroy___p0(this.ptr); +} +btTypedConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btTypedConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btTypedConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btTypedConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btTypedConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btTypedConstraint__getUserConstraintType_p0(this.ptr); +} +btTypedConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btTypedConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btTypedConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btTypedConstraint__getAppliedImpulse_p0(this.ptr); +} +btTypedConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btTypedConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +function btPolyhedralConvexShape(){ throw "btPolyhedralConvexShape is abstract!" } +btPolyhedralConvexShape.prototype.__cache__ = {}; +Module['btPolyhedralConvexShape'] = btPolyhedralConvexShape; +btPolyhedralConvexShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexShape.prototype['getNumPlanes'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getNumPlanes_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexShape__setUserPointer_p1(this.ptr, arg0); +} +btPolyhedralConvexShape.prototype['isInside'] = function(arg0, arg1) { + return _emscripten_bind_btPolyhedralConvexShape__isInside_p2(this.ptr, arg0.ptr, arg1); +} +btPolyhedralConvexShape.prototype['getNumVertices'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getNumVertices_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btPolyhedralConvexShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isPolyhedral_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getVertex'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexShape__getVertex_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__calculateSerializeBufferSize_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getNumEdges'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getNumEdges_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getName'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getName_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getEdge'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexShape__getEdge_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btPolyhedralConvexShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btPolyhedralConvexShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getMarginNV_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isConvex2d_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btPolyhedralConvexShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btPolyhedralConvexShape.prototype['isConvex'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isConvex_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isInfinite_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btPolyhedralConvexShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getUserPointer_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isNonMoving_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getMargin'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getMargin_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexShape__setMargin_p1(this.ptr, arg0); +} +btPolyhedralConvexShape.prototype['initializePolyhedralFeatures'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__initializePolyhedralFeatures_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btPolyhedralConvexShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isSoftBody_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getMarginNonVirtual_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btPolyhedralConvexShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btPolyhedralConvexShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btPolyhedralConvexShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btPolyhedralConvexShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getAngularMotionDisc_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btPolyhedralConvexShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexShape.prototype['getPlane'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexShape__getPlane_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btPolyhedralConvexShape.prototype['isCompound'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isCompound_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['getConvexPolyhedron'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getConvexPolyhedron_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btPolyhedralConvexShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btPolyhedralConvexShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__getShapeType_p0(this.ptr); +} +btPolyhedralConvexShape.prototype['isConcave'] = function() { + return _emscripten_bind_btPolyhedralConvexShape__isConcave_p0(this.ptr); +} +function btIDebugDraw(){ throw "btIDebugDraw is abstract!" } +btIDebugDraw.prototype.__cache__ = {}; +Module['btIDebugDraw'] = btIDebugDraw; +btIDebugDraw.prototype['draw3dText'] = function(arg0, arg1) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btIDebugDraw__draw3dText_p2(this.ptr, arg0.ptr, ensureString(arg1)); +} finally { Runtime.stackRestore(stack) } +} +btIDebugDraw.prototype['drawTriangle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + if (arg5 === undefined) + _emscripten_bind_btIDebugDraw__drawTriangle_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); + else + _emscripten_bind_btIDebugDraw__drawTriangle_p8(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7); +} +btIDebugDraw.prototype['drawCone'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btIDebugDraw__drawCone_p5(this.ptr, arg0, arg1, arg2, arg3.ptr, arg4.ptr); +} +btIDebugDraw.prototype['drawContactPoint'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btIDebugDraw__drawContactPoint_p5(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4.ptr); +} +btIDebugDraw.prototype['drawArc'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + if (arg9 === undefined) + _emscripten_bind_btIDebugDraw__drawArc_p9(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4, arg5, arg6, arg7.ptr, arg8); + else + _emscripten_bind_btIDebugDraw__drawArc_p10(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4, arg5, arg6, arg7.ptr, arg8, arg9); +} +btIDebugDraw.prototype['drawLine'] = function(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + _emscripten_bind_btIDebugDraw__drawLine_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else + _emscripten_bind_btIDebugDraw__drawLine_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btIDebugDraw.prototype['reportErrorWarning'] = function(arg0) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btIDebugDraw__reportErrorWarning_p1(this.ptr, ensureString(arg0)); +} finally { Runtime.stackRestore(stack) } +} +btIDebugDraw.prototype['getDebugMode'] = function() { + return _emscripten_bind_btIDebugDraw__getDebugMode_p0(this.ptr); +} +btIDebugDraw.prototype['drawCylinder'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btIDebugDraw__drawCylinder_p5(this.ptr, arg0, arg1, arg2, arg3.ptr, arg4.ptr); +} +btIDebugDraw.prototype['drawTransform'] = function(arg0, arg1) { + _emscripten_bind_btIDebugDraw__drawTransform_p2(this.ptr, arg0.ptr, arg1); +} +btIDebugDraw.prototype['drawAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btIDebugDraw__drawAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btIDebugDraw.prototype['drawPlane'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btIDebugDraw__drawPlane_p4(this.ptr, arg0.ptr, arg1, arg2.ptr, arg3.ptr); +} +btIDebugDraw.prototype['drawCapsule'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btIDebugDraw__drawCapsule_p5(this.ptr, arg0, arg1, arg2, arg3.ptr, arg4.ptr); +} +btIDebugDraw.prototype['drawBox'] = function(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + _emscripten_bind_btIDebugDraw__drawBox_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else + _emscripten_bind_btIDebugDraw__drawBox_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btIDebugDraw.prototype['setDebugMode'] = function(arg0) { + _emscripten_bind_btIDebugDraw__setDebugMode_p1(this.ptr, arg0); +} +btIDebugDraw.prototype['drawSpherePatch'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + if (arg9 === undefined) + _emscripten_bind_btIDebugDraw__drawSpherePatch_p9(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4, arg5, arg6, arg7, arg8.ptr); + else + _emscripten_bind_btIDebugDraw__drawSpherePatch_p10(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4, arg5, arg6, arg7, arg8.ptr, arg9); +} +btIDebugDraw.prototype['drawSphere'] = function(arg0, arg1, arg2) { + _emscripten_bind_btIDebugDraw__drawSphere_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btDbvtBroadphase.prototype['set_m_pid'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_pid_p1(this.ptr, arg0); +} +function btDbvtBroadphase(arg0) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p0(); + else + this.ptr = _emscripten_bind_btDbvtBroadphase__btDbvtBroadphase_p1(arg0.ptr); + btDbvtBroadphase.prototype.__cache__[this.ptr] = this; + this.__class__ = btDbvtBroadphase; +} +btDbvtBroadphase.prototype.__cache__ = {}; +Module['btDbvtBroadphase'] = btDbvtBroadphase; +btDbvtBroadphase.prototype['get_m_deferedcollide'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_deferedcollide_p0(this.ptr); +} +btDbvtBroadphase.prototype['performDeferredRemoval'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__performDeferredRemoval_p1(this.ptr, arg0.ptr); +} +btDbvtBroadphase.prototype['set_m_releasepaircache'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_releasepaircache_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['get_m_dupdates'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_dupdates_p0(this.ptr); +} +btDbvtBroadphase.prototype['set_m_paircache'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_paircache_p1(this.ptr, arg0.ptr); +} +btDbvtBroadphase.prototype['calculateOverlappingPairs'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__calculateOverlappingPairs_p1(this.ptr, arg0.ptr); +} +btDbvtBroadphase.prototype['get_m_releasepaircache'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_releasepaircache_p0(this.ptr); +} +btDbvtBroadphase.prototype['set_m_fupdates'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_fupdates_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['set_m_deferedcollide'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_deferedcollide_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['set_m_cid'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_cid_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['rayTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg3 === undefined) + _emscripten_bind_btDbvtBroadphase__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else if (arg4 === undefined) + _emscripten_bind_btDbvtBroadphase__rayTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btDbvtBroadphase__rayTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btDbvtBroadphase.prototype['set_m_newpairs'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_newpairs_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['setAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btDbvtBroadphase__setAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btDbvtBroadphase.prototype['get_m_fixedleft'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_fixedleft_p0(this.ptr); +} +btDbvtBroadphase.prototype['resetPool'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__resetPool_p1(this.ptr, arg0.ptr); +} +btDbvtBroadphase.prototype['set_m_gid'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_gid_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDbvtBroadphase__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDbvtBroadphase.prototype['get_m_stageCurrent'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_stageCurrent_p0(this.ptr); +} +btDbvtBroadphase.prototype['set_m_updates_call'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_updates_call_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['set_m_needcleanup'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_needcleanup_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['set_m_updates_done'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_updates_done_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['get_m_fupdates'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_fupdates_p0(this.ptr); +} +btDbvtBroadphase.prototype['get_m_pid'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_pid_p0(this.ptr); +} +btDbvtBroadphase.prototype['set_m_dupdates'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_dupdates_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['get_m_cid'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_cid_p0(this.ptr); +} +btDbvtBroadphase.prototype['set_m_updates_ratio'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_updates_ratio_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['setVelocityPrediction'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__setVelocityPrediction_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['benchmark'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__benchmark_p1(arg0.ptr); +} +btDbvtBroadphase.prototype['collide'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__collide_p1(this.ptr, arg0.ptr); +} +btDbvtBroadphase.prototype['get_m_updates_call'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_updates_call_p0(this.ptr); +} +btDbvtBroadphase.prototype['printStats'] = function() { + _emscripten_bind_btDbvtBroadphase__printStats_p0(this.ptr); +} +btDbvtBroadphase.prototype['createProxy'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + return wrapPointer(_emscripten_bind_btDbvtBroadphase__createProxy_p8(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5, arg6.ptr, arg7), Module['btBroadphaseProxy']); +} +btDbvtBroadphase.prototype['get_m_cupdates'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_cupdates_p0(this.ptr); +} +btDbvtBroadphase.prototype['optimize'] = function() { + _emscripten_bind_btDbvtBroadphase__optimize_p0(this.ptr); +} +btDbvtBroadphase.prototype['set_m_cupdates'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_cupdates_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['get_m_prediction'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_prediction_p0(this.ptr); +} +btDbvtBroadphase.prototype['__destroy__'] = function() { + _emscripten_bind_btDbvtBroadphase____destroy___p0(this.ptr); +} +btDbvtBroadphase.prototype['get_m_gid'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_gid_p0(this.ptr); +} +btDbvtBroadphase.prototype['get_m_needcleanup'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_needcleanup_p0(this.ptr); +} +btDbvtBroadphase.prototype['getOverlappingPairCache'] = function() { + return wrapPointer(_emscripten_bind_btDbvtBroadphase__getOverlappingPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btDbvtBroadphase.prototype['get_m_newpairs'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_newpairs_p0(this.ptr); +} +btDbvtBroadphase.prototype['get_m_updates_ratio'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_updates_ratio_p0(this.ptr); +} +btDbvtBroadphase.prototype['setAabbForceUpdate'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btDbvtBroadphase__setAabbForceUpdate_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btDbvtBroadphase.prototype['set_m_prediction'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_prediction_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['aabbTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDbvtBroadphase__aabbTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDbvtBroadphase.prototype['getVelocityPrediction'] = function() { + return _emscripten_bind_btDbvtBroadphase__getVelocityPrediction_p0(this.ptr); +} +btDbvtBroadphase.prototype['get_m_paircache'] = function() { + return wrapPointer(_emscripten_bind_btDbvtBroadphase__get_m_paircache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btDbvtBroadphase.prototype['get_m_updates_done'] = function() { + return _emscripten_bind_btDbvtBroadphase__get_m_updates_done_p0(this.ptr); +} +btDbvtBroadphase.prototype['set_m_fixedleft'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_fixedleft_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['set_m_stageCurrent'] = function(arg0) { + _emscripten_bind_btDbvtBroadphase__set_m_stageCurrent_p1(this.ptr, arg0); +} +btDbvtBroadphase.prototype['getBroadphaseAabb'] = function(arg0, arg1) { + _emscripten_bind_btDbvtBroadphase__getBroadphaseAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btDbvtBroadphase.prototype['destroyProxy'] = function(arg0, arg1) { + _emscripten_bind_btDbvtBroadphase__destroyProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +function btSimpleBroadphaseProxy(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p0(); + else + this.ptr = _emscripten_bind_btSimpleBroadphaseProxy__btSimpleBroadphaseProxy_p7(arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5, arg6); + btSimpleBroadphaseProxy.prototype.__cache__[this.ptr] = this; + this.__class__ = btSimpleBroadphaseProxy; +} +btSimpleBroadphaseProxy.prototype.__cache__ = {}; +Module['btSimpleBroadphaseProxy'] = btSimpleBroadphaseProxy; +btSimpleBroadphaseProxy.prototype['get_m_clientObject'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__get_m_clientObject_p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['isInfinite'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isInfinite_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['set_m_clientObject'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_clientObject_p1(this.ptr, arg0); +} +btSimpleBroadphaseProxy.prototype['SetNextFree'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__SetNextFree_p1(this.ptr, arg0); +} +btSimpleBroadphaseProxy.prototype['get_m_nextFree'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__get_m_nextFree_p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['set_m_multiSapParentProxy'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_multiSapParentProxy_p1(this.ptr, arg0); +} +btSimpleBroadphaseProxy.prototype['isCompound'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isCompound_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['isPolyhedral'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isPolyhedral_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['get_m_aabbMin'] = function() { + return wrapPointer(_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMin_p0(this.ptr), Module['btVector3']); +} +btSimpleBroadphaseProxy.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterMask_p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['set_m_uniqueId'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_uniqueId_p1(this.ptr, arg0); +} +btSimpleBroadphaseProxy.prototype['isConvex'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isConvex_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['GetNextFree'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__GetNextFree_p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['getUid'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__getUid_p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['get_m_aabbMax'] = function() { + return wrapPointer(_emscripten_bind_btSimpleBroadphaseProxy__get_m_aabbMax_p0(this.ptr), Module['btVector3']); +} +btSimpleBroadphaseProxy.prototype['isNonMoving'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isNonMoving_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['set_m_aabbMin'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMin_p1(this.ptr, arg0.ptr); +} +btSimpleBroadphaseProxy.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +btSimpleBroadphaseProxy.prototype['isConvex2d'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isConvex2d_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['isSoftBody'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isSoftBody_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['set_m_aabbMax'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_aabbMax_p1(this.ptr, arg0.ptr); +} +btSimpleBroadphaseProxy.prototype['__destroy__'] = function() { + _emscripten_bind_btSimpleBroadphaseProxy____destroy___p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['get_m_uniqueId'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__get_m_uniqueId_p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['set_m_nextFree'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_nextFree_p1(this.ptr, arg0); +} +btSimpleBroadphaseProxy.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btSimpleBroadphaseProxy__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +btSimpleBroadphaseProxy.prototype['isConcave'] = function(arg0) { + return _emscripten_bind_btSimpleBroadphaseProxy__isConcave_p1(arg0); +} +btSimpleBroadphaseProxy.prototype['get_m_multiSapParentProxy'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__get_m_multiSapParentProxy_p0(this.ptr); +} +btSimpleBroadphaseProxy.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btSimpleBroadphaseProxy__get_m_collisionFilterGroup_p0(this.ptr); +} +function btCollisionDispatcher(arg0) { + this.ptr = _emscripten_bind_btCollisionDispatcher__btCollisionDispatcher_p1(arg0.ptr); + btCollisionDispatcher.prototype.__cache__[this.ptr] = this; + this.__class__ = btCollisionDispatcher; +} +btCollisionDispatcher.prototype.__cache__ = {}; +Module['btCollisionDispatcher'] = btCollisionDispatcher; +btCollisionDispatcher.prototype['freeCollisionAlgorithm'] = function(arg0) { + _emscripten_bind_btCollisionDispatcher__freeCollisionAlgorithm_p1(this.ptr, arg0); +} +btCollisionDispatcher.prototype['setNearCallback'] = function(arg0) { + _emscripten_bind_btCollisionDispatcher__setNearCallback_p1(this.ptr, arg0); +} +btCollisionDispatcher.prototype['getNearCallback'] = function() { + return _emscripten_bind_btCollisionDispatcher__getNearCallback_p0(this.ptr); +} +btCollisionDispatcher.prototype['findAlgorithm'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + return wrapPointer(_emscripten_bind_btCollisionDispatcher__findAlgorithm_p2(this.ptr, arg0.ptr, arg1.ptr), Module['btCollisionAlgorithm']); + else + return wrapPointer(_emscripten_bind_btCollisionDispatcher__findAlgorithm_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr), Module['btCollisionAlgorithm']); +} +btCollisionDispatcher.prototype['needsResponse'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionDispatcher__needsResponse_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btCollisionDispatcher.prototype['releaseManifold'] = function(arg0) { + _emscripten_bind_btCollisionDispatcher__releaseManifold_p1(this.ptr, arg0.ptr); +} +btCollisionDispatcher.prototype['getDispatcherFlags'] = function() { + return _emscripten_bind_btCollisionDispatcher__getDispatcherFlags_p0(this.ptr); +} +btCollisionDispatcher.prototype['setDispatcherFlags'] = function(arg0) { + _emscripten_bind_btCollisionDispatcher__setDispatcherFlags_p1(this.ptr, arg0); +} +btCollisionDispatcher.prototype['getManifoldByIndexInternal'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCollisionDispatcher__getManifoldByIndexInternal_p1(this.ptr, arg0), Module['btPersistentManifold']); +} +btCollisionDispatcher.prototype['registerCollisionCreateFunc'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCollisionDispatcher__registerCollisionCreateFunc_p3(this.ptr, arg0, arg1, arg2.ptr); +} +btCollisionDispatcher.prototype['needsCollision'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionDispatcher__needsCollision_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btCollisionDispatcher.prototype['getNumManifolds'] = function() { + return _emscripten_bind_btCollisionDispatcher__getNumManifolds_p0(this.ptr); +} +btCollisionDispatcher.prototype['setCollisionConfiguration'] = function(arg0) { + _emscripten_bind_btCollisionDispatcher__setCollisionConfiguration_p1(this.ptr, arg0.ptr); +} +btCollisionDispatcher.prototype['clearManifold'] = function(arg0) { + _emscripten_bind_btCollisionDispatcher__clearManifold_p1(this.ptr, arg0.ptr); +} +btCollisionDispatcher.prototype['getNewManifold'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btCollisionDispatcher__getNewManifold_p2(this.ptr, arg0, arg1), Module['btPersistentManifold']); +} +btCollisionDispatcher.prototype['dispatchAllCollisionPairs'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCollisionDispatcher__dispatchAllCollisionPairs_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCollisionDispatcher.prototype['allocateCollisionAlgorithm'] = function(arg0) { + return _emscripten_bind_btCollisionDispatcher__allocateCollisionAlgorithm_p1(this.ptr, arg0); +} +btCollisionDispatcher.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionDispatcher____destroy___p0(this.ptr); +} +btCollisionDispatcher.prototype['getCollisionConfiguration'] = function() { + return wrapPointer(_emscripten_bind_btCollisionDispatcher__getCollisionConfiguration_p0(this.ptr), Module['btCollisionConfiguration']); +} +btCollisionDispatcher.prototype['getInternalManifoldPointer'] = function() { + return wrapPointer(_emscripten_bind_btCollisionDispatcher__getInternalManifoldPointer_p0(this.ptr), Module['btPersistentManifold']); +} +btCollisionDispatcher.prototype['defaultNearCallback'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCollisionDispatcher__defaultNearCallback_p3(arg0.ptr, arg1.ptr, arg2.ptr); +} +btCollisionDispatcher.prototype['getInternalManifoldPool'] = function() { + return _emscripten_bind_btCollisionDispatcher__getInternalManifoldPool_p0(this.ptr); +} +function btAxisSweep3(arg0, arg1, arg2, arg3, arg4) { + if (arg2 === undefined) + this.ptr = _emscripten_bind_btAxisSweep3__btAxisSweep3_p2(arg0.ptr, arg1.ptr); + else if (arg3 === undefined) + this.ptr = _emscripten_bind_btAxisSweep3__btAxisSweep3_p3(arg0.ptr, arg1.ptr, arg2); + else if (arg4 === undefined) + this.ptr = _emscripten_bind_btAxisSweep3__btAxisSweep3_p4(arg0.ptr, arg1.ptr, arg2, arg3.ptr); + else + this.ptr = _emscripten_bind_btAxisSweep3__btAxisSweep3_p5(arg0.ptr, arg1.ptr, arg2, arg3.ptr, arg4); + btAxisSweep3.prototype.__cache__[this.ptr] = this; + this.__class__ = btAxisSweep3; +} +btAxisSweep3.prototype.__cache__ = {}; +Module['btAxisSweep3'] = btAxisSweep3; +btAxisSweep3.prototype['getNumHandles'] = function() { + return _emscripten_bind_btAxisSweep3__getNumHandles_p0(this.ptr); +} +btAxisSweep3.prototype['addHandle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + return _emscripten_bind_btAxisSweep3__addHandle_p7(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5.ptr, arg6); +} +btAxisSweep3.prototype['quantize'] = function(arg0, arg1, arg2) { + _emscripten_bind_btAxisSweep3__quantize_p3(this.ptr, arg0, arg1.ptr, arg2); +} +btAxisSweep3.prototype['removeHandle'] = function(arg0, arg1) { + _emscripten_bind_btAxisSweep3__removeHandle_p2(this.ptr, arg0, arg1.ptr); +} +btAxisSweep3.prototype['getOverlappingPairUserCallback'] = function() { + return wrapPointer(_emscripten_bind_btAxisSweep3__getOverlappingPairUserCallback_p0(this.ptr), Module['btOverlappingPairCallback']); +} +btAxisSweep3.prototype['processAllOverlappingPairs'] = function(arg0) { + _emscripten_bind_btAxisSweep3__processAllOverlappingPairs_p1(this.ptr, arg0.ptr); +} +btAxisSweep3.prototype['rayTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg3 === undefined) + _emscripten_bind_btAxisSweep3__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else if (arg4 === undefined) + _emscripten_bind_btAxisSweep3__rayTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btAxisSweep3__rayTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btAxisSweep3.prototype['setAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btAxisSweep3__setAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btAxisSweep3.prototype['resetPool'] = function(arg0) { + _emscripten_bind_btAxisSweep3__resetPool_p1(this.ptr, arg0.ptr); +} +btAxisSweep3.prototype['testAabbOverlap'] = function(arg0, arg1) { + return _emscripten_bind_btAxisSweep3__testAabbOverlap_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btAxisSweep3.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btAxisSweep3__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btAxisSweep3.prototype['updateHandle'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btAxisSweep3__updateHandle_p4(this.ptr, arg0, arg1.ptr, arg2.ptr, arg3.ptr); +} +btAxisSweep3.prototype['printStats'] = function() { + _emscripten_bind_btAxisSweep3__printStats_p0(this.ptr); +} +btAxisSweep3.prototype['createProxy'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + return wrapPointer(_emscripten_bind_btAxisSweep3__createProxy_p8(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5, arg6.ptr, arg7), Module['btBroadphaseProxy']); +} +btAxisSweep3.prototype['__destroy__'] = function() { + _emscripten_bind_btAxisSweep3____destroy___p0(this.ptr); +} +btAxisSweep3.prototype['setOverlappingPairUserCallback'] = function(arg0) { + _emscripten_bind_btAxisSweep3__setOverlappingPairUserCallback_p1(this.ptr, arg0.ptr); +} +btAxisSweep3.prototype['calculateOverlappingPairs'] = function(arg0) { + _emscripten_bind_btAxisSweep3__calculateOverlappingPairs_p1(this.ptr, arg0.ptr); +} +btAxisSweep3.prototype['getOverlappingPairCache'] = function() { + return wrapPointer(_emscripten_bind_btAxisSweep3__getOverlappingPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btAxisSweep3.prototype['unQuantize'] = function(arg0, arg1, arg2) { + _emscripten_bind_btAxisSweep3__unQuantize_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btAxisSweep3.prototype['aabbTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btAxisSweep3__aabbTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btAxisSweep3.prototype['getBroadphaseAabb'] = function(arg0, arg1) { + _emscripten_bind_btAxisSweep3__getBroadphaseAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btAxisSweep3.prototype['destroyProxy'] = function(arg0, arg1) { + _emscripten_bind_btAxisSweep3__destroyProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btAxisSweep3.prototype['getHandle'] = function(arg0) { + return _emscripten_bind_btAxisSweep3__getHandle_p1(this.ptr, arg0); +} +btCollisionAlgorithmConstructionInfo.prototype['set_m_dispatcher1'] = function(arg0) { + _emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_dispatcher1_p1(this.ptr, arg0.ptr); +} +btCollisionAlgorithmConstructionInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionAlgorithmConstructionInfo____destroy___p0(this.ptr); +} +function btCollisionAlgorithmConstructionInfo(arg0, arg1) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p0(); + else + this.ptr = _emscripten_bind_btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_p2(arg0.ptr, arg1); + btCollisionAlgorithmConstructionInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btCollisionAlgorithmConstructionInfo; +} +btCollisionAlgorithmConstructionInfo.prototype.__cache__ = {}; +Module['btCollisionAlgorithmConstructionInfo'] = btCollisionAlgorithmConstructionInfo; +btCollisionAlgorithmConstructionInfo.prototype['get_m_dispatcher1'] = function() { + return wrapPointer(_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_dispatcher1_p0(this.ptr), Module['btDispatcher']); +} +btCollisionAlgorithmConstructionInfo.prototype['set_m_manifold'] = function(arg0) { + _emscripten_bind_btCollisionAlgorithmConstructionInfo__set_m_manifold_p1(this.ptr, arg0.ptr); +} +btCollisionAlgorithmConstructionInfo.prototype['get_m_manifold'] = function() { + return wrapPointer(_emscripten_bind_btCollisionAlgorithmConstructionInfo__get_m_manifold_p0(this.ptr), Module['btPersistentManifold']); +} +btDiscreteDynamicsWorld.prototype['setGravity'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setGravity_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['addAction'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__addAction_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['getSolverInfo'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getSolverInfo_p0(this.ptr), Module['btContactSolverInfo']); +} +btDiscreteDynamicsWorld.prototype['getDebugDrawer'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getDebugDrawer_p0(this.ptr), Module['btIDebugDraw']); +} +btDiscreteDynamicsWorld.prototype['applyGravity'] = function() { + _emscripten_bind_btDiscreteDynamicsWorld__applyGravity_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['serialize'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__serialize_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['getDispatcher'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getDispatcher_p0(this.ptr), Module['btDispatcher']); +} +btDiscreteDynamicsWorld.prototype['getCollisionWorld'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getCollisionWorld_p0(this.ptr), Module['btCollisionWorld']); +} +btDiscreteDynamicsWorld.prototype['addRigidBody'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btDiscreteDynamicsWorld__addRigidBody_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btDiscreteDynamicsWorld.prototype['clearForces'] = function() { + _emscripten_bind_btDiscreteDynamicsWorld__clearForces_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['removeVehicle'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__removeVehicle_p1(this.ptr, arg0.ptr); +} +function btDiscreteDynamicsWorld(arg0, arg1, arg2, arg3) { + this.ptr = _emscripten_bind_btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + btDiscreteDynamicsWorld.prototype.__cache__[this.ptr] = this; + this.__class__ = btDiscreteDynamicsWorld; +} +btDiscreteDynamicsWorld.prototype.__cache__ = {}; +Module['btDiscreteDynamicsWorld'] = btDiscreteDynamicsWorld; +btDiscreteDynamicsWorld.prototype['setBroadphase'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setBroadphase_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['getSynchronizeAllMotionStates'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getSynchronizeAllMotionStates_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['setNumTasks'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setNumTasks_p1(this.ptr, arg0); +} +btDiscreteDynamicsWorld.prototype['setSynchronizeAllMotionStates'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setSynchronizeAllMotionStates_p1(this.ptr, arg0); +} +btDiscreteDynamicsWorld.prototype['getCollisionObjectArray'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getCollisionObjectArray_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['debugDrawObject'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDiscreteDynamicsWorld__debugDrawObject_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDiscreteDynamicsWorld.prototype['removeConstraint'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__removeConstraint_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['rayTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDiscreteDynamicsWorld__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDiscreteDynamicsWorld.prototype['getNumConstraints'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getNumConstraints_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['addCollisionObject'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p1(this.ptr, arg0.ptr); + else if (arg2 === undefined) + _emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p2(this.ptr, arg0.ptr, arg1); + else + _emscripten_bind_btDiscreteDynamicsWorld__addCollisionObject_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btDiscreteDynamicsWorld.prototype['removeRigidBody'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__removeRigidBody_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['contactTest'] = function(arg0, arg1) { + _emscripten_bind_btDiscreteDynamicsWorld__contactTest_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btDiscreteDynamicsWorld.prototype['performDiscreteCollisionDetection'] = function() { + _emscripten_bind_btDiscreteDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['setInternalTickCallback'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p1(this.ptr, arg0); + else if (arg2 === undefined) + _emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btDiscreteDynamicsWorld__setInternalTickCallback_p3(this.ptr, arg0, arg1, arg2); +} +btDiscreteDynamicsWorld.prototype['getForceUpdateAllAabbs'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['updateAabbs'] = function() { + _emscripten_bind_btDiscreteDynamicsWorld__updateAabbs_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['setDebugDrawer'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setDebugDrawer_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['debugDrawConstraint'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__debugDrawConstraint_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['debugDrawWorld'] = function() { + _emscripten_bind_btDiscreteDynamicsWorld__debugDrawWorld_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['convexSweepTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg4 === undefined) + _emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btDiscreteDynamicsWorld__convexSweepTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); +} +btDiscreteDynamicsWorld.prototype['getNumCollisionObjects'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getNumCollisionObjects_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['setWorldUserInfo'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setWorldUserInfo_p1(this.ptr, arg0); +} +btDiscreteDynamicsWorld.prototype['addConstraint'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btDiscreteDynamicsWorld__addConstraint_p2(this.ptr, arg0.ptr, arg1); +} +btDiscreteDynamicsWorld.prototype['getWorldUserInfo'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getWorldUserInfo_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['contactPairTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDiscreteDynamicsWorld__contactPairTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDiscreteDynamicsWorld.prototype['getGravity'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getGravity_p0(this.ptr), Module['btVector3']); +} +btDiscreteDynamicsWorld.prototype['getBroadphase'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getBroadphase_p0(this.ptr), Module['btBroadphaseInterface']); +} +btDiscreteDynamicsWorld.prototype['rayTestSingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btDiscreteDynamicsWorld__rayTestSingle_p6(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr); +} +btDiscreteDynamicsWorld.prototype['removeAction'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__removeAction_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['setForceUpdateAllAabbs'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr, arg0); +} +btDiscreteDynamicsWorld.prototype['__destroy__'] = function() { + _emscripten_bind_btDiscreteDynamicsWorld____destroy___p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['removeCharacter'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__removeCharacter_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['getConstraint'] = function(arg0) { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getConstraint_p1(this.ptr, arg0), Module['btTypedConstraint']); +} +btDiscreteDynamicsWorld.prototype['getConstraintSolver'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getConstraintSolver_p0(this.ptr), Module['btConstraintSolver']); +} +btDiscreteDynamicsWorld.prototype['stepSimulation'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + return _emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p1(this.ptr, arg0); + else if (arg2 === undefined) + return _emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p2(this.ptr, arg0, arg1); + else + return _emscripten_bind_btDiscreteDynamicsWorld__stepSimulation_p3(this.ptr, arg0, arg1, arg2); +} +btDiscreteDynamicsWorld.prototype['addCharacter'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__addCharacter_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['getWorldType'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getWorldType_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['updateSingleAabb'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__updateSingleAabb_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['updateVehicles'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__updateVehicles_p1(this.ptr, arg0); +} +btDiscreteDynamicsWorld.prototype['synchronizeSingleMotionState'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__synchronizeSingleMotionState_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['addVehicle'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__addVehicle_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['getPairCache'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btDiscreteDynamicsWorld.prototype['synchronizeMotionStates'] = function() { + _emscripten_bind_btDiscreteDynamicsWorld__synchronizeMotionStates_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['getSimulationIslandManager'] = function() { + return _emscripten_bind_btDiscreteDynamicsWorld__getSimulationIslandManager_p0(this.ptr); +} +btDiscreteDynamicsWorld.prototype['removeCollisionObject'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__removeCollisionObject_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['setConstraintSolver'] = function(arg0) { + _emscripten_bind_btDiscreteDynamicsWorld__setConstraintSolver_p1(this.ptr, arg0.ptr); +} +btDiscreteDynamicsWorld.prototype['objectQuerySingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + _emscripten_bind_btDiscreteDynamicsWorld__objectQuerySingle_p8(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7); +} +btDiscreteDynamicsWorld.prototype['getDispatchInfo'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld__getDispatchInfo_p0(this.ptr), Module['btDispatcherInfo']); +} +function btTriangleCallback(){ throw "btTriangleCallback is abstract!" } +btTriangleCallback.prototype.__cache__ = {}; +Module['btTriangleCallback'] = btTriangleCallback; +btTriangleCallback.prototype['processTriangle'] = function(arg0, arg1, arg2) { + _emscripten_bind_btTriangleCallback__processTriangle_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btConeTwistConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btConeTwistConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btConeTwistConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btConeTwistConstraint__buildJacobian_p0(this.ptr); +} +btConeTwistConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btConeTwistConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btConeTwistConstraint.prototype['isPastSwingLimit'] = function() { + return _emscripten_bind_btConeTwistConstraint__isPastSwingLimit_p0(this.ptr); +} +btConeTwistConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setEnabled_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['getFrameOffsetA'] = function() { + return wrapPointer(_emscripten_bind_btConeTwistConstraint__getFrameOffsetA_p0(this.ptr), Module['btTransform']); +} +btConeTwistConstraint.prototype['getFrameOffsetB'] = function() { + return wrapPointer(_emscripten_bind_btConeTwistConstraint__getFrameOffsetB_p0(this.ptr), Module['btTransform']); +} +btConeTwistConstraint.prototype['getSwingSpan2'] = function() { + return _emscripten_bind_btConeTwistConstraint__getSwingSpan2_p0(this.ptr); +} +btConeTwistConstraint.prototype['getSwingSpan1'] = function() { + return _emscripten_bind_btConeTwistConstraint__getSwingSpan1_p0(this.ptr); +} +btConeTwistConstraint.prototype['calcAngleInfo2'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btConeTwistConstraint__calcAngleInfo2_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btConeTwistConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btConeTwistConstraint__get_m_objectType_p0(this.ptr); +} +btConeTwistConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btConeTwistConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btConeTwistConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btConeTwistConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btConeTwistConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btConeTwistConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btConeTwistConstraint.prototype['setDamping'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setDamping_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btConeTwistConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btConeTwistConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +function btConeTwistConstraint(arg0, arg1, arg2, arg3) { + if (arg2 === undefined) + this.ptr = _emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p2(arg0.ptr, arg1.ptr); + else + this.ptr = _emscripten_bind_btConeTwistConstraint__btConeTwistConstraint_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + btConeTwistConstraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btConeTwistConstraint; +} +btConeTwistConstraint.prototype.__cache__ = {}; +Module['btConeTwistConstraint'] = btConeTwistConstraint; +btConeTwistConstraint.prototype['setMotorTarget'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setMotorTarget_p1(this.ptr, arg0.ptr); +} +btConeTwistConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConeTwistConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btConeTwistConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btConeTwistConstraint__isEnabled_p0(this.ptr); +} +btConeTwistConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btConeTwistConstraint__getConstraintType_p0(this.ptr); +} +btConeTwistConstraint.prototype['getTwistAngle'] = function() { + return _emscripten_bind_btConeTwistConstraint__getTwistAngle_p0(this.ptr); +} +btConeTwistConstraint.prototype['setMaxMotorImpulseNormalized'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setMaxMotorImpulseNormalized_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__enableFeedback_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btConeTwistConstraint__needsFeedback_p0(this.ptr); +} +btConeTwistConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btConeTwistConstraint__getObjectType_p0(this.ptr); +} +btConeTwistConstraint.prototype['getSolveTwistLimit'] = function() { + return _emscripten_bind_btConeTwistConstraint__getSolveTwistLimit_p0(this.ptr); +} +btConeTwistConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btConeTwistConstraint__getUserConstraintPtr_p0(this.ptr); +} +btConeTwistConstraint.prototype['enableMotor'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__enableMotor_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['getBFrame'] = function() { + return wrapPointer(_emscripten_bind_btConeTwistConstraint__getBFrame_p0(this.ptr), Module['btTransform']); +} +btConeTwistConstraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btConeTwistConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConeTwistConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConeTwistConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btConeTwistConstraint__getUid_p0(this.ptr); +} +btConeTwistConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btConeTwistConstraint__getDbgDrawSize_p0(this.ptr); +} +btConeTwistConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btConeTwistConstraint____destroy___p0(this.ptr); +} +btConeTwistConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['getFixThresh'] = function() { + return _emscripten_bind_btConeTwistConstraint__getFixThresh_p0(this.ptr); +} +btConeTwistConstraint.prototype['getSolveSwingLimit'] = function() { + return _emscripten_bind_btConeTwistConstraint__getSolveSwingLimit_p0(this.ptr); +} +btConeTwistConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btConeTwistConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btConeTwistConstraint.prototype['setAngularOnly'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setAngularOnly_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['setFrames'] = function(arg0, arg1) { + _emscripten_bind_btConeTwistConstraint__setFrames_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btConeTwistConstraint.prototype['setLimit'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + if (arg2 === undefined) + _emscripten_bind_btConeTwistConstraint__setLimit_p2(this.ptr, arg0, arg1); + else if (arg3 === undefined) + _emscripten_bind_btConeTwistConstraint__setLimit_p3(this.ptr, arg0, arg1, arg2); + else if (arg4 === undefined) + _emscripten_bind_btConeTwistConstraint__setLimit_p4(this.ptr, arg0, arg1, arg2, arg3); + else if (arg5 === undefined) + _emscripten_bind_btConeTwistConstraint__setLimit_p5(this.ptr, arg0, arg1, arg2, arg3, arg4); + else + _emscripten_bind_btConeTwistConstraint__setLimit_p6(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5); +} +btConeTwistConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btConeTwistConstraint__getAppliedImpulse_p0(this.ptr); +} +btConeTwistConstraint.prototype['getTwistLimitSign'] = function() { + return _emscripten_bind_btConeTwistConstraint__getTwistLimitSign_p0(this.ptr); +} +btConeTwistConstraint.prototype['setMaxMotorImpulse'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setMaxMotorImpulse_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btConeTwistConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btConeTwistConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btConeTwistConstraint__getUserConstraintId_p0(this.ptr); +} +btConeTwistConstraint.prototype['updateRHS'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__updateRHS_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btConeTwistConstraint__getInfo2NonVirtual_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btConeTwistConstraint.prototype['setFixThresh'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setFixThresh_p1(this.ptr, arg0); +} +btConeTwistConstraint.prototype['setMotorTargetInConstraintSpace'] = function(arg0) { + _emscripten_bind_btConeTwistConstraint__setMotorTargetInConstraintSpace_p1(this.ptr, arg0.ptr); +} +btConeTwistConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btConeTwistConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btConeTwistConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btConeTwistConstraint__getUserConstraintType_p0(this.ptr); +} +btConeTwistConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeTwistConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConeTwistConstraint.prototype['GetPointForAngle'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btConeTwistConstraint__GetPointForAngle_p2(this.ptr, arg0, arg1), Module['btVector3']); +} +btConeTwistConstraint.prototype['calcAngleInfo'] = function() { + _emscripten_bind_btConeTwistConstraint__calcAngleInfo_p0(this.ptr); +} +btConeTwistConstraint.prototype['getTwistSpan'] = function() { + return _emscripten_bind_btConeTwistConstraint__getTwistSpan_p0(this.ptr); +} +btConeTwistConstraint.prototype['getAFrame'] = function() { + return wrapPointer(_emscripten_bind_btConeTwistConstraint__getAFrame_p0(this.ptr), Module['btTransform']); +} +btHingeConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btHingeConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btHingeConstraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btHingeConstraint__getInfo2NonVirtual_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btHingeConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btHingeConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btHingeConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btHingeConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['getMotorTargetVelosity'] = function() { + return _emscripten_bind_btHingeConstraint__getMotorTargetVelosity_p0(this.ptr); +} +btHingeConstraint.prototype['getFrameOffsetA'] = function() { + return wrapPointer(_emscripten_bind_btHingeConstraint__getFrameOffsetA_p0(this.ptr), Module['btTransform']); +} +btHingeConstraint.prototype['getFrameOffsetB'] = function() { + return wrapPointer(_emscripten_bind_btHingeConstraint__getFrameOffsetB_p0(this.ptr), Module['btTransform']); +} +btHingeConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btHingeConstraint__buildJacobian_p0(this.ptr); +} +btHingeConstraint.prototype['setMaxMotorImpulse'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setMaxMotorImpulse_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btHingeConstraint__get_m_objectType_p0(this.ptr); +} +btHingeConstraint.prototype['getHingeAngle'] = function(arg0, arg1) { + if (arg0 === undefined) + return _emscripten_bind_btHingeConstraint__getHingeAngle_p0(this.ptr); + else + return _emscripten_bind_btHingeConstraint__getHingeAngle_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btHingeConstraint.prototype['testLimit'] = function(arg0, arg1) { + _emscripten_bind_btHingeConstraint__testLimit_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btHingeConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btHingeConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btHingeConstraint.prototype['getInfo2Internal'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btHingeConstraint__getInfo2Internal_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btHingeConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btHingeConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btHingeConstraint.prototype['getUpperLimit'] = function() { + return _emscripten_bind_btHingeConstraint__getUpperLimit_p0(this.ptr); +} +btHingeConstraint.prototype['enableAngularMotor'] = function(arg0, arg1, arg2) { + _emscripten_bind_btHingeConstraint__enableAngularMotor_p3(this.ptr, arg0, arg1, arg2); +} +btHingeConstraint.prototype['getLimitSign'] = function() { + return _emscripten_bind_btHingeConstraint__getLimitSign_p0(this.ptr); +} +function btHingeConstraint(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + if (arg3 === undefined) + this.ptr = _emscripten_bind_btHingeConstraint__btHingeConstraint_p3(arg0.ptr, arg1.ptr, arg2.ptr); + else if (arg4 === undefined) + this.ptr = _emscripten_bind_btHingeConstraint__btHingeConstraint_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3); + else if (arg6 === undefined) + this.ptr = _emscripten_bind_btHingeConstraint__btHingeConstraint_p6(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr); + else + this.ptr = _emscripten_bind_btHingeConstraint__btHingeConstraint_p7(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6); + btHingeConstraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btHingeConstraint; +} +btHingeConstraint.prototype.__cache__ = {}; +Module['btHingeConstraint'] = btHingeConstraint; +btHingeConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btHingeConstraint__isEnabled_p0(this.ptr); +} +btHingeConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btHingeConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btHingeConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setEnabled_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btHingeConstraint__getConstraintType_p0(this.ptr); +} +btHingeConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btHingeConstraint__enableFeedback_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['getMaxMotorImpulse'] = function() { + return _emscripten_bind_btHingeConstraint__getMaxMotorImpulse_p0(this.ptr); +} +btHingeConstraint.prototype['getLowerLimit'] = function() { + return _emscripten_bind_btHingeConstraint__getLowerLimit_p0(this.ptr); +} +btHingeConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btHingeConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btHingeConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btHingeConstraint.prototype['setUseFrameOffset'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setUseFrameOffset_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['getEnableAngularMotor'] = function() { + return _emscripten_bind_btHingeConstraint__getEnableAngularMotor_p0(this.ptr); +} +btHingeConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btHingeConstraint__needsFeedback_p0(this.ptr); +} +btHingeConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btHingeConstraint__getObjectType_p0(this.ptr); +} +btHingeConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btHingeConstraint__getUserConstraintPtr_p0(this.ptr); +} +btHingeConstraint.prototype['enableMotor'] = function(arg0) { + _emscripten_bind_btHingeConstraint__enableMotor_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['getBFrame'] = function() { + return wrapPointer(_emscripten_bind_btHingeConstraint__getBFrame_p0(this.ptr), Module['btTransform']); +} +btHingeConstraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btHingeConstraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btHingeConstraint.prototype['getInfo2InternalUsingFrameOffset'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btHingeConstraint__getInfo2InternalUsingFrameOffset_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btHingeConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btHingeConstraint__getUid_p0(this.ptr); +} +btHingeConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btHingeConstraint__getDbgDrawSize_p0(this.ptr); +} +btHingeConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btHingeConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btHingeConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['getUseFrameOffset'] = function() { + return _emscripten_bind_btHingeConstraint__getUseFrameOffset_p0(this.ptr); +} +btHingeConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btHingeConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btHingeConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btHingeConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btHingeConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btHingeConstraint.prototype['setAngularOnly'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setAngularOnly_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btHingeConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btHingeConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btHingeConstraint.prototype['setLimit'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg2 === undefined) + _emscripten_bind_btHingeConstraint__setLimit_p2(this.ptr, arg0, arg1); + else if (arg3 === undefined) + _emscripten_bind_btHingeConstraint__setLimit_p3(this.ptr, arg0, arg1, arg2); + else if (arg4 === undefined) + _emscripten_bind_btHingeConstraint__setLimit_p4(this.ptr, arg0, arg1, arg2, arg3); + else + _emscripten_bind_btHingeConstraint__setLimit_p5(this.ptr, arg0, arg1, arg2, arg3, arg4); +} +btHingeConstraint.prototype['getSolveLimit'] = function() { + return _emscripten_bind_btHingeConstraint__getSolveLimit_p0(this.ptr); +} +btHingeConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btHingeConstraint____destroy___p0(this.ptr); +} +btHingeConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btHingeConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btHingeConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btHingeConstraint__getUserConstraintId_p0(this.ptr); +} +btHingeConstraint.prototype['updateRHS'] = function(arg0) { + _emscripten_bind_btHingeConstraint__updateRHS_p1(this.ptr, arg0); +} +btHingeConstraint.prototype['setMotorTarget'] = function(arg0, arg1) { + _emscripten_bind_btHingeConstraint__setMotorTarget_p2(this.ptr, arg0.ptr, arg1); +} +btHingeConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btHingeConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btHingeConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btHingeConstraint__getUserConstraintType_p0(this.ptr); +} +btHingeConstraint.prototype['getAngularOnly'] = function() { + return _emscripten_bind_btHingeConstraint__getAngularOnly_p0(this.ptr); +} +btHingeConstraint.prototype['setFrames'] = function(arg0, arg1) { + _emscripten_bind_btHingeConstraint__setFrames_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btHingeConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btHingeConstraint__getAppliedImpulse_p0(this.ptr); +} +btHingeConstraint.prototype['setAxis'] = function(arg0) { + _emscripten_bind_btHingeConstraint__setAxis_p1(this.ptr, arg0.ptr); +} +btHingeConstraint.prototype['getAFrame'] = function() { + return wrapPointer(_emscripten_bind_btHingeConstraint__getAFrame_p0(this.ptr), Module['btTransform']); +} +btRotationalLimitMotor.prototype['set_m_loLimit'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_loLimit_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['set_m_currentLimitError'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_currentLimitError_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['set_m_maxLimitForce'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_maxLimitForce_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['needApplyTorques'] = function() { + return _emscripten_bind_btRotationalLimitMotor__needApplyTorques_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_currentPosition'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_currentPosition_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['solveAngularLimits'] = function(arg0, arg1, arg2, arg3, arg4) { + return _emscripten_bind_btRotationalLimitMotor__solveAngularLimits_p5(this.ptr, arg0, arg1.ptr, arg2, arg3.ptr, arg4.ptr); +} +btRotationalLimitMotor.prototype['get_m_stopERP'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_stopERP_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_stopERP'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_stopERP_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['set_m_stopCFM'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_stopCFM_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['get_m_currentPosition'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_currentPosition_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_stopCFM'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_stopCFM_p0(this.ptr); +} +function btRotationalLimitMotor(arg0) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p0(); + else + this.ptr = _emscripten_bind_btRotationalLimitMotor__btRotationalLimitMotor_p1(arg0.ptr); + btRotationalLimitMotor.prototype.__cache__[this.ptr] = this; + this.__class__ = btRotationalLimitMotor; +} +btRotationalLimitMotor.prototype.__cache__ = {}; +Module['btRotationalLimitMotor'] = btRotationalLimitMotor; +btRotationalLimitMotor.prototype['get_m_enableMotor'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_enableMotor_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_enableMotor'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_enableMotor_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['testLimitValue'] = function(arg0) { + return _emscripten_bind_btRotationalLimitMotor__testLimitValue_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['get_m_currentLimitError'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_currentLimitError_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_limitSoftness'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_limitSoftness_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['get_m_loLimit'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_loLimit_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_currentLimit'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_currentLimit_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_hiLimit'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_hiLimit_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['get_m_bounce'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_bounce_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_targetVelocity'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_targetVelocity_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_accumulatedImpulse'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_accumulatedImpulse_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_damping'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_damping_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['set_m_maxMotorForce'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_maxMotorForce_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['set_m_normalCFM'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_normalCFM_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['__destroy__'] = function() { + _emscripten_bind_btRotationalLimitMotor____destroy___p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_maxLimitForce'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_maxLimitForce_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_damping'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_damping_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_normalCFM'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_normalCFM_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_hiLimit'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_hiLimit_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_accumulatedImpulse'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_accumulatedImpulse_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['set_m_targetVelocity'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_targetVelocity_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['isLimited'] = function() { + return _emscripten_bind_btRotationalLimitMotor__isLimited_p0(this.ptr); +} +btRotationalLimitMotor.prototype['get_m_maxMotorForce'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_maxMotorForce_p0(this.ptr); +} +btRotationalLimitMotor.prototype['set_m_currentLimit'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_currentLimit_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['set_m_bounce'] = function(arg0) { + _emscripten_bind_btRotationalLimitMotor__set_m_bounce_p1(this.ptr, arg0); +} +btRotationalLimitMotor.prototype['get_m_limitSoftness'] = function() { + return _emscripten_bind_btRotationalLimitMotor__get_m_limitSoftness_p0(this.ptr); +} +function btVehicleRaycaster(){ throw "btVehicleRaycaster is abstract!" } +btVehicleRaycaster.prototype.__cache__ = {}; +Module['btVehicleRaycaster'] = btVehicleRaycaster; +btVehicleRaycaster.prototype['castRay'] = function(arg0, arg1, arg2) { + return _emscripten_bind_btVehicleRaycaster__castRay_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShapeZ.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConeShapeZ__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConeShapeZ.prototype['isCompound'] = function() { + return _emscripten_bind_btConeShapeZ__isCompound_p0(this.ptr); +} +btConeShapeZ.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeZ.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConeShapeZ__setUserPointer_p1(this.ptr, arg0); +} +btConeShapeZ.prototype['getMarginNV'] = function() { + return _emscripten_bind_btConeShapeZ__getMarginNV_p0(this.ptr); +} +btConeShapeZ.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConeShapeZ__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConeShapeZ.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConeShapeZ__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConeShapeZ.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConeShapeZ__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConeShapeZ.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConeShapeZ__isPolyhedral_p0(this.ptr); +} +btConeShapeZ.prototype['getRadius'] = function() { + return _emscripten_bind_btConeShapeZ__getRadius_p0(this.ptr); +} +btConeShapeZ.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeZ__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShapeZ.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConeShapeZ__calculateSerializeBufferSize_p0(this.ptr); +} +function btConeShapeZ(arg0, arg1) { + this.ptr = _emscripten_bind_btConeShapeZ__btConeShapeZ_p2(arg0, arg1); + btConeShapeZ.prototype.__cache__[this.ptr] = this; + this.__class__ = btConeShapeZ; +} +btConeShapeZ.prototype.__cache__ = {}; +Module['btConeShapeZ'] = btConeShapeZ; +btConeShapeZ.prototype['getName'] = function() { + return _emscripten_bind_btConeShapeZ__getName_p0(this.ptr); +} +btConeShapeZ.prototype['getHeight'] = function() { + return _emscripten_bind_btConeShapeZ__getHeight_p0(this.ptr); +} +btConeShapeZ.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btConeShapeZ__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btConeShapeZ.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeZ.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeZ.prototype['setConeUpIndex'] = function(arg0) { + _emscripten_bind_btConeShapeZ__setConeUpIndex_p1(this.ptr, arg0); +} +btConeShapeZ.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConeShapeZ__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConeShapeZ.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeZ__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShapeZ.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeZ__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeZ.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConeShapeZ__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConeShapeZ.prototype['isConvex'] = function() { + return _emscripten_bind_btConeShapeZ__isConvex_p0(this.ptr); +} +btConeShapeZ.prototype['isInfinite'] = function() { + return _emscripten_bind_btConeShapeZ__isInfinite_p0(this.ptr); +} +btConeShapeZ.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConeShapeZ__getUserPointer_p0(this.ptr); +} +btConeShapeZ.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConeShapeZ__isNonMoving_p0(this.ptr); +} +btConeShapeZ.prototype['getMargin'] = function() { + return _emscripten_bind_btConeShapeZ__getMargin_p0(this.ptr); +} +btConeShapeZ.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConeShapeZ__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConeShapeZ.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConeShapeZ__setMargin_p1(this.ptr, arg0); +} +btConeShapeZ.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConeShapeZ__isConvex2d_p0(this.ptr); +} +btConeShapeZ.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btConeShapeZ__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btConeShapeZ.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConeShapeZ__isSoftBody_p0(this.ptr); +} +btConeShapeZ.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConeShapeZ__getMarginNonVirtual_p0(this.ptr); +} +btConeShapeZ.prototype['__destroy__'] = function() { + _emscripten_bind_btConeShapeZ____destroy___p0(this.ptr); +} +btConeShapeZ.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConeShapeZ.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btConeShapeZ__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btConeShapeZ.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConeShapeZ__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConeShapeZ.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConeShapeZ__getAngularMotionDisc_p0(this.ptr); +} +btConeShapeZ.prototype['getConeUpIndex'] = function() { + return _emscripten_bind_btConeShapeZ__getConeUpIndex_p0(this.ptr); +} +btConeShapeZ.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConeShapeZ__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConeShapeZ.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeZ__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShapeZ.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConeShapeZ__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConeShapeZ.prototype['isConcave'] = function() { + return _emscripten_bind_btConeShapeZ__isConcave_p0(this.ptr); +} +btConeShapeZ.prototype['getShapeType'] = function() { + return _emscripten_bind_btConeShapeZ__getShapeType_p0(this.ptr); +} +btConeShapeX.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConeShapeX__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConeShapeX.prototype['isCompound'] = function() { + return _emscripten_bind_btConeShapeX__isCompound_p0(this.ptr); +} +btConeShapeX.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeX.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConeShapeX__setUserPointer_p1(this.ptr, arg0); +} +btConeShapeX.prototype['getMarginNV'] = function() { + return _emscripten_bind_btConeShapeX__getMarginNV_p0(this.ptr); +} +btConeShapeX.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConeShapeX__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConeShapeX.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConeShapeX__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConeShapeX.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConeShapeX__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConeShapeX.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConeShapeX__isPolyhedral_p0(this.ptr); +} +btConeShapeX.prototype['getRadius'] = function() { + return _emscripten_bind_btConeShapeX__getRadius_p0(this.ptr); +} +btConeShapeX.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeX__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShapeX.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConeShapeX__calculateSerializeBufferSize_p0(this.ptr); +} +function btConeShapeX(arg0, arg1) { + this.ptr = _emscripten_bind_btConeShapeX__btConeShapeX_p2(arg0, arg1); + btConeShapeX.prototype.__cache__[this.ptr] = this; + this.__class__ = btConeShapeX; +} +btConeShapeX.prototype.__cache__ = {}; +Module['btConeShapeX'] = btConeShapeX; +btConeShapeX.prototype['getHeight'] = function() { + return _emscripten_bind_btConeShapeX__getHeight_p0(this.ptr); +} +btConeShapeX.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btConeShapeX__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btConeShapeX.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeX.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeX.prototype['setConeUpIndex'] = function(arg0) { + _emscripten_bind_btConeShapeX__setConeUpIndex_p1(this.ptr, arg0); +} +btConeShapeX.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConeShapeX__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConeShapeX.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeX__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShapeX.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShapeX__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShapeX.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConeShapeX__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConeShapeX.prototype['isConvex'] = function() { + return _emscripten_bind_btConeShapeX__isConvex_p0(this.ptr); +} +btConeShapeX.prototype['isInfinite'] = function() { + return _emscripten_bind_btConeShapeX__isInfinite_p0(this.ptr); +} +btConeShapeX.prototype['isConcave'] = function() { + return _emscripten_bind_btConeShapeX__isConcave_p0(this.ptr); +} +btConeShapeX.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConeShapeX__getUserPointer_p0(this.ptr); +} +btConeShapeX.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConeShapeX__isNonMoving_p0(this.ptr); +} +btConeShapeX.prototype['getMargin'] = function() { + return _emscripten_bind_btConeShapeX__getMargin_p0(this.ptr); +} +btConeShapeX.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConeShapeX__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConeShapeX.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConeShapeX__setMargin_p1(this.ptr, arg0); +} +btConeShapeX.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConeShapeX__isConvex2d_p0(this.ptr); +} +btConeShapeX.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btConeShapeX__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btConeShapeX.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConeShapeX__isSoftBody_p0(this.ptr); +} +btConeShapeX.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConeShapeX__getMarginNonVirtual_p0(this.ptr); +} +btConeShapeX.prototype['__destroy__'] = function() { + _emscripten_bind_btConeShapeX____destroy___p0(this.ptr); +} +btConeShapeX.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConeShapeX.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btConeShapeX__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btConeShapeX.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConeShapeX__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConeShapeX.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConeShapeX__getAngularMotionDisc_p0(this.ptr); +} +btConeShapeX.prototype['getConeUpIndex'] = function() { + return _emscripten_bind_btConeShapeX__getConeUpIndex_p0(this.ptr); +} +btConeShapeX.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConeShapeX__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConeShapeX.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShapeX__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShapeX.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConeShapeX__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConeShapeX.prototype['getName'] = function() { + return _emscripten_bind_btConeShapeX__getName_p0(this.ptr); +} +btConeShapeX.prototype['getShapeType'] = function() { + return _emscripten_bind_btConeShapeX__getShapeType_p0(this.ptr); +} +btTriangleMesh.prototype['get_m_weldingThreshold'] = function() { + return _emscripten_bind_btTriangleMesh__get_m_weldingThreshold_p0(this.ptr); +} +btTriangleMesh.prototype['addIndex'] = function(arg0) { + _emscripten_bind_btTriangleMesh__addIndex_p1(this.ptr, arg0); +} +btTriangleMesh.prototype['preallocateVertices'] = function(arg0) { + _emscripten_bind_btTriangleMesh__preallocateVertices_p1(this.ptr, arg0); +} +btTriangleMesh.prototype['calculateAabbBruteForce'] = function(arg0, arg1) { + _emscripten_bind_btTriangleMesh__calculateAabbBruteForce_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btTriangleMesh.prototype['findOrAddVertex'] = function(arg0, arg1) { + return _emscripten_bind_btTriangleMesh__findOrAddVertex_p2(this.ptr, arg0.ptr, arg1); +} +btTriangleMesh.prototype['addIndexedMesh'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btTriangleMesh__addIndexedMesh_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btTriangleMesh__addIndexedMesh_p2(this.ptr, arg0.ptr, arg1); +} +btTriangleMesh.prototype['getPremadeAabb'] = function(arg0, arg1) { + _emscripten_bind_btTriangleMesh__getPremadeAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btTriangleMesh.prototype['getUse4componentVertices'] = function() { + return _emscripten_bind_btTriangleMesh__getUse4componentVertices_p0(this.ptr); +} +btTriangleMesh.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btTriangleMesh__calculateSerializeBufferSize_p0(this.ptr); +} +function btTriangleMesh(arg0, arg1) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btTriangleMesh__btTriangleMesh_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btTriangleMesh__btTriangleMesh_p1(arg0); + else + this.ptr = _emscripten_bind_btTriangleMesh__btTriangleMesh_p2(arg0, arg1); + btTriangleMesh.prototype.__cache__[this.ptr] = this; + this.__class__ = btTriangleMesh; +} +btTriangleMesh.prototype.__cache__ = {}; +Module['btTriangleMesh'] = btTriangleMesh; +btTriangleMesh.prototype['getScaling'] = function() { + return wrapPointer(_emscripten_bind_btTriangleMesh__getScaling_p0(this.ptr), Module['btVector3']); +} +btTriangleMesh.prototype['setPremadeAabb'] = function(arg0, arg1) { + _emscripten_bind_btTriangleMesh__setPremadeAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btTriangleMesh.prototype['InternalProcessAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btTriangleMesh__InternalProcessAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btTriangleMesh.prototype['setScaling'] = function(arg0) { + _emscripten_bind_btTriangleMesh__setScaling_p1(this.ptr, arg0.ptr); +} +btTriangleMesh.prototype['unLockReadOnlyVertexBase'] = function(arg0) { + _emscripten_bind_btTriangleMesh__unLockReadOnlyVertexBase_p1(this.ptr, arg0); +} +btTriangleMesh.prototype['set_m_weldingThreshold'] = function(arg0) { + _emscripten_bind_btTriangleMesh__set_m_weldingThreshold_p1(this.ptr, arg0); +} +btTriangleMesh.prototype['getLockedReadOnlyVertexIndexBase'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg8 === undefined) + _emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p8(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + _emscripten_bind_btTriangleMesh__getLockedReadOnlyVertexIndexBase_p9(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +btTriangleMesh.prototype['preallocateIndices'] = function(arg0) { + _emscripten_bind_btTriangleMesh__preallocateIndices_p1(this.ptr, arg0); +} +btTriangleMesh.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btTriangleMesh__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btTriangleMesh.prototype['getUse32bitIndices'] = function() { + return _emscripten_bind_btTriangleMesh__getUse32bitIndices_p0(this.ptr); +} +btTriangleMesh.prototype['unLockVertexBase'] = function(arg0) { + _emscripten_bind_btTriangleMesh__unLockVertexBase_p1(this.ptr, arg0); +} +btTriangleMesh.prototype['__destroy__'] = function() { + _emscripten_bind_btTriangleMesh____destroy___p0(this.ptr); +} +btTriangleMesh.prototype['getNumTriangles'] = function() { + return _emscripten_bind_btTriangleMesh__getNumTriangles_p0(this.ptr); +} +btTriangleMesh.prototype['getIndexedMeshArray'] = function() { + return _emscripten_bind_btTriangleMesh__getIndexedMeshArray_p0(this.ptr); +} +btTriangleMesh.prototype['getNumSubParts'] = function() { + return _emscripten_bind_btTriangleMesh__getNumSubParts_p0(this.ptr); +} +btTriangleMesh.prototype['getLockedVertexIndexBase'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg8 === undefined) + _emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p8(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + _emscripten_bind_btTriangleMesh__getLockedVertexIndexBase_p9(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +btTriangleMesh.prototype['hasPremadeAabb'] = function() { + return _emscripten_bind_btTriangleMesh__hasPremadeAabb_p0(this.ptr); +} +btTriangleMesh.prototype['addTriangle'] = function(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + _emscripten_bind_btTriangleMesh__addTriangle_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else + _emscripten_bind_btTriangleMesh__addTriangle_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3); +} +function btBroadphaseAabbCallback(){ throw "btBroadphaseAabbCallback is abstract!" } +btBroadphaseAabbCallback.prototype.__cache__ = {}; +Module['btBroadphaseAabbCallback'] = btBroadphaseAabbCallback; +btBroadphaseAabbCallback.prototype['process'] = function(arg0) { + return _emscripten_bind_btBroadphaseAabbCallback__process_p1(this.ptr, arg0.ptr); +} +btBroadphasePair.prototype['__destroy__'] = function() { + _emscripten_bind_btBroadphasePair____destroy___p0(this.ptr); +} +btBroadphasePair.prototype['set_m_internalTmpValue'] = function(arg0) { + _emscripten_bind_btBroadphasePair__set_m_internalTmpValue_p1(this.ptr, arg0); +} +btBroadphasePair.prototype['get_m_pProxy0'] = function() { + return wrapPointer(_emscripten_bind_btBroadphasePair__get_m_pProxy0_p0(this.ptr), Module['btBroadphaseProxy']); +} +btBroadphasePair.prototype['get_m_pProxy1'] = function() { + return wrapPointer(_emscripten_bind_btBroadphasePair__get_m_pProxy1_p0(this.ptr), Module['btBroadphaseProxy']); +} +btBroadphasePair.prototype['set_m_pProxy0'] = function(arg0) { + _emscripten_bind_btBroadphasePair__set_m_pProxy0_p1(this.ptr, arg0.ptr); +} +btBroadphasePair.prototype['set_m_pProxy1'] = function(arg0) { + _emscripten_bind_btBroadphasePair__set_m_pProxy1_p1(this.ptr, arg0.ptr); +} +function btBroadphasePair(arg0, arg1) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btBroadphasePair__btBroadphasePair_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btBroadphasePair__btBroadphasePair_p1(arg0.ptr); + else + this.ptr = _emscripten_bind_btBroadphasePair__btBroadphasePair_p2(arg0.ptr, arg1.ptr); + btBroadphasePair.prototype.__cache__[this.ptr] = this; + this.__class__ = btBroadphasePair; +} +btBroadphasePair.prototype.__cache__ = {}; +Module['btBroadphasePair'] = btBroadphasePair; +btBroadphasePair.prototype['get_m_internalTmpValue'] = function() { + return _emscripten_bind_btBroadphasePair__get_m_internalTmpValue_p0(this.ptr); +} +btBroadphasePair.prototype['get_m_internalInfo1'] = function() { + return _emscripten_bind_btBroadphasePair__get_m_internalInfo1_p0(this.ptr); +} +btBroadphasePair.prototype['get_m_algorithm'] = function() { + return wrapPointer(_emscripten_bind_btBroadphasePair__get_m_algorithm_p0(this.ptr), Module['btCollisionAlgorithm']); +} +btBroadphasePair.prototype['set_m_internalInfo1'] = function(arg0) { + _emscripten_bind_btBroadphasePair__set_m_internalInfo1_p1(this.ptr, arg0); +} +btBroadphasePair.prototype['set_m_algorithm'] = function(arg0) { + _emscripten_bind_btBroadphasePair__set_m_algorithm_p1(this.ptr, arg0.ptr); +} +function btBroadphaseRayCallback(){ throw "btBroadphaseRayCallback is abstract!" } +btBroadphaseRayCallback.prototype.__cache__ = {}; +Module['btBroadphaseRayCallback'] = btBroadphaseRayCallback; +btBroadphaseRayCallback.prototype['process'] = function(arg0) { + return _emscripten_bind_btBroadphaseRayCallback__process_p1(this.ptr, arg0.ptr); +} +btBroadphaseRayCallback.prototype['get_m_rayDirectionInverse'] = function() { + return wrapPointer(_emscripten_bind_btBroadphaseRayCallback__get_m_rayDirectionInverse_p0(this.ptr), Module['btVector3']); +} +btBroadphaseRayCallback.prototype['set_m_rayDirectionInverse'] = function(arg0) { + _emscripten_bind_btBroadphaseRayCallback__set_m_rayDirectionInverse_p1(this.ptr, arg0.ptr); +} +btBroadphaseRayCallback.prototype['set_m_lambda_max'] = function(arg0) { + _emscripten_bind_btBroadphaseRayCallback__set_m_lambda_max_p1(this.ptr, arg0); +} +btBroadphaseRayCallback.prototype['get_m_lambda_max'] = function() { + return _emscripten_bind_btBroadphaseRayCallback__get_m_lambda_max_p0(this.ptr); +} +function ConvexResultCallback(){ throw "ConvexResultCallback is abstract!" } +ConvexResultCallback.prototype.__cache__ = {}; +Module['ConvexResultCallback'] = ConvexResultCallback; +ConvexResultCallback.prototype['get_m_closestHitFraction'] = function() { + return _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_closestHitFraction_p0(this.ptr); +} +ConvexResultCallback.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +ConvexResultCallback.prototype['needsCollision'] = function(arg0) { + return _emscripten_bind_btCollisionWorld__ConvexResultCallback__needsCollision_p1(this.ptr, arg0.ptr); +} +ConvexResultCallback.prototype['set_m_closestHitFraction'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_closestHitFraction_p1(this.ptr, arg0); +} +ConvexResultCallback.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ConvexResultCallback__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +ConvexResultCallback.prototype['hasHit'] = function() { + return _emscripten_bind_btCollisionWorld__ConvexResultCallback__hasHit_p0(this.ptr); +} +ConvexResultCallback.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterMask_p0(this.ptr); +} +ConvexResultCallback.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btCollisionWorld__ConvexResultCallback__get_m_collisionFilterGroup_p0(this.ptr); +} +ConvexResultCallback.prototype['addSingleResult'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionWorld__ConvexResultCallback__addSingleResult_p2(this.ptr, arg0.ptr, arg1); +} +btDefaultMotionState.prototype['__destroy__'] = function() { + _emscripten_bind_btDefaultMotionState____destroy___p0(this.ptr); +} +btDefaultMotionState.prototype['get_m_startWorldTrans'] = function() { + return wrapPointer(_emscripten_bind_btDefaultMotionState__get_m_startWorldTrans_p0(this.ptr), Module['btTransform']); +} +btDefaultMotionState.prototype['get_m_userPointer'] = function() { + return _emscripten_bind_btDefaultMotionState__get_m_userPointer_p0(this.ptr); +} +btDefaultMotionState.prototype['getWorldTransform'] = function(arg0) { + _emscripten_bind_btDefaultMotionState__getWorldTransform_p1(this.ptr, arg0.ptr); +} +btDefaultMotionState.prototype['set_m_startWorldTrans'] = function(arg0) { + _emscripten_bind_btDefaultMotionState__set_m_startWorldTrans_p1(this.ptr, arg0.ptr); +} +btDefaultMotionState.prototype['setWorldTransform'] = function(arg0) { + _emscripten_bind_btDefaultMotionState__setWorldTransform_p1(this.ptr, arg0.ptr); +} +btDefaultMotionState.prototype['get_m_graphicsWorldTrans'] = function() { + return wrapPointer(_emscripten_bind_btDefaultMotionState__get_m_graphicsWorldTrans_p0(this.ptr), Module['btTransform']); +} +btDefaultMotionState.prototype['set_m_userPointer'] = function(arg0) { + _emscripten_bind_btDefaultMotionState__set_m_userPointer_p1(this.ptr, arg0); +} +btDefaultMotionState.prototype['set_m_graphicsWorldTrans'] = function(arg0) { + _emscripten_bind_btDefaultMotionState__set_m_graphicsWorldTrans_p1(this.ptr, arg0.ptr); +} +function btDefaultMotionState(arg0, arg1) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btDefaultMotionState__btDefaultMotionState_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btDefaultMotionState__btDefaultMotionState_p1(arg0.ptr); + else + this.ptr = _emscripten_bind_btDefaultMotionState__btDefaultMotionState_p2(arg0.ptr, arg1.ptr); + btDefaultMotionState.prototype.__cache__[this.ptr] = this; + this.__class__ = btDefaultMotionState; +} +btDefaultMotionState.prototype.__cache__ = {}; +Module['btDefaultMotionState'] = btDefaultMotionState; +btDefaultMotionState.prototype['get_m_centerOfMassOffset'] = function() { + return wrapPointer(_emscripten_bind_btDefaultMotionState__get_m_centerOfMassOffset_p0(this.ptr), Module['btTransform']); +} +btDefaultMotionState.prototype['set_m_centerOfMassOffset'] = function(arg0) { + _emscripten_bind_btDefaultMotionState__set_m_centerOfMassOffset_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['setGravity'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setGravity_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['addAction'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__addAction_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['getSolverInfo'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getSolverInfo_p0(this.ptr), Module['btContactSolverInfo']); +} +btContinuousDynamicsWorld.prototype['getDebugDrawer'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getDebugDrawer_p0(this.ptr), Module['btIDebugDraw']); +} +btContinuousDynamicsWorld.prototype['applyGravity'] = function() { + _emscripten_bind_btContinuousDynamicsWorld__applyGravity_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['serialize'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__serialize_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['getDispatcher'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getDispatcher_p0(this.ptr), Module['btDispatcher']); +} +btContinuousDynamicsWorld.prototype['getCollisionWorld'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getCollisionWorld_p0(this.ptr), Module['btCollisionWorld']); +} +btContinuousDynamicsWorld.prototype['addRigidBody'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btContinuousDynamicsWorld__addRigidBody_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btContinuousDynamicsWorld.prototype['clearForces'] = function() { + _emscripten_bind_btContinuousDynamicsWorld__clearForces_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['removeVehicle'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__removeVehicle_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['internalSingleStepSimulation'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__internalSingleStepSimulation_p1(this.ptr, arg0); +} +btContinuousDynamicsWorld.prototype['setBroadphase'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setBroadphase_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['getSynchronizeAllMotionStates'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getSynchronizeAllMotionStates_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['setNumTasks'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setNumTasks_p1(this.ptr, arg0); +} +btContinuousDynamicsWorld.prototype['setSynchronizeAllMotionStates'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setSynchronizeAllMotionStates_p1(this.ptr, arg0); +} +btContinuousDynamicsWorld.prototype['calculateTimeOfImpacts'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__calculateTimeOfImpacts_p1(this.ptr, arg0); +} +btContinuousDynamicsWorld.prototype['debugDrawObject'] = function(arg0, arg1, arg2) { + _emscripten_bind_btContinuousDynamicsWorld__debugDrawObject_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btContinuousDynamicsWorld.prototype['removeConstraint'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__removeConstraint_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['rayTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btContinuousDynamicsWorld__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btContinuousDynamicsWorld.prototype['getNumConstraints'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getNumConstraints_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['addCollisionObject'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p1(this.ptr, arg0.ptr); + else if (arg2 === undefined) + _emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p2(this.ptr, arg0.ptr, arg1); + else + _emscripten_bind_btContinuousDynamicsWorld__addCollisionObject_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btContinuousDynamicsWorld.prototype['removeRigidBody'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__removeRigidBody_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['contactTest'] = function(arg0, arg1) { + _emscripten_bind_btContinuousDynamicsWorld__contactTest_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btContinuousDynamicsWorld.prototype['performDiscreteCollisionDetection'] = function() { + _emscripten_bind_btContinuousDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['setInternalTickCallback'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p1(this.ptr, arg0); + else if (arg2 === undefined) + _emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btContinuousDynamicsWorld__setInternalTickCallback_p3(this.ptr, arg0, arg1, arg2); +} +btContinuousDynamicsWorld.prototype['getForceUpdateAllAabbs'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['updateAabbs'] = function() { + _emscripten_bind_btContinuousDynamicsWorld__updateAabbs_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['setDebugDrawer'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setDebugDrawer_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['debugDrawConstraint'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__debugDrawConstraint_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['debugDrawWorld'] = function() { + _emscripten_bind_btContinuousDynamicsWorld__debugDrawWorld_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['convexSweepTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg4 === undefined) + _emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btContinuousDynamicsWorld__convexSweepTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); +} +function btContinuousDynamicsWorld(arg0, arg1, arg2, arg3) { + this.ptr = _emscripten_bind_btContinuousDynamicsWorld__btContinuousDynamicsWorld_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + btContinuousDynamicsWorld.prototype.__cache__[this.ptr] = this; + this.__class__ = btContinuousDynamicsWorld; +} +btContinuousDynamicsWorld.prototype.__cache__ = {}; +Module['btContinuousDynamicsWorld'] = btContinuousDynamicsWorld; +btContinuousDynamicsWorld.prototype['getNumCollisionObjects'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getNumCollisionObjects_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['setWorldUserInfo'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setWorldUserInfo_p1(this.ptr, arg0); +} +btContinuousDynamicsWorld.prototype['addConstraint'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btContinuousDynamicsWorld__addConstraint_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btContinuousDynamicsWorld__addConstraint_p2(this.ptr, arg0.ptr, arg1); +} +btContinuousDynamicsWorld.prototype['getWorldUserInfo'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getWorldUserInfo_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['contactPairTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btContinuousDynamicsWorld__contactPairTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btContinuousDynamicsWorld.prototype['getGravity'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getGravity_p0(this.ptr), Module['btVector3']); +} +btContinuousDynamicsWorld.prototype['getBroadphase'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getBroadphase_p0(this.ptr), Module['btBroadphaseInterface']); +} +btContinuousDynamicsWorld.prototype['rayTestSingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btContinuousDynamicsWorld__rayTestSingle_p6(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr); +} +btContinuousDynamicsWorld.prototype['removeAction'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__removeAction_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['setForceUpdateAllAabbs'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr, arg0); +} +btContinuousDynamicsWorld.prototype['__destroy__'] = function() { + _emscripten_bind_btContinuousDynamicsWorld____destroy___p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['removeCharacter'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__removeCharacter_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['getConstraint'] = function(arg0) { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getConstraint_p1(this.ptr, arg0), Module['btTypedConstraint']); +} +btContinuousDynamicsWorld.prototype['getConstraintSolver'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getConstraintSolver_p0(this.ptr), Module['btConstraintSolver']); +} +btContinuousDynamicsWorld.prototype['stepSimulation'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + return _emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p1(this.ptr, arg0); + else if (arg2 === undefined) + return _emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p2(this.ptr, arg0, arg1); + else + return _emscripten_bind_btContinuousDynamicsWorld__stepSimulation_p3(this.ptr, arg0, arg1, arg2); +} +btContinuousDynamicsWorld.prototype['addCharacter'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__addCharacter_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['getWorldType'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getWorldType_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['updateSingleAabb'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__updateSingleAabb_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['updateVehicles'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__updateVehicles_p1(this.ptr, arg0); +} +btContinuousDynamicsWorld.prototype['synchronizeSingleMotionState'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__synchronizeSingleMotionState_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['getCollisionObjectArray'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getCollisionObjectArray_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['addVehicle'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__addVehicle_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['getPairCache'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btContinuousDynamicsWorld.prototype['synchronizeMotionStates'] = function() { + _emscripten_bind_btContinuousDynamicsWorld__synchronizeMotionStates_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['getSimulationIslandManager'] = function() { + return _emscripten_bind_btContinuousDynamicsWorld__getSimulationIslandManager_p0(this.ptr); +} +btContinuousDynamicsWorld.prototype['removeCollisionObject'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__removeCollisionObject_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['setConstraintSolver'] = function(arg0) { + _emscripten_bind_btContinuousDynamicsWorld__setConstraintSolver_p1(this.ptr, arg0.ptr); +} +btContinuousDynamicsWorld.prototype['objectQuerySingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + _emscripten_bind_btContinuousDynamicsWorld__objectQuerySingle_p8(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7); +} +btContinuousDynamicsWorld.prototype['getDispatchInfo'] = function() { + return wrapPointer(_emscripten_bind_btContinuousDynamicsWorld__getDispatchInfo_p0(this.ptr), Module['btDispatcherInfo']); +} +btConeShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConeShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConeShape.prototype['isCompound'] = function() { + return _emscripten_bind_btConeShape__isCompound_p0(this.ptr); +} +btConeShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConeShape__setUserPointer_p1(this.ptr, arg0); +} +btConeShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btConeShape__getMarginNV_p0(this.ptr); +} +btConeShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConeShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConeShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConeShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConeShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConeShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConeShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConeShape__isPolyhedral_p0(this.ptr); +} +btConeShape.prototype['getRadius'] = function() { + return _emscripten_bind_btConeShape__getRadius_p0(this.ptr); +} +function btConeShape(arg0, arg1) { + this.ptr = _emscripten_bind_btConeShape__btConeShape_p2(arg0, arg1); + btConeShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btConeShape; +} +btConeShape.prototype.__cache__ = {}; +Module['btConeShape'] = btConeShape; +btConeShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConeShape__calculateSerializeBufferSize_p0(this.ptr); +} +btConeShape.prototype['getName'] = function() { + return _emscripten_bind_btConeShape__getName_p0(this.ptr); +} +btConeShape.prototype['getHeight'] = function() { + return _emscripten_bind_btConeShape__getHeight_p0(this.ptr); +} +btConeShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btConeShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btConeShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShape.prototype['setConeUpIndex'] = function(arg0) { + _emscripten_bind_btConeShape__setConeUpIndex_p1(this.ptr, arg0); +} +btConeShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConeShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConeShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConeShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConeShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConeShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConeShape.prototype['isConvex'] = function() { + return _emscripten_bind_btConeShape__isConvex_p0(this.ptr); +} +btConeShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btConeShape__isInfinite_p0(this.ptr); +} +btConeShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConeShape__getUserPointer_p0(this.ptr); +} +btConeShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConeShape__isNonMoving_p0(this.ptr); +} +btConeShape.prototype['getMargin'] = function() { + return _emscripten_bind_btConeShape__getMargin_p0(this.ptr); +} +btConeShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConeShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConeShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConeShape__setMargin_p1(this.ptr, arg0); +} +btConeShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConeShape__isConvex2d_p0(this.ptr); +} +btConeShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btConeShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btConeShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConeShape__isSoftBody_p0(this.ptr); +} +btConeShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConeShape__getMarginNonVirtual_p0(this.ptr); +} +btConeShape.prototype['__destroy__'] = function() { + _emscripten_bind_btConeShape____destroy___p0(this.ptr); +} +btConeShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConeShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btConeShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btConeShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConeShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConeShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConeShape__getAngularMotionDisc_p0(this.ptr); +} +btConeShape.prototype['getConeUpIndex'] = function() { + return _emscripten_bind_btConeShape__getConeUpIndex_p0(this.ptr); +} +btConeShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConeShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConeShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConeShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConeShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConeShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConeShape.prototype['isConcave'] = function() { + return _emscripten_bind_btConeShape__isConcave_p0(this.ptr); +} +btConeShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btConeShape__getShapeType_p0(this.ptr); +} +btWheelInfo.prototype['set_m_chassisConnectionPointCS'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_chassisConnectionPointCS_p1(this.ptr, arg0.ptr); +} +btWheelInfo.prototype['set_m_maxSuspensionTravelCm'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_maxSuspensionTravelCm_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_wheelsRadius'] = function() { + return _emscripten_bind_btWheelInfo__get_m_wheelsRadius_p0(this.ptr); +} +btWheelInfo.prototype['get_m_suspensionRestLength1'] = function() { + return _emscripten_bind_btWheelInfo__get_m_suspensionRestLength1_p0(this.ptr); +} +btWheelInfo.prototype['set_m_suspensionStiffness'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_suspensionStiffness_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_wheelsRadius'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_wheelsRadius_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_maxSuspensionForce'] = function() { + return _emscripten_bind_btWheelInfo__get_m_maxSuspensionForce_p0(this.ptr); +} +btWheelInfo.prototype['updateWheel'] = function(arg0, arg1) { + _emscripten_bind_btWheelInfo__updateWheel_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btWheelInfo.prototype['get_m_wheelsDampingCompression'] = function() { + return _emscripten_bind_btWheelInfo__get_m_wheelsDampingCompression_p0(this.ptr); +} +btWheelInfo.prototype['get_m_clippedInvContactDotSuspension'] = function() { + return _emscripten_bind_btWheelInfo__get_m_clippedInvContactDotSuspension_p0(this.ptr); +} +btWheelInfo.prototype['get_m_worldTransform'] = function() { + return wrapPointer(_emscripten_bind_btWheelInfo__get_m_worldTransform_p0(this.ptr), Module['btTransform']); +} +btWheelInfo.prototype['get_m_frictionSlip'] = function() { + return _emscripten_bind_btWheelInfo__get_m_frictionSlip_p0(this.ptr); +} +btWheelInfo.prototype['get_m_bIsFrontWheel'] = function() { + return _emscripten_bind_btWheelInfo__get_m_bIsFrontWheel_p0(this.ptr); +} +btWheelInfo.prototype['set_m_engineForce'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_engineForce_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_engineForce'] = function() { + return _emscripten_bind_btWheelInfo__get_m_engineForce_p0(this.ptr); +} +btWheelInfo.prototype['get_m_steering'] = function() { + return _emscripten_bind_btWheelInfo__get_m_steering_p0(this.ptr); +} +btWheelInfo.prototype['get_m_rollInfluence'] = function() { + return _emscripten_bind_btWheelInfo__get_m_rollInfluence_p0(this.ptr); +} +btWheelInfo.prototype['get_m_suspensionRelativeVelocity'] = function() { + return _emscripten_bind_btWheelInfo__get_m_suspensionRelativeVelocity_p0(this.ptr); +} +btWheelInfo.prototype['set_m_clientInfo'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_clientInfo_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_brake'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_brake_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_suspensionRelativeVelocity'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_suspensionRelativeVelocity_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_bIsFrontWheel'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_bIsFrontWheel_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_wheelDirectionCS'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_wheelDirectionCS_p1(this.ptr, arg0.ptr); +} +btWheelInfo.prototype['set_m_wheelsDampingCompression'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_wheelsDampingCompression_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_deltaRotation'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_deltaRotation_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_clientInfo'] = function() { + return _emscripten_bind_btWheelInfo__get_m_clientInfo_p0(this.ptr); +} +btWheelInfo.prototype['set_m_frictionSlip'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_frictionSlip_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_skidInfo'] = function() { + return _emscripten_bind_btWheelInfo__get_m_skidInfo_p0(this.ptr); +} +btWheelInfo.prototype['getSuspensionRestLength'] = function() { + return _emscripten_bind_btWheelInfo__getSuspensionRestLength_p0(this.ptr); +} +btWheelInfo.prototype['get_m_wheelsDampingRelaxation'] = function() { + return _emscripten_bind_btWheelInfo__get_m_wheelsDampingRelaxation_p0(this.ptr); +} +btWheelInfo.prototype['get_m_maxSuspensionTravelCm'] = function() { + return _emscripten_bind_btWheelInfo__get_m_maxSuspensionTravelCm_p0(this.ptr); +} +btWheelInfo.prototype['set_m_steering'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_steering_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_wheelAxleCS'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_wheelAxleCS_p1(this.ptr, arg0.ptr); +} +function btWheelInfo(arg0) { + this.ptr = _emscripten_bind_btWheelInfo__btWheelInfo_p1(arg0.ptr); + btWheelInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btWheelInfo; +} +btWheelInfo.prototype.__cache__ = {}; +Module['btWheelInfo'] = btWheelInfo; +btWheelInfo.prototype['get_m_chassisConnectionPointCS'] = function() { + return wrapPointer(_emscripten_bind_btWheelInfo__get_m_chassisConnectionPointCS_p0(this.ptr), Module['btVector3']); +} +btWheelInfo.prototype['get_m_brake'] = function() { + return _emscripten_bind_btWheelInfo__get_m_brake_p0(this.ptr); +} +btWheelInfo.prototype['set_m_skidInfo'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_skidInfo_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_wheelsSuspensionForce'] = function() { + return _emscripten_bind_btWheelInfo__get_m_wheelsSuspensionForce_p0(this.ptr); +} +btWheelInfo.prototype['set_m_suspensionRestLength1'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_suspensionRestLength1_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_rollInfluence'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_rollInfluence_p1(this.ptr, arg0); +} +btWheelInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btWheelInfo____destroy___p0(this.ptr); +} +btWheelInfo.prototype['get_m_rotation'] = function() { + return _emscripten_bind_btWheelInfo__get_m_rotation_p0(this.ptr); +} +btWheelInfo.prototype['set_m_wheelsDampingRelaxation'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_wheelsDampingRelaxation_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_wheelDirectionCS'] = function() { + return wrapPointer(_emscripten_bind_btWheelInfo__get_m_wheelDirectionCS_p0(this.ptr), Module['btVector3']); +} +btWheelInfo.prototype['get_m_suspensionStiffness'] = function() { + return _emscripten_bind_btWheelInfo__get_m_suspensionStiffness_p0(this.ptr); +} +btWheelInfo.prototype['set_m_clippedInvContactDotSuspension'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_clippedInvContactDotSuspension_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_rotation'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_rotation_p1(this.ptr, arg0); +} +btWheelInfo.prototype['get_m_wheelAxleCS'] = function() { + return wrapPointer(_emscripten_bind_btWheelInfo__get_m_wheelAxleCS_p0(this.ptr), Module['btVector3']); +} +btWheelInfo.prototype['set_m_wheelsSuspensionForce'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_wheelsSuspensionForce_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_maxSuspensionForce'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_maxSuspensionForce_p1(this.ptr, arg0); +} +btWheelInfo.prototype['set_m_worldTransform'] = function(arg0) { + _emscripten_bind_btWheelInfo__set_m_worldTransform_p1(this.ptr, arg0.ptr); +} +btWheelInfo.prototype['get_m_deltaRotation'] = function() { + return _emscripten_bind_btWheelInfo__get_m_deltaRotation_p0(this.ptr); +} +btBU_Simplex1to4.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btBU_Simplex1to4__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btBU_Simplex1to4.prototype['getNumPlanes'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getNumPlanes_p0(this.ptr); +} +btBU_Simplex1to4.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBU_Simplex1to4.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btBU_Simplex1to4__setUserPointer_p1(this.ptr, arg0); +} +btBU_Simplex1to4.prototype['isInside'] = function(arg0, arg1) { + return _emscripten_bind_btBU_Simplex1to4__isInside_p2(this.ptr, arg0.ptr, arg1); +} +btBU_Simplex1to4.prototype['getNumVertices'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getNumVertices_p0(this.ptr); +} +btBU_Simplex1to4.prototype['addVertex'] = function(arg0) { + _emscripten_bind_btBU_Simplex1to4__addVertex_p1(this.ptr, arg0.ptr); +} +btBU_Simplex1to4.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btBU_Simplex1to4__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btBU_Simplex1to4.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btBU_Simplex1to4.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isPolyhedral_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getVertex'] = function(arg0, arg1) { + _emscripten_bind_btBU_Simplex1to4__getVertex_p2(this.ptr, arg0, arg1.ptr); +} +btBU_Simplex1to4.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBU_Simplex1to4.prototype['getIndex'] = function(arg0) { + return _emscripten_bind_btBU_Simplex1to4__getIndex_p1(this.ptr, arg0); +} +btBU_Simplex1to4.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBU_Simplex1to4__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBU_Simplex1to4.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btBU_Simplex1to4__calculateSerializeBufferSize_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getNumEdges'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getNumEdges_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getName'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getName_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getEdge'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBU_Simplex1to4__getEdge_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btBU_Simplex1to4.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btBU_Simplex1to4__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btBU_Simplex1to4.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBU_Simplex1to4.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btBU_Simplex1to4__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btBU_Simplex1to4.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btBU_Simplex1to4__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btBU_Simplex1to4.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBU_Simplex1to4__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBU_Simplex1to4.prototype['getMarginNV'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getMarginNV_p0(this.ptr); +} +btBU_Simplex1to4.prototype['isConvex2d'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isConvex2d_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btBU_Simplex1to4__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btBU_Simplex1to4.prototype['isConvex'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isConvex_p0(this.ptr); +} +btBU_Simplex1to4.prototype['isInfinite'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isInfinite_p0(this.ptr); +} +btBU_Simplex1to4.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btBU_Simplex1to4__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btBU_Simplex1to4.prototype['isNonMoving'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isNonMoving_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getUserPointer'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getUserPointer_p0(this.ptr); +} +function btBU_Simplex1to4(arg0, arg1, arg2, arg3) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p1(arg0.ptr); + else if (arg2 === undefined) + this.ptr = _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p2(arg0.ptr, arg1.ptr); + else if (arg3 === undefined) + this.ptr = _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p3(arg0.ptr, arg1.ptr, arg2.ptr); + else + this.ptr = _emscripten_bind_btBU_Simplex1to4__btBU_Simplex1to4_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + btBU_Simplex1to4.prototype.__cache__[this.ptr] = this; + this.__class__ = btBU_Simplex1to4; +} +btBU_Simplex1to4.prototype.__cache__ = {}; +Module['btBU_Simplex1to4'] = btBU_Simplex1to4; +btBU_Simplex1to4.prototype['getMargin'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getMargin_p0(this.ptr); +} +btBU_Simplex1to4.prototype['recalcLocalAabb'] = function() { + _emscripten_bind_btBU_Simplex1to4__recalcLocalAabb_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btBU_Simplex1to4__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btBU_Simplex1to4.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btBU_Simplex1to4__setMargin_p1(this.ptr, arg0); +} +btBU_Simplex1to4.prototype['initializePolyhedralFeatures'] = function() { + return _emscripten_bind_btBU_Simplex1to4__initializePolyhedralFeatures_p0(this.ptr); +} +btBU_Simplex1to4.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBU_Simplex1to4__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBU_Simplex1to4.prototype['isSoftBody'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isSoftBody_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getMarginNonVirtual_p0(this.ptr); +} +btBU_Simplex1to4.prototype['reset'] = function() { + _emscripten_bind_btBU_Simplex1to4__reset_p0(this.ptr); +} +btBU_Simplex1to4.prototype['__destroy__'] = function() { + _emscripten_bind_btBU_Simplex1to4____destroy___p0(this.ptr); +} +btBU_Simplex1to4.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBU_Simplex1to4__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btBU_Simplex1to4.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btBU_Simplex1to4__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btBU_Simplex1to4.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btBU_Simplex1to4__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btBU_Simplex1to4.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getAngularMotionDisc_p0(this.ptr); +} +btBU_Simplex1to4.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btBU_Simplex1to4__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btBU_Simplex1to4.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBU_Simplex1to4__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBU_Simplex1to4.prototype['getPlane'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBU_Simplex1to4__getPlane_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btBU_Simplex1to4.prototype['isCompound'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isCompound_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getConvexPolyhedron'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getConvexPolyhedron_p0(this.ptr); +} +btBU_Simplex1to4.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btBU_Simplex1to4__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btBU_Simplex1to4.prototype['getShapeType'] = function() { + return _emscripten_bind_btBU_Simplex1to4__getShapeType_p0(this.ptr); +} +btBU_Simplex1to4.prototype['isConcave'] = function() { + return _emscripten_bind_btBU_Simplex1to4__isConcave_p0(this.ptr); +} +btBU_Simplex1to4.prototype['getNonvirtualAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btBU_Simplex1to4__getNonvirtualAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3); +} +btVector4.prototype['setMin'] = function(arg0) { + _emscripten_bind_btVector4__setMin_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['getSkewSymmetricMatrix'] = function(arg0, arg1, arg2) { + _emscripten_bind_btVector4__getSkewSymmetricMatrix_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btVector4.prototype['serialize'] = function(arg0) { + _emscripten_bind_btVector4__serialize_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['deSerializeDouble'] = function(arg0) { + _emscripten_bind_btVector4__deSerializeDouble_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['getX'] = function() { + return _emscripten_bind_btVector4__getX_p0(this.ptr); +} +btVector4.prototype['minAxis4'] = function() { + return _emscripten_bind_btVector4__minAxis4_p0(this.ptr); +} +btVector4.prototype['getZ'] = function() { + return _emscripten_bind_btVector4__getZ_p0(this.ptr); +} +btVector4.prototype['setInterpolate3'] = function(arg0, arg1, arg2) { + _emscripten_bind_btVector4__setInterpolate3_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btVector4.prototype['triple'] = function(arg0, arg1) { + return _emscripten_bind_btVector4__triple_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btVector4.prototype['absolute'] = function() { + return wrapPointer(_emscripten_bind_btVector4__absolute_p0(this.ptr), Module['btVector3']); +} +btVector4.prototype['normalize'] = function() { + return wrapPointer(_emscripten_bind_btVector4__normalize_p0(this.ptr), Module['btVector3']); +} +btVector4.prototype['angle'] = function(arg0) { + return _emscripten_bind_btVector4__angle_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['deSerializeFloat'] = function(arg0) { + _emscripten_bind_btVector4__deSerializeFloat_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['lerp'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btVector4__lerp_p2(this.ptr, arg0.ptr, arg1), Module['btVector3']); +} +btVector4.prototype['setMax'] = function(arg0) { + _emscripten_bind_btVector4__setMax_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['cross'] = function(arg0) { + return wrapPointer(_emscripten_bind_btVector4__cross_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btVector4.prototype['serializeDouble'] = function(arg0) { + _emscripten_bind_btVector4__serializeDouble_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['absolute4'] = function() { + return wrapPointer(_emscripten_bind_btVector4__absolute4_p0(this.ptr), Module['btVector4']); +} +btVector4.prototype['getW'] = function() { + return _emscripten_bind_btVector4__getW_p0(this.ptr); +} +btVector4.prototype['distance2'] = function(arg0) { + return _emscripten_bind_btVector4__distance2_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['closestAxis'] = function() { + return _emscripten_bind_btVector4__closestAxis_p0(this.ptr); +} +btVector4.prototype['setValue'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btVector4__setValue_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btVector4.prototype['fuzzyZero'] = function() { + return _emscripten_bind_btVector4__fuzzyZero_p0(this.ptr); +} +btVector4.prototype['deSerialize'] = function(arg0) { + _emscripten_bind_btVector4__deSerialize_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['distance'] = function(arg0) { + return _emscripten_bind_btVector4__distance_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['minAxis'] = function() { + return _emscripten_bind_btVector4__minAxis_p0(this.ptr); +} +function btVector4(arg0, arg1, arg2, arg3) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btVector4__btVector4_p0(); + else + this.ptr = _emscripten_bind_btVector4__btVector4_p4(arg0, arg1, arg2, arg3); + btVector4.prototype.__cache__[this.ptr] = this; + this.__class__ = btVector4; +} +btVector4.prototype.__cache__ = {}; +Module['btVector4'] = btVector4; +btVector4.prototype['isZero'] = function() { + return _emscripten_bind_btVector4__isZero_p0(this.ptr); +} +btVector4.prototype['safeNormalize'] = function() { + return wrapPointer(_emscripten_bind_btVector4__safeNormalize_p0(this.ptr), Module['btVector3']); +} +btVector4.prototype['normalized'] = function() { + return wrapPointer(_emscripten_bind_btVector4__normalized_p0(this.ptr), Module['btVector3']); +} +btVector4.prototype['serializeFloat'] = function(arg0) { + _emscripten_bind_btVector4__serializeFloat_p1(this.ptr, arg0.ptr); +} +btVector4.prototype['setX'] = function(arg0) { + _emscripten_bind_btVector4__setX_p1(this.ptr, arg0); +} +btVector4.prototype['setY'] = function(arg0) { + _emscripten_bind_btVector4__setY_p1(this.ptr, arg0); +} +btVector4.prototype['setZ'] = function(arg0) { + _emscripten_bind_btVector4__setZ_p1(this.ptr, arg0); +} +btVector4.prototype['maxAxis4'] = function() { + return _emscripten_bind_btVector4__maxAxis4_p0(this.ptr); +} +btVector4.prototype['__destroy__'] = function() { + _emscripten_bind_btVector4____destroy___p0(this.ptr); +} +btVector4.prototype['rotate'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btVector4__rotate_p2(this.ptr, arg0.ptr, arg1), Module['btVector3']); +} +btVector4.prototype['maxAxis'] = function() { + return _emscripten_bind_btVector4__maxAxis_p0(this.ptr); +} +btVector4.prototype['closestAxis4'] = function() { + return _emscripten_bind_btVector4__closestAxis4_p0(this.ptr); +} +btVector4.prototype['getY'] = function() { + return _emscripten_bind_btVector4__getY_p0(this.ptr); +} +btVector4.prototype['length2'] = function() { + return _emscripten_bind_btVector4__length2_p0(this.ptr); +} +btVector4.prototype['setZero'] = function() { + _emscripten_bind_btVector4__setZero_p0(this.ptr); +} +btVector4.prototype['length'] = function() { + return _emscripten_bind_btVector4__length_p0(this.ptr); +} +btVector4.prototype['setW'] = function(arg0) { + _emscripten_bind_btVector4__setW_p1(this.ptr, arg0); +} +btVector4.prototype['furthestAxis'] = function() { + return _emscripten_bind_btVector4__furthestAxis_p0(this.ptr); +} +btVector4.prototype['w'] = function() { + return _emscripten_bind_btVector4__w_p0(this.ptr); +} +btVector4.prototype['y'] = function() { + return _emscripten_bind_btVector4__y_p0(this.ptr); +} +btVector4.prototype['x'] = function() { + return _emscripten_bind_btVector4__x_p0(this.ptr); +} +btVector4.prototype['z'] = function() { + return _emscripten_bind_btVector4__z_p0(this.ptr); +} +btVector4.prototype['dot'] = function(arg0) { + return _emscripten_bind_btVector4__dot_p1(this.ptr, arg0.ptr); +} +function btActionInterface(){ throw "btActionInterface is abstract!" } +btActionInterface.prototype.__cache__ = {}; +Module['btActionInterface'] = btActionInterface; +btActionInterface.prototype['updateAction'] = function(arg0, arg1) { + _emscripten_bind_btActionInterface__updateAction_p2(this.ptr, arg0.ptr, arg1); +} +btActionInterface.prototype['debugDraw'] = function(arg0) { + _emscripten_bind_btActionInterface__debugDraw_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['setMin'] = function(arg0) { + _emscripten_bind_btVector3__setMin_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['getSkewSymmetricMatrix'] = function(arg0, arg1, arg2) { + _emscripten_bind_btVector3__getSkewSymmetricMatrix_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btVector3.prototype['serialize'] = function(arg0) { + _emscripten_bind_btVector3__serialize_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['deSerializeDouble'] = function(arg0) { + _emscripten_bind_btVector3__deSerializeDouble_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['getX'] = function() { + return _emscripten_bind_btVector3__getX_p0(this.ptr); +} +btVector3.prototype['getY'] = function() { + return _emscripten_bind_btVector3__getY_p0(this.ptr); +} +btVector3.prototype['getZ'] = function() { + return _emscripten_bind_btVector3__getZ_p0(this.ptr); +} +btVector3.prototype['setInterpolate3'] = function(arg0, arg1, arg2) { + _emscripten_bind_btVector3__setInterpolate3_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btVector3.prototype['triple'] = function(arg0, arg1) { + return _emscripten_bind_btVector3__triple_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btVector3.prototype['op_sub'] = function(arg0) { + return wrapPointer(_emscripten_bind_btVector3__op_sub_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btVector3.prototype['absolute'] = function() { + return wrapPointer(_emscripten_bind_btVector3__absolute_p0(this.ptr), Module['btVector3']); +} +btVector3.prototype['normalize'] = function() { + return wrapPointer(_emscripten_bind_btVector3__normalize_p0(this.ptr), Module['btVector3']); +} +btVector3.prototype['angle'] = function(arg0) { + return _emscripten_bind_btVector3__angle_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['lerp'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btVector3__lerp_p2(this.ptr, arg0.ptr, arg1), Module['btVector3']); +} +btVector3.prototype['setMax'] = function(arg0) { + _emscripten_bind_btVector3__setMax_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['cross'] = function(arg0) { + return wrapPointer(_emscripten_bind_btVector3__cross_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btVector3.prototype['op_add'] = function(arg0) { + return wrapPointer(_emscripten_bind_btVector3__op_add_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btVector3.prototype['op_comp'] = function(arg0) { + return _emscripten_bind_btVector3__op_comp_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['__destroy__'] = function() { + _emscripten_bind_btVector3____destroy___p0(this.ptr); +} +btVector3.prototype['op_mul'] = function(arg0) { + return wrapPointer(_emscripten_bind_btVector3__op_mul_p1(this.ptr, arg0), Module['btVector3']); +} +btVector3.prototype['serializeDouble'] = function(arg0) { + _emscripten_bind_btVector3__serializeDouble_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['isZero'] = function() { + return _emscripten_bind_btVector3__isZero_p0(this.ptr); +} +btVector3.prototype['op_set'] = function(arg0) { + return _emscripten_bind_btVector3__op_set_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['distance2'] = function(arg0) { + return _emscripten_bind_btVector3__distance2_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['closestAxis'] = function() { + return _emscripten_bind_btVector3__closestAxis_p0(this.ptr); +} +btVector3.prototype['setValue'] = function(arg0, arg1, arg2) { + _emscripten_bind_btVector3__setValue_p3(this.ptr, arg0, arg1, arg2); +} +btVector3.prototype['fuzzyZero'] = function() { + return _emscripten_bind_btVector3__fuzzyZero_p0(this.ptr); +} +btVector3.prototype['deSerialize'] = function(arg0) { + _emscripten_bind_btVector3__deSerialize_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['op_div'] = function(arg0) { + return wrapPointer(_emscripten_bind_btVector3__op_div_p1(this.ptr, arg0), Module['btVector3']); +} +btVector3.prototype['minAxis'] = function() { + return _emscripten_bind_btVector3__minAxis_p0(this.ptr); +} +btVector3.prototype['safeNormalize'] = function() { + return wrapPointer(_emscripten_bind_btVector3__safeNormalize_p0(this.ptr), Module['btVector3']); +} +btVector3.prototype['normalized'] = function() { + return wrapPointer(_emscripten_bind_btVector3__normalized_p0(this.ptr), Module['btVector3']); +} +function btVector3(arg0, arg1, arg2) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btVector3__btVector3_p0(); + else + this.ptr = _emscripten_bind_btVector3__btVector3_p3(arg0, arg1, arg2); + btVector3.prototype.__cache__[this.ptr] = this; + this.__class__ = btVector3; +} +btVector3.prototype.__cache__ = {}; +Module['btVector3'] = btVector3; +btVector3.prototype['serializeFloat'] = function(arg0) { + _emscripten_bind_btVector3__serializeFloat_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['setX'] = function(arg0) { + _emscripten_bind_btVector3__setX_p1(this.ptr, arg0); +} +btVector3.prototype['setY'] = function(arg0) { + _emscripten_bind_btVector3__setY_p1(this.ptr, arg0); +} +btVector3.prototype['setZ'] = function(arg0) { + _emscripten_bind_btVector3__setZ_p1(this.ptr, arg0); +} +btVector3.prototype['distance'] = function(arg0) { + return _emscripten_bind_btVector3__distance_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['rotate'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btVector3__rotate_p2(this.ptr, arg0.ptr, arg1), Module['btVector3']); +} +btVector3.prototype['maxAxis'] = function() { + return _emscripten_bind_btVector3__maxAxis_p0(this.ptr); +} +btVector3.prototype['deSerializeFloat'] = function(arg0) { + _emscripten_bind_btVector3__deSerializeFloat_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['length2'] = function() { + return _emscripten_bind_btVector3__length2_p0(this.ptr); +} +btVector3.prototype['setZero'] = function() { + _emscripten_bind_btVector3__setZero_p0(this.ptr); +} +btVector3.prototype['length'] = function() { + return _emscripten_bind_btVector3__length_p0(this.ptr); +} +btVector3.prototype['setW'] = function(arg0) { + _emscripten_bind_btVector3__setW_p1(this.ptr, arg0); +} +btVector3.prototype['dot'] = function(arg0) { + return _emscripten_bind_btVector3__dot_p1(this.ptr, arg0.ptr); +} +btVector3.prototype['w'] = function() { + return _emscripten_bind_btVector3__w_p0(this.ptr); +} +btVector3.prototype['y'] = function() { + return _emscripten_bind_btVector3__y_p0(this.ptr); +} +btVector3.prototype['x'] = function() { + return _emscripten_bind_btVector3__x_p0(this.ptr); +} +btVector3.prototype['z'] = function() { + return _emscripten_bind_btVector3__z_p0(this.ptr); +} +btVector3.prototype['furthestAxis'] = function() { + return _emscripten_bind_btVector3__furthestAxis_p0(this.ptr); +} +function btSerializer(){ throw "btSerializer is abstract!" } +btSerializer.prototype.__cache__ = {}; +Module['btSerializer'] = btSerializer; +btSerializer.prototype['setSerializationFlags'] = function(arg0) { + _emscripten_bind_btSerializer__setSerializationFlags_p1(this.ptr, arg0); +} +btSerializer.prototype['findNameForPointer'] = function(arg0) { + return _emscripten_bind_btSerializer__findNameForPointer_p1(this.ptr, arg0); +} +btSerializer.prototype['startSerialization'] = function() { + _emscripten_bind_btSerializer__startSerialization_p0(this.ptr); +} +btSerializer.prototype['getSerializationFlags'] = function() { + return _emscripten_bind_btSerializer__getSerializationFlags_p0(this.ptr); +} +btSerializer.prototype['finishSerialization'] = function() { + _emscripten_bind_btSerializer__finishSerialization_p0(this.ptr); +} +btSerializer.prototype['getUniquePointer'] = function(arg0) { + return _emscripten_bind_btSerializer__getUniquePointer_p1(this.ptr, arg0); +} +btSerializer.prototype['getBufferPointer'] = function() { + return _emscripten_bind_btSerializer__getBufferPointer_p0(this.ptr); +} +btSerializer.prototype['getCurrentBufferSize'] = function() { + return _emscripten_bind_btSerializer__getCurrentBufferSize_p0(this.ptr); +} +btSerializer.prototype['finalizeChunk'] = function(arg0, arg1, arg2, arg3) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btSerializer__finalizeChunk_p4(this.ptr, arg0.ptr, ensureString(arg1), arg2, arg3); +} finally { Runtime.stackRestore(stack) } +} +btSerializer.prototype['serializeName'] = function(arg0) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btSerializer__serializeName_p1(this.ptr, ensureString(arg0)); +} finally { Runtime.stackRestore(stack) } +} +btSerializer.prototype['findPointer'] = function(arg0) { + return _emscripten_bind_btSerializer__findPointer_p1(this.ptr, arg0); +} +btSerializer.prototype['registerNameForPointer'] = function(arg0, arg1) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btSerializer__registerNameForPointer_p2(this.ptr, arg0, ensureString(arg1)); +} finally { Runtime.stackRestore(stack) } +} +btSerializer.prototype['allocate'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btSerializer__allocate_p2(this.ptr, arg0, arg1), Module['btChunk']); +} +btTriangleInfo.prototype['set_m_edgeV2V0Angle'] = function(arg0) { + _emscripten_bind_btTriangleInfo__set_m_edgeV2V0Angle_p1(this.ptr, arg0); +} +btTriangleInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btTriangleInfo____destroy___p0(this.ptr); +} +btTriangleInfo.prototype['get_m_edgeV1V2Angle'] = function() { + return _emscripten_bind_btTriangleInfo__get_m_edgeV1V2Angle_p0(this.ptr); +} +btTriangleInfo.prototype['get_m_edgeV0V1Angle'] = function() { + return _emscripten_bind_btTriangleInfo__get_m_edgeV0V1Angle_p0(this.ptr); +} +btTriangleInfo.prototype['set_m_flags'] = function(arg0) { + _emscripten_bind_btTriangleInfo__set_m_flags_p1(this.ptr, arg0); +} +btTriangleInfo.prototype['set_m_edgeV0V1Angle'] = function(arg0) { + _emscripten_bind_btTriangleInfo__set_m_edgeV0V1Angle_p1(this.ptr, arg0); +} +btTriangleInfo.prototype['get_m_edgeV2V0Angle'] = function() { + return _emscripten_bind_btTriangleInfo__get_m_edgeV2V0Angle_p0(this.ptr); +} +btTriangleInfo.prototype['set_m_edgeV1V2Angle'] = function(arg0) { + _emscripten_bind_btTriangleInfo__set_m_edgeV1V2Angle_p1(this.ptr, arg0); +} +btTriangleInfo.prototype['get_m_flags'] = function() { + return _emscripten_bind_btTriangleInfo__get_m_flags_p0(this.ptr); +} +function btTriangleInfo() { + this.ptr = _emscripten_bind_btTriangleInfo__btTriangleInfo_p0(); + btTriangleInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btTriangleInfo; +} +btTriangleInfo.prototype.__cache__ = {}; +Module['btTriangleInfo'] = btTriangleInfo; +ClosestRayResultCallback.prototype['addSingleResult'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__addSingleResult_p2(this.ptr, arg0.ptr, arg1); +} +ClosestRayResultCallback.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +ClosestRayResultCallback.prototype['get_m_rayToWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayToWorld_p0(this.ptr), Module['btVector3']); +} +ClosestRayResultCallback.prototype['get_m_hitPointWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitPointWorld_p0(this.ptr), Module['btVector3']); +} +ClosestRayResultCallback.prototype['set_m_collisionObject'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionObject_p1(this.ptr, arg0.ptr); +} +ClosestRayResultCallback.prototype['get_m_collisionObject'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionObject_p0(this.ptr), Module['btCollisionObject']); +} +ClosestRayResultCallback.prototype['set_m_flags'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_flags_p1(this.ptr, arg0); +} +ClosestRayResultCallback.prototype['set_m_rayToWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayToWorld_p1(this.ptr, arg0.ptr); +} +ClosestRayResultCallback.prototype['get_m_rayFromWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_rayFromWorld_p0(this.ptr), Module['btVector3']); +} +ClosestRayResultCallback.prototype['needsCollision'] = function(arg0) { + return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__needsCollision_p1(this.ptr, arg0.ptr); +} +ClosestRayResultCallback.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterMask_p0(this.ptr); +} +ClosestRayResultCallback.prototype['get_m_closestHitFraction'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_closestHitFraction_p0(this.ptr); +} +ClosestRayResultCallback.prototype['set_m_hitNormalWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitNormalWorld_p1(this.ptr, arg0.ptr); +} +ClosestRayResultCallback.prototype['set_m_hitPointWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_hitPointWorld_p1(this.ptr, arg0.ptr); +} +ClosestRayResultCallback.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback____destroy___p0(this.ptr); +} +ClosestRayResultCallback.prototype['get_m_flags'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_flags_p0(this.ptr); +} +ClosestRayResultCallback.prototype['set_m_closestHitFraction'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_closestHitFraction_p1(this.ptr, arg0); +} +ClosestRayResultCallback.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +ClosestRayResultCallback.prototype['hasHit'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__hasHit_p0(this.ptr); +} +ClosestRayResultCallback.prototype['get_m_hitNormalWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_hitNormalWorld_p0(this.ptr), Module['btVector3']); +} +function ClosestRayResultCallback(arg0, arg1) { + this.ptr = _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_p2(arg0.ptr, arg1.ptr); + ClosestRayResultCallback.prototype.__cache__[this.ptr] = this; + this.__class__ = ClosestRayResultCallback; +} +ClosestRayResultCallback.prototype.__cache__ = {}; +Module['ClosestRayResultCallback'] = ClosestRayResultCallback; +ClosestRayResultCallback.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__get_m_collisionFilterGroup_p0(this.ptr); +} +ClosestRayResultCallback.prototype['set_m_rayFromWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestRayResultCallback__set_m_rayFromWorld_p1(this.ptr, arg0.ptr); +} +LocalRayResult.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionWorld__LocalRayResult____destroy___p0(this.ptr); +} +LocalRayResult.prototype['set_m_localShapeInfo'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_localShapeInfo_p1(this.ptr, arg0.ptr); +} +LocalRayResult.prototype['get_m_hitNormalLocal'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitNormalLocal_p0(this.ptr), Module['btVector3']); +} +LocalRayResult.prototype['set_m_hitNormalLocal'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitNormalLocal_p1(this.ptr, arg0.ptr); +} +LocalRayResult.prototype['set_m_hitFraction'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_hitFraction_p1(this.ptr, arg0); +} +LocalRayResult.prototype['get_m_hitFraction'] = function() { + return _emscripten_bind_btCollisionWorld__LocalRayResult__get_m_hitFraction_p0(this.ptr); +} +function LocalRayResult(arg0, arg1, arg2, arg3) { + this.ptr = _emscripten_bind_btCollisionWorld__LocalRayResult__LocalRayResult_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3); + LocalRayResult.prototype.__cache__[this.ptr] = this; + this.__class__ = LocalRayResult; +} +LocalRayResult.prototype.__cache__ = {}; +Module['LocalRayResult'] = LocalRayResult; +LocalRayResult.prototype['get_m_localShapeInfo'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_localShapeInfo_p0(this.ptr), Module['LocalShapeInfo']); +} +LocalRayResult.prototype['set_m_collisionObject'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalRayResult__set_m_collisionObject_p1(this.ptr, arg0.ptr); +} +LocalRayResult.prototype['get_m_collisionObject'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__LocalRayResult__get_m_collisionObject_p0(this.ptr), Module['btCollisionObject']); +} +btHinge2Constraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btHinge2Constraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btHinge2Constraint__buildJacobian_p0(this.ptr); +} +btHinge2Constraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btHinge2Constraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btHinge2Constraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btHinge2Constraint.prototype['getUid'] = function() { + return _emscripten_bind_btHinge2Constraint__getUid_p0(this.ptr); +} +btHinge2Constraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__set_m_objectType_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setEnabled_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['getFrameOffsetA'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getFrameOffsetA_p0(this.ptr), Module['btTransform']); +} +btHinge2Constraint.prototype['getRelativePivotPosition'] = function(arg0) { + return _emscripten_bind_btHinge2Constraint__getRelativePivotPosition_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btHinge2Constraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btHinge2Constraint.prototype['getCalculatedTransformB'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getCalculatedTransformB_p0(this.ptr), Module['btTransform']); +} +btHinge2Constraint.prototype['getCalculatedTransformA'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getCalculatedTransformA_p0(this.ptr), Module['btTransform']); +} +btHinge2Constraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btHinge2Constraint__getUserConstraintId_p0(this.ptr); +} +btHinge2Constraint.prototype['setUpperLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setUpperLimit_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btHinge2Constraint__get_m_objectType_p0(this.ptr); +} +btHinge2Constraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btHinge2Constraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btHinge2Constraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btHinge2Constraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btHinge2Constraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btHinge2Constraint__getParam_p2(this.ptr, arg0, arg1); +} +btHinge2Constraint.prototype['setDamping'] = function(arg0, arg1) { + _emscripten_bind_btHinge2Constraint__setDamping_p2(this.ptr, arg0, arg1); +} +btHinge2Constraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['calcAnchorPos'] = function() { + _emscripten_bind_btHinge2Constraint__calcAnchorPos_p0(this.ptr); +} +btHinge2Constraint.prototype['getAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__getAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btHinge2Constraint__calculateSerializeBufferSize_p0(this.ptr); +} +btHinge2Constraint.prototype['setEquilibriumPoint'] = function(arg0, arg1) { + if (arg0 === undefined) + _emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p0(this.ptr); + else if (arg1 === undefined) + _emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p1(this.ptr, arg0); + else + _emscripten_bind_btHinge2Constraint__setEquilibriumPoint_p2(this.ptr, arg0, arg1); +} +btHinge2Constraint.prototype['getAxis'] = function(arg0) { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getAxis_p1(this.ptr, arg0), Module['btVector3']); +} +btHinge2Constraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btHinge2Constraint__internalGetAppliedImpulse_p0(this.ptr); +} +btHinge2Constraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btHinge2Constraint__isEnabled_p0(this.ptr); +} +btHinge2Constraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setUserConstraintId_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['getLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__getLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btHinge2Constraint__getConstraintType_p0(this.ptr); +} +btHinge2Constraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__enableFeedback_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['getAnchor'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getAnchor_p0(this.ptr), Module['btVector3']); +} +btHinge2Constraint.prototype['setUseFrameOffset'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setUseFrameOffset_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['isLimited'] = function(arg0) { + return _emscripten_bind_btHinge2Constraint__isLimited_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['getAngle2'] = function() { + return _emscripten_bind_btHinge2Constraint__getAngle2_p0(this.ptr); +} +btHinge2Constraint.prototype['getRotationalLimitMotor'] = function(arg0) { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getRotationalLimitMotor_p1(this.ptr, arg0), Module['btRotationalLimitMotor']); +} +btHinge2Constraint.prototype['getAngle1'] = function() { + return _emscripten_bind_btHinge2Constraint__getAngle1_p0(this.ptr); +} +btHinge2Constraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['getFrameOffsetB'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getFrameOffsetB_p0(this.ptr), Module['btTransform']); +} +btHinge2Constraint.prototype['setLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['getAnchor2'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getAnchor2_p0(this.ptr), Module['btVector3']); +} +btHinge2Constraint.prototype['__destroy__'] = function() { + _emscripten_bind_btHinge2Constraint____destroy___p0(this.ptr); +} +btHinge2Constraint.prototype['getLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__getLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['setFrames'] = function(arg0, arg1) { + _emscripten_bind_btHinge2Constraint__setFrames_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btHinge2Constraint.prototype['getUseFrameOffset'] = function() { + return _emscripten_bind_btHinge2Constraint__getUseFrameOffset_p0(this.ptr); +} +btHinge2Constraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setUserConstraintType_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['enableSpring'] = function(arg0, arg1) { + _emscripten_bind_btHinge2Constraint__enableSpring_p2(this.ptr, arg0, arg1); +} +btHinge2Constraint.prototype['calculateTransforms'] = function(arg0, arg1) { + if (arg0 === undefined) + _emscripten_bind_btHinge2Constraint__calculateTransforms_p0(this.ptr); + else + _emscripten_bind_btHinge2Constraint__calculateTransforms_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btHinge2Constraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['setStiffness'] = function(arg0, arg1) { + _emscripten_bind_btHinge2Constraint__setStiffness_p2(this.ptr, arg0, arg1); +} +btHinge2Constraint.prototype['get_limit_motor_info2'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + if (arg11 === undefined) + return _emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p11(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10); + else + return _emscripten_bind_btHinge2Constraint__get_limit_motor_info2_p12(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10, arg11); +} +btHinge2Constraint.prototype['get_m_useSolveConstraintObsolete'] = function() { + return _emscripten_bind_btHinge2Constraint__get_m_useSolveConstraintObsolete_p0(this.ptr); +} +btHinge2Constraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btHinge2Constraint__getAppliedImpulse_p0(this.ptr); +} +btHinge2Constraint.prototype['setLimit'] = function(arg0, arg1, arg2) { + _emscripten_bind_btHinge2Constraint__setLimit_p3(this.ptr, arg0, arg1, arg2); +} +btHinge2Constraint.prototype['set_m_useSolveConstraintObsolete'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__set_m_useSolveConstraintObsolete_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['getTranslationalLimitMotor'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getTranslationalLimitMotor_p0(this.ptr), Module['btTranslationalLimitMotor']); +} +btHinge2Constraint.prototype['setLowerLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setLowerLimit_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btHinge2Constraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btHinge2Constraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btHinge2Constraint__needsFeedback_p0(this.ptr); +} +btHinge2Constraint.prototype['getAngle'] = function(arg0) { + return _emscripten_bind_btHinge2Constraint__getAngle_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['updateRHS'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__updateRHS_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + _emscripten_bind_btHinge2Constraint__getInfo2NonVirtual_p7(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr); +} +btHinge2Constraint.prototype['getAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__getAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['setAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btHinge2Constraint__getObjectType_p0(this.ptr); +} +btHinge2Constraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btHinge2Constraint__getUserConstraintType_p0(this.ptr); +} +btHinge2Constraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btHinge2Constraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btHinge2Constraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btHinge2Constraint__getDbgDrawSize_p0(this.ptr); +} +btHinge2Constraint.prototype['getAxis1'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getAxis1_p0(this.ptr), Module['btVector3']); +} +btHinge2Constraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btHinge2Constraint__getUserConstraintPtr_p0(this.ptr); +} +btHinge2Constraint.prototype['getAxis2'] = function() { + return wrapPointer(_emscripten_bind_btHinge2Constraint__getAxis2_p0(this.ptr), Module['btVector3']); +} +function btHinge2Constraint(arg0, arg1, arg2, arg3, arg4) { + this.ptr = _emscripten_bind_btHinge2Constraint__btHinge2Constraint_p5(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); + btHinge2Constraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btHinge2Constraint; +} +btHinge2Constraint.prototype.__cache__ = {}; +Module['btHinge2Constraint'] = btHinge2Constraint; +btHinge2Constraint.prototype['setLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['setAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btHinge2Constraint.prototype['setAxis'] = function(arg0, arg1) { + _emscripten_bind_btHinge2Constraint__setAxis_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btHinge2Constraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btHinge2Constraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btHinge2Constraint.prototype['testAngularLimitMotor'] = function(arg0) { + return _emscripten_bind_btHinge2Constraint__testAngularLimitMotor_p1(this.ptr, arg0); +} +function btConstraintSolver(){ throw "btConstraintSolver is abstract!" } +btConstraintSolver.prototype.__cache__ = {}; +Module['btConstraintSolver'] = btConstraintSolver; +btConstraintSolver.prototype['reset'] = function() { + _emscripten_bind_btConstraintSolver__reset_p0(this.ptr); +} +btConstraintSolver.prototype['allSolved'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConstraintSolver__allSolved_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConstraintSolver.prototype['solveGroup'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + return _emscripten_bind_btConstraintSolver__solveGroup_p10(this.ptr, arg0.ptr, arg1, arg2.ptr, arg3, arg4.ptr, arg5, arg6.ptr, arg7.ptr, arg8.ptr, arg9.ptr); +} +btConstraintSolver.prototype['prepareSolve'] = function(arg0, arg1) { + _emscripten_bind_btConstraintSolver__prepareSolve_p2(this.ptr, arg0, arg1); +} +btRaycastVehicle.prototype['updateSuspension'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__updateSuspension_p1(this.ptr, arg0); +} +btRaycastVehicle.prototype['getRigidBody'] = function() { + return wrapPointer(_emscripten_bind_btRaycastVehicle__getRigidBody_p0(this.ptr), Module['btRigidBody']); +} +btRaycastVehicle.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btRaycastVehicle__getUserConstraintId_p0(this.ptr); +} +btRaycastVehicle.prototype['getWheelTransformWS'] = function(arg0) { + return wrapPointer(_emscripten_bind_btRaycastVehicle__getWheelTransformWS_p1(this.ptr, arg0), Module['btTransform']); +} +btRaycastVehicle.prototype['addWheel'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + return wrapPointer(_emscripten_bind_btRaycastVehicle__addWheel_p7(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4, arg5.ptr, arg6), Module['btWheelInfo']); +} +btRaycastVehicle.prototype['updateWheelTransform'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btRaycastVehicle__updateWheelTransform_p1(this.ptr, arg0); + else + _emscripten_bind_btRaycastVehicle__updateWheelTransform_p2(this.ptr, arg0, arg1); +} +btRaycastVehicle.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__setUserConstraintId_p1(this.ptr, arg0); +} +btRaycastVehicle.prototype['getNumWheels'] = function() { + return _emscripten_bind_btRaycastVehicle__getNumWheels_p0(this.ptr); +} +btRaycastVehicle.prototype['rayCast'] = function(arg0) { + return _emscripten_bind_btRaycastVehicle__rayCast_p1(this.ptr, arg0.ptr); +} +btRaycastVehicle.prototype['getRightAxis'] = function() { + return _emscripten_bind_btRaycastVehicle__getRightAxis_p0(this.ptr); +} +btRaycastVehicle.prototype['applyEngineForce'] = function(arg0, arg1) { + _emscripten_bind_btRaycastVehicle__applyEngineForce_p2(this.ptr, arg0, arg1); +} +btRaycastVehicle.prototype['getForwardVector'] = function() { + return wrapPointer(_emscripten_bind_btRaycastVehicle__getForwardVector_p0(this.ptr), Module['btVector3']); +} +btRaycastVehicle.prototype['getWheelInfo'] = function(arg0) { + return wrapPointer(_emscripten_bind_btRaycastVehicle__getWheelInfo_p1(this.ptr, arg0), Module['btWheelInfo']); +} +btRaycastVehicle.prototype['getChassisWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btRaycastVehicle__getChassisWorldTransform_p0(this.ptr), Module['btTransform']); +} +btRaycastVehicle.prototype['updateWheelTransformsWS'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btRaycastVehicle__updateWheelTransformsWS_p2(this.ptr, arg0.ptr, arg1); +} +btRaycastVehicle.prototype['resetSuspension'] = function() { + _emscripten_bind_btRaycastVehicle__resetSuspension_p0(this.ptr); +} +btRaycastVehicle.prototype['setCoordinateSystem'] = function(arg0, arg1, arg2) { + _emscripten_bind_btRaycastVehicle__setCoordinateSystem_p3(this.ptr, arg0, arg1, arg2); +} +btRaycastVehicle.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__setUserConstraintType_p1(this.ptr, arg0); +} +btRaycastVehicle.prototype['debugDraw'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__debugDraw_p1(this.ptr, arg0.ptr); +} +btRaycastVehicle.prototype['__destroy__'] = function() { + _emscripten_bind_btRaycastVehicle____destroy___p0(this.ptr); +} +btRaycastVehicle.prototype['updateFriction'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__updateFriction_p1(this.ptr, arg0); +} +function btRaycastVehicle(arg0, arg1, arg2) { + this.ptr = _emscripten_bind_btRaycastVehicle__btRaycastVehicle_p3(arg0.ptr, arg1.ptr, arg2.ptr); + btRaycastVehicle.prototype.__cache__[this.ptr] = this; + this.__class__ = btRaycastVehicle; +} +btRaycastVehicle.prototype.__cache__ = {}; +Module['btRaycastVehicle'] = btRaycastVehicle; +btRaycastVehicle.prototype['getForwardAxis'] = function() { + return _emscripten_bind_btRaycastVehicle__getForwardAxis_p0(this.ptr); +} +btRaycastVehicle.prototype['getSteeringValue'] = function(arg0) { + return _emscripten_bind_btRaycastVehicle__getSteeringValue_p1(this.ptr, arg0); +} +btRaycastVehicle.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btRaycastVehicle__getUserConstraintType_p0(this.ptr); +} +btRaycastVehicle.prototype['getUpAxis'] = function() { + return _emscripten_bind_btRaycastVehicle__getUpAxis_p0(this.ptr); +} +btRaycastVehicle.prototype['setPitchControl'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__setPitchControl_p1(this.ptr, arg0); +} +btRaycastVehicle.prototype['getCurrentSpeedKmHour'] = function() { + return _emscripten_bind_btRaycastVehicle__getCurrentSpeedKmHour_p0(this.ptr); +} +btRaycastVehicle.prototype['setBrake'] = function(arg0, arg1) { + _emscripten_bind_btRaycastVehicle__setBrake_p2(this.ptr, arg0, arg1); +} +btRaycastVehicle.prototype['setSteeringValue'] = function(arg0, arg1) { + _emscripten_bind_btRaycastVehicle__setSteeringValue_p2(this.ptr, arg0, arg1); +} +btRaycastVehicle.prototype['updateVehicle'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__updateVehicle_p1(this.ptr, arg0); +} +btRaycastVehicle.prototype['updateAction'] = function(arg0, arg1) { + _emscripten_bind_btRaycastVehicle__updateAction_p2(this.ptr, arg0.ptr, arg1); +} +AllHitsRayResultCallback.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback____destroy___p0(this.ptr); +} +AllHitsRayResultCallback.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +AllHitsRayResultCallback.prototype['needsCollision'] = function(arg0) { + return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__needsCollision_p1(this.ptr, arg0.ptr); +} +AllHitsRayResultCallback.prototype['set_m_closestHitFraction'] = function(arg0) { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_closestHitFraction_p1(this.ptr, arg0); +} +AllHitsRayResultCallback.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +AllHitsRayResultCallback.prototype['get_m_closestHitFraction'] = function() { + return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_closestHitFraction_p0(this.ptr); +} +AllHitsRayResultCallback.prototype['addSingleResult'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__addSingleResult_p2(this.ptr, arg0.ptr, arg1); +} +AllHitsRayResultCallback.prototype['set_m_rayToWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayToWorld_p1(this.ptr, arg0.ptr); +} +AllHitsRayResultCallback.prototype['set_m_flags'] = function(arg0) { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_flags_p1(this.ptr, arg0); +} +AllHitsRayResultCallback.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterMask_p0(this.ptr); +} +AllHitsRayResultCallback.prototype['get_m_rayToWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayToWorld_p0(this.ptr), Module['btVector3']); +} +AllHitsRayResultCallback.prototype['get_m_flags'] = function() { + return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_flags_p0(this.ptr); +} +AllHitsRayResultCallback.prototype['get_m_rayFromWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_rayFromWorld_p0(this.ptr), Module['btVector3']); +} +AllHitsRayResultCallback.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionFilterGroup_p0(this.ptr); +} +AllHitsRayResultCallback.prototype['hasHit'] = function() { + return _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__hasHit_p0(this.ptr); +} +AllHitsRayResultCallback.prototype['set_m_collisionObject'] = function(arg0) { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_collisionObject_p1(this.ptr, arg0.ptr); +} +AllHitsRayResultCallback.prototype['set_m_rayFromWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__set_m_rayFromWorld_p1(this.ptr, arg0.ptr); +} +function AllHitsRayResultCallback(arg0, arg1) { + this.ptr = _emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_p2(arg0.ptr, arg1.ptr); + AllHitsRayResultCallback.prototype.__cache__[this.ptr] = this; + this.__class__ = AllHitsRayResultCallback; +} +AllHitsRayResultCallback.prototype.__cache__ = {}; +Module['AllHitsRayResultCallback'] = AllHitsRayResultCallback; +AllHitsRayResultCallback.prototype['get_m_collisionObject'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__AllHitsRayResultCallback__get_m_collisionObject_p0(this.ptr), Module['btCollisionObject']); +} +btCylinderShapeX.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShapeX__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShapeX.prototype['isCompound'] = function() { + return _emscripten_bind_btCylinderShapeX__isCompound_p0(this.ptr); +} +btCylinderShapeX.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCylinderShapeX__setUserPointer_p1(this.ptr, arg0); +} +btCylinderShapeX.prototype['getUpAxis'] = function() { + return _emscripten_bind_btCylinderShapeX__getUpAxis_p0(this.ptr); +} +btCylinderShapeX.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCylinderShapeX__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShapeX.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeX__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCylinderShapeX__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCylinderShapeX.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btCylinderShapeX__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btCylinderShapeX.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCylinderShapeX__isPolyhedral_p0(this.ptr); +} +btCylinderShapeX.prototype['getRadius'] = function() { + return _emscripten_bind_btCylinderShapeX__getRadius_p0(this.ptr); +} +btCylinderShapeX.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeX__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShapeX.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCylinderShapeX__calculateSerializeBufferSize_p0(this.ptr); +} +btCylinderShapeX.prototype['getName'] = function() { + return _emscripten_bind_btCylinderShapeX__getName_p0(this.ptr); +} +btCylinderShapeX.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeX__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCylinderShapeX__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCylinderShapeX.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeX__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShapeX.prototype['getMarginNV'] = function() { + return _emscripten_bind_btCylinderShapeX__getMarginNV_p0(this.ptr); +} +btCylinderShapeX.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeX__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCylinderShapeX__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCylinderShapeX.prototype['isConvex'] = function() { + return _emscripten_bind_btCylinderShapeX__isConvex_p0(this.ptr); +} +btCylinderShapeX.prototype['isInfinite'] = function() { + return _emscripten_bind_btCylinderShapeX__isInfinite_p0(this.ptr); +} +btCylinderShapeX.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCylinderShapeX__getUserPointer_p0(this.ptr); +} +btCylinderShapeX.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCylinderShapeX__isNonMoving_p0(this.ptr); +} +btCylinderShapeX.prototype['getMargin'] = function() { + return _emscripten_bind_btCylinderShapeX__getMargin_p0(this.ptr); +} +btCylinderShapeX.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShapeX__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShapeX.prototype['getHalfExtentsWithoutMargin'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeX__getHalfExtentsWithoutMargin_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCylinderShapeX__isConvex2d_p0(this.ptr); +} +btCylinderShapeX.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btCylinderShapeX__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btCylinderShapeX.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCylinderShapeX__isSoftBody_p0(this.ptr); +} +btCylinderShapeX.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btCylinderShapeX__getMarginNonVirtual_p0(this.ptr); +} +btCylinderShapeX.prototype['__destroy__'] = function() { + _emscripten_bind_btCylinderShapeX____destroy___p0(this.ptr); +} +btCylinderShapeX.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btCylinderShapeX.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeX__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShapeX__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCylinderShapeX.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCylinderShapeX__getAngularMotionDisc_p0(this.ptr); +} +function btCylinderShapeX(arg0) { + this.ptr = _emscripten_bind_btCylinderShapeX__btCylinderShapeX_p1(arg0.ptr); + btCylinderShapeX.prototype.__cache__[this.ptr] = this; + this.__class__ = btCylinderShapeX; +} +btCylinderShapeX.prototype.__cache__ = {}; +Module['btCylinderShapeX'] = btCylinderShapeX; +btCylinderShapeX.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeX__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShapeX.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCylinderShapeX__setMargin_p1(this.ptr, arg0); +} +btCylinderShapeX.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCylinderShapeX__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btCylinderShapeX.prototype['getHalfExtentsWithMargin'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeX__getHalfExtentsWithMargin_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeX.prototype['isConcave'] = function() { + return _emscripten_bind_btCylinderShapeX__isConcave_p0(this.ptr); +} +btCylinderShapeX.prototype['getShapeType'] = function() { + return _emscripten_bind_btCylinderShapeX__getShapeType_p0(this.ptr); +} +function RayResultCallback(){ throw "RayResultCallback is abstract!" } +RayResultCallback.prototype.__cache__ = {}; +Module['RayResultCallback'] = RayResultCallback; +RayResultCallback.prototype['get_m_closestHitFraction'] = function() { + return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_closestHitFraction_p0(this.ptr); +} +RayResultCallback.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +RayResultCallback.prototype['get_m_flags'] = function() { + return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_flags_p0(this.ptr); +} +RayResultCallback.prototype['set_m_closestHitFraction'] = function(arg0) { + _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_closestHitFraction_p1(this.ptr, arg0); +} +RayResultCallback.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +RayResultCallback.prototype['set_m_flags'] = function(arg0) { + _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_flags_p1(this.ptr, arg0); +} +RayResultCallback.prototype['hasHit'] = function() { + return _emscripten_bind_btCollisionWorld__RayResultCallback__hasHit_p0(this.ptr); +} +RayResultCallback.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterMask_p0(this.ptr); +} +RayResultCallback.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionFilterGroup_p0(this.ptr); +} +RayResultCallback.prototype['addSingleResult'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionWorld__RayResultCallback__addSingleResult_p2(this.ptr, arg0.ptr, arg1); +} +RayResultCallback.prototype['set_m_collisionObject'] = function(arg0) { + _emscripten_bind_btCollisionWorld__RayResultCallback__set_m_collisionObject_p1(this.ptr, arg0.ptr); +} +RayResultCallback.prototype['needsCollision'] = function(arg0) { + return _emscripten_bind_btCollisionWorld__RayResultCallback__needsCollision_p1(this.ptr, arg0.ptr); +} +RayResultCallback.prototype['get_m_collisionObject'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__RayResultCallback__get_m_collisionObject_p0(this.ptr), Module['btCollisionObject']); +} +btUniformScalingShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btUniformScalingShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btUniformScalingShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btUniformScalingShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btUniformScalingShape__setUserPointer_p1(this.ptr, arg0); +} +btUniformScalingShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btUniformScalingShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btUniformScalingShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btUniformScalingShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btUniformScalingShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btUniformScalingShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btUniformScalingShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btUniformScalingShape__isPolyhedral_p0(this.ptr); +} +btUniformScalingShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btUniformScalingShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btUniformScalingShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btUniformScalingShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btUniformScalingShape__calculateSerializeBufferSize_p0(this.ptr); +} +btUniformScalingShape.prototype['getName'] = function() { + return _emscripten_bind_btUniformScalingShape__getName_p0(this.ptr); +} +btUniformScalingShape.prototype['isCompound'] = function() { + return _emscripten_bind_btUniformScalingShape__isCompound_p0(this.ptr); +} +btUniformScalingShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btUniformScalingShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btUniformScalingShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btUniformScalingShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btUniformScalingShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btUniformScalingShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btUniformScalingShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btUniformScalingShape.prototype['getChildShape'] = function() { + return wrapPointer(_emscripten_bind_btUniformScalingShape__getChildShape_p0(this.ptr), Module['btConvexShape']); +} +btUniformScalingShape.prototype['isConvex'] = function() { + return _emscripten_bind_btUniformScalingShape__isConvex_p0(this.ptr); +} +btUniformScalingShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btUniformScalingShape__isInfinite_p0(this.ptr); +} +btUniformScalingShape.prototype['__destroy__'] = function() { + _emscripten_bind_btUniformScalingShape____destroy___p0(this.ptr); +} +btUniformScalingShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btUniformScalingShape__getUserPointer_p0(this.ptr); +} +btUniformScalingShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btUniformScalingShape__isNonMoving_p0(this.ptr); +} +btUniformScalingShape.prototype['getMargin'] = function() { + return _emscripten_bind_btUniformScalingShape__getMargin_p0(this.ptr); +} +btUniformScalingShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btUniformScalingShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btUniformScalingShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btUniformScalingShape__setMargin_p1(this.ptr, arg0); +} +btUniformScalingShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btUniformScalingShape__isConvex2d_p0(this.ptr); +} +btUniformScalingShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btUniformScalingShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btUniformScalingShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btUniformScalingShape__isSoftBody_p0(this.ptr); +} +btUniformScalingShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btUniformScalingShape__getMarginNonVirtual_p0(this.ptr); +} +btUniformScalingShape.prototype['getUniformScalingFactor'] = function() { + return _emscripten_bind_btUniformScalingShape__getUniformScalingFactor_p0(this.ptr); +} +btUniformScalingShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btUniformScalingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btUniformScalingShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btUniformScalingShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btUniformScalingShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btUniformScalingShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btUniformScalingShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btUniformScalingShape__getAngularMotionDisc_p0(this.ptr); +} +btUniformScalingShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btUniformScalingShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btUniformScalingShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btUniformScalingShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +function btUniformScalingShape(arg0, arg1) { + this.ptr = _emscripten_bind_btUniformScalingShape__btUniformScalingShape_p2(arg0.ptr, arg1); + btUniformScalingShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btUniformScalingShape; +} +btUniformScalingShape.prototype.__cache__ = {}; +Module['btUniformScalingShape'] = btUniformScalingShape; +btUniformScalingShape.prototype['isConcave'] = function() { + return _emscripten_bind_btUniformScalingShape__isConcave_p0(this.ptr); +} +btUniformScalingShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btUniformScalingShape__getShapeType_p0(this.ptr); +} +btVehicleRaycasterResult.prototype['__destroy__'] = function() { + _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult____destroy___p0(this.ptr); +} +function btVehicleRaycasterResult() { + this.ptr = _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__btVehicleRaycasterResult_p0(); + btVehicleRaycasterResult.prototype.__cache__[this.ptr] = this; + this.__class__ = btVehicleRaycasterResult; +} +btVehicleRaycasterResult.prototype.__cache__ = {}; +Module['btVehicleRaycasterResult'] = btVehicleRaycasterResult; +btVehicleRaycasterResult.prototype['set_m_distFraction'] = function(arg0) { + _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_distFraction_p1(this.ptr, arg0); +} +btVehicleRaycasterResult.prototype['get_m_hitNormalInWorld'] = function() { + return wrapPointer(_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitNormalInWorld_p0(this.ptr), Module['btVector3']); +} +btVehicleRaycasterResult.prototype['get_m_hitPointInWorld'] = function() { + return wrapPointer(_emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_hitPointInWorld_p0(this.ptr), Module['btVector3']); +} +btVehicleRaycasterResult.prototype['get_m_distFraction'] = function() { + return _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__get_m_distFraction_p0(this.ptr); +} +btVehicleRaycasterResult.prototype['set_m_hitNormalInWorld'] = function(arg0) { + _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitNormalInWorld_p1(this.ptr, arg0.ptr); +} +btVehicleRaycasterResult.prototype['set_m_hitPointInWorld'] = function(arg0) { + _emscripten_bind_btVehicleRaycaster__btVehicleRaycasterResult__set_m_hitPointInWorld_p1(this.ptr, arg0.ptr); +} +btQuadWord.prototype['__destroy__'] = function() { + _emscripten_bind_btQuadWord____destroy___p0(this.ptr); +} +btQuadWord.prototype['setMin'] = function(arg0) { + _emscripten_bind_btQuadWord__setMin_p1(this.ptr, arg0.ptr); +} +btQuadWord.prototype['setValue'] = function(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + _emscripten_bind_btQuadWord__setValue_p3(this.ptr, arg0, arg1, arg2); + else + _emscripten_bind_btQuadWord__setValue_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btQuadWord.prototype['setMax'] = function(arg0) { + _emscripten_bind_btQuadWord__setMax_p1(this.ptr, arg0.ptr); +} +btQuadWord.prototype['op_comp'] = function(arg0) { + return _emscripten_bind_btQuadWord__op_comp_p1(this.ptr, arg0.ptr); +} +btQuadWord.prototype['getX'] = function() { + return _emscripten_bind_btQuadWord__getX_p0(this.ptr); +} +btQuadWord.prototype['getY'] = function() { + return _emscripten_bind_btQuadWord__getY_p0(this.ptr); +} +btQuadWord.prototype['getZ'] = function() { + return _emscripten_bind_btQuadWord__getZ_p0(this.ptr); +} +btQuadWord.prototype['setW'] = function(arg0) { + _emscripten_bind_btQuadWord__setW_p1(this.ptr, arg0); +} +btQuadWord.prototype['op_set'] = function(arg0) { + return _emscripten_bind_btQuadWord__op_set_p1(this.ptr, arg0.ptr); +} +btQuadWord.prototype['w'] = function() { + return _emscripten_bind_btQuadWord__w_p0(this.ptr); +} +btQuadWord.prototype['y'] = function() { + return _emscripten_bind_btQuadWord__y_p0(this.ptr); +} +btQuadWord.prototype['x'] = function() { + return _emscripten_bind_btQuadWord__x_p0(this.ptr); +} +btQuadWord.prototype['z'] = function() { + return _emscripten_bind_btQuadWord__z_p0(this.ptr); +} +btQuadWord.prototype['setX'] = function(arg0) { + _emscripten_bind_btQuadWord__setX_p1(this.ptr, arg0); +} +btQuadWord.prototype['setY'] = function(arg0) { + _emscripten_bind_btQuadWord__setY_p1(this.ptr, arg0); +} +btQuadWord.prototype['setZ'] = function(arg0) { + _emscripten_bind_btQuadWord__setZ_p1(this.ptr, arg0); +} +function btQuadWord(arg0, arg1, arg2, arg3) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btQuadWord__btQuadWord_p0(); + else if (arg3 === undefined) + this.ptr = _emscripten_bind_btQuadWord__btQuadWord_p3(arg0, arg1, arg2); + else + this.ptr = _emscripten_bind_btQuadWord__btQuadWord_p4(arg0, arg1, arg2, arg3); + btQuadWord.prototype.__cache__[this.ptr] = this; + this.__class__ = btQuadWord; +} +btQuadWord.prototype.__cache__ = {}; +Module['btQuadWord'] = btQuadWord; +btCylinderShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShape.prototype['isCompound'] = function() { + return _emscripten_bind_btCylinderShape__isCompound_p0(this.ptr); +} +btCylinderShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCylinderShape__setUserPointer_p1(this.ptr, arg0); +} +btCylinderShape.prototype['getUpAxis'] = function() { + return _emscripten_bind_btCylinderShape__getUpAxis_p0(this.ptr); +} +btCylinderShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCylinderShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCylinderShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btCylinderShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btCylinderShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCylinderShape__isPolyhedral_p0(this.ptr); +} +btCylinderShape.prototype['getRadius'] = function() { + return _emscripten_bind_btCylinderShape__getRadius_p0(this.ptr); +} +btCylinderShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCylinderShape__calculateSerializeBufferSize_p0(this.ptr); +} +btCylinderShape.prototype['getName'] = function() { + return _emscripten_bind_btCylinderShape__getName_p0(this.ptr); +} +btCylinderShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btCylinderShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCylinderShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCylinderShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btCylinderShape__getMarginNV_p0(this.ptr); +} +btCylinderShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCylinderShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCylinderShape.prototype['isConvex'] = function() { + return _emscripten_bind_btCylinderShape__isConvex_p0(this.ptr); +} +btCylinderShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btCylinderShape__isInfinite_p0(this.ptr); +} +btCylinderShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCylinderShape__getUserPointer_p0(this.ptr); +} +btCylinderShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCylinderShape__isNonMoving_p0(this.ptr); +} +btCylinderShape.prototype['getMargin'] = function() { + return _emscripten_bind_btCylinderShape__getMargin_p0(this.ptr); +} +btCylinderShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShape.prototype['getHalfExtentsWithoutMargin'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShape__getHalfExtentsWithoutMargin_p0(this.ptr), Module['btVector3']); +} +btCylinderShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCylinderShape__isConvex2d_p0(this.ptr); +} +btCylinderShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btCylinderShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btCylinderShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCylinderShape__isSoftBody_p0(this.ptr); +} +btCylinderShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btCylinderShape__getMarginNonVirtual_p0(this.ptr); +} +btCylinderShape.prototype['__destroy__'] = function() { + _emscripten_bind_btCylinderShape____destroy___p0(this.ptr); +} +btCylinderShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btCylinderShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btCylinderShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCylinderShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCylinderShape__getAngularMotionDisc_p0(this.ptr); +} +btCylinderShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCylinderShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCylinderShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCylinderShape__setMargin_p1(this.ptr, arg0); +} +btCylinderShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCylinderShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +function btCylinderShape(arg0) { + this.ptr = _emscripten_bind_btCylinderShape__btCylinderShape_p1(arg0.ptr); + btCylinderShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btCylinderShape; +} +btCylinderShape.prototype.__cache__ = {}; +Module['btCylinderShape'] = btCylinderShape; +btCylinderShape.prototype['getHalfExtentsWithMargin'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShape__getHalfExtentsWithMargin_p0(this.ptr), Module['btVector3']); +} +btCylinderShape.prototype['isConcave'] = function() { + return _emscripten_bind_btCylinderShape__isConcave_p0(this.ptr); +} +btCylinderShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btCylinderShape__getShapeType_p0(this.ptr); +} +function btStorageResult(){ throw "btStorageResult is abstract!" } +btStorageResult.prototype.__cache__ = {}; +Module['btStorageResult'] = btStorageResult; +btStorageResult.prototype['set_m_distance'] = function(arg0) { + _emscripten_bind_btStorageResult__set_m_distance_p1(this.ptr, arg0); +} +btStorageResult.prototype['set_m_closestPointInB'] = function(arg0) { + _emscripten_bind_btStorageResult__set_m_closestPointInB_p1(this.ptr, arg0.ptr); +} +btStorageResult.prototype['addContactPoint'] = function(arg0, arg1, arg2) { + _emscripten_bind_btStorageResult__addContactPoint_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btStorageResult.prototype['set_m_normalOnSurfaceB'] = function(arg0) { + _emscripten_bind_btStorageResult__set_m_normalOnSurfaceB_p1(this.ptr, arg0.ptr); +} +btStorageResult.prototype['get_m_distance'] = function() { + return _emscripten_bind_btStorageResult__get_m_distance_p0(this.ptr); +} +btStorageResult.prototype['setShapeIdentifiersB'] = function(arg0, arg1) { + _emscripten_bind_btStorageResult__setShapeIdentifiersB_p2(this.ptr, arg0, arg1); +} +btStorageResult.prototype['setShapeIdentifiersA'] = function(arg0, arg1) { + _emscripten_bind_btStorageResult__setShapeIdentifiersA_p2(this.ptr, arg0, arg1); +} +btStorageResult.prototype['get_m_closestPointInB'] = function() { + return wrapPointer(_emscripten_bind_btStorageResult__get_m_closestPointInB_p0(this.ptr), Module['btVector3']); +} +btStorageResult.prototype['get_m_normalOnSurfaceB'] = function() { + return wrapPointer(_emscripten_bind_btStorageResult__get_m_normalOnSurfaceB_p0(this.ptr), Module['btVector3']); +} +btDbvtProxy.prototype['get_m_clientObject'] = function() { + return _emscripten_bind_btDbvtProxy__get_m_clientObject_p0(this.ptr); +} +btDbvtProxy.prototype['get_stage'] = function() { + return _emscripten_bind_btDbvtProxy__get_stage_p0(this.ptr); +} +btDbvtProxy.prototype['set_stage'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_stage_p1(this.ptr, arg0); +} +btDbvtProxy.prototype['set_m_clientObject'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_m_clientObject_p1(this.ptr, arg0); +} +btDbvtProxy.prototype['get_leaf'] = function() { + return wrapPointer(_emscripten_bind_btDbvtProxy__get_leaf_p0(this.ptr), Module['btDbvtNode']); +} +btDbvtProxy.prototype['isCompound'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isCompound_p1(arg0); +} +btDbvtProxy.prototype['isPolyhedral'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isPolyhedral_p1(arg0); +} +btDbvtProxy.prototype['get_m_aabbMin'] = function() { + return wrapPointer(_emscripten_bind_btDbvtProxy__get_m_aabbMin_p0(this.ptr), Module['btVector3']); +} +btDbvtProxy.prototype['set_m_uniqueId'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_m_uniqueId_p1(this.ptr, arg0); +} +btDbvtProxy.prototype['isConvex'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isConvex_p1(arg0); +} +btDbvtProxy.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btDbvtProxy__get_m_collisionFilterMask_p0(this.ptr); +} +btDbvtProxy.prototype['getUid'] = function() { + return _emscripten_bind_btDbvtProxy__getUid_p0(this.ptr); +} +btDbvtProxy.prototype['get_m_aabbMax'] = function() { + return wrapPointer(_emscripten_bind_btDbvtProxy__get_m_aabbMax_p0(this.ptr), Module['btVector3']); +} +btDbvtProxy.prototype['isNonMoving'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isNonMoving_p1(arg0); +} +btDbvtProxy.prototype['set_m_aabbMin'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_m_aabbMin_p1(this.ptr, arg0.ptr); +} +btDbvtProxy.prototype['set_m_multiSapParentProxy'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_m_multiSapParentProxy_p1(this.ptr, arg0); +} +btDbvtProxy.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +function btDbvtProxy(arg0, arg1, arg2, arg3, arg4) { + this.ptr = _emscripten_bind_btDbvtProxy__btDbvtProxy_p5(arg0.ptr, arg1.ptr, arg2, arg3, arg4); + btDbvtProxy.prototype.__cache__[this.ptr] = this; + this.__class__ = btDbvtProxy; +} +btDbvtProxy.prototype.__cache__ = {}; +Module['btDbvtProxy'] = btDbvtProxy; +btDbvtProxy.prototype['isSoftBody'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isSoftBody_p1(arg0); +} +btDbvtProxy.prototype['set_m_aabbMax'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_m_aabbMax_p1(this.ptr, arg0.ptr); +} +btDbvtProxy.prototype['__destroy__'] = function() { + _emscripten_bind_btDbvtProxy____destroy___p0(this.ptr); +} +btDbvtProxy.prototype['get_m_uniqueId'] = function() { + return _emscripten_bind_btDbvtProxy__get_m_uniqueId_p0(this.ptr); +} +btDbvtProxy.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +btDbvtProxy.prototype['set_leaf'] = function(arg0) { + _emscripten_bind_btDbvtProxy__set_leaf_p1(this.ptr, arg0.ptr); +} +btDbvtProxy.prototype['isInfinite'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isInfinite_p1(arg0); +} +btDbvtProxy.prototype['isConcave'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isConcave_p1(arg0); +} +btDbvtProxy.prototype['get_m_multiSapParentProxy'] = function() { + return _emscripten_bind_btDbvtProxy__get_m_multiSapParentProxy_p0(this.ptr); +} +btDbvtProxy.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btDbvtProxy__get_m_collisionFilterGroup_p0(this.ptr); +} +btDbvtProxy.prototype['isConvex2d'] = function(arg0) { + return _emscripten_bind_btDbvtProxy__isConvex2d_p1(arg0); +} +function ConcreteContactResultCallback() { + this.ptr = _emscripten_bind_ConcreteContactResultCallback__ConcreteContactResultCallback_p0(); + ConcreteContactResultCallback.prototype.__cache__[this.ptr] = this; + this.__class__ = ConcreteContactResultCallback; +} +ConcreteContactResultCallback.prototype.__cache__ = {}; +Module['ConcreteContactResultCallback'] = ConcreteContactResultCallback; +ConcreteContactResultCallback.prototype['__destroy__'] = function() { + _emscripten_bind_ConcreteContactResultCallback____destroy___p0(this.ptr); +} +ConcreteContactResultCallback.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +ConcreteContactResultCallback.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_ConcreteContactResultCallback__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +ConcreteContactResultCallback.prototype['addSingleResult'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + return _emscripten_bind_ConcreteContactResultCallback__addSingleResult_p7(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4.ptr, arg5, arg6); +} +ConcreteContactResultCallback.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterMask_p0(this.ptr); +} +ConcreteContactResultCallback.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_ConcreteContactResultCallback__get_m_collisionFilterGroup_p0(this.ptr); +} +ConcreteContactResultCallback.prototype['needsCollision'] = function(arg0) { + return _emscripten_bind_ConcreteContactResultCallback__needsCollision_p1(this.ptr, arg0.ptr); +} +btSequentialImpulseConstraintSolver.prototype['reset'] = function() { + _emscripten_bind_btSequentialImpulseConstraintSolver__reset_p0(this.ptr); +} +btSequentialImpulseConstraintSolver.prototype['__destroy__'] = function() { + _emscripten_bind_btSequentialImpulseConstraintSolver____destroy___p0(this.ptr); +} +function btSequentialImpulseConstraintSolver() { + this.ptr = _emscripten_bind_btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_p0(); + btSequentialImpulseConstraintSolver.prototype.__cache__[this.ptr] = this; + this.__class__ = btSequentialImpulseConstraintSolver; +} +btSequentialImpulseConstraintSolver.prototype.__cache__ = {}; +Module['btSequentialImpulseConstraintSolver'] = btSequentialImpulseConstraintSolver; +btSequentialImpulseConstraintSolver.prototype['prepareSolve'] = function(arg0, arg1) { + _emscripten_bind_btSequentialImpulseConstraintSolver__prepareSolve_p2(this.ptr, arg0, arg1); +} +btSequentialImpulseConstraintSolver.prototype['btRand2'] = function() { + return _emscripten_bind_btSequentialImpulseConstraintSolver__btRand2_p0(this.ptr); +} +btSequentialImpulseConstraintSolver.prototype['getRandSeed'] = function() { + return _emscripten_bind_btSequentialImpulseConstraintSolver__getRandSeed_p0(this.ptr); +} +btSequentialImpulseConstraintSolver.prototype['setRandSeed'] = function(arg0) { + _emscripten_bind_btSequentialImpulseConstraintSolver__setRandSeed_p1(this.ptr, arg0); +} +btSequentialImpulseConstraintSolver.prototype['allSolved'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSequentialImpulseConstraintSolver__allSolved_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSequentialImpulseConstraintSolver.prototype['solveGroup'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + return _emscripten_bind_btSequentialImpulseConstraintSolver__solveGroup_p10(this.ptr, arg0.ptr, arg1, arg2.ptr, arg3, arg4.ptr, arg5, arg6.ptr, arg7.ptr, arg8.ptr, arg9.ptr); +} +btSequentialImpulseConstraintSolver.prototype['btRandInt2'] = function(arg0) { + return _emscripten_bind_btSequentialImpulseConstraintSolver__btRandInt2_p1(this.ptr, arg0); +} +btSimpleDynamicsWorld.prototype['setGravity'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__setGravity_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['addAction'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__addAction_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['getSolverInfo'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getSolverInfo_p0(this.ptr), Module['btContactSolverInfo']); +} +btSimpleDynamicsWorld.prototype['serialize'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__serialize_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['getDispatcher'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getDispatcher_p0(this.ptr), Module['btDispatcher']); +} +btSimpleDynamicsWorld.prototype['addRigidBody'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btSimpleDynamicsWorld__addRigidBody_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btSimpleDynamicsWorld.prototype['clearForces'] = function() { + _emscripten_bind_btSimpleDynamicsWorld__clearForces_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['removeVehicle'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__removeVehicle_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['getDebugDrawer'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getDebugDrawer_p0(this.ptr), Module['btIDebugDraw']); +} +btSimpleDynamicsWorld.prototype['setBroadphase'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__setBroadphase_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['performDiscreteCollisionDetection'] = function() { + _emscripten_bind_btSimpleDynamicsWorld__performDiscreteCollisionDetection_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['getCollisionObjectArray'] = function() { + return _emscripten_bind_btSimpleDynamicsWorld__getCollisionObjectArray_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['debugDrawObject'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSimpleDynamicsWorld__debugDrawObject_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSimpleDynamicsWorld.prototype['removeConstraint'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__removeConstraint_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['rayTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSimpleDynamicsWorld__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSimpleDynamicsWorld.prototype['getNumConstraints'] = function() { + return _emscripten_bind_btSimpleDynamicsWorld__getNumConstraints_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['addCollisionObject'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p1(this.ptr, arg0.ptr); + else if (arg2 === undefined) + _emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p2(this.ptr, arg0.ptr, arg1); + else + _emscripten_bind_btSimpleDynamicsWorld__addCollisionObject_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btSimpleDynamicsWorld.prototype['removeRigidBody'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__removeRigidBody_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['contactTest'] = function(arg0, arg1) { + _emscripten_bind_btSimpleDynamicsWorld__contactTest_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btSimpleDynamicsWorld.prototype['setInternalTickCallback'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p1(this.ptr, arg0); + else if (arg2 === undefined) + _emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btSimpleDynamicsWorld__setInternalTickCallback_p3(this.ptr, arg0, arg1, arg2); +} +btSimpleDynamicsWorld.prototype['getForceUpdateAllAabbs'] = function() { + return _emscripten_bind_btSimpleDynamicsWorld__getForceUpdateAllAabbs_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['updateAabbs'] = function() { + _emscripten_bind_btSimpleDynamicsWorld__updateAabbs_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['setDebugDrawer'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__setDebugDrawer_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['debugDrawWorld'] = function() { + _emscripten_bind_btSimpleDynamicsWorld__debugDrawWorld_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['convexSweepTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg4 === undefined) + _emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btSimpleDynamicsWorld__convexSweepTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); +} +btSimpleDynamicsWorld.prototype['getNumCollisionObjects'] = function() { + return _emscripten_bind_btSimpleDynamicsWorld__getNumCollisionObjects_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['setWorldUserInfo'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__setWorldUserInfo_p1(this.ptr, arg0); +} +btSimpleDynamicsWorld.prototype['addConstraint'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btSimpleDynamicsWorld__addConstraint_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btSimpleDynamicsWorld__addConstraint_p2(this.ptr, arg0.ptr, arg1); +} +btSimpleDynamicsWorld.prototype['getWorldUserInfo'] = function() { + return _emscripten_bind_btSimpleDynamicsWorld__getWorldUserInfo_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['contactPairTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSimpleDynamicsWorld__contactPairTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSimpleDynamicsWorld.prototype['getGravity'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getGravity_p0(this.ptr), Module['btVector3']); +} +function btSimpleDynamicsWorld(arg0, arg1, arg2, arg3) { + this.ptr = _emscripten_bind_btSimpleDynamicsWorld__btSimpleDynamicsWorld_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + btSimpleDynamicsWorld.prototype.__cache__[this.ptr] = this; + this.__class__ = btSimpleDynamicsWorld; +} +btSimpleDynamicsWorld.prototype.__cache__ = {}; +Module['btSimpleDynamicsWorld'] = btSimpleDynamicsWorld; +btSimpleDynamicsWorld.prototype['getBroadphase'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getBroadphase_p0(this.ptr), Module['btBroadphaseInterface']); +} +btSimpleDynamicsWorld.prototype['rayTestSingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btSimpleDynamicsWorld__rayTestSingle_p6(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr); +} +btSimpleDynamicsWorld.prototype['removeAction'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__removeAction_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['setForceUpdateAllAabbs'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__setForceUpdateAllAabbs_p1(this.ptr, arg0); +} +btSimpleDynamicsWorld.prototype['__destroy__'] = function() { + _emscripten_bind_btSimpleDynamicsWorld____destroy___p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['removeCharacter'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__removeCharacter_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['getConstraint'] = function(arg0) { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getConstraint_p1(this.ptr, arg0), Module['btTypedConstraint']); +} +btSimpleDynamicsWorld.prototype['getConstraintSolver'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getConstraintSolver_p0(this.ptr), Module['btConstraintSolver']); +} +btSimpleDynamicsWorld.prototype['stepSimulation'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + return _emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p1(this.ptr, arg0); + else if (arg2 === undefined) + return _emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p2(this.ptr, arg0, arg1); + else + return _emscripten_bind_btSimpleDynamicsWorld__stepSimulation_p3(this.ptr, arg0, arg1, arg2); +} +btSimpleDynamicsWorld.prototype['addCharacter'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__addCharacter_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['getWorldType'] = function() { + return _emscripten_bind_btSimpleDynamicsWorld__getWorldType_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['updateSingleAabb'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__updateSingleAabb_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['addVehicle'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__addVehicle_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['getPairCache'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btSimpleDynamicsWorld.prototype['synchronizeMotionStates'] = function() { + _emscripten_bind_btSimpleDynamicsWorld__synchronizeMotionStates_p0(this.ptr); +} +btSimpleDynamicsWorld.prototype['removeCollisionObject'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__removeCollisionObject_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['setConstraintSolver'] = function(arg0) { + _emscripten_bind_btSimpleDynamicsWorld__setConstraintSolver_p1(this.ptr, arg0.ptr); +} +btSimpleDynamicsWorld.prototype['objectQuerySingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + _emscripten_bind_btSimpleDynamicsWorld__objectQuerySingle_p8(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7); +} +btSimpleDynamicsWorld.prototype['getDispatchInfo'] = function() { + return wrapPointer(_emscripten_bind_btSimpleDynamicsWorld__getDispatchInfo_p0(this.ptr), Module['btDispatcherInfo']); +} +btManifoldResult.prototype['__destroy__'] = function() { + _emscripten_bind_btManifoldResult____destroy___p0(this.ptr); +} +btManifoldResult.prototype['getPersistentManifold'] = function() { + return wrapPointer(_emscripten_bind_btManifoldResult__getPersistentManifold_p0(this.ptr), Module['btPersistentManifold']); +} +btManifoldResult.prototype['getBody0Internal'] = function() { + return wrapPointer(_emscripten_bind_btManifoldResult__getBody0Internal_p0(this.ptr), Module['btCollisionObject']); +} +btManifoldResult.prototype['addContactPoint'] = function(arg0, arg1, arg2) { + _emscripten_bind_btManifoldResult__addContactPoint_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btManifoldResult.prototype['getBody1Internal'] = function() { + return wrapPointer(_emscripten_bind_btManifoldResult__getBody1Internal_p0(this.ptr), Module['btCollisionObject']); +} +function btManifoldResult(arg0, arg1) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btManifoldResult__btManifoldResult_p0(); + else + this.ptr = _emscripten_bind_btManifoldResult__btManifoldResult_p2(arg0.ptr, arg1.ptr); + btManifoldResult.prototype.__cache__[this.ptr] = this; + this.__class__ = btManifoldResult; +} +btManifoldResult.prototype.__cache__ = {}; +Module['btManifoldResult'] = btManifoldResult; +btManifoldResult.prototype['setShapeIdentifiersB'] = function(arg0, arg1) { + _emscripten_bind_btManifoldResult__setShapeIdentifiersB_p2(this.ptr, arg0, arg1); +} +btManifoldResult.prototype['setShapeIdentifiersA'] = function(arg0, arg1) { + _emscripten_bind_btManifoldResult__setShapeIdentifiersA_p2(this.ptr, arg0, arg1); +} +btManifoldResult.prototype['refreshContactPoints'] = function() { + _emscripten_bind_btManifoldResult__refreshContactPoints_p0(this.ptr); +} +btManifoldResult.prototype['setPersistentManifold'] = function(arg0) { + _emscripten_bind_btManifoldResult__setPersistentManifold_p1(this.ptr, arg0.ptr); +} +btMultiSphereShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btMultiSphereShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btMultiSphereShape.prototype['isCompound'] = function() { + return _emscripten_bind_btMultiSphereShape__isCompound_p0(this.ptr); +} +btMultiSphereShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btMultiSphereShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btMultiSphereShape__setUserPointer_p1(this.ptr, arg0); +} +btMultiSphereShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btMultiSphereShape__getMarginNV_p0(this.ptr); +} +btMultiSphereShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btMultiSphereShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +function btMultiSphereShape(arg0, arg1, arg2) { + this.ptr = _emscripten_bind_btMultiSphereShape__btMultiSphereShape_p3(arg0.ptr, arg1, arg2); + btMultiSphereShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btMultiSphereShape; +} +btMultiSphereShape.prototype.__cache__ = {}; +Module['btMultiSphereShape'] = btMultiSphereShape; +btMultiSphereShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btMultiSphereShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btMultiSphereShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btMultiSphereShape__isPolyhedral_p0(this.ptr); +} +btMultiSphereShape.prototype['getSphereRadius'] = function(arg0) { + return _emscripten_bind_btMultiSphereShape__getSphereRadius_p1(this.ptr, arg0); +} +btMultiSphereShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btMultiSphereShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMultiSphereShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btMultiSphereShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btMultiSphereShape__calculateSerializeBufferSize_p0(this.ptr); +} +btMultiSphereShape.prototype['getSphereCount'] = function() { + return _emscripten_bind_btMultiSphereShape__getSphereCount_p0(this.ptr); +} +btMultiSphereShape.prototype['getName'] = function() { + return _emscripten_bind_btMultiSphereShape__getName_p0(this.ptr); +} +btMultiSphereShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btMultiSphereShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btMultiSphereShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btMultiSphereShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btMultiSphereShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btMultiSphereShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btMultiSphereShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btMultiSphereShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMultiSphereShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btMultiSphereShape.prototype['getSpherePosition'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMultiSphereShape__getSpherePosition_p1(this.ptr, arg0), Module['btVector3']); +} +btMultiSphereShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btMultiSphereShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btMultiSphereShape.prototype['isConvex'] = function() { + return _emscripten_bind_btMultiSphereShape__isConvex_p0(this.ptr); +} +btMultiSphereShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btMultiSphereShape__isInfinite_p0(this.ptr); +} +btMultiSphereShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btMultiSphereShape__getUserPointer_p0(this.ptr); +} +btMultiSphereShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btMultiSphereShape__isNonMoving_p0(this.ptr); +} +btMultiSphereShape.prototype['getMargin'] = function() { + return _emscripten_bind_btMultiSphereShape__getMargin_p0(this.ptr); +} +btMultiSphereShape.prototype['recalcLocalAabb'] = function() { + _emscripten_bind_btMultiSphereShape__recalcLocalAabb_p0(this.ptr); +} +btMultiSphereShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btMultiSphereShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btMultiSphereShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btMultiSphereShape__setMargin_p1(this.ptr, arg0); +} +btMultiSphereShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btMultiSphereShape__isConvex2d_p0(this.ptr); +} +btMultiSphereShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btMultiSphereShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btMultiSphereShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btMultiSphereShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btMultiSphereShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btMultiSphereShape__isSoftBody_p0(this.ptr); +} +btMultiSphereShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btMultiSphereShape__getMarginNonVirtual_p0(this.ptr); +} +btMultiSphereShape.prototype['__destroy__'] = function() { + _emscripten_bind_btMultiSphereShape____destroy___p0(this.ptr); +} +btMultiSphereShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMultiSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btMultiSphereShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btMultiSphereShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btMultiSphereShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btMultiSphereShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btMultiSphereShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btMultiSphereShape__getAngularMotionDisc_p0(this.ptr); +} +btMultiSphereShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btMultiSphereShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btMultiSphereShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btMultiSphereShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btMultiSphereShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btMultiSphereShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btMultiSphereShape.prototype['isConcave'] = function() { + return _emscripten_bind_btMultiSphereShape__isConcave_p0(this.ptr); +} +btMultiSphereShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btMultiSphereShape__getShapeType_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btHeightfieldTerrainShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btHeightfieldTerrainShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btHeightfieldTerrainShape__setUserPointer_p1(this.ptr, arg0); +} +btHeightfieldTerrainShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btHeightfieldTerrainShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btHeightfieldTerrainShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btHeightfieldTerrainShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +function btHeightfieldTerrainShape(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg7 === undefined) + this.ptr = _emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p7(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + else + this.ptr = _emscripten_bind_btHeightfieldTerrainShape__btHeightfieldTerrainShape_p9(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + btHeightfieldTerrainShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btHeightfieldTerrainShape; +} +btHeightfieldTerrainShape.prototype.__cache__ = {}; +Module['btHeightfieldTerrainShape'] = btHeightfieldTerrainShape; +btHeightfieldTerrainShape.prototype['processAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btHeightfieldTerrainShape__processAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btHeightfieldTerrainShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__calculateSerializeBufferSize_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['getName'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__getName_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['isCompound'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isCompound_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isPolyhedral_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btHeightfieldTerrainShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btHeightfieldTerrainShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btHeightfieldTerrainShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btHeightfieldTerrainShape.prototype['setUseDiamondSubdivision'] = function(arg0) { + if (arg0 === undefined) + _emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p0(this.ptr); + else + _emscripten_bind_btHeightfieldTerrainShape__setUseDiamondSubdivision_p1(this.ptr, arg0); +} +btHeightfieldTerrainShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btHeightfieldTerrainShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btHeightfieldTerrainShape.prototype['isConvex'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isConvex_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isInfinite_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__getUserPointer_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isNonMoving_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['getMargin'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__getMargin_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btHeightfieldTerrainShape__setMargin_p1(this.ptr, arg0); +} +btHeightfieldTerrainShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isConvex2d_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isSoftBody_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['__destroy__'] = function() { + _emscripten_bind_btHeightfieldTerrainShape____destroy___p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btHeightfieldTerrainShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btHeightfieldTerrainShape.prototype['isConcave'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__isConcave_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__getAngularMotionDisc_p0(this.ptr); +} +btHeightfieldTerrainShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btHeightfieldTerrainShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btHeightfieldTerrainShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btHeightfieldTerrainShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btHeightfieldTerrainShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btHeightfieldTerrainShape__getShapeType_p0(this.ptr); +} +function btConvexInternalAabbCachingShape(){ throw "btConvexInternalAabbCachingShape is abstract!" } +btConvexInternalAabbCachingShape.prototype.__cache__ = {}; +Module['btConvexInternalAabbCachingShape'] = btConvexInternalAabbCachingShape; +btConvexInternalAabbCachingShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConvexInternalAabbCachingShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConvexInternalAabbCachingShape.prototype['isCompound'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isCompound_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalAabbCachingShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConvexInternalAabbCachingShape__setUserPointer_p1(this.ptr, arg0); +} +btConvexInternalAabbCachingShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getMarginNV_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConvexInternalAabbCachingShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConvexInternalAabbCachingShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConvexInternalAabbCachingShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isPolyhedral_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalAabbCachingShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalAabbCachingShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexInternalAabbCachingShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__calculateSerializeBufferSize_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['getName'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getName_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btConvexInternalAabbCachingShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalAabbCachingShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btConvexInternalAabbCachingShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btConvexInternalAabbCachingShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConvexInternalAabbCachingShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConvexInternalAabbCachingShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalAabbCachingShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexInternalAabbCachingShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConvexInternalAabbCachingShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConvexInternalAabbCachingShape.prototype['isConvex'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isConvex_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isInfinite_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getUserPointer_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isNonMoving_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['getMargin'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getMargin_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['recalcLocalAabb'] = function() { + _emscripten_bind_btConvexInternalAabbCachingShape__recalcLocalAabb_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConvexInternalAabbCachingShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConvexInternalAabbCachingShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConvexInternalAabbCachingShape__setMargin_p1(this.ptr, arg0); +} +btConvexInternalAabbCachingShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isConvex2d_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalAabbCachingShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isSoftBody_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getMarginNonVirtual_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['__destroy__'] = function() { + _emscripten_bind_btConvexInternalAabbCachingShape____destroy___p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexInternalAabbCachingShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btConvexInternalAabbCachingShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btConvexInternalAabbCachingShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConvexInternalAabbCachingShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConvexInternalAabbCachingShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getAngularMotionDisc_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConvexInternalAabbCachingShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConvexInternalAabbCachingShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalAabbCachingShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexInternalAabbCachingShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConvexInternalAabbCachingShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConvexInternalAabbCachingShape.prototype['isConcave'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__isConcave_p0(this.ptr); +} +btConvexInternalAabbCachingShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btConvexInternalAabbCachingShape__getShapeType_p0(this.ptr); +} +function btConvexShape(){ throw "btConvexShape is abstract!" } +btConvexShape.prototype.__cache__ = {}; +Module['btConvexShape'] = btConvexShape; +btConvexShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConvexShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConvexShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConvexShape__setUserPointer_p1(this.ptr, arg0); +} +btConvexShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConvexShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConvexShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConvexShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConvexShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConvexShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConvexShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConvexShape__isPolyhedral_p0(this.ptr); +} +btConvexShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConvexShape__calculateSerializeBufferSize_p0(this.ptr); +} +btConvexShape.prototype['getName'] = function() { + return _emscripten_bind_btConvexShape__getName_p0(this.ptr); +} +btConvexShape.prototype['isCompound'] = function() { + return _emscripten_bind_btConvexShape__isCompound_p0(this.ptr); +} +btConvexShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConvexShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConvexShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConvexShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConvexShape.prototype['isConvex'] = function() { + return _emscripten_bind_btConvexShape__isConvex_p0(this.ptr); +} +btConvexShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btConvexShape__isInfinite_p0(this.ptr); +} +btConvexShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConvexShape__getUserPointer_p0(this.ptr); +} +btConvexShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConvexShape__isNonMoving_p0(this.ptr); +} +btConvexShape.prototype['getMargin'] = function() { + return _emscripten_bind_btConvexShape__getMargin_p0(this.ptr); +} +btConvexShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConvexShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConvexShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConvexShape__setMargin_p1(this.ptr, arg0); +} +btConvexShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConvexShape__isConvex2d_p0(this.ptr); +} +btConvexShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConvexShape__isSoftBody_p0(this.ptr); +} +btConvexShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConvexShape__getMarginNonVirtual_p0(this.ptr); +} +btConvexShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConvexShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConvexShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConvexShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConvexShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConvexShape__getAngularMotionDisc_p0(this.ptr); +} +btConvexShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConvexShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConvexShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexShape.prototype['isConcave'] = function() { + return _emscripten_bind_btConvexShape__isConcave_p0(this.ptr); +} +btConvexShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btConvexShape__getShapeType_p0(this.ptr); +} +function btDiscreteCollisionDetectorInterface(){ throw "btDiscreteCollisionDetectorInterface is abstract!" } +btDiscreteCollisionDetectorInterface.prototype.__cache__ = {}; +Module['btDiscreteCollisionDetectorInterface'] = btDiscreteCollisionDetectorInterface; +btDiscreteCollisionDetectorInterface.prototype['getClosestPoints'] = function(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + _emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else + _emscripten_bind_btDiscreteCollisionDetectorInterface__getClosestPoints_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3); +} +btDefaultCollisionConstructionInfo.prototype['set_m_customCollisionAlgorithmMaxElementSize'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_customCollisionAlgorithmMaxElementSize_p1(this.ptr, arg0); +} +btDefaultCollisionConstructionInfo.prototype['set_m_collisionAlgorithmPool'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_collisionAlgorithmPool_p1(this.ptr, arg0); +} +btDefaultCollisionConstructionInfo.prototype['get_m_customCollisionAlgorithmMaxElementSize'] = function() { + return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_customCollisionAlgorithmMaxElementSize_p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['get_m_persistentManifoldPool'] = function() { + return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_persistentManifoldPool_p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['set_m_useEpaPenetrationAlgorithm'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_useEpaPenetrationAlgorithm_p1(this.ptr, arg0); +} +btDefaultCollisionConstructionInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btDefaultCollisionConstructionInfo____destroy___p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['get_m_defaultStackAllocatorSize'] = function() { + return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultStackAllocatorSize_p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['set_m_defaultStackAllocatorSize'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultStackAllocatorSize_p1(this.ptr, arg0); +} +btDefaultCollisionConstructionInfo.prototype['get_m_defaultMaxCollisionAlgorithmPoolSize'] = function() { + return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxCollisionAlgorithmPoolSize_p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['set_m_defaultMaxPersistentManifoldPoolSize'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxPersistentManifoldPoolSize_p1(this.ptr, arg0); +} +btDefaultCollisionConstructionInfo.prototype['get_m_useEpaPenetrationAlgorithm'] = function() { + return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_useEpaPenetrationAlgorithm_p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['set_m_stackAlloc'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_stackAlloc_p1(this.ptr, arg0.ptr); +} +btDefaultCollisionConstructionInfo.prototype['get_m_collisionAlgorithmPool'] = function() { + return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_collisionAlgorithmPool_p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['get_m_stackAlloc'] = function() { + return wrapPointer(_emscripten_bind_btDefaultCollisionConstructionInfo__get_m_stackAlloc_p0(this.ptr), Module['btStackAlloc']); +} +btDefaultCollisionConstructionInfo.prototype['set_m_defaultMaxCollisionAlgorithmPoolSize'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_defaultMaxCollisionAlgorithmPoolSize_p1(this.ptr, arg0); +} +function btDefaultCollisionConstructionInfo() { + this.ptr = _emscripten_bind_btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_p0(); + btDefaultCollisionConstructionInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btDefaultCollisionConstructionInfo; +} +btDefaultCollisionConstructionInfo.prototype.__cache__ = {}; +Module['btDefaultCollisionConstructionInfo'] = btDefaultCollisionConstructionInfo; +btDefaultCollisionConstructionInfo.prototype['get_m_defaultMaxPersistentManifoldPoolSize'] = function() { + return _emscripten_bind_btDefaultCollisionConstructionInfo__get_m_defaultMaxPersistentManifoldPoolSize_p0(this.ptr); +} +btDefaultCollisionConstructionInfo.prototype['set_m_persistentManifoldPool'] = function(arg0) { + _emscripten_bind_btDefaultCollisionConstructionInfo__set_m_persistentManifoldPool_p1(this.ptr, arg0); +} +function btDispatcher(){ throw "btDispatcher is abstract!" } +btDispatcher.prototype.__cache__ = {}; +Module['btDispatcher'] = btDispatcher; +btDispatcher.prototype['allocateCollisionAlgorithm'] = function(arg0) { + return _emscripten_bind_btDispatcher__allocateCollisionAlgorithm_p1(this.ptr, arg0); +} +btDispatcher.prototype['getManifoldByIndexInternal'] = function(arg0) { + return wrapPointer(_emscripten_bind_btDispatcher__getManifoldByIndexInternal_p1(this.ptr, arg0), Module['btPersistentManifold']); +} +btDispatcher.prototype['getNumManifolds'] = function() { + return _emscripten_bind_btDispatcher__getNumManifolds_p0(this.ptr); +} +btDispatcher.prototype['clearManifold'] = function(arg0) { + _emscripten_bind_btDispatcher__clearManifold_p1(this.ptr, arg0.ptr); +} +btDispatcher.prototype['freeCollisionAlgorithm'] = function(arg0) { + _emscripten_bind_btDispatcher__freeCollisionAlgorithm_p1(this.ptr, arg0); +} +btDispatcher.prototype['getInternalManifoldPointer'] = function() { + return wrapPointer(_emscripten_bind_btDispatcher__getInternalManifoldPointer_p0(this.ptr), Module['btPersistentManifold']); +} +btDispatcher.prototype['findAlgorithm'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + return wrapPointer(_emscripten_bind_btDispatcher__findAlgorithm_p2(this.ptr, arg0.ptr, arg1.ptr), Module['btCollisionAlgorithm']); + else + return wrapPointer(_emscripten_bind_btDispatcher__findAlgorithm_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr), Module['btCollisionAlgorithm']); +} +btDispatcher.prototype['needsResponse'] = function(arg0, arg1) { + return _emscripten_bind_btDispatcher__needsResponse_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btDispatcher.prototype['getNewManifold'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btDispatcher__getNewManifold_p2(this.ptr, arg0, arg1), Module['btPersistentManifold']); +} +btDispatcher.prototype['dispatchAllCollisionPairs'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDispatcher__dispatchAllCollisionPairs_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btDispatcher.prototype['getInternalManifoldPool'] = function() { + return _emscripten_bind_btDispatcher__getInternalManifoldPool_p0(this.ptr); +} +btDispatcher.prototype['needsCollision'] = function(arg0, arg1) { + return _emscripten_bind_btDispatcher__needsCollision_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btDispatcher.prototype['releaseManifold'] = function(arg0) { + _emscripten_bind_btDispatcher__releaseManifold_p1(this.ptr, arg0.ptr); +} +btJacobianEntry.prototype['__destroy__'] = function() { + _emscripten_bind_btJacobianEntry____destroy___p0(this.ptr); +} +btJacobianEntry.prototype['set_m_linearJointAxis'] = function(arg0) { + _emscripten_bind_btJacobianEntry__set_m_linearJointAxis_p1(this.ptr, arg0.ptr); +} +btJacobianEntry.prototype['get_m_bJ'] = function() { + return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_bJ_p0(this.ptr), Module['btVector3']); +} +function btJacobianEntry(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btJacobianEntry__btJacobianEntry_p0(); + else if (arg4 === undefined) + this.ptr = _emscripten_bind_btJacobianEntry__btJacobianEntry_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else if (arg5 === undefined) + this.ptr = _emscripten_bind_btJacobianEntry__btJacobianEntry_p5(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); + else if (arg6 === undefined) + this.ptr = _emscripten_bind_btJacobianEntry__btJacobianEntry_p6(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5); + else + this.ptr = _emscripten_bind_btJacobianEntry__btJacobianEntry_p9(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6, arg7.ptr, arg8); + btJacobianEntry.prototype.__cache__[this.ptr] = this; + this.__class__ = btJacobianEntry; +} +btJacobianEntry.prototype.__cache__ = {}; +Module['btJacobianEntry'] = btJacobianEntry; +btJacobianEntry.prototype['get_m_linearJointAxis'] = function() { + return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_linearJointAxis_p0(this.ptr), Module['btVector3']); +} +btJacobianEntry.prototype['set_m_aJ'] = function(arg0) { + _emscripten_bind_btJacobianEntry__set_m_aJ_p1(this.ptr, arg0.ptr); +} +btJacobianEntry.prototype['getDiagonal'] = function() { + return _emscripten_bind_btJacobianEntry__getDiagonal_p0(this.ptr); +} +btJacobianEntry.prototype['set_m_Adiag'] = function(arg0) { + _emscripten_bind_btJacobianEntry__set_m_Adiag_p1(this.ptr, arg0); +} +btJacobianEntry.prototype['getRelativeVelocity'] = function(arg0, arg1, arg2, arg3) { + return _emscripten_bind_btJacobianEntry__getRelativeVelocity_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btJacobianEntry.prototype['set_m_bJ'] = function(arg0) { + _emscripten_bind_btJacobianEntry__set_m_bJ_p1(this.ptr, arg0.ptr); +} +btJacobianEntry.prototype['get_m_Adiag'] = function() { + return _emscripten_bind_btJacobianEntry__get_m_Adiag_p0(this.ptr); +} +btJacobianEntry.prototype['getNonDiagonal'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + return _emscripten_bind_btJacobianEntry__getNonDiagonal_p2(this.ptr, arg0.ptr, arg1); + else + return _emscripten_bind_btJacobianEntry__getNonDiagonal_p3(this.ptr, arg0.ptr, arg1, arg2); +} +btJacobianEntry.prototype['set_m_1MinvJt'] = function(arg0) { + _emscripten_bind_btJacobianEntry__set_m_1MinvJt_p1(this.ptr, arg0.ptr); +} +btJacobianEntry.prototype['get_m_0MinvJt'] = function() { + return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_0MinvJt_p0(this.ptr), Module['btVector3']); +} +btJacobianEntry.prototype['set_m_0MinvJt'] = function(arg0) { + _emscripten_bind_btJacobianEntry__set_m_0MinvJt_p1(this.ptr, arg0.ptr); +} +btJacobianEntry.prototype['get_m_aJ'] = function() { + return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_aJ_p0(this.ptr), Module['btVector3']); +} +btJacobianEntry.prototype['get_m_1MinvJt'] = function() { + return wrapPointer(_emscripten_bind_btJacobianEntry__get_m_1MinvJt_p0(this.ptr), Module['btVector3']); +} +function btOverlappingPairCallback(){ throw "btOverlappingPairCallback is abstract!" } +btOverlappingPairCallback.prototype.__cache__ = {}; +Module['btOverlappingPairCallback'] = btOverlappingPairCallback; +btOverlappingPairCallback.prototype['addOverlappingPair'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btOverlappingPairCallback__addOverlappingPair_p2(this.ptr, arg0.ptr, arg1.ptr), Module['btBroadphasePair']); +} +btOverlappingPairCallback.prototype['removeOverlappingPair'] = function(arg0, arg1, arg2) { + return _emscripten_bind_btOverlappingPairCallback__removeOverlappingPair_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btOverlappingPairCallback.prototype['removeOverlappingPairsContainingProxy'] = function(arg0, arg1) { + _emscripten_bind_btOverlappingPairCallback__removeOverlappingPairsContainingProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btHashInt.prototype['__destroy__'] = function() { + _emscripten_bind_btHashInt____destroy___p0(this.ptr); +} +btHashInt.prototype['setUid1'] = function(arg0) { + _emscripten_bind_btHashInt__setUid1_p1(this.ptr, arg0); +} +function btHashInt(arg0) { + this.ptr = _emscripten_bind_btHashInt__btHashInt_p1(arg0); + btHashInt.prototype.__cache__[this.ptr] = this; + this.__class__ = btHashInt; +} +btHashInt.prototype.__cache__ = {}; +Module['btHashInt'] = btHashInt; +btHashInt.prototype['equals'] = function(arg0) { + return _emscripten_bind_btHashInt__equals_p1(this.ptr, arg0.ptr); +} +btHashInt.prototype['getUid1'] = function() { + return _emscripten_bind_btHashInt__getUid1_p0(this.ptr); +} +btHashInt.prototype['getHash'] = function() { + return _emscripten_bind_btHashInt__getHash_p0(this.ptr); +} +btCollisionAlgorithmCreateFunc.prototype['get_m_swapped'] = function() { + return _emscripten_bind_btCollisionAlgorithmCreateFunc__get_m_swapped_p0(this.ptr); +} +btCollisionAlgorithmCreateFunc.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionAlgorithmCreateFunc____destroy___p0(this.ptr); +} +btCollisionAlgorithmCreateFunc.prototype['CreateCollisionAlgorithm'] = function(arg0, arg1, arg2) { + return wrapPointer(_emscripten_bind_btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr), Module['btCollisionAlgorithm']); +} +btCollisionAlgorithmCreateFunc.prototype['set_m_swapped'] = function(arg0) { + _emscripten_bind_btCollisionAlgorithmCreateFunc__set_m_swapped_p1(this.ptr, arg0); +} +function btCollisionAlgorithmCreateFunc() { + this.ptr = _emscripten_bind_btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_p0(); + btCollisionAlgorithmCreateFunc.prototype.__cache__[this.ptr] = this; + this.__class__ = btCollisionAlgorithmCreateFunc; +} +btCollisionAlgorithmCreateFunc.prototype.__cache__ = {}; +Module['btCollisionAlgorithmCreateFunc'] = btCollisionAlgorithmCreateFunc; +btCollisionWorld.prototype['setBroadphase'] = function(arg0) { + _emscripten_bind_btCollisionWorld__setBroadphase_p1(this.ptr, arg0.ptr); +} +btCollisionWorld.prototype['serialize'] = function(arg0) { + _emscripten_bind_btCollisionWorld__serialize_p1(this.ptr, arg0.ptr); +} +btCollisionWorld.prototype['getDispatcher'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__getDispatcher_p0(this.ptr), Module['btDispatcher']); +} +btCollisionWorld.prototype['getDispatchInfo'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__getDispatchInfo_p0(this.ptr), Module['btDispatcherInfo']); +} +btCollisionWorld.prototype['getDebugDrawer'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__getDebugDrawer_p0(this.ptr), Module['btIDebugDraw']); +} +btCollisionWorld.prototype['performDiscreteCollisionDetection'] = function() { + _emscripten_bind_btCollisionWorld__performDiscreteCollisionDetection_p0(this.ptr); +} +btCollisionWorld.prototype['getCollisionObjectArray'] = function() { + return _emscripten_bind_btCollisionWorld__getCollisionObjectArray_p0(this.ptr); +} +btCollisionWorld.prototype['debugDrawObject'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCollisionWorld__debugDrawObject_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCollisionWorld.prototype['rayTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCollisionWorld__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCollisionWorld.prototype['addCollisionObject'] = function(arg0, arg1, arg2) { + if (arg1 === undefined) + _emscripten_bind_btCollisionWorld__addCollisionObject_p1(this.ptr, arg0.ptr); + else if (arg2 === undefined) + _emscripten_bind_btCollisionWorld__addCollisionObject_p2(this.ptr, arg0.ptr, arg1); + else + _emscripten_bind_btCollisionWorld__addCollisionObject_p3(this.ptr, arg0.ptr, arg1, arg2); +} +function btCollisionWorld(arg0, arg1, arg2) { + this.ptr = _emscripten_bind_btCollisionWorld__btCollisionWorld_p3(arg0.ptr, arg1.ptr, arg2.ptr); + btCollisionWorld.prototype.__cache__[this.ptr] = this; + this.__class__ = btCollisionWorld; +} +btCollisionWorld.prototype.__cache__ = {}; +Module['btCollisionWorld'] = btCollisionWorld; +btCollisionWorld.prototype['contactTest'] = function(arg0, arg1) { + _emscripten_bind_btCollisionWorld__contactTest_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btCollisionWorld.prototype['getForceUpdateAllAabbs'] = function() { + return _emscripten_bind_btCollisionWorld__getForceUpdateAllAabbs_p0(this.ptr); +} +btCollisionWorld.prototype['updateAabbs'] = function() { + _emscripten_bind_btCollisionWorld__updateAabbs_p0(this.ptr); +} +btCollisionWorld.prototype['setDebugDrawer'] = function(arg0) { + _emscripten_bind_btCollisionWorld__setDebugDrawer_p1(this.ptr, arg0.ptr); +} +btCollisionWorld.prototype['debugDrawWorld'] = function() { + _emscripten_bind_btCollisionWorld__debugDrawWorld_p0(this.ptr); +} +btCollisionWorld.prototype['convexSweepTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg4 === undefined) + _emscripten_bind_btCollisionWorld__convexSweepTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_btCollisionWorld__convexSweepTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); +} +btCollisionWorld.prototype['getNumCollisionObjects'] = function() { + return _emscripten_bind_btCollisionWorld__getNumCollisionObjects_p0(this.ptr); +} +btCollisionWorld.prototype['contactPairTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCollisionWorld__contactPairTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCollisionWorld.prototype['getBroadphase'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__getBroadphase_p0(this.ptr), Module['btBroadphaseInterface']); +} +btCollisionWorld.prototype['rayTestSingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCollisionWorld__rayTestSingle_p6(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr); +} +btCollisionWorld.prototype['setForceUpdateAllAabbs'] = function(arg0) { + _emscripten_bind_btCollisionWorld__setForceUpdateAllAabbs_p1(this.ptr, arg0); +} +btCollisionWorld.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionWorld____destroy___p0(this.ptr); +} +btCollisionWorld.prototype['objectQuerySingle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + _emscripten_bind_btCollisionWorld__objectQuerySingle_p8(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7); +} +btCollisionWorld.prototype['updateSingleAabb'] = function(arg0) { + _emscripten_bind_btCollisionWorld__updateSingleAabb_p1(this.ptr, arg0.ptr); +} +btCollisionWorld.prototype['getPairCache'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__getPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +btCollisionWorld.prototype['removeCollisionObject'] = function(arg0) { + _emscripten_bind_btCollisionWorld__removeCollisionObject_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['set_m_currentLimitError'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_currentLimitError_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['needApplyForce'] = function(arg0) { + return _emscripten_bind_btTranslationalLimitMotor__needApplyForce_p1(this.ptr, arg0); +} +btTranslationalLimitMotor.prototype['get_m_currentLimitError'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_currentLimitError_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['get_m_currentLinearDiff'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_currentLinearDiff_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['get_m_stopERP'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_stopERP_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['set_m_stopERP'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_stopERP_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['set_m_stopCFM'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_stopCFM_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['get_m_stopCFM'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_stopCFM_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['get_m_lowerLimit'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_lowerLimit_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['set_m_maxMotorForce'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_maxMotorForce_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['testLimitValue'] = function(arg0, arg1) { + return _emscripten_bind_btTranslationalLimitMotor__testLimitValue_p2(this.ptr, arg0, arg1); +} +btTranslationalLimitMotor.prototype['set_m_restitution'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_restitution_p1(this.ptr, arg0); +} +btTranslationalLimitMotor.prototype['set_m_limitSoftness'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_limitSoftness_p1(this.ptr, arg0); +} +btTranslationalLimitMotor.prototype['set_m_currentLinearDiff'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_currentLinearDiff_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['get_m_restitution'] = function() { + return _emscripten_bind_btTranslationalLimitMotor__get_m_restitution_p0(this.ptr); +} +btTranslationalLimitMotor.prototype['get_m_targetVelocity'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_targetVelocity_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['get_m_maxMotorForce'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_maxMotorForce_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['set_m_damping'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_damping_p1(this.ptr, arg0); +} +btTranslationalLimitMotor.prototype['get_m_upperLimit'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_upperLimit_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['set_m_accumulatedImpulse'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_accumulatedImpulse_p1(this.ptr, arg0.ptr); +} +function btTranslationalLimitMotor(arg0) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p0(); + else + this.ptr = _emscripten_bind_btTranslationalLimitMotor__btTranslationalLimitMotor_p1(arg0.ptr); + btTranslationalLimitMotor.prototype.__cache__[this.ptr] = this; + this.__class__ = btTranslationalLimitMotor; +} +btTranslationalLimitMotor.prototype.__cache__ = {}; +Module['btTranslationalLimitMotor'] = btTranslationalLimitMotor; +btTranslationalLimitMotor.prototype['set_m_upperLimit'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_upperLimit_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['__destroy__'] = function() { + _emscripten_bind_btTranslationalLimitMotor____destroy___p0(this.ptr); +} +btTranslationalLimitMotor.prototype['set_m_normalCFM'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_normalCFM_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['get_m_damping'] = function() { + return _emscripten_bind_btTranslationalLimitMotor__get_m_damping_p0(this.ptr); +} +btTranslationalLimitMotor.prototype['get_m_normalCFM'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_normalCFM_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['set_m_targetVelocity'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_targetVelocity_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['isLimited'] = function(arg0) { + return _emscripten_bind_btTranslationalLimitMotor__isLimited_p1(this.ptr, arg0); +} +btTranslationalLimitMotor.prototype['get_m_accumulatedImpulse'] = function() { + return wrapPointer(_emscripten_bind_btTranslationalLimitMotor__get_m_accumulatedImpulse_p0(this.ptr), Module['btVector3']); +} +btTranslationalLimitMotor.prototype['set_m_lowerLimit'] = function(arg0) { + _emscripten_bind_btTranslationalLimitMotor__set_m_lowerLimit_p1(this.ptr, arg0.ptr); +} +btTranslationalLimitMotor.prototype['get_m_limitSoftness'] = function() { + return _emscripten_bind_btTranslationalLimitMotor__get_m_limitSoftness_p0(this.ptr); +} +btTranslationalLimitMotor.prototype['solveLinearAxis'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + return _emscripten_bind_btTranslationalLimitMotor__solveLinearAxis_p9(this.ptr, arg0, arg1, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6, arg7.ptr, arg8.ptr); +} +function btInternalTriangleIndexCallback(){ throw "btInternalTriangleIndexCallback is abstract!" } +btInternalTriangleIndexCallback.prototype.__cache__ = {}; +Module['btInternalTriangleIndexCallback'] = btInternalTriangleIndexCallback; +btInternalTriangleIndexCallback.prototype['internalProcessTriangleIndex'] = function(arg0, arg1, arg2) { + _emscripten_bind_btInternalTriangleIndexCallback__internalProcessTriangleIndex_p3(this.ptr, arg0.ptr, arg1, arg2); +} +function btConvexInternalShape(){ throw "btConvexInternalShape is abstract!" } +btConvexInternalShape.prototype.__cache__ = {}; +Module['btConvexInternalShape'] = btConvexInternalShape; +btConvexInternalShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConvexInternalShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConvexInternalShape.prototype['isCompound'] = function() { + return _emscripten_bind_btConvexInternalShape__isCompound_p0(this.ptr); +} +btConvexInternalShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConvexInternalShape__setUserPointer_p1(this.ptr, arg0); +} +btConvexInternalShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btConvexInternalShape__getMarginNV_p0(this.ptr); +} +btConvexInternalShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConvexInternalShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConvexInternalShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConvexInternalShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConvexInternalShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btConvexInternalShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btConvexInternalShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConvexInternalShape__isPolyhedral_p0(this.ptr); +} +btConvexInternalShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexInternalShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConvexInternalShape__calculateSerializeBufferSize_p0(this.ptr); +} +btConvexInternalShape.prototype['getName'] = function() { + return _emscripten_bind_btConvexInternalShape__getName_p0(this.ptr); +} +btConvexInternalShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btConvexInternalShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btConvexInternalShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btConvexInternalShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btConvexInternalShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConvexInternalShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConvexInternalShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexInternalShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConvexInternalShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConvexInternalShape.prototype['isConvex'] = function() { + return _emscripten_bind_btConvexInternalShape__isConvex_p0(this.ptr); +} +btConvexInternalShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btConvexInternalShape__isInfinite_p0(this.ptr); +} +btConvexInternalShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConvexInternalShape__getUserPointer_p0(this.ptr); +} +btConvexInternalShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConvexInternalShape__isNonMoving_p0(this.ptr); +} +btConvexInternalShape.prototype['getMargin'] = function() { + return _emscripten_bind_btConvexInternalShape__getMargin_p0(this.ptr); +} +btConvexInternalShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btConvexInternalShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btConvexInternalShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConvexInternalShape__setMargin_p1(this.ptr, arg0); +} +btConvexInternalShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConvexInternalShape__isConvex2d_p0(this.ptr); +} +btConvexInternalShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btConvexInternalShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btConvexInternalShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConvexInternalShape__isSoftBody_p0(this.ptr); +} +btConvexInternalShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btConvexInternalShape__getMarginNonVirtual_p0(this.ptr); +} +btConvexInternalShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btConvexInternalShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btConvexInternalShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btConvexInternalShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConvexInternalShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConvexInternalShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConvexInternalShape__getAngularMotionDisc_p0(this.ptr); +} +btConvexInternalShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConvexInternalShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConvexInternalShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConvexInternalShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConvexInternalShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConvexInternalShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConvexInternalShape.prototype['isConcave'] = function() { + return _emscripten_bind_btConvexInternalShape__isConcave_p0(this.ptr); +} +btConvexInternalShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btConvexInternalShape__getShapeType_p0(this.ptr); +} +btHashPtr.prototype['__destroy__'] = function() { + _emscripten_bind_btHashPtr____destroy___p0(this.ptr); +} +btHashPtr.prototype['equals'] = function(arg0) { + return _emscripten_bind_btHashPtr__equals_p1(this.ptr, arg0.ptr); +} +btHashPtr.prototype['getHash'] = function() { + return _emscripten_bind_btHashPtr__getHash_p0(this.ptr); +} +function btHashPtr(arg0) { + this.ptr = _emscripten_bind_btHashPtr__btHashPtr_p1(arg0); + btHashPtr.prototype.__cache__[this.ptr] = this; + this.__class__ = btHashPtr; +} +btHashPtr.prototype.__cache__ = {}; +Module['btHashPtr'] = btHashPtr; +btHashPtr.prototype['getPointer'] = function() { + return _emscripten_bind_btHashPtr__getPointer_p0(this.ptr); +} +btPairCachingGhostObject.prototype['removeOverlappingObjectInternal'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p2(this.ptr, arg0.ptr, arg1.ptr); + else + _emscripten_bind_btPairCachingGhostObject__removeOverlappingObjectInternal_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPairCachingGhostObject.prototype['getFriction'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getFriction_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setInterpolationLinearVelocity'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setInterpolationLinearVelocity_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['getDeactivationTime'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getDeactivationTime_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setCompanionId'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setCompanionId_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['setInterpolationAngularVelocity'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setInterpolationAngularVelocity_p1(this.ptr, arg0.ptr); +} +function btPairCachingGhostObject() { + this.ptr = _emscripten_bind_btPairCachingGhostObject__btPairCachingGhostObject_p0(); + btPairCachingGhostObject.prototype.__cache__[this.ptr] = this; + this.__class__ = btPairCachingGhostObject; +} +btPairCachingGhostObject.prototype.__cache__ = {}; +Module['btPairCachingGhostObject'] = btPairCachingGhostObject; +btPairCachingGhostObject.prototype['getCcdSweptSphereRadius'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getCcdSweptSphereRadius_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setFriction'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setFriction_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['internalSetExtensionPointer'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__internalSetExtensionPointer_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['setContactProcessingThreshold'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setContactProcessingThreshold_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['setInterpolationWorldTransform'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setInterpolationWorldTransform_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['getInterpolationLinearVelocity'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getInterpolationLinearVelocity_p0(this.ptr), Module['btVector3']); +} +btPairCachingGhostObject.prototype['mergesSimulationIslands'] = function() { + return _emscripten_bind_btPairCachingGhostObject__mergesSimulationIslands_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setCollisionShape'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setCollisionShape_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['setCcdMotionThreshold'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setCcdMotionThreshold_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['getIslandTag'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getIslandTag_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getNumOverlappingObjects'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getNumOverlappingObjects_p0(this.ptr); +} +btPairCachingGhostObject.prototype['addOverlappingObjectInternal'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btPairCachingGhostObject__addOverlappingObjectInternal_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btPairCachingGhostObject.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setUserPointer_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['checkCollideWith'] = function(arg0) { + return _emscripten_bind_btPairCachingGhostObject__checkCollideWith_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['rayTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPairCachingGhostObject__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btPairCachingGhostObject.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btPairCachingGhostObject__calculateSerializeBufferSize_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getInterpolationAngularVelocity'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getInterpolationAngularVelocity_p0(this.ptr), Module['btVector3']); +} +btPairCachingGhostObject.prototype['forceActivationState'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__forceActivationState_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['activate'] = function(arg0) { + if (arg0 === undefined) + _emscripten_bind_btPairCachingGhostObject__activate_p0(this.ptr); + else + _emscripten_bind_btPairCachingGhostObject__activate_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['setIslandTag'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setIslandTag_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['setHitFraction'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setHitFraction_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['getInterpolationWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getInterpolationWorldTransform_p0(this.ptr), Module['btTransform']); +} +btPairCachingGhostObject.prototype['getHitFraction'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getHitFraction_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getOverlappingObject'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getOverlappingObject_p1(this.ptr, arg0), Module['btCollisionObject']); +} +btPairCachingGhostObject.prototype['convexSweepTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg4 === undefined) + _emscripten_bind_btPairCachingGhostObject__convexSweepTest_p4(this.ptr, arg0, arg1.ptr, arg2.ptr, arg3); + else + _emscripten_bind_btPairCachingGhostObject__convexSweepTest_p5(this.ptr, arg0, arg1.ptr, arg2.ptr, arg3, arg4); +} +btPairCachingGhostObject.prototype['isStaticObject'] = function() { + return _emscripten_bind_btPairCachingGhostObject__isStaticObject_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btPairCachingGhostObject.prototype['setAnisotropicFriction'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setAnisotropicFriction_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['getActivationState'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getActivationState_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getBroadphaseHandle'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getBroadphaseHandle_p0(this.ptr), Module['btBroadphaseProxy']); +} +btPairCachingGhostObject.prototype['getRestitution'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getRestitution_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getUserPointer'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getUserPointer_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setCcdSweptSphereRadius'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setCcdSweptSphereRadius_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['getWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getWorldTransform_p0(this.ptr), Module['btTransform']); +} +btPairCachingGhostObject.prototype['getCcdSquareMotionThreshold'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getCcdSquareMotionThreshold_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setWorldTransform'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setWorldTransform_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['internalSetTemporaryCollisionShape'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__internalSetTemporaryCollisionShape_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btPairCachingGhostObject__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btPairCachingGhostObject.prototype['getCcdMotionThreshold'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getCcdMotionThreshold_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getCompanionId'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getCompanionId_p0(this.ptr); +} +btPairCachingGhostObject.prototype['serializeSingleObject'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__serializeSingleObject_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['isActive'] = function() { + return _emscripten_bind_btPairCachingGhostObject__isActive_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getInternalType'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getInternalType_p0(this.ptr); +} +btPairCachingGhostObject.prototype['__destroy__'] = function() { + _emscripten_bind_btPairCachingGhostObject____destroy___p0(this.ptr); +} +btPairCachingGhostObject.prototype['hasContactResponse'] = function() { + return _emscripten_bind_btPairCachingGhostObject__hasContactResponse_p0(this.ptr); +} +btPairCachingGhostObject.prototype['upcast'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__upcast_p1(arg0.ptr), Module['btGhostObject']); +} +btPairCachingGhostObject.prototype['setActivationState'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setActivationState_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['getRootCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getRootCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btPairCachingGhostObject.prototype['getContactProcessingThreshold'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getContactProcessingThreshold_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getCollisionFlags'] = function() { + return _emscripten_bind_btPairCachingGhostObject__getCollisionFlags_p0(this.ptr); +} +btPairCachingGhostObject.prototype['getOverlappingPairCache'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getOverlappingPairCache_p0(this.ptr), Module['btHashedOverlappingPairCache']); +} +btPairCachingGhostObject.prototype['getAnisotropicFriction'] = function() { + return wrapPointer(_emscripten_bind_btPairCachingGhostObject__getAnisotropicFriction_p0(this.ptr), Module['btVector3']); +} +btPairCachingGhostObject.prototype['setDeactivationTime'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setDeactivationTime_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['internalGetExtensionPointer'] = function() { + return _emscripten_bind_btPairCachingGhostObject__internalGetExtensionPointer_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setCollisionFlags'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setCollisionFlags_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['isStaticOrKinematicObject'] = function() { + return _emscripten_bind_btPairCachingGhostObject__isStaticOrKinematicObject_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setRestitution'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setRestitution_p1(this.ptr, arg0); +} +btPairCachingGhostObject.prototype['hasAnisotropicFriction'] = function() { + return _emscripten_bind_btPairCachingGhostObject__hasAnisotropicFriction_p0(this.ptr); +} +btPairCachingGhostObject.prototype['setBroadphaseHandle'] = function(arg0) { + _emscripten_bind_btPairCachingGhostObject__setBroadphaseHandle_p1(this.ptr, arg0.ptr); +} +btPairCachingGhostObject.prototype['isKinematicObject'] = function() { + return _emscripten_bind_btPairCachingGhostObject__isKinematicObject_p0(this.ptr); +} +function btOverlapCallback(){ throw "btOverlapCallback is abstract!" } +btOverlapCallback.prototype.__cache__ = {}; +Module['btOverlapCallback'] = btOverlapCallback; +btOverlapCallback.prototype['processOverlap'] = function(arg0) { + return _emscripten_bind_btOverlapCallback__processOverlap_p1(this.ptr, arg0.ptr); +} +btStaticPlaneShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btStaticPlaneShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btStaticPlaneShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btStaticPlaneShape__setUserPointer_p1(this.ptr, arg0); +} +btStaticPlaneShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btStaticPlaneShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btStaticPlaneShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btStaticPlaneShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btStaticPlaneShape.prototype['processAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btStaticPlaneShape__processAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btStaticPlaneShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btStaticPlaneShape__calculateSerializeBufferSize_p0(this.ptr); +} +btStaticPlaneShape.prototype['getName'] = function() { + return _emscripten_bind_btStaticPlaneShape__getName_p0(this.ptr); +} +btStaticPlaneShape.prototype['isCompound'] = function() { + return _emscripten_bind_btStaticPlaneShape__isCompound_p0(this.ptr); +} +btStaticPlaneShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btStaticPlaneShape__isPolyhedral_p0(this.ptr); +} +btStaticPlaneShape.prototype['getPlaneNormal'] = function() { + return wrapPointer(_emscripten_bind_btStaticPlaneShape__getPlaneNormal_p0(this.ptr), Module['btVector3']); +} +btStaticPlaneShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btStaticPlaneShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btStaticPlaneShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btStaticPlaneShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btStaticPlaneShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btStaticPlaneShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btStaticPlaneShape.prototype['isConvex'] = function() { + return _emscripten_bind_btStaticPlaneShape__isConvex_p0(this.ptr); +} +btStaticPlaneShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btStaticPlaneShape__isInfinite_p0(this.ptr); +} +btStaticPlaneShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btStaticPlaneShape__getUserPointer_p0(this.ptr); +} +btStaticPlaneShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btStaticPlaneShape__isNonMoving_p0(this.ptr); +} +btStaticPlaneShape.prototype['getMargin'] = function() { + return _emscripten_bind_btStaticPlaneShape__getMargin_p0(this.ptr); +} +btStaticPlaneShape.prototype['getPlaneConstant'] = function() { + return _emscripten_bind_btStaticPlaneShape__getPlaneConstant_p0(this.ptr); +} +btStaticPlaneShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btStaticPlaneShape__setMargin_p1(this.ptr, arg0); +} +btStaticPlaneShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btStaticPlaneShape__isConvex2d_p0(this.ptr); +} +btStaticPlaneShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btStaticPlaneShape__isSoftBody_p0(this.ptr); +} +btStaticPlaneShape.prototype['__destroy__'] = function() { + _emscripten_bind_btStaticPlaneShape____destroy___p0(this.ptr); +} +btStaticPlaneShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btStaticPlaneShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btStaticPlaneShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btStaticPlaneShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btStaticPlaneShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btStaticPlaneShape__getAngularMotionDisc_p0(this.ptr); +} +btStaticPlaneShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btStaticPlaneShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +function btStaticPlaneShape(arg0, arg1) { + this.ptr = _emscripten_bind_btStaticPlaneShape__btStaticPlaneShape_p2(arg0.ptr, arg1); + btStaticPlaneShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btStaticPlaneShape; +} +btStaticPlaneShape.prototype.__cache__ = {}; +Module['btStaticPlaneShape'] = btStaticPlaneShape; +btStaticPlaneShape.prototype['isConcave'] = function() { + return _emscripten_bind_btStaticPlaneShape__isConcave_p0(this.ptr); +} +btStaticPlaneShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btStaticPlaneShape__getShapeType_p0(this.ptr); +} +function btOverlappingPairCache(){ throw "btOverlappingPairCache is abstract!" } +btOverlappingPairCache.prototype.__cache__ = {}; +Module['btOverlappingPairCache'] = btOverlappingPairCache; +btOverlappingPairCache.prototype['sortOverlappingPairs'] = function(arg0) { + _emscripten_bind_btOverlappingPairCache__sortOverlappingPairs_p1(this.ptr, arg0.ptr); +} +btOverlappingPairCache.prototype['setInternalGhostPairCallback'] = function(arg0) { + _emscripten_bind_btOverlappingPairCache__setInternalGhostPairCallback_p1(this.ptr, arg0.ptr); +} +btOverlappingPairCache.prototype['addOverlappingPair'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btOverlappingPairCache__addOverlappingPair_p2(this.ptr, arg0.ptr, arg1.ptr), Module['btBroadphasePair']); +} +btOverlappingPairCache.prototype['removeOverlappingPairsContainingProxy'] = function(arg0, arg1) { + _emscripten_bind_btOverlappingPairCache__removeOverlappingPairsContainingProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btOverlappingPairCache.prototype['hasDeferredRemoval'] = function() { + return _emscripten_bind_btOverlappingPairCache__hasDeferredRemoval_p0(this.ptr); +} +btOverlappingPairCache.prototype['getOverlappingPairArray'] = function() { + return _emscripten_bind_btOverlappingPairCache__getOverlappingPairArray_p0(this.ptr); +} +btOverlappingPairCache.prototype['findPair'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btOverlappingPairCache__findPair_p2(this.ptr, arg0.ptr, arg1.ptr), Module['btBroadphasePair']); +} +btOverlappingPairCache.prototype['cleanProxyFromPairs'] = function(arg0, arg1) { + _emscripten_bind_btOverlappingPairCache__cleanProxyFromPairs_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btOverlappingPairCache.prototype['cleanOverlappingPair'] = function(arg0, arg1) { + _emscripten_bind_btOverlappingPairCache__cleanOverlappingPair_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btOverlappingPairCache.prototype['getNumOverlappingPairs'] = function() { + return _emscripten_bind_btOverlappingPairCache__getNumOverlappingPairs_p0(this.ptr); +} +btOverlappingPairCache.prototype['removeOverlappingPair'] = function(arg0, arg1, arg2) { + return _emscripten_bind_btOverlappingPairCache__removeOverlappingPair_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btOverlappingPairCache.prototype['setOverlapFilterCallback'] = function(arg0) { + _emscripten_bind_btOverlappingPairCache__setOverlapFilterCallback_p1(this.ptr, arg0.ptr); +} +btOverlappingPairCache.prototype['getOverlappingPairArrayPtr'] = function() { + return wrapPointer(_emscripten_bind_btOverlappingPairCache__getOverlappingPairArrayPtr_p0(this.ptr), Module['btBroadphasePair']); +} +btOverlappingPairCache.prototype['processAllOverlappingPairs'] = function(arg0, arg1) { + _emscripten_bind_btOverlappingPairCache__processAllOverlappingPairs_p2(this.ptr, arg0.ptr, arg1.ptr); +} +function btCollisionShape(){ throw "btCollisionShape is abstract!" } +btCollisionShape.prototype.__cache__ = {}; +Module['btCollisionShape'] = btCollisionShape; +btCollisionShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCollisionShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCollisionShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCollisionShape__setUserPointer_p1(this.ptr, arg0); +} +btCollisionShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCollisionShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCollisionShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCollisionShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCollisionShape__calculateSerializeBufferSize_p0(this.ptr); +} +btCollisionShape.prototype['getName'] = function() { + return _emscripten_bind_btCollisionShape__getName_p0(this.ptr); +} +btCollisionShape.prototype['isCompound'] = function() { + return _emscripten_bind_btCollisionShape__isCompound_p0(this.ptr); +} +btCollisionShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCollisionShape__isPolyhedral_p0(this.ptr); +} +btCollisionShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCollisionShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCollisionShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCollisionShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCollisionShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCollisionShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCollisionShape.prototype['isConvex'] = function() { + return _emscripten_bind_btCollisionShape__isConvex_p0(this.ptr); +} +btCollisionShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btCollisionShape__isInfinite_p0(this.ptr); +} +btCollisionShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCollisionShape__getUserPointer_p0(this.ptr); +} +btCollisionShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCollisionShape__isNonMoving_p0(this.ptr); +} +btCollisionShape.prototype['getMargin'] = function() { + return _emscripten_bind_btCollisionShape__getMargin_p0(this.ptr); +} +btCollisionShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCollisionShape__setMargin_p1(this.ptr, arg0); +} +btCollisionShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCollisionShape__isConvex2d_p0(this.ptr); +} +btCollisionShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCollisionShape__isSoftBody_p0(this.ptr); +} +btCollisionShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCollisionShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btCollisionShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCollisionShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCollisionShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCollisionShape__getAngularMotionDisc_p0(this.ptr); +} +btCollisionShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCollisionShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCollisionShape.prototype['isConcave'] = function() { + return _emscripten_bind_btCollisionShape__isConcave_p0(this.ptr); +} +btCollisionShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btCollisionShape__getShapeType_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btGeneric6DofConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btGeneric6DofConstraint__buildJacobian_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btGeneric6DofConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btGeneric6DofConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btGeneric6DofConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getUid_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setEnabled_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['getFrameOffsetA'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetA_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofConstraint.prototype['getRelativePivotPosition'] = function(arg0) { + return _emscripten_bind_btGeneric6DofConstraint__getRelativePivotPosition_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['getFrameOffsetB'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getFrameOffsetB_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofConstraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + _emscripten_bind_btGeneric6DofConstraint__getInfo2NonVirtual_p7(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr); +} +btGeneric6DofConstraint.prototype['getCalculatedTransformA'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformA_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getUserConstraintId_p0(this.ptr); +} +function btGeneric6DofConstraint(arg0, arg1, arg2, arg3, arg4) { + if (arg3 === undefined) + this.ptr = _emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p3(arg0.ptr, arg1.ptr, arg2); + else + this.ptr = _emscripten_bind_btGeneric6DofConstraint__btGeneric6DofConstraint_p5(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); + btGeneric6DofConstraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btGeneric6DofConstraint; +} +btGeneric6DofConstraint.prototype.__cache__ = {}; +Module['btGeneric6DofConstraint'] = btGeneric6DofConstraint; +btGeneric6DofConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btGeneric6DofConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btGeneric6DofConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btGeneric6DofConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btGeneric6DofConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['calcAnchorPos'] = function() { + _emscripten_bind_btGeneric6DofConstraint__calcAnchorPos_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__getAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getAxis'] = function(arg0) { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getAxis_p1(this.ptr, arg0), Module['btVector3']); +} +btGeneric6DofConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__isEnabled_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['getLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__getLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getConstraintType_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__enableFeedback_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['setUseFrameOffset'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setUseFrameOffset_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__needsFeedback_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getObjectType_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getRotationalLimitMotor'] = function(arg0) { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getRotationalLimitMotor_p1(this.ptr, arg0), Module['btRotationalLimitMotor']); +} +btGeneric6DofConstraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btGeneric6DofConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btGeneric6DofConstraint.prototype['setLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getDbgDrawSize_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__getLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['isLimited'] = function(arg0) { + return _emscripten_bind_btGeneric6DofConstraint__isLimited_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['getUseFrameOffset'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getUseFrameOffset_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['getCalculatedTransformB'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getCalculatedTransformB_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofConstraint.prototype['calculateTransforms'] = function(arg0, arg1) { + if (arg0 === undefined) + _emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p0(this.ptr); + else + _emscripten_bind_btGeneric6DofConstraint__calculateTransforms_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btGeneric6DofConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['get_limit_motor_info2'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + if (arg11 === undefined) + return _emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p11(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10); + else + return _emscripten_bind_btGeneric6DofConstraint__get_limit_motor_info2_p12(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10, arg11); +} +btGeneric6DofConstraint.prototype['get_m_useSolveConstraintObsolete'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getAppliedImpulse_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['setLimit'] = function(arg0, arg1, arg2) { + _emscripten_bind_btGeneric6DofConstraint__setLimit_p3(this.ptr, arg0, arg1, arg2); +} +btGeneric6DofConstraint.prototype['set_m_useSolveConstraintObsolete'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['getTranslationalLimitMotor'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofConstraint__getTranslationalLimitMotor_p0(this.ptr), Module['btTranslationalLimitMotor']); +} +btGeneric6DofConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btGeneric6DofConstraint____destroy___p0(this.ptr); +} +btGeneric6DofConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btGeneric6DofConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btGeneric6DofConstraint.prototype['getAngle'] = function(arg0) { + return _emscripten_bind_btGeneric6DofConstraint__getAngle_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['updateRHS'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__updateRHS_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['getAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__getAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__get_m_objectType_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['setAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getUserConstraintType_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btGeneric6DofConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btGeneric6DofConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btGeneric6DofConstraint__getUserConstraintPtr_p0(this.ptr); +} +btGeneric6DofConstraint.prototype['setFrames'] = function(arg0, arg1) { + _emscripten_bind_btGeneric6DofConstraint__setFrames_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btGeneric6DofConstraint.prototype['setLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['setAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofConstraint.prototype['setAxis'] = function(arg0, arg1) { + _emscripten_bind_btGeneric6DofConstraint__setAxis_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btGeneric6DofConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btGeneric6DofConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btGeneric6DofConstraint.prototype['testAngularLimitMotor'] = function(arg0) { + return _emscripten_bind_btGeneric6DofConstraint__testAngularLimitMotor_p1(this.ptr, arg0); +} +btClock.prototype['reset'] = function() { + _emscripten_bind_btClock__reset_p0(this.ptr); +} +btClock.prototype['__destroy__'] = function() { + _emscripten_bind_btClock____destroy___p0(this.ptr); +} +btClock.prototype['getTimeMilliseconds'] = function() { + return _emscripten_bind_btClock__getTimeMilliseconds_p0(this.ptr); +} +btClock.prototype['getTimeMicroseconds'] = function() { + return _emscripten_bind_btClock__getTimeMicroseconds_p0(this.ptr); +} +function btClock(arg0) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btClock__btClock_p0(); + else + this.ptr = _emscripten_bind_btClock__btClock_p1(arg0.ptr); + btClock.prototype.__cache__[this.ptr] = this; + this.__class__ = btClock; +} +btClock.prototype.__cache__ = {}; +Module['btClock'] = btClock; +btClock.prototype['op_set'] = function(arg0) { + return wrapPointer(_emscripten_bind_btClock__op_set_p1(this.ptr, arg0.ptr), Module['btClock']); +} +btTransform.prototype['setFromOpenGLMatrix'] = function(arg0) { + _emscripten_bind_btTransform__setFromOpenGLMatrix_p1(this.ptr, arg0); +} +btTransform.prototype['setBasis'] = function(arg0) { + _emscripten_bind_btTransform__setBasis_p1(this.ptr, arg0.ptr); +} +btTransform.prototype['getOrigin'] = function() { + return wrapPointer(_emscripten_bind_btTransform__getOrigin_p0(this.ptr), Module['btVector3']); +} +btTransform.prototype['deSerializeDouble'] = function(arg0) { + _emscripten_bind_btTransform__deSerializeDouble_p1(this.ptr, arg0.ptr); +} +btTransform.prototype['deSerializeFloat'] = function(arg0) { + _emscripten_bind_btTransform__deSerializeFloat_p1(this.ptr, arg0.ptr); +} +btTransform.prototype['getRotation'] = function() { + return wrapPointer(_emscripten_bind_btTransform__getRotation_p0(this.ptr), Module['btQuaternion']); +} +btTransform.prototype['inverse'] = function() { + return wrapPointer(_emscripten_bind_btTransform__inverse_p0(this.ptr), Module['btTransform']); +} +btTransform.prototype['getIdentity'] = function() { + return wrapPointer(_emscripten_bind_btTransform__getIdentity_p0(), Module['btTransform']); +} +btTransform.prototype['inverseTimes'] = function(arg0) { + return wrapPointer(_emscripten_bind_btTransform__inverseTimes_p1(this.ptr, arg0.ptr), Module['btTransform']); +} +btTransform.prototype['op_mul'] = function(arg0) { + return wrapPointer(_emscripten_bind_btTransform__op_mul_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btTransform.prototype['setRotation'] = function(arg0) { + _emscripten_bind_btTransform__setRotation_p1(this.ptr, arg0.ptr); +} +btTransform.prototype['setIdentity'] = function() { + _emscripten_bind_btTransform__setIdentity_p0(this.ptr); +} +btTransform.prototype['op_set'] = function(arg0) { + return wrapPointer(_emscripten_bind_btTransform__op_set_p1(this.ptr, arg0.ptr), Module['btTransform']); +} +btTransform.prototype['getOpenGLMatrix'] = function(arg0) { + _emscripten_bind_btTransform__getOpenGLMatrix_p1(this.ptr, arg0); +} +btTransform.prototype['serialize'] = function(arg0) { + _emscripten_bind_btTransform__serialize_p1(this.ptr, arg0.ptr); +} +btTransform.prototype['deSerialize'] = function(arg0) { + _emscripten_bind_btTransform__deSerialize_p1(this.ptr, arg0.ptr); +} +btTransform.prototype['invXform'] = function(arg0) { + return wrapPointer(_emscripten_bind_btTransform__invXform_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btTransform.prototype['serializeFloat'] = function(arg0) { + _emscripten_bind_btTransform__serializeFloat_p1(this.ptr, arg0.ptr); +} +btTransform.prototype['mult'] = function(arg0, arg1) { + _emscripten_bind_btTransform__mult_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btTransform.prototype['__destroy__'] = function() { + _emscripten_bind_btTransform____destroy___p0(this.ptr); +} +btTransform.prototype['getBasis'] = function() { + return wrapPointer(_emscripten_bind_btTransform__getBasis_p0(this.ptr), Module['btMatrix3x3']); +} +btTransform.prototype['setOrigin'] = function(arg0) { + _emscripten_bind_btTransform__setOrigin_p1(this.ptr, arg0.ptr); +} +function btTransform(arg0, arg1) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btTransform__btTransform_p0(); + else if (arg1 === undefined) + this.ptr = _emscripten_bind_btTransform__btTransform_p1(arg0.ptr); + else + this.ptr = _emscripten_bind_btTransform__btTransform_p2(arg0.ptr, arg1.ptr); + btTransform.prototype.__cache__[this.ptr] = this; + this.__class__ = btTransform; +} +btTransform.prototype.__cache__ = {}; +Module['btTransform'] = btTransform; +btRigidBodyConstructionInfo.prototype['get_m_restitution'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_restitution_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['get_m_additionalDamping'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDamping_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_mass'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_mass_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['set_m_additionalDamping'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDamping_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['set_m_angularSleepingThreshold'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularSleepingThreshold_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['set_m_angularDamping'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_angularDamping_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['get_m_linearSleepingThreshold'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearSleepingThreshold_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_friction'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_friction_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['get_m_linearDamping'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_linearDamping_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['get_m_angularDamping'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularDamping_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['get_m_mass'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_mass_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_linearDamping'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearDamping_p1(this.ptr, arg0); +} +function btRigidBodyConstructionInfo(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + this.ptr = _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p3(arg0, arg1.ptr, arg2.ptr); + else + this.ptr = _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_p4(arg0, arg1.ptr, arg2.ptr, arg3.ptr); + btRigidBodyConstructionInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btRigidBodyConstructionInfo; +} +btRigidBodyConstructionInfo.prototype.__cache__ = {}; +Module['btRigidBodyConstructionInfo'] = btRigidBodyConstructionInfo; +btRigidBodyConstructionInfo.prototype['set_m_restitution'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_restitution_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['get_m_additionalAngularDampingFactor'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingFactor_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_startWorldTransform'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_startWorldTransform_p1(this.ptr, arg0.ptr); +} +btRigidBodyConstructionInfo.prototype['get_m_additionalAngularDampingThresholdSqr'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalAngularDampingThresholdSqr_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_collisionShape'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_collisionShape_p1(this.ptr, arg0.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_additionalAngularDampingThresholdSqr'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingThresholdSqr_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['set_m_localInertia'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_localInertia_p1(this.ptr, arg0.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_additionalLinearDampingThresholdSqr'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalLinearDampingThresholdSqr_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['get_m_collisionShape'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_collisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btRigidBodyConstructionInfo.prototype['set_m_motionState'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_motionState_p1(this.ptr, arg0.ptr); +} +btRigidBodyConstructionInfo.prototype['get_m_friction'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_friction_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_linearSleepingThreshold'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_linearSleepingThreshold_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['get_m_startWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_startWorldTransform_p0(this.ptr), Module['btTransform']); +} +btRigidBodyConstructionInfo.prototype['get_m_localInertia'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_localInertia_p0(this.ptr), Module['btVector3']); +} +btRigidBodyConstructionInfo.prototype['get_m_motionState'] = function() { + return wrapPointer(_emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_motionState_p0(this.ptr), Module['btMotionState']); +} +btRigidBodyConstructionInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo____destroy___p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['get_m_additionalDampingFactor'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalDampingFactor_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['get_m_additionalLinearDampingThresholdSqr'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_additionalLinearDampingThresholdSqr_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_additionalDampingFactor'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalDampingFactor_p1(this.ptr, arg0); +} +btRigidBodyConstructionInfo.prototype['get_m_angularSleepingThreshold'] = function() { + return _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__get_m_angularSleepingThreshold_p0(this.ptr); +} +btRigidBodyConstructionInfo.prototype['set_m_additionalAngularDampingFactor'] = function(arg0) { + _emscripten_bind_btRigidBody__btRigidBodyConstructionInfo__set_m_additionalAngularDampingFactor_p1(this.ptr, arg0); +} +CProfileNode.prototype['Reset'] = function() { + _emscripten_bind_CProfileNode__Reset_p0(this.ptr); +} +CProfileNode.prototype['__destroy__'] = function() { + _emscripten_bind_CProfileNode____destroy___p0(this.ptr); +} +CProfileNode.prototype['Return'] = function() { + return _emscripten_bind_CProfileNode__Return_p0(this.ptr); +} +CProfileNode.prototype['Get_Sub_Node'] = function(arg0) { +var stack = Runtime.stackSave(); +try { + return wrapPointer(_emscripten_bind_CProfileNode__Get_Sub_Node_p1(this.ptr, ensureString(arg0)), Module['CProfileNode']); +} finally { Runtime.stackRestore(stack) } +} +CProfileNode.prototype['CleanupMemory'] = function() { + _emscripten_bind_CProfileNode__CleanupMemory_p0(this.ptr); +} +CProfileNode.prototype['Get_Parent'] = function() { + return wrapPointer(_emscripten_bind_CProfileNode__Get_Parent_p0(this.ptr), Module['CProfileNode']); +} +CProfileNode.prototype['Get_Total_Calls'] = function() { + return _emscripten_bind_CProfileNode__Get_Total_Calls_p0(this.ptr); +} +CProfileNode.prototype['Get_Name'] = function() { + return _emscripten_bind_CProfileNode__Get_Name_p0(this.ptr); +} +CProfileNode.prototype['Get_Total_Time'] = function() { + return _emscripten_bind_CProfileNode__Get_Total_Time_p0(this.ptr); +} +CProfileNode.prototype['Get_Sibling'] = function() { + return wrapPointer(_emscripten_bind_CProfileNode__Get_Sibling_p0(this.ptr), Module['CProfileNode']); +} +CProfileNode.prototype['Call'] = function() { + _emscripten_bind_CProfileNode__Call_p0(this.ptr); +} +CProfileNode.prototype['Get_Child'] = function() { + return wrapPointer(_emscripten_bind_CProfileNode__Get_Child_p0(this.ptr), Module['CProfileNode']); +} +function CProfileNode(arg0, arg1) { +var stack = Runtime.stackSave(); +try { + this.ptr = _emscripten_bind_CProfileNode__CProfileNode_p2(ensureString(arg0), arg1.ptr); +} finally { Runtime.stackRestore(stack) } + CProfileNode.prototype.__cache__[this.ptr] = this; + this.__class__ = CProfileNode; +} +CProfileNode.prototype.__cache__ = {}; +Module['CProfileNode'] = CProfileNode; +ClosestPointInput.prototype['set_m_transformB'] = function(arg0) { + _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformB_p1(this.ptr, arg0.ptr); +} +function ClosestPointInput() { + this.ptr = _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_p0(); + ClosestPointInput.prototype.__cache__[this.ptr] = this; + this.__class__ = ClosestPointInput; +} +ClosestPointInput.prototype.__cache__ = {}; +Module['ClosestPointInput'] = ClosestPointInput; +ClosestPointInput.prototype['get_m_maximumDistanceSquared'] = function() { + return _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_maximumDistanceSquared_p0(this.ptr); +} +ClosestPointInput.prototype['set_m_transformA'] = function(arg0) { + _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_transformA_p1(this.ptr, arg0.ptr); +} +ClosestPointInput.prototype['get_m_transformA'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformA_p0(this.ptr), Module['btTransform']); +} +ClosestPointInput.prototype['get_m_transformB'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_transformB_p0(this.ptr), Module['btTransform']); +} +ClosestPointInput.prototype['__destroy__'] = function() { + _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput____destroy___p0(this.ptr); +} +ClosestPointInput.prototype['set_m_stackAlloc'] = function(arg0) { + _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_stackAlloc_p1(this.ptr, arg0.ptr); +} +ClosestPointInput.prototype['get_m_stackAlloc'] = function() { + return wrapPointer(_emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__get_m_stackAlloc_p0(this.ptr), Module['btStackAlloc']); +} +ClosestPointInput.prototype['set_m_maximumDistanceSquared'] = function(arg0) { + _emscripten_bind_btDiscreteCollisionDetectorInterface__ClosestPointInput__set_m_maximumDistanceSquared_p1(this.ptr, arg0); +} +btBvhTriangleMeshShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btBvhTriangleMeshShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btBvhTriangleMeshShape.prototype['getLocalAabbMax'] = function() { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMax_p0(this.ptr), Module['btVector3']); +} +function btBvhTriangleMeshShape(arg0, arg1, arg2, arg3, arg4) { + if (arg2 === undefined) + this.ptr = _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p2(arg0.ptr, arg1); + else if (arg3 === undefined) + this.ptr = _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p3(arg0.ptr, arg1, arg2); + else if (arg4 === undefined) + this.ptr = _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p4(arg0.ptr, arg1, arg2.ptr, arg3.ptr); + else + this.ptr = _emscripten_bind_btBvhTriangleMeshShape__btBvhTriangleMeshShape_p5(arg0.ptr, arg1, arg2.ptr, arg3.ptr, arg4); + btBvhTriangleMeshShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btBvhTriangleMeshShape; +} +btBvhTriangleMeshShape.prototype.__cache__ = {}; +Module['btBvhTriangleMeshShape'] = btBvhTriangleMeshShape; +btBvhTriangleMeshShape.prototype['serializeSingleTriangleInfoMap'] = function(arg0) { + _emscripten_bind_btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_p1(this.ptr, arg0.ptr); +} +btBvhTriangleMeshShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btBvhTriangleMeshShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btBvhTriangleMeshShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBvhTriangleMeshShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btBvhTriangleMeshShape.prototype['getOwnsBvh'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__getOwnsBvh_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['getMeshInterface'] = function() { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getMeshInterface_p0(this.ptr), Module['btStridingMeshInterface']); +} +btBvhTriangleMeshShape.prototype['processAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBvhTriangleMeshShape__processAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBvhTriangleMeshShape.prototype['refitTree'] = function(arg0, arg1) { + _emscripten_bind_btBvhTriangleMeshShape__refitTree_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btBvhTriangleMeshShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__calculateSerializeBufferSize_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btBvhTriangleMeshShape__setUserPointer_p1(this.ptr, arg0); +} +btBvhTriangleMeshShape.prototype['performRaycast'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBvhTriangleMeshShape__performRaycast_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBvhTriangleMeshShape.prototype['setTriangleInfoMap'] = function(arg0) { + _emscripten_bind_btBvhTriangleMeshShape__setTriangleInfoMap_p1(this.ptr, arg0.ptr); +} +btBvhTriangleMeshShape.prototype['usesQuantizedAabbCompression'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__usesQuantizedAabbCompression_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['getName'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__getName_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['getTriangleInfoMap'] = function() { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getTriangleInfoMap_p0(this.ptr), Module['btTriangleInfoMap']); +} +btBvhTriangleMeshShape.prototype['isCompound'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isCompound_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isPolyhedral_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btBvhTriangleMeshShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btBvhTriangleMeshShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBvhTriangleMeshShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBvhTriangleMeshShape.prototype['getOptimizedBvh'] = function() { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getOptimizedBvh_p0(this.ptr), Module['btOptimizedBvh']); +} +btBvhTriangleMeshShape.prototype['getLocalAabbMin'] = function() { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__getLocalAabbMin_p0(this.ptr), Module['btVector3']); +} +btBvhTriangleMeshShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btBvhTriangleMeshShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btBvhTriangleMeshShape.prototype['isConvex'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isConvex_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isInfinite_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['buildOptimizedBvh'] = function() { + _emscripten_bind_btBvhTriangleMeshShape__buildOptimizedBvh_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['isConcave'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isConcave_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__getUserPointer_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isNonMoving_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['getMargin'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__getMargin_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['recalcLocalAabb'] = function() { + _emscripten_bind_btBvhTriangleMeshShape__recalcLocalAabb_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btBvhTriangleMeshShape__setMargin_p1(this.ptr, arg0); +} +btBvhTriangleMeshShape.prototype['partialRefitTree'] = function(arg0, arg1) { + _emscripten_bind_btBvhTriangleMeshShape__partialRefitTree_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btBvhTriangleMeshShape.prototype['performConvexcast'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btBvhTriangleMeshShape__performConvexcast_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btBvhTriangleMeshShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBvhTriangleMeshShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBvhTriangleMeshShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isSoftBody_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['__destroy__'] = function() { + _emscripten_bind_btBvhTriangleMeshShape____destroy___p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btBvhTriangleMeshShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btBvhTriangleMeshShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btBvhTriangleMeshShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btBvhTriangleMeshShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__getAngularMotionDisc_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btBvhTriangleMeshShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btBvhTriangleMeshShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__getShapeType_p0(this.ptr); +} +btBvhTriangleMeshShape.prototype['serializeSingleBvh'] = function(arg0) { + _emscripten_bind_btBvhTriangleMeshShape__serializeSingleBvh_p1(this.ptr, arg0.ptr); +} +btBvhTriangleMeshShape.prototype['setOptimizedBvh'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btBvhTriangleMeshShape__setOptimizedBvh_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btBvhTriangleMeshShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btBvhTriangleMeshShape__isConvex2d_p0(this.ptr); +} +function btOverlapFilterCallback(){ throw "btOverlapFilterCallback is abstract!" } +btOverlapFilterCallback.prototype.__cache__ = {}; +Module['btOverlapFilterCallback'] = btOverlapFilterCallback; +btOverlapFilterCallback.prototype['needBroadphaseCollision'] = function(arg0, arg1) { + return _emscripten_bind_btOverlapFilterCallback__needBroadphaseCollision_p2(this.ptr, arg0.ptr, arg1.ptr); +} +function btActivatingCollisionAlgorithm(){ throw "btActivatingCollisionAlgorithm is abstract!" } +btActivatingCollisionAlgorithm.prototype.__cache__ = {}; +Module['btActivatingCollisionAlgorithm'] = btActivatingCollisionAlgorithm; +btActivatingCollisionAlgorithm.prototype['getAllContactManifolds'] = function(arg0) { + _emscripten_bind_btActivatingCollisionAlgorithm__getAllContactManifolds_p1(this.ptr, arg0); +} +btActivatingCollisionAlgorithm.prototype['calculateTimeOfImpact'] = function(arg0, arg1, arg2, arg3) { + return _emscripten_bind_btActivatingCollisionAlgorithm__calculateTimeOfImpact_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btActivatingCollisionAlgorithm.prototype['processCollision'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btActivatingCollisionAlgorithm__processCollision_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btSliderConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btSliderConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btSliderConstraint.prototype['getAngDepth'] = function() { + return _emscripten_bind_btSliderConstraint__getAngDepth_p0(this.ptr); +} +btSliderConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btSliderConstraint__buildJacobian_p0(this.ptr); +} +btSliderConstraint.prototype['getTargetAngMotorVelocity'] = function() { + return _emscripten_bind_btSliderConstraint__getTargetAngMotorVelocity_p0(this.ptr); +} +btSliderConstraint.prototype['getAngularPos'] = function() { + return _emscripten_bind_btSliderConstraint__getAngularPos_p0(this.ptr); +} +btSliderConstraint.prototype['setRestitutionLimAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setRestitutionLimAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btSliderConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btSliderConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btSliderConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btSliderConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btSliderConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btSliderConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btSliderConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btSliderConstraint__isEnabled_p0(this.ptr); +} +btSliderConstraint.prototype['getPoweredLinMotor'] = function() { + return _emscripten_bind_btSliderConstraint__getPoweredLinMotor_p0(this.ptr); +} +btSliderConstraint.prototype['setUseFrameOffset'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setUseFrameOffset_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setSoftnessLimLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setSoftnessLimLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getAncorInA'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getAncorInA_p0(this.ptr), Module['btVector3']); +} +btSliderConstraint.prototype['getAncorInB'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getAncorInB_p0(this.ptr), Module['btVector3']); +} +btSliderConstraint.prototype['setDampingDirAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setDampingDirAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getSolveLinLimit'] = function() { + return _emscripten_bind_btSliderConstraint__getSolveLinLimit_p0(this.ptr); +} +btSliderConstraint.prototype['getUseFrameOffset'] = function() { + return _emscripten_bind_btSliderConstraint__getUseFrameOffset_p0(this.ptr); +} +btSliderConstraint.prototype['getMaxAngMotorForce'] = function() { + return _emscripten_bind_btSliderConstraint__getMaxAngMotorForce_p0(this.ptr); +} +btSliderConstraint.prototype['setRestitutionDirAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setRestitutionDirAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btSliderConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btSliderConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btSliderConstraint__needsFeedback_p0(this.ptr); +} +btSliderConstraint.prototype['getMaxLinMotorForce'] = function() { + return _emscripten_bind_btSliderConstraint__getMaxLinMotorForce_p0(this.ptr); +} +btSliderConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btSliderConstraint__getObjectType_p0(this.ptr); +} +btSliderConstraint.prototype['setDampingOrthoLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setDampingOrthoLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getSolveAngLimit'] = function() { + return _emscripten_bind_btSliderConstraint__getSolveAngLimit_p0(this.ptr); +} +btSliderConstraint.prototype['setPoweredAngMotor'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setPoweredAngMotor_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btSliderConstraint__enableFeedback_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getLinearPos'] = function() { + return _emscripten_bind_btSliderConstraint__getLinearPos_p0(this.ptr); +} +btSliderConstraint.prototype['getCalculatedTransformB'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getCalculatedTransformB_p0(this.ptr), Module['btTransform']); +} +btSliderConstraint.prototype['getCalculatedTransformA'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getCalculatedTransformA_p0(this.ptr), Module['btTransform']); +} +btSliderConstraint.prototype['testAngLimits'] = function() { + _emscripten_bind_btSliderConstraint__testAngLimits_p0(this.ptr); +} +btSliderConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btSliderConstraint__get_m_objectType_p0(this.ptr); +} +btSliderConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setDampingDirLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setDampingDirLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getUpperAngLimit'] = function() { + return _emscripten_bind_btSliderConstraint__getUpperAngLimit_p0(this.ptr); +} +btSliderConstraint.prototype['setUpperAngLimit'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setUpperAngLimit_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getRestitutionLimAng'] = function() { + return _emscripten_bind_btSliderConstraint__getRestitutionLimAng_p0(this.ptr); +} +btSliderConstraint.prototype['getSoftnessOrthoLin'] = function() { + return _emscripten_bind_btSliderConstraint__getSoftnessOrthoLin_p0(this.ptr); +} +btSliderConstraint.prototype['setLowerLinLimit'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setLowerLinLimit_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getRestitutionDirLin'] = function() { + return _emscripten_bind_btSliderConstraint__getRestitutionDirLin_p0(this.ptr); +} +btSliderConstraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btSliderConstraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btSliderConstraint.prototype['setRestitutionLimLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setRestitutionLimLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btSliderConstraint__getUid_p0(this.ptr); +} +btSliderConstraint.prototype['setTargetLinMotorVelocity'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setTargetLinMotorVelocity_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getUpperLinLimit'] = function() { + return _emscripten_bind_btSliderConstraint__getUpperLinLimit_p0(this.ptr); +} +btSliderConstraint.prototype['setMaxLinMotorForce'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setMaxLinMotorForce_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getLowerAngLimit'] = function() { + return _emscripten_bind_btSliderConstraint__getLowerAngLimit_p0(this.ptr); +} +btSliderConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btSliderConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btSliderConstraint.prototype['setSoftnessDirLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setSoftnessDirLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + _emscripten_bind_btSliderConstraint__getInfo2NonVirtual_p7(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5, arg6); +} +btSliderConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btSliderConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getFrameOffsetA'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getFrameOffsetA_p0(this.ptr), Module['btTransform']); +} +btSliderConstraint.prototype['getFrameOffsetB'] = function() { + return wrapPointer(_emscripten_bind_btSliderConstraint__getFrameOffsetB_p0(this.ptr), Module['btTransform']); +} +btSliderConstraint.prototype['getDampingDirAng'] = function() { + return _emscripten_bind_btSliderConstraint__getDampingDirAng_p0(this.ptr); +} +btSliderConstraint.prototype['getRestitutionLimLin'] = function() { + return _emscripten_bind_btSliderConstraint__getRestitutionLimLin_p0(this.ptr); +} +btSliderConstraint.prototype['getSoftnessOrthoAng'] = function() { + return _emscripten_bind_btSliderConstraint__getSoftnessOrthoAng_p0(this.ptr); +} +btSliderConstraint.prototype['setSoftnessOrthoLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setSoftnessOrthoLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setSoftnessLimAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setSoftnessLimAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getDampingDirLin'] = function() { + return _emscripten_bind_btSliderConstraint__getDampingDirLin_p0(this.ptr); +} +btSliderConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btSliderConstraint__getDbgDrawSize_p0(this.ptr); +} +btSliderConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btSliderConstraint__getUserConstraintPtr_p0(this.ptr); +} +btSliderConstraint.prototype['getSoftnessLimLin'] = function() { + return _emscripten_bind_btSliderConstraint__getSoftnessLimLin_p0(this.ptr); +} +btSliderConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setEnabled_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setPoweredLinMotor'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setPoweredLinMotor_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['calculateTransforms'] = function(arg0, arg1) { + _emscripten_bind_btSliderConstraint__calculateTransforms_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btSliderConstraint.prototype['getLinDepth'] = function() { + return _emscripten_bind_btSliderConstraint__getLinDepth_p0(this.ptr); +} +btSliderConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btSliderConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btSliderConstraint.prototype['getDampingLimLin'] = function() { + return _emscripten_bind_btSliderConstraint__getDampingLimLin_p0(this.ptr); +} +btSliderConstraint.prototype['getRestitutionDirAng'] = function() { + return _emscripten_bind_btSliderConstraint__getRestitutionDirAng_p0(this.ptr); +} +btSliderConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSliderConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btSliderConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btSliderConstraint__getAppliedImpulse_p0(this.ptr); +} +btSliderConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btSliderConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btSliderConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btSliderConstraint.prototype['getDampingLimAng'] = function() { + return _emscripten_bind_btSliderConstraint__getDampingLimAng_p0(this.ptr); +} +btSliderConstraint.prototype['setRestitutionOrthoLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setRestitutionOrthoLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setRestitutionDirLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setRestitutionDirLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setDampingLimAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setDampingLimAng_p1(this.ptr, arg0); +} +function btSliderConstraint(arg0, arg1, arg2, arg3, arg4) { + if (arg3 === undefined) + this.ptr = _emscripten_bind_btSliderConstraint__btSliderConstraint_p3(arg0.ptr, arg1.ptr, arg2); + else + this.ptr = _emscripten_bind_btSliderConstraint__btSliderConstraint_p5(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); + btSliderConstraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btSliderConstraint; +} +btSliderConstraint.prototype.__cache__ = {}; +Module['btSliderConstraint'] = btSliderConstraint; +btSliderConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btSliderConstraint__getUserConstraintId_p0(this.ptr); +} +btSliderConstraint.prototype['setSoftnessDirAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setSoftnessDirAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setUpperLinLimit'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setUpperLinLimit_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btSliderConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btSliderConstraint.prototype['setTargetAngMotorVelocity'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setTargetAngMotorVelocity_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getSoftnessDirAng'] = function() { + return _emscripten_bind_btSliderConstraint__getSoftnessDirAng_p0(this.ptr); +} +btSliderConstraint.prototype['setMaxAngMotorForce'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setMaxAngMotorForce_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setLowerAngLimit'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setLowerAngLimit_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btSliderConstraint__getConstraintType_p0(this.ptr); +} +btSliderConstraint.prototype['getPoweredAngMotor'] = function() { + return _emscripten_bind_btSliderConstraint__getPoweredAngMotor_p0(this.ptr); +} +btSliderConstraint.prototype['getDampingOrthoAng'] = function() { + return _emscripten_bind_btSliderConstraint__getDampingOrthoAng_p0(this.ptr); +} +btSliderConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btSliderConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getRestitutionOrthoLin'] = function() { + return _emscripten_bind_btSliderConstraint__getRestitutionOrthoLin_p0(this.ptr); +} +btSliderConstraint.prototype['getTargetLinMotorVelocity'] = function() { + return _emscripten_bind_btSliderConstraint__getTargetLinMotorVelocity_p0(this.ptr); +} +btSliderConstraint.prototype['testLinLimits'] = function() { + _emscripten_bind_btSliderConstraint__testLinLimits_p0(this.ptr); +} +btSliderConstraint.prototype['getLowerLinLimit'] = function() { + return _emscripten_bind_btSliderConstraint__getLowerLinLimit_p0(this.ptr); +} +btSliderConstraint.prototype['setDampingOrthoAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setDampingOrthoAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btSliderConstraint__getUserConstraintType_p0(this.ptr); +} +btSliderConstraint.prototype['setRestitutionOrthoAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setRestitutionOrthoAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getRestitutionOrthoAng'] = function() { + return _emscripten_bind_btSliderConstraint__getRestitutionOrthoAng_p0(this.ptr); +} +btSliderConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['getDampingOrthoLin'] = function() { + return _emscripten_bind_btSliderConstraint__getDampingOrthoLin_p0(this.ptr); +} +btSliderConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btSliderConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btSliderConstraint.prototype['getSoftnessLimAng'] = function() { + return _emscripten_bind_btSliderConstraint__getSoftnessLimAng_p0(this.ptr); +} +btSliderConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btSliderConstraint____destroy___p0(this.ptr); +} +btSliderConstraint.prototype['setSoftnessOrthoAng'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setSoftnessOrthoAng_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setDampingLimLin'] = function(arg0) { + _emscripten_bind_btSliderConstraint__setDampingLimLin_p1(this.ptr, arg0); +} +btSliderConstraint.prototype['setFrames'] = function(arg0, arg1) { + _emscripten_bind_btSliderConstraint__setFrames_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btSliderConstraint.prototype['getSoftnessDirLin'] = function() { + return _emscripten_bind_btSliderConstraint__getSoftnessDirLin_p0(this.ptr); +} +btSliderConstraint.prototype['getUseLinearReferenceFrameA'] = function() { + return _emscripten_bind_btSliderConstraint__getUseLinearReferenceFrameA_p0(this.ptr); +} +btVehicleTuning.prototype['set_m_suspensionCompression'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionCompression_p1(this.ptr, arg0); +} +btVehicleTuning.prototype['set_m_maxSuspensionTravelCm'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionTravelCm_p1(this.ptr, arg0); +} +btVehicleTuning.prototype['get_m_maxSuspensionTravelCm'] = function() { + return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionTravelCm_p0(this.ptr); +} +btVehicleTuning.prototype['set_m_suspensionStiffness'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionStiffness_p1(this.ptr, arg0); +} +btVehicleTuning.prototype['get_m_frictionSlip'] = function() { + return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_frictionSlip_p0(this.ptr); +} +btVehicleTuning.prototype['get_m_suspensionDamping'] = function() { + return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionDamping_p0(this.ptr); +} +btVehicleTuning.prototype['get_m_suspensionStiffness'] = function() { + return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionStiffness_p0(this.ptr); +} +btVehicleTuning.prototype['get_m_suspensionCompression'] = function() { + return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_suspensionCompression_p0(this.ptr); +} +btVehicleTuning.prototype['set_m_suspensionDamping'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_suspensionDamping_p1(this.ptr, arg0); +} +function btVehicleTuning() { + this.ptr = _emscripten_bind_btRaycastVehicle__btVehicleTuning__btVehicleTuning_p0(); + btVehicleTuning.prototype.__cache__[this.ptr] = this; + this.__class__ = btVehicleTuning; +} +btVehicleTuning.prototype.__cache__ = {}; +Module['btVehicleTuning'] = btVehicleTuning; +btVehicleTuning.prototype['__destroy__'] = function() { + _emscripten_bind_btRaycastVehicle__btVehicleTuning____destroy___p0(this.ptr); +} +btVehicleTuning.prototype['set_m_frictionSlip'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_frictionSlip_p1(this.ptr, arg0); +} +btVehicleTuning.prototype['set_m_maxSuspensionForce'] = function(arg0) { + _emscripten_bind_btRaycastVehicle__btVehicleTuning__set_m_maxSuspensionForce_p1(this.ptr, arg0); +} +btVehicleTuning.prototype['get_m_maxSuspensionForce'] = function() { + return _emscripten_bind_btRaycastVehicle__btVehicleTuning__get_m_maxSuspensionForce_p0(this.ptr); +} +function btContactConstraint(){ throw "btContactConstraint is abstract!" } +btContactConstraint.prototype.__cache__ = {}; +Module['btContactConstraint'] = btContactConstraint; +btContactConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btContactConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btContactConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btContactConstraint__buildJacobian_p0(this.ptr); +} +btContactConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btContactConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btContactConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btContactConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btContactConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btContactConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btContactConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btContactConstraint__enableFeedback_p1(this.ptr, arg0); +} +btContactConstraint.prototype['getContactManifold'] = function() { + return wrapPointer(_emscripten_bind_btContactConstraint__getContactManifold_p0(this.ptr), Module['btPersistentManifold']); +} +btContactConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btContactConstraint__getUserConstraintId_p0(this.ptr); +} +btContactConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btContactConstraint__get_m_objectType_p0(this.ptr); +} +btContactConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btContactConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btContactConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btContactConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btContactConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btContactConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btContactConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btContactConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btContactConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btContactConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btContactConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btContactConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btContactConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btContactConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btContactConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btContactConstraint__isEnabled_p0(this.ptr); +} +btContactConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btContactConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btContactConstraint.prototype['setContactManifold'] = function(arg0) { + _emscripten_bind_btContactConstraint__setContactManifold_p1(this.ptr, arg0.ptr); +} +btContactConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btContactConstraint__getConstraintType_p0(this.ptr); +} +btContactConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btContactConstraint__getDbgDrawSize_p0(this.ptr); +} +btContactConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btContactConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btContactConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btContactConstraint__needsFeedback_p0(this.ptr); +} +btContactConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btContactConstraint__getObjectType_p0(this.ptr); +} +btContactConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btContactConstraint__getUserConstraintPtr_p0(this.ptr); +} +btContactConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btContactConstraint__setEnabled_p1(this.ptr, arg0); +} +btContactConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btContactConstraint__getUid_p0(this.ptr); +} +btContactConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btContactConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btContactConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btContactConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btContactConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btContactConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btContactConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btContactConstraint____destroy___p0(this.ptr); +} +btContactConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btContactConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btContactConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btContactConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btContactConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btContactConstraint__getUserConstraintType_p0(this.ptr); +} +btContactConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btContactConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btContactConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btContactConstraint__getAppliedImpulse_p0(this.ptr); +} +btContactConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btContactConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_contactCFM1'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_contactCFM1_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_contactCFM2'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_contactCFM2_p0(this.ptr); +} +btManifoldPoint.prototype['set_m_appliedImpulse'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_appliedImpulse_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_contactCFM1'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_contactCFM1_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_combinedFriction'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_combinedFriction_p0(this.ptr); +} +function btManifoldPoint(arg0, arg1, arg2, arg3) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btManifoldPoint__btManifoldPoint_p0(); + else + this.ptr = _emscripten_bind_btManifoldPoint__btManifoldPoint_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3); + btManifoldPoint.prototype.__cache__[this.ptr] = this; + this.__class__ = btManifoldPoint; +} +btManifoldPoint.prototype.__cache__ = {}; +Module['btManifoldPoint'] = btManifoldPoint; +btManifoldPoint.prototype['get_m_partId0'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_partId0_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_partId1'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_partId1_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_normalWorldOnB'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_normalWorldOnB_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['set_m_combinedFriction'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_combinedFriction_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_lateralFrictionDir1'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir1_p1(this.ptr, arg0.ptr); +} +btManifoldPoint.prototype['get_m_index1'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_index1_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_index0'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_index0_p0(this.ptr); +} +btManifoldPoint.prototype['set_m_userPersistentData'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_userPersistentData_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_contactCFM2'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_contactCFM2_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_appliedImpulse'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_appliedImpulse_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_userPersistentData'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_userPersistentData_p0(this.ptr); +} +btManifoldPoint.prototype['getDistance'] = function() { + return _emscripten_bind_btManifoldPoint__getDistance_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_lifeTime'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_lifeTime_p0(this.ptr); +} +btManifoldPoint.prototype['getPositionWorldOnB'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__getPositionWorldOnB_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['getPositionWorldOnA'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__getPositionWorldOnA_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['set_m_partId0'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_partId0_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_partId1'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_partId1_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_positionWorldOnA'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_positionWorldOnA_p1(this.ptr, arg0.ptr); +} +btManifoldPoint.prototype['setDistance'] = function(arg0) { + _emscripten_bind_btManifoldPoint__setDistance_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_positionWorldOnB'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_positionWorldOnB_p1(this.ptr, arg0.ptr); +} +btManifoldPoint.prototype['get_m_appliedImpulseLateral1'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral1_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_appliedImpulseLateral2'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_appliedImpulseLateral2_p0(this.ptr); +} +btManifoldPoint.prototype['__destroy__'] = function() { + _emscripten_bind_btManifoldPoint____destroy___p0(this.ptr); +} +btManifoldPoint.prototype['set_m_lateralFrictionInitialized'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_lateralFrictionInitialized_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['getLifeTime'] = function() { + return _emscripten_bind_btManifoldPoint__getLifeTime_p0(this.ptr); +} +btManifoldPoint.prototype['set_m_index0'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_index0_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_contactMotion1'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_contactMotion1_p0(this.ptr); +} +btManifoldPoint.prototype['get_m_contactMotion2'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_contactMotion2_p0(this.ptr); +} +btManifoldPoint.prototype['set_m_index1'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_index1_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_lateralFrictionDir1'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir1_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['set_m_normalWorldOnB'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_normalWorldOnB_p1(this.ptr, arg0.ptr); +} +btManifoldPoint.prototype['set_m_combinedRestitution'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_combinedRestitution_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_positionWorldOnA'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_positionWorldOnA_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['get_m_lateralFrictionDir2'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_lateralFrictionDir2_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['get_m_positionWorldOnB'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_positionWorldOnB_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['set_m_lateralFrictionDir2'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_lateralFrictionDir2_p1(this.ptr, arg0.ptr); +} +btManifoldPoint.prototype['set_m_appliedImpulseLateral1'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral1_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_appliedImpulseLateral2'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_appliedImpulseLateral2_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_lateralFrictionInitialized'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_lateralFrictionInitialized_p0(this.ptr); +} +btManifoldPoint.prototype['set_m_localPointB'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_localPointB_p1(this.ptr, arg0.ptr); +} +btManifoldPoint.prototype['set_m_localPointA'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_localPointA_p1(this.ptr, arg0.ptr); +} +btManifoldPoint.prototype['get_m_combinedRestitution'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_combinedRestitution_p0(this.ptr); +} +btManifoldPoint.prototype['set_m_contactMotion1'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_contactMotion1_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['set_m_contactMotion2'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_contactMotion2_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_localPointB'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_localPointB_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['get_m_localPointA'] = function() { + return wrapPointer(_emscripten_bind_btManifoldPoint__get_m_localPointA_p0(this.ptr), Module['btVector3']); +} +btManifoldPoint.prototype['set_m_distance1'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_distance1_p1(this.ptr, arg0); +} +btManifoldPoint.prototype['get_m_distance1'] = function() { + return _emscripten_bind_btManifoldPoint__get_m_distance1_p0(this.ptr); +} +btManifoldPoint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btManifoldPoint__getAppliedImpulse_p0(this.ptr); +} +btManifoldPoint.prototype['set_m_lifeTime'] = function(arg0) { + _emscripten_bind_btManifoldPoint__set_m_lifeTime_p1(this.ptr, arg0); +} +function btStridingMeshInterface(){ throw "btStridingMeshInterface is abstract!" } +btStridingMeshInterface.prototype.__cache__ = {}; +Module['btStridingMeshInterface'] = btStridingMeshInterface; +btStridingMeshInterface.prototype['getLockedReadOnlyVertexIndexBase'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg8 === undefined) + _emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p8(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + _emscripten_bind_btStridingMeshInterface__getLockedReadOnlyVertexIndexBase_p9(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +btStridingMeshInterface.prototype['preallocateIndices'] = function(arg0) { + _emscripten_bind_btStridingMeshInterface__preallocateIndices_p1(this.ptr, arg0); +} +btStridingMeshInterface.prototype['calculateAabbBruteForce'] = function(arg0, arg1) { + _emscripten_bind_btStridingMeshInterface__calculateAabbBruteForce_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btStridingMeshInterface.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btStridingMeshInterface__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btStridingMeshInterface.prototype['preallocateVertices'] = function(arg0) { + _emscripten_bind_btStridingMeshInterface__preallocateVertices_p1(this.ptr, arg0); +} +btStridingMeshInterface.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btStridingMeshInterface__calculateSerializeBufferSize_p0(this.ptr); +} +btStridingMeshInterface.prototype['setScaling'] = function(arg0) { + _emscripten_bind_btStridingMeshInterface__setScaling_p1(this.ptr, arg0.ptr); +} +btStridingMeshInterface.prototype['getScaling'] = function() { + return wrapPointer(_emscripten_bind_btStridingMeshInterface__getScaling_p0(this.ptr), Module['btVector3']); +} +btStridingMeshInterface.prototype['setPremadeAabb'] = function(arg0, arg1) { + _emscripten_bind_btStridingMeshInterface__setPremadeAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btStridingMeshInterface.prototype['InternalProcessAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btStridingMeshInterface__InternalProcessAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btStridingMeshInterface.prototype['getPremadeAabb'] = function(arg0, arg1) { + _emscripten_bind_btStridingMeshInterface__getPremadeAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btStridingMeshInterface.prototype['getNumSubParts'] = function() { + return _emscripten_bind_btStridingMeshInterface__getNumSubParts_p0(this.ptr); +} +btStridingMeshInterface.prototype['getLockedVertexIndexBase'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg8 === undefined) + _emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p8(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + _emscripten_bind_btStridingMeshInterface__getLockedVertexIndexBase_p9(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +btStridingMeshInterface.prototype['hasPremadeAabb'] = function() { + return _emscripten_bind_btStridingMeshInterface__hasPremadeAabb_p0(this.ptr); +} +btStridingMeshInterface.prototype['unLockVertexBase'] = function(arg0) { + _emscripten_bind_btStridingMeshInterface__unLockVertexBase_p1(this.ptr, arg0); +} +btStridingMeshInterface.prototype['unLockReadOnlyVertexBase'] = function(arg0) { + _emscripten_bind_btStridingMeshInterface__unLockReadOnlyVertexBase_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btPoint2PointConstraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPoint2PointConstraint__getInfo2NonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPoint2PointConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btPoint2PointConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btPoint2PointConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btPoint2PointConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getUid_p0(this.ptr); +} +btPoint2PointConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setEnabled_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btPoint2PointConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btPoint2PointConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btPoint2PointConstraint__buildJacobian_p0(this.ptr); +} +btPoint2PointConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getUserConstraintId_p0(this.ptr); +} +btPoint2PointConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btPoint2PointConstraint__get_m_objectType_p0(this.ptr); +} +btPoint2PointConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btPoint2PointConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btPoint2PointConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btPoint2PointConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btPoint2PointConstraint.prototype['set_m_useSolveConstraintObsolete'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr, arg0); +} +function btPoint2PointConstraint(arg0, arg1, arg2, arg3) { + if (arg2 === undefined) + this.ptr = _emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p2(arg0.ptr, arg1.ptr); + else + this.ptr = _emscripten_bind_btPoint2PointConstraint__btPoint2PointConstraint_p4(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + btPoint2PointConstraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btPoint2PointConstraint; +} +btPoint2PointConstraint.prototype.__cache__ = {}; +Module['btPoint2PointConstraint'] = btPoint2PointConstraint; +btPoint2PointConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getObjectType_p0(this.ptr); +} +btPoint2PointConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btPoint2PointConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btPoint2PointConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btPoint2PointConstraint.prototype['getPivotInA'] = function() { + return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getPivotInA_p0(this.ptr), Module['btVector3']); +} +btPoint2PointConstraint.prototype['getPivotInB'] = function() { + return wrapPointer(_emscripten_bind_btPoint2PointConstraint__getPivotInB_p0(this.ptr), Module['btVector3']); +} +btPoint2PointConstraint.prototype['get_m_setting'] = function() { + return wrapPointer(_emscripten_bind_btPoint2PointConstraint__get_m_setting_p0(this.ptr), Module['btConstraintSetting']); +} +btPoint2PointConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btPoint2PointConstraint__isEnabled_p0(this.ptr); +} +btPoint2PointConstraint.prototype['set_m_setting'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__set_m_setting_p1(this.ptr, arg0.ptr); +} +btPoint2PointConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getConstraintType_p0(this.ptr); +} +btPoint2PointConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__enableFeedback_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btPoint2PointConstraint__needsFeedback_p0(this.ptr); +} +btPoint2PointConstraint.prototype['setPivotA'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setPivotA_p1(this.ptr, arg0.ptr); +} +btPoint2PointConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getUserConstraintPtr_p0(this.ptr); +} +btPoint2PointConstraint.prototype['setPivotB'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setPivotB_p1(this.ptr, arg0.ptr); +} +btPoint2PointConstraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btPoint2PointConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btPoint2PointConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getDbgDrawSize_p0(this.ptr); +} +btPoint2PointConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btPoint2PointConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btPoint2PointConstraint.prototype['get_m_useSolveConstraintObsolete'] = function() { + return _emscripten_bind_btPoint2PointConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr); +} +btPoint2PointConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btPoint2PointConstraint____destroy___p0(this.ptr); +} +btPoint2PointConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btPoint2PointConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btPoint2PointConstraint.prototype['updateRHS'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__updateRHS_p1(this.ptr, arg0); +} +btPoint2PointConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btPoint2PointConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getUserConstraintType_p0(this.ptr); +} +btPoint2PointConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPoint2PointConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btPoint2PointConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btPoint2PointConstraint__getAppliedImpulse_p0(this.ptr); +} +btPoint2PointConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btPoint2PointConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btCylinderShapeZ.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShapeZ__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShapeZ.prototype['isCompound'] = function() { + return _emscripten_bind_btCylinderShapeZ__isCompound_p0(this.ptr); +} +btCylinderShapeZ.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCylinderShapeZ__setUserPointer_p1(this.ptr, arg0); +} +btCylinderShapeZ.prototype['getUpAxis'] = function() { + return _emscripten_bind_btCylinderShapeZ__getUpAxis_p0(this.ptr); +} +btCylinderShapeZ.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCylinderShapeZ__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShapeZ.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btCylinderShapeZ__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btCylinderShapeZ.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCylinderShapeZ__isPolyhedral_p0(this.ptr); +} +btCylinderShapeZ.prototype['getRadius'] = function() { + return _emscripten_bind_btCylinderShapeZ__getRadius_p0(this.ptr); +} +btCylinderShapeZ.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeZ__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShapeZ.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCylinderShapeZ__calculateSerializeBufferSize_p0(this.ptr); +} +btCylinderShapeZ.prototype['getName'] = function() { + return _emscripten_bind_btCylinderShapeZ__getName_p0(this.ptr); +} +btCylinderShapeZ.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btCylinderShapeZ__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btCylinderShapeZ.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCylinderShapeZ__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCylinderShapeZ.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeZ__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCylinderShapeZ.prototype['getMarginNV'] = function() { + return _emscripten_bind_btCylinderShapeZ__getMarginNV_p0(this.ptr); +} +btCylinderShapeZ.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCylinderShapeZ__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCylinderShapeZ.prototype['isConvex'] = function() { + return _emscripten_bind_btCylinderShapeZ__isConvex_p0(this.ptr); +} +btCylinderShapeZ.prototype['isInfinite'] = function() { + return _emscripten_bind_btCylinderShapeZ__isInfinite_p0(this.ptr); +} +btCylinderShapeZ.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCylinderShapeZ__getUserPointer_p0(this.ptr); +} +btCylinderShapeZ.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCylinderShapeZ__isNonMoving_p0(this.ptr); +} +btCylinderShapeZ.prototype['getMargin'] = function() { + return _emscripten_bind_btCylinderShapeZ__getMargin_p0(this.ptr); +} +btCylinderShapeZ.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShapeZ__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btCylinderShapeZ.prototype['getHalfExtentsWithoutMargin'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithoutMargin_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCylinderShapeZ__isConvex2d_p0(this.ptr); +} +btCylinderShapeZ.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCylinderShapeZ__isSoftBody_p0(this.ptr); +} +btCylinderShapeZ.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btCylinderShapeZ__getMarginNonVirtual_p0(this.ptr); +} +btCylinderShapeZ.prototype['__destroy__'] = function() { + _emscripten_bind_btCylinderShapeZ____destroy___p0(this.ptr); +} +btCylinderShapeZ.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btCylinderShapeZ.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCylinderShapeZ__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCylinderShapeZ.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCylinderShapeZ__getAngularMotionDisc_p0(this.ptr); +} +btCylinderShapeZ.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCylinderShapeZ__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCylinderShapeZ.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCylinderShapeZ__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +function btCylinderShapeZ(arg0) { + this.ptr = _emscripten_bind_btCylinderShapeZ__btCylinderShapeZ_p1(arg0.ptr); + btCylinderShapeZ.prototype.__cache__[this.ptr] = this; + this.__class__ = btCylinderShapeZ; +} +btCylinderShapeZ.prototype.__cache__ = {}; +Module['btCylinderShapeZ'] = btCylinderShapeZ; +btCylinderShapeZ.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCylinderShapeZ__setMargin_p1(this.ptr, arg0); +} +btCylinderShapeZ.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCylinderShapeZ__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btCylinderShapeZ.prototype['getHalfExtentsWithMargin'] = function() { + return wrapPointer(_emscripten_bind_btCylinderShapeZ__getHalfExtentsWithMargin_p0(this.ptr), Module['btVector3']); +} +btCylinderShapeZ.prototype['isConcave'] = function() { + return _emscripten_bind_btCylinderShapeZ__isConcave_p0(this.ptr); +} +btCylinderShapeZ.prototype['getShapeType'] = function() { + return _emscripten_bind_btCylinderShapeZ__getShapeType_p0(this.ptr); +} +btBvhSubtreeInfo.prototype['get_m_subtreeSize'] = function() { + return _emscripten_bind_btBvhSubtreeInfo__get_m_subtreeSize_p0(this.ptr); +} +btBvhSubtreeInfo.prototype['get_m_rootNodeIndex'] = function() { + return _emscripten_bind_btBvhSubtreeInfo__get_m_rootNodeIndex_p0(this.ptr); +} +btBvhSubtreeInfo.prototype['__destroy__'] = function() { + _emscripten_bind_btBvhSubtreeInfo____destroy___p0(this.ptr); +} +btBvhSubtreeInfo.prototype['set_m_rootNodeIndex'] = function(arg0) { + _emscripten_bind_btBvhSubtreeInfo__set_m_rootNodeIndex_p1(this.ptr, arg0); +} +btBvhSubtreeInfo.prototype['setAabbFromQuantizeNode'] = function(arg0) { + _emscripten_bind_btBvhSubtreeInfo__setAabbFromQuantizeNode_p1(this.ptr, arg0.ptr); +} +function btBvhSubtreeInfo() { + this.ptr = _emscripten_bind_btBvhSubtreeInfo__btBvhSubtreeInfo_p0(); + btBvhSubtreeInfo.prototype.__cache__[this.ptr] = this; + this.__class__ = btBvhSubtreeInfo; +} +btBvhSubtreeInfo.prototype.__cache__ = {}; +Module['btBvhSubtreeInfo'] = btBvhSubtreeInfo; +btBvhSubtreeInfo.prototype['set_m_subtreeSize'] = function(arg0) { + _emscripten_bind_btBvhSubtreeInfo__set_m_subtreeSize_p1(this.ptr, arg0); +} +function btMotionState(){ throw "btMotionState is abstract!" } +btMotionState.prototype.__cache__ = {}; +Module['btMotionState'] = btMotionState; +btMotionState.prototype['setWorldTransform'] = function(arg0) { + _emscripten_bind_btMotionState__setWorldTransform_p1(this.ptr, arg0.ptr); +} +btMotionState.prototype['getWorldTransform'] = function(arg0) { + _emscripten_bind_btMotionState__getWorldTransform_p1(this.ptr, arg0.ptr); +} +ClosestConvexResultCallback.prototype['get_m_convexToWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexToWorld_p0(this.ptr), Module['btVector3']); +} +ClosestConvexResultCallback.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback____destroy___p0(this.ptr); +} +ClosestConvexResultCallback.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +ClosestConvexResultCallback.prototype['needsCollision'] = function(arg0) { + return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__needsCollision_p1(this.ptr, arg0.ptr); +} +ClosestConvexResultCallback.prototype['set_m_closestHitFraction'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_closestHitFraction_p1(this.ptr, arg0); +} +ClosestConvexResultCallback.prototype['get_m_closestHitFraction'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_closestHitFraction_p0(this.ptr); +} +ClosestConvexResultCallback.prototype['get_m_hitCollisionObject'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitCollisionObject_p0(this.ptr), Module['btCollisionObject']); +} +ClosestConvexResultCallback.prototype['addSingleResult'] = function(arg0, arg1) { + return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__addSingleResult_p2(this.ptr, arg0.ptr, arg1); +} +ClosestConvexResultCallback.prototype['set_m_hitCollisionObject'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitCollisionObject_p1(this.ptr, arg0.ptr); +} +ClosestConvexResultCallback.prototype['get_m_hitNormalWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitNormalWorld_p0(this.ptr), Module['btVector3']); +} +ClosestConvexResultCallback.prototype['get_m_hitPointWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_hitPointWorld_p0(this.ptr), Module['btVector3']); +} +ClosestConvexResultCallback.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterMask_p0(this.ptr); +} +ClosestConvexResultCallback.prototype['hasHit'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__hasHit_p0(this.ptr); +} +ClosestConvexResultCallback.prototype['set_m_hitPointWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitPointWorld_p1(this.ptr, arg0.ptr); +} +ClosestConvexResultCallback.prototype['set_m_convexToWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexToWorld_p1(this.ptr, arg0.ptr); +} +function ClosestConvexResultCallback(arg0, arg1) { + this.ptr = _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_p2(arg0.ptr, arg1.ptr); + ClosestConvexResultCallback.prototype.__cache__[this.ptr] = this; + this.__class__ = ClosestConvexResultCallback; +} +ClosestConvexResultCallback.prototype.__cache__ = {}; +Module['ClosestConvexResultCallback'] = ClosestConvexResultCallback; +ClosestConvexResultCallback.prototype['set_m_hitNormalWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_hitNormalWorld_p1(this.ptr, arg0.ptr); +} +ClosestConvexResultCallback.prototype['get_m_convexFromWorld'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_convexFromWorld_p0(this.ptr), Module['btVector3']); +} +ClosestConvexResultCallback.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__get_m_collisionFilterGroup_p0(this.ptr); +} +ClosestConvexResultCallback.prototype['set_m_convexFromWorld'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_convexFromWorld_p1(this.ptr, arg0.ptr); +} +ClosestConvexResultCallback.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btCollisionWorld__ClosestConvexResultCallback__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +btConvexSeparatingDistanceUtil.prototype['updateSeparatingDistance'] = function(arg0, arg1) { + _emscripten_bind_btConvexSeparatingDistanceUtil__updateSeparatingDistance_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btConvexSeparatingDistanceUtil.prototype['__destroy__'] = function() { + _emscripten_bind_btConvexSeparatingDistanceUtil____destroy___p0(this.ptr); +} +function btConvexSeparatingDistanceUtil(arg0, arg1) { + this.ptr = _emscripten_bind_btConvexSeparatingDistanceUtil__btConvexSeparatingDistanceUtil_p2(arg0, arg1); + btConvexSeparatingDistanceUtil.prototype.__cache__[this.ptr] = this; + this.__class__ = btConvexSeparatingDistanceUtil; +} +btConvexSeparatingDistanceUtil.prototype.__cache__ = {}; +Module['btConvexSeparatingDistanceUtil'] = btConvexSeparatingDistanceUtil; +btConvexSeparatingDistanceUtil.prototype['getConservativeSeparatingDistance'] = function() { + return _emscripten_bind_btConvexSeparatingDistanceUtil__getConservativeSeparatingDistance_p0(this.ptr); +} +btConvexSeparatingDistanceUtil.prototype['initSeparatingDistance'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btConvexSeparatingDistanceUtil__initSeparatingDistance_p4(this.ptr, arg0.ptr, arg1, arg2.ptr, arg3.ptr); +} +btGeneric6DofSpringConstraint.prototype['getRigidBodyB'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyB_p0(this.ptr), Module['btRigidBody']); +} +btGeneric6DofSpringConstraint.prototype['buildJacobian'] = function() { + _emscripten_bind_btGeneric6DofSpringConstraint__buildJacobian_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['setParam'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btGeneric6DofSpringConstraint__setParam_p2(this.ptr, arg0, arg1); + else + _emscripten_bind_btGeneric6DofSpringConstraint__setParam_p3(this.ptr, arg0, arg1, arg2); +} +btGeneric6DofSpringConstraint.prototype['getUid'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getUid_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['set_m_objectType'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__set_m_objectType_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['setEnabled'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setEnabled_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['getFrameOffsetA'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetA_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofSpringConstraint.prototype['getRelativePivotPosition'] = function(arg0) { + return _emscripten_bind_btGeneric6DofSpringConstraint__getRelativePivotPosition_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['getFrameOffsetB'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getFrameOffsetB_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofSpringConstraint.prototype['getInfo2NonVirtual'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + _emscripten_bind_btGeneric6DofSpringConstraint__getInfo2NonVirtual_p7(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr); +} +btGeneric6DofSpringConstraint.prototype['getCalculatedTransformA'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformA_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofSpringConstraint.prototype['getUserConstraintId'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintId_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['get_m_objectType'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__get_m_objectType_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['getRigidBodyA'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getRigidBodyA_p0(this.ptr), Module['btRigidBody']); +} +btGeneric6DofSpringConstraint.prototype['getBreakingImpulseThreshold'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getBreakingImpulseThreshold_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['getParam'] = function(arg0, arg1) { + if (arg1 === undefined) + return _emscripten_bind_btGeneric6DofSpringConstraint__getParam_p1(this.ptr, arg0); + else + return _emscripten_bind_btGeneric6DofSpringConstraint__getParam_p2(this.ptr, arg0, arg1); +} +btGeneric6DofSpringConstraint.prototype['setDamping'] = function(arg0, arg1) { + _emscripten_bind_btGeneric6DofSpringConstraint__setDamping_p2(this.ptr, arg0, arg1); +} +btGeneric6DofSpringConstraint.prototype['getInfo1'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__getInfo1_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['getInfo2'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__getInfo2_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['calcAnchorPos'] = function() { + _emscripten_bind_btGeneric6DofSpringConstraint__calcAnchorPos_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['getAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__getAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +function btGeneric6DofSpringConstraint(arg0, arg1, arg2, arg3, arg4) { + this.ptr = _emscripten_bind_btGeneric6DofSpringConstraint__btGeneric6DofSpringConstraint_p5(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); + btGeneric6DofSpringConstraint.prototype.__cache__[this.ptr] = this; + this.__class__ = btGeneric6DofSpringConstraint; +} +btGeneric6DofSpringConstraint.prototype.__cache__ = {}; +Module['btGeneric6DofSpringConstraint'] = btGeneric6DofSpringConstraint; +btGeneric6DofSpringConstraint.prototype['setEquilibriumPoint'] = function(arg0, arg1) { + if (arg0 === undefined) + _emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p0(this.ptr); + else if (arg1 === undefined) + _emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p1(this.ptr, arg0); + else + _emscripten_bind_btGeneric6DofSpringConstraint__setEquilibriumPoint_p2(this.ptr, arg0, arg1); +} +btGeneric6DofSpringConstraint.prototype['getAxis'] = function(arg0) { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getAxis_p1(this.ptr, arg0), Module['btVector3']); +} +btGeneric6DofSpringConstraint.prototype['internalGetAppliedImpulse'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__internalGetAppliedImpulse_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['isEnabled'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__isEnabled_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['setUserConstraintId'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintId_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['getLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__getLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['getConstraintType'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getConstraintType_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['enableFeedback'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__enableFeedback_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['setUseFrameOffset'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setUseFrameOffset_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['needsFeedback'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__needsFeedback_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['getObjectType'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getObjectType_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['getRotationalLimitMotor'] = function(arg0) { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getRotationalLimitMotor_p1(this.ptr, arg0), Module['btRotationalLimitMotor']); +} +btGeneric6DofSpringConstraint.prototype['getInfo1NonVirtual'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__getInfo1NonVirtual_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btGeneric6DofSpringConstraint__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btGeneric6DofSpringConstraint.prototype['setLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['getDbgDrawSize'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getDbgDrawSize_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['getLinearLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__getLinearLowerLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['setDbgDrawSize'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setDbgDrawSize_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['isLimited'] = function(arg0) { + return _emscripten_bind_btGeneric6DofSpringConstraint__isLimited_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['getUseFrameOffset'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getUseFrameOffset_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['setUserConstraintType'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintType_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['enableSpring'] = function(arg0, arg1) { + _emscripten_bind_btGeneric6DofSpringConstraint__enableSpring_p2(this.ptr, arg0, arg1); +} +btGeneric6DofSpringConstraint.prototype['getCalculatedTransformB'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getCalculatedTransformB_p0(this.ptr), Module['btTransform']); +} +btGeneric6DofSpringConstraint.prototype['calculateTransforms'] = function(arg0, arg1) { + if (arg0 === undefined) + _emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p0(this.ptr); + else + _emscripten_bind_btGeneric6DofSpringConstraint__calculateTransforms_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btGeneric6DofSpringConstraint.prototype['internalSetAppliedImpulse'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__internalSetAppliedImpulse_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['setBreakingImpulseThreshold'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setBreakingImpulseThreshold_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__calculateSerializeBufferSize_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['get_limit_motor_info2'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + if (arg11 === undefined) + return _emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p11(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10); + else + return _emscripten_bind_btGeneric6DofSpringConstraint__get_limit_motor_info2_p12(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr, arg5.ptr, arg6.ptr, arg7.ptr, arg8, arg9.ptr, arg10, arg11); +} +btGeneric6DofSpringConstraint.prototype['get_m_useSolveConstraintObsolete'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__get_m_useSolveConstraintObsolete_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['getAppliedImpulse'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getAppliedImpulse_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['setLimit'] = function(arg0, arg1, arg2) { + _emscripten_bind_btGeneric6DofSpringConstraint__setLimit_p3(this.ptr, arg0, arg1, arg2); +} +btGeneric6DofSpringConstraint.prototype['set_m_useSolveConstraintObsolete'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__set_m_useSolveConstraintObsolete_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['getTranslationalLimitMotor'] = function() { + return wrapPointer(_emscripten_bind_btGeneric6DofSpringConstraint__getTranslationalLimitMotor_p0(this.ptr), Module['btTranslationalLimitMotor']); +} +btGeneric6DofSpringConstraint.prototype['__destroy__'] = function() { + _emscripten_bind_btGeneric6DofSpringConstraint____destroy___p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['setupSolverConstraint'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btGeneric6DofSpringConstraint__setupSolverConstraint_p4(this.ptr, arg0, arg1, arg2, arg3); +} +btGeneric6DofSpringConstraint.prototype['getAngle'] = function(arg0) { + return _emscripten_bind_btGeneric6DofSpringConstraint__getAngle_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['updateRHS'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__updateRHS_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['getAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__getAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['setAngularLowerLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setAngularLowerLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['getUserConstraintType'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintType_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['solveConstraintObsolete'] = function(arg0, arg1, arg2) { + _emscripten_bind_btGeneric6DofSpringConstraint__solveConstraintObsolete_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btGeneric6DofSpringConstraint.prototype['setStiffness'] = function(arg0, arg1) { + _emscripten_bind_btGeneric6DofSpringConstraint__setStiffness_p2(this.ptr, arg0, arg1); +} +btGeneric6DofSpringConstraint.prototype['getUserConstraintPtr'] = function() { + return _emscripten_bind_btGeneric6DofSpringConstraint__getUserConstraintPtr_p0(this.ptr); +} +btGeneric6DofSpringConstraint.prototype['setFrames'] = function(arg0, arg1) { + _emscripten_bind_btGeneric6DofSpringConstraint__setFrames_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btGeneric6DofSpringConstraint.prototype['setLinearUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setLinearUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['setAngularUpperLimit'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setAngularUpperLimit_p1(this.ptr, arg0.ptr); +} +btGeneric6DofSpringConstraint.prototype['setAxis'] = function(arg0, arg1) { + _emscripten_bind_btGeneric6DofSpringConstraint__setAxis_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btGeneric6DofSpringConstraint.prototype['setUserConstraintPtr'] = function(arg0) { + _emscripten_bind_btGeneric6DofSpringConstraint__setUserConstraintPtr_p1(this.ptr, arg0); +} +btGeneric6DofSpringConstraint.prototype['testAngularLimitMotor'] = function(arg0) { + return _emscripten_bind_btGeneric6DofSpringConstraint__testAngularLimitMotor_p1(this.ptr, arg0); +} +btBroadphaseProxy.prototype['get_m_clientObject'] = function() { + return _emscripten_bind_btBroadphaseProxy__get_m_clientObject_p0(this.ptr); +} +btBroadphaseProxy.prototype['isInfinite'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isInfinite_p1(arg0); +} +btBroadphaseProxy.prototype['set_m_clientObject'] = function(arg0) { + _emscripten_bind_btBroadphaseProxy__set_m_clientObject_p1(this.ptr, arg0); +} +btBroadphaseProxy.prototype['set_m_multiSapParentProxy'] = function(arg0) { + _emscripten_bind_btBroadphaseProxy__set_m_multiSapParentProxy_p1(this.ptr, arg0); +} +function btBroadphaseProxy(arg0, arg1, arg2, arg3, arg4, arg5) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p0(); + else if (arg5 === undefined) + this.ptr = _emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p5(arg0.ptr, arg1.ptr, arg2, arg3, arg4); + else + this.ptr = _emscripten_bind_btBroadphaseProxy__btBroadphaseProxy_p6(arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5); + btBroadphaseProxy.prototype.__cache__[this.ptr] = this; + this.__class__ = btBroadphaseProxy; +} +btBroadphaseProxy.prototype.__cache__ = {}; +Module['btBroadphaseProxy'] = btBroadphaseProxy; +btBroadphaseProxy.prototype['isCompound'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isCompound_p1(arg0); +} +btBroadphaseProxy.prototype['isPolyhedral'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isPolyhedral_p1(arg0); +} +btBroadphaseProxy.prototype['get_m_aabbMin'] = function() { + return wrapPointer(_emscripten_bind_btBroadphaseProxy__get_m_aabbMin_p0(this.ptr), Module['btVector3']); +} +btBroadphaseProxy.prototype['set_m_uniqueId'] = function(arg0) { + _emscripten_bind_btBroadphaseProxy__set_m_uniqueId_p1(this.ptr, arg0); +} +btBroadphaseProxy.prototype['isConvex'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isConvex_p1(arg0); +} +btBroadphaseProxy.prototype['get_m_collisionFilterMask'] = function() { + return _emscripten_bind_btBroadphaseProxy__get_m_collisionFilterMask_p0(this.ptr); +} +btBroadphaseProxy.prototype['getUid'] = function() { + return _emscripten_bind_btBroadphaseProxy__getUid_p0(this.ptr); +} +btBroadphaseProxy.prototype['get_m_aabbMax'] = function() { + return wrapPointer(_emscripten_bind_btBroadphaseProxy__get_m_aabbMax_p0(this.ptr), Module['btVector3']); +} +btBroadphaseProxy.prototype['isNonMoving'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isNonMoving_p1(arg0); +} +btBroadphaseProxy.prototype['set_m_aabbMin'] = function(arg0) { + _emscripten_bind_btBroadphaseProxy__set_m_aabbMin_p1(this.ptr, arg0.ptr); +} +btBroadphaseProxy.prototype['set_m_collisionFilterGroup'] = function(arg0) { + _emscripten_bind_btBroadphaseProxy__set_m_collisionFilterGroup_p1(this.ptr, arg0); +} +btBroadphaseProxy.prototype['isConvex2d'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isConvex2d_p1(arg0); +} +btBroadphaseProxy.prototype['isSoftBody'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isSoftBody_p1(arg0); +} +btBroadphaseProxy.prototype['set_m_aabbMax'] = function(arg0) { + _emscripten_bind_btBroadphaseProxy__set_m_aabbMax_p1(this.ptr, arg0.ptr); +} +btBroadphaseProxy.prototype['__destroy__'] = function() { + _emscripten_bind_btBroadphaseProxy____destroy___p0(this.ptr); +} +btBroadphaseProxy.prototype['get_m_uniqueId'] = function() { + return _emscripten_bind_btBroadphaseProxy__get_m_uniqueId_p0(this.ptr); +} +btBroadphaseProxy.prototype['set_m_collisionFilterMask'] = function(arg0) { + _emscripten_bind_btBroadphaseProxy__set_m_collisionFilterMask_p1(this.ptr, arg0); +} +btBroadphaseProxy.prototype['isConcave'] = function(arg0) { + return _emscripten_bind_btBroadphaseProxy__isConcave_p1(arg0); +} +btBroadphaseProxy.prototype['get_m_multiSapParentProxy'] = function() { + return _emscripten_bind_btBroadphaseProxy__get_m_multiSapParentProxy_p0(this.ptr); +} +btBroadphaseProxy.prototype['get_m_collisionFilterGroup'] = function() { + return _emscripten_bind_btBroadphaseProxy__get_m_collisionFilterGroup_p0(this.ptr); +} +btTriangleIndexVertexArray.prototype['getLockedReadOnlyVertexIndexBase'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg8 === undefined) + _emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p8(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + _emscripten_bind_btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_p9(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +btTriangleIndexVertexArray.prototype['preallocateIndices'] = function(arg0) { + _emscripten_bind_btTriangleIndexVertexArray__preallocateIndices_p1(this.ptr, arg0); +} +btTriangleIndexVertexArray.prototype['calculateAabbBruteForce'] = function(arg0, arg1) { + _emscripten_bind_btTriangleIndexVertexArray__calculateAabbBruteForce_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btTriangleIndexVertexArray.prototype['__destroy__'] = function() { + _emscripten_bind_btTriangleIndexVertexArray____destroy___p0(this.ptr); +} +btTriangleIndexVertexArray.prototype['preallocateVertices'] = function(arg0) { + _emscripten_bind_btTriangleIndexVertexArray__preallocateVertices_p1(this.ptr, arg0); +} +btTriangleIndexVertexArray.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btTriangleIndexVertexArray__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btTriangleIndexVertexArray.prototype['getIndexedMeshArray'] = function() { + return _emscripten_bind_btTriangleIndexVertexArray__getIndexedMeshArray_p0(this.ptr); +} +function btTriangleIndexVertexArray(arg0, arg1, arg2, arg3, arg4, arg5) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p0(); + else + this.ptr = _emscripten_bind_btTriangleIndexVertexArray__btTriangleIndexVertexArray_p6(arg0, arg1, arg2, arg3, arg4, arg5); + btTriangleIndexVertexArray.prototype.__cache__[this.ptr] = this; + this.__class__ = btTriangleIndexVertexArray; +} +btTriangleIndexVertexArray.prototype.__cache__ = {}; +Module['btTriangleIndexVertexArray'] = btTriangleIndexVertexArray; +btTriangleIndexVertexArray.prototype['setScaling'] = function(arg0) { + _emscripten_bind_btTriangleIndexVertexArray__setScaling_p1(this.ptr, arg0.ptr); +} +btTriangleIndexVertexArray.prototype['getScaling'] = function() { + return wrapPointer(_emscripten_bind_btTriangleIndexVertexArray__getScaling_p0(this.ptr), Module['btVector3']); +} +btTriangleIndexVertexArray.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btTriangleIndexVertexArray__calculateSerializeBufferSize_p0(this.ptr); +} +btTriangleIndexVertexArray.prototype['setPremadeAabb'] = function(arg0, arg1) { + _emscripten_bind_btTriangleIndexVertexArray__setPremadeAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btTriangleIndexVertexArray.prototype['InternalProcessAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btTriangleIndexVertexArray__InternalProcessAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btTriangleIndexVertexArray.prototype['getPremadeAabb'] = function(arg0, arg1) { + _emscripten_bind_btTriangleIndexVertexArray__getPremadeAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btTriangleIndexVertexArray.prototype['addIndexedMesh'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btTriangleIndexVertexArray__addIndexedMesh_p2(this.ptr, arg0.ptr, arg1); +} +btTriangleIndexVertexArray.prototype['getNumSubParts'] = function() { + return _emscripten_bind_btTriangleIndexVertexArray__getNumSubParts_p0(this.ptr); +} +btTriangleIndexVertexArray.prototype['getLockedVertexIndexBase'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + if (arg8 === undefined) + _emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p8(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + else + _emscripten_bind_btTriangleIndexVertexArray__getLockedVertexIndexBase_p9(this.ptr, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +btTriangleIndexVertexArray.prototype['hasPremadeAabb'] = function() { + return _emscripten_bind_btTriangleIndexVertexArray__hasPremadeAabb_p0(this.ptr); +} +btTriangleIndexVertexArray.prototype['unLockVertexBase'] = function(arg0) { + _emscripten_bind_btTriangleIndexVertexArray__unLockVertexBase_p1(this.ptr, arg0); +} +btTriangleIndexVertexArray.prototype['unLockReadOnlyVertexBase'] = function(arg0) { + _emscripten_bind_btTriangleIndexVertexArray__unLockReadOnlyVertexBase_p1(this.ptr, arg0); +} +btBoxShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btBoxShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btBoxShape.prototype['getNumPlanes'] = function() { + return _emscripten_bind_btBoxShape__getNumPlanes_p0(this.ptr); +} +btBoxShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBoxShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btBoxShape__setUserPointer_p1(this.ptr, arg0); +} +btBoxShape.prototype['isInside'] = function(arg0, arg1) { + return _emscripten_bind_btBoxShape__isInside_p2(this.ptr, arg0.ptr, arg1); +} +btBoxShape.prototype['getNumVertices'] = function() { + return _emscripten_bind_btBoxShape__getNumVertices_p0(this.ptr); +} +btBoxShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btBoxShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btBoxShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btBoxShape__isPolyhedral_p0(this.ptr); +} +btBoxShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btBoxShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btBoxShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBoxShape.prototype['getVertex'] = function(arg0, arg1) { + _emscripten_bind_btBoxShape__getVertex_p2(this.ptr, arg0, arg1.ptr); +} +btBoxShape.prototype['getPlaneEquation'] = function(arg0, arg1) { + _emscripten_bind_btBoxShape__getPlaneEquation_p2(this.ptr, arg0.ptr, arg1); +} +btBoxShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBoxShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBoxShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBoxShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btBoxShape__calculateSerializeBufferSize_p0(this.ptr); +} +btBoxShape.prototype['getNumEdges'] = function() { + return _emscripten_bind_btBoxShape__getNumEdges_p0(this.ptr); +} +btBoxShape.prototype['getName'] = function() { + return _emscripten_bind_btBoxShape__getName_p0(this.ptr); +} +btBoxShape.prototype['getEdge'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBoxShape__getEdge_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btBoxShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btBoxShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +function btBoxShape(arg0) { + this.ptr = _emscripten_bind_btBoxShape__btBoxShape_p1(arg0.ptr); + btBoxShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btBoxShape; +} +btBoxShape.prototype.__cache__ = {}; +Module['btBoxShape'] = btBoxShape; +btBoxShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btBoxShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btBoxShape.prototype['isCompound'] = function() { + return _emscripten_bind_btBoxShape__isCompound_p0(this.ptr); +} +btBoxShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btBoxShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btBoxShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBoxShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBoxShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btBoxShape__getMarginNV_p0(this.ptr); +} +btBoxShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btBoxShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btBoxShape.prototype['isConvex'] = function() { + return _emscripten_bind_btBoxShape__isConvex_p0(this.ptr); +} +btBoxShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btBoxShape__isInfinite_p0(this.ptr); +} +btBoxShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btBoxShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btBoxShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btBoxShape__getUserPointer_p0(this.ptr); +} +btBoxShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btBoxShape__isNonMoving_p0(this.ptr); +} +btBoxShape.prototype['getMargin'] = function() { + return _emscripten_bind_btBoxShape__getMargin_p0(this.ptr); +} +btBoxShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btBoxShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btBoxShape.prototype['getHalfExtentsWithoutMargin'] = function() { + return wrapPointer(_emscripten_bind_btBoxShape__getHalfExtentsWithoutMargin_p0(this.ptr), Module['btVector3']); +} +btBoxShape.prototype['initializePolyhedralFeatures'] = function() { + return _emscripten_bind_btBoxShape__initializePolyhedralFeatures_p0(this.ptr); +} +btBoxShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btBoxShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btBoxShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btBoxShape__isSoftBody_p0(this.ptr); +} +btBoxShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btBoxShape__getMarginNonVirtual_p0(this.ptr); +} +btBoxShape.prototype['__destroy__'] = function() { + _emscripten_bind_btBoxShape____destroy___p0(this.ptr); +} +btBoxShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btBoxShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btBoxShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btBoxShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btBoxShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btBoxShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btBoxShape__getAngularMotionDisc_p0(this.ptr); +} +btBoxShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btBoxShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btBoxShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBoxShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btBoxShape.prototype['getPlane'] = function(arg0, arg1, arg2) { + _emscripten_bind_btBoxShape__getPlane_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btBoxShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btBoxShape__setMargin_p1(this.ptr, arg0); +} +btBoxShape.prototype['getConvexPolyhedron'] = function() { + return _emscripten_bind_btBoxShape__getConvexPolyhedron_p0(this.ptr); +} +btBoxShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btBoxShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btBoxShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btBoxShape__getShapeType_p0(this.ptr); +} +btBoxShape.prototype['getHalfExtentsWithMargin'] = function() { + return wrapPointer(_emscripten_bind_btBoxShape__getHalfExtentsWithMargin_p0(this.ptr), Module['btVector3']); +} +btBoxShape.prototype['isConcave'] = function() { + return _emscripten_bind_btBoxShape__isConcave_p0(this.ptr); +} +btBoxShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btBoxShape__isConvex2d_p0(this.ptr); +} +function Result(){ throw "Result is abstract!" } +Result.prototype.__cache__ = {}; +Module['Result'] = Result; +Result.prototype['setShapeIdentifiersB'] = function(arg0, arg1) { + _emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersB_p2(this.ptr, arg0, arg1); +} +Result.prototype['setShapeIdentifiersA'] = function(arg0, arg1) { + _emscripten_bind_btDiscreteCollisionDetectorInterface__Result__setShapeIdentifiersA_p2(this.ptr, arg0, arg1); +} +Result.prototype['addContactPoint'] = function(arg0, arg1, arg2) { + _emscripten_bind_btDiscreteCollisionDetectorInterface__Result__addContactPoint_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +function btPolyhedralConvexAabbCachingShape(){ throw "btPolyhedralConvexAabbCachingShape is abstract!" } +btPolyhedralConvexAabbCachingShape.prototype.__cache__ = {}; +Module['btPolyhedralConvexAabbCachingShape'] = btPolyhedralConvexAabbCachingShape; +btPolyhedralConvexAabbCachingShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getNumPlanes'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPlanes_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexAabbCachingShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__setUserPointer_p1(this.ptr, arg0); +} +btPolyhedralConvexAabbCachingShape.prototype['isInside'] = function(arg0, arg1) { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isInside_p2(this.ptr, arg0.ptr, arg1); +} +btPolyhedralConvexAabbCachingShape.prototype['getNumVertices'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumVertices_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btPolyhedralConvexAabbCachingShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isPolyhedral_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getVertex'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getVertex_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexAabbCachingShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateSerializeBufferSize_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getNumEdges'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNumEdges_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getName'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getName_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getEdge'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getEdge_p3(this.ptr, arg0, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btPolyhedralConvexAabbCachingShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexAabbCachingShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btPolyhedralConvexAabbCachingShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex2d_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btPolyhedralConvexAabbCachingShape.prototype['isConvex'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConvex_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isInfinite_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getUserPointer_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isNonMoving_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getMargin'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMargin_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['recalcLocalAabb'] = function() { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__recalcLocalAabb_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__setMargin_p1(this.ptr, arg0); +} +btPolyhedralConvexAabbCachingShape.prototype['initializePolyhedralFeatures'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__initializePolyhedralFeatures_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNV_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isSoftBody_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getMarginNonVirtual_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btPolyhedralConvexAabbCachingShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btPolyhedralConvexAabbCachingShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btPolyhedralConvexAabbCachingShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btPolyhedralConvexAabbCachingShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAngularMotionDisc_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getPlane'] = function(arg0, arg1, arg2) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getPlane_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btPolyhedralConvexAabbCachingShape.prototype['isCompound'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isCompound_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getConvexPolyhedron'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getConvexPolyhedron_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__getShapeType_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['isConcave'] = function() { + return _emscripten_bind_btPolyhedralConvexAabbCachingShape__isConcave_p0(this.ptr); +} +btPolyhedralConvexAabbCachingShape.prototype['getNonvirtualAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3); +} +CProfileSample.prototype['__destroy__'] = function() { + _emscripten_bind_CProfileSample____destroy___p0(this.ptr); +} +function CProfileSample(arg0) { +var stack = Runtime.stackSave(); +try { + this.ptr = _emscripten_bind_CProfileSample__CProfileSample_p1(ensureString(arg0)); +} finally { Runtime.stackRestore(stack) } + CProfileSample.prototype.__cache__[this.ptr] = this; + this.__class__ = CProfileSample; +} +CProfileSample.prototype.__cache__ = {}; +Module['CProfileSample'] = CProfileSample; +btCapsuleShapeX.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShapeX__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShapeX.prototype['isCompound'] = function() { + return _emscripten_bind_btCapsuleShapeX__isCompound_p0(this.ptr); +} +btCapsuleShapeX.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeX.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCapsuleShapeX__setUserPointer_p1(this.ptr, arg0); +} +btCapsuleShapeX.prototype['getUpAxis'] = function() { + return _emscripten_bind_btCapsuleShapeX__getUpAxis_p0(this.ptr); +} +btCapsuleShapeX.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCapsuleShapeX__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShapeX.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShapeX__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCapsuleShapeX.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btCapsuleShapeX__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btCapsuleShapeX.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCapsuleShapeX__isPolyhedral_p0(this.ptr); +} +btCapsuleShapeX.prototype['getRadius'] = function() { + return _emscripten_bind_btCapsuleShapeX__getRadius_p0(this.ptr); +} +btCapsuleShapeX.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeX__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShapeX.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCapsuleShapeX__calculateSerializeBufferSize_p0(this.ptr); +} +btCapsuleShapeX.prototype['getName'] = function() { + return _emscripten_bind_btCapsuleShapeX__getName_p0(this.ptr); +} +btCapsuleShapeX.prototype['getHalfHeight'] = function() { + return _emscripten_bind_btCapsuleShapeX__getHalfHeight_p0(this.ptr); +} +btCapsuleShapeX.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShapeX__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btCapsuleShapeX.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeX.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeX.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCapsuleShapeX__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCapsuleShapeX.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeX__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShapeX.prototype['getMarginNV'] = function() { + return _emscripten_bind_btCapsuleShapeX__getMarginNV_p0(this.ptr); +} +btCapsuleShapeX.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeX__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeX.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCapsuleShapeX__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCapsuleShapeX.prototype['isConvex'] = function() { + return _emscripten_bind_btCapsuleShapeX__isConvex_p0(this.ptr); +} +btCapsuleShapeX.prototype['isInfinite'] = function() { + return _emscripten_bind_btCapsuleShapeX__isInfinite_p0(this.ptr); +} +function btCapsuleShapeX(arg0, arg1) { + this.ptr = _emscripten_bind_btCapsuleShapeX__btCapsuleShapeX_p2(arg0, arg1); + btCapsuleShapeX.prototype.__cache__[this.ptr] = this; + this.__class__ = btCapsuleShapeX; +} +btCapsuleShapeX.prototype.__cache__ = {}; +Module['btCapsuleShapeX'] = btCapsuleShapeX; +btCapsuleShapeX.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCapsuleShapeX__getUserPointer_p0(this.ptr); +} +btCapsuleShapeX.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCapsuleShapeX__isNonMoving_p0(this.ptr); +} +btCapsuleShapeX.prototype['getMargin'] = function() { + return _emscripten_bind_btCapsuleShapeX__getMargin_p0(this.ptr); +} +btCapsuleShapeX.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShapeX__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShapeX.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCapsuleShapeX__setMargin_p1(this.ptr, arg0); +} +btCapsuleShapeX.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCapsuleShapeX__isConvex2d_p0(this.ptr); +} +btCapsuleShapeX.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btCapsuleShapeX__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btCapsuleShapeX.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCapsuleShapeX__isSoftBody_p0(this.ptr); +} +btCapsuleShapeX.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btCapsuleShapeX__getMarginNonVirtual_p0(this.ptr); +} +btCapsuleShapeX.prototype['__destroy__'] = function() { + _emscripten_bind_btCapsuleShapeX____destroy___p0(this.ptr); +} +btCapsuleShapeX.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeX__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btCapsuleShapeX.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShapeX__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btCapsuleShapeX.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShapeX__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCapsuleShapeX.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCapsuleShapeX__getAngularMotionDisc_p0(this.ptr); +} +btCapsuleShapeX.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCapsuleShapeX__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCapsuleShapeX.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeX__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShapeX.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCapsuleShapeX__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btCapsuleShapeX.prototype['isConcave'] = function() { + return _emscripten_bind_btCapsuleShapeX__isConcave_p0(this.ptr); +} +btCapsuleShapeX.prototype['getShapeType'] = function() { + return _emscripten_bind_btCapsuleShapeX__getShapeType_p0(this.ptr); +} +btQuaternion.prototype['nearest'] = function(arg0) { + return wrapPointer(_emscripten_bind_btQuaternion__nearest_p1(this.ptr, arg0.ptr), Module['btQuaternion']); +} +btQuaternion.prototype['setMin'] = function(arg0) { + _emscripten_bind_btQuaternion__setMin_p1(this.ptr, arg0.ptr); +} +btQuaternion.prototype['farthest'] = function(arg0) { + return wrapPointer(_emscripten_bind_btQuaternion__farthest_p1(this.ptr, arg0.ptr), Module['btQuaternion']); +} +btQuaternion.prototype['getX'] = function() { + return _emscripten_bind_btQuaternion__getX_p0(this.ptr); +} +btQuaternion.prototype['getY'] = function() { + return _emscripten_bind_btQuaternion__getY_p0(this.ptr); +} +btQuaternion.prototype['getZ'] = function() { + return _emscripten_bind_btQuaternion__getZ_p0(this.ptr); +} +btQuaternion.prototype['setEuler'] = function(arg0, arg1, arg2) { + _emscripten_bind_btQuaternion__setEuler_p3(this.ptr, arg0, arg1, arg2); +} +btQuaternion.prototype['op_sub'] = function(arg0) { + return wrapPointer(_emscripten_bind_btQuaternion__op_sub_p1(this.ptr, arg0.ptr), Module['btQuaternion']); +} +btQuaternion.prototype['getW'] = function() { + return _emscripten_bind_btQuaternion__getW_p0(this.ptr); +} +btQuaternion.prototype['normalize'] = function() { + return wrapPointer(_emscripten_bind_btQuaternion__normalize_p0(this.ptr), Module['btQuaternion']); +} +btQuaternion.prototype['slerp'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btQuaternion__slerp_p2(this.ptr, arg0.ptr, arg1), Module['btQuaternion']); +} +btQuaternion.prototype['inverse'] = function() { + return wrapPointer(_emscripten_bind_btQuaternion__inverse_p0(this.ptr), Module['btQuaternion']); +} +btQuaternion.prototype['angle'] = function(arg0) { + return _emscripten_bind_btQuaternion__angle_p1(this.ptr, arg0.ptr); +} +btQuaternion.prototype['getAxis'] = function() { + return wrapPointer(_emscripten_bind_btQuaternion__getAxis_p0(this.ptr), Module['btVector3']); +} +btQuaternion.prototype['getIdentity'] = function() { + return wrapPointer(_emscripten_bind_btQuaternion__getIdentity_p0(), Module['btQuaternion']); +} +btQuaternion.prototype['setMax'] = function(arg0) { + _emscripten_bind_btQuaternion__setMax_p1(this.ptr, arg0.ptr); +} +btQuaternion.prototype['op_add'] = function(arg0) { + return wrapPointer(_emscripten_bind_btQuaternion__op_add_p1(this.ptr, arg0.ptr), Module['btQuaternion']); +} +btQuaternion.prototype['op_mul'] = function(arg0) { + return wrapPointer(_emscripten_bind_btQuaternion__op_mul_p1(this.ptr, arg0), Module['btQuaternion']); +} +btQuaternion.prototype['setRotation'] = function(arg0, arg1) { + _emscripten_bind_btQuaternion__setRotation_p2(this.ptr, arg0.ptr, arg1); +} +btQuaternion.prototype['setEulerZYX'] = function(arg0, arg1, arg2) { + _emscripten_bind_btQuaternion__setEulerZYX_p3(this.ptr, arg0, arg1, arg2); +} +btQuaternion.prototype['setValue'] = function(arg0, arg1, arg2, arg3) { + if (arg3 === undefined) + _emscripten_bind_btQuaternion__setValue_p3(this.ptr, arg0, arg1, arg2); + else + _emscripten_bind_btQuaternion__setValue_p4(this.ptr, arg0, arg1, arg2, arg3); +} +function btQuaternion(arg0, arg1, arg2, arg3) { + if (arg0 === undefined) + this.ptr = _emscripten_bind_btQuaternion__btQuaternion_p0(); + else if (arg2 === undefined) + this.ptr = _emscripten_bind_btQuaternion__btQuaternion_p2(arg0.ptr, arg1); + else if (arg3 === undefined) + this.ptr = _emscripten_bind_btQuaternion__btQuaternion_p3(arg0, arg1, arg2); + else + this.ptr = _emscripten_bind_btQuaternion__btQuaternion_p4(arg0, arg1, arg2, arg3); + btQuaternion.prototype.__cache__[this.ptr] = this; + this.__class__ = btQuaternion; +} +btQuaternion.prototype.__cache__ = {}; +Module['btQuaternion'] = btQuaternion; +btQuaternion.prototype['op_div'] = function(arg0) { + return wrapPointer(_emscripten_bind_btQuaternion__op_div_p1(this.ptr, arg0), Module['btQuaternion']); +} +btQuaternion.prototype['setW'] = function(arg0) { + _emscripten_bind_btQuaternion__setW_p1(this.ptr, arg0); +} +btQuaternion.prototype['normalized'] = function() { + return wrapPointer(_emscripten_bind_btQuaternion__normalized_p0(this.ptr), Module['btQuaternion']); +} +btQuaternion.prototype['setX'] = function(arg0) { + _emscripten_bind_btQuaternion__setX_p1(this.ptr, arg0); +} +btQuaternion.prototype['setY'] = function(arg0) { + _emscripten_bind_btQuaternion__setY_p1(this.ptr, arg0); +} +btQuaternion.prototype['setZ'] = function(arg0) { + _emscripten_bind_btQuaternion__setZ_p1(this.ptr, arg0); +} +btQuaternion.prototype['__destroy__'] = function() { + _emscripten_bind_btQuaternion____destroy___p0(this.ptr); +} +btQuaternion.prototype['getAngle'] = function() { + return _emscripten_bind_btQuaternion__getAngle_p0(this.ptr); +} +btQuaternion.prototype['length2'] = function() { + return _emscripten_bind_btQuaternion__length2_p0(this.ptr); +} +btQuaternion.prototype['length'] = function() { + return _emscripten_bind_btQuaternion__length_p0(this.ptr); +} +btQuaternion.prototype['w'] = function() { + return _emscripten_bind_btQuaternion__w_p0(this.ptr); +} +btQuaternion.prototype['y'] = function() { + return _emscripten_bind_btQuaternion__y_p0(this.ptr); +} +btQuaternion.prototype['x'] = function() { + return _emscripten_bind_btQuaternion__x_p0(this.ptr); +} +btQuaternion.prototype['z'] = function() { + return _emscripten_bind_btQuaternion__z_p0(this.ptr); +} +btQuaternion.prototype['dot'] = function(arg0) { + return _emscripten_bind_btQuaternion__dot_p1(this.ptr, arg0.ptr); +} +btCapsuleShapeZ.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShapeZ__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShapeZ.prototype['isCompound'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isCompound_p0(this.ptr); +} +btCapsuleShapeZ.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeZ.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btCapsuleShapeZ__setUserPointer_p1(this.ptr, arg0); +} +btCapsuleShapeZ.prototype['getUpAxis'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getUpAxis_p0(this.ptr); +} +btCapsuleShapeZ.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btCapsuleShapeZ__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShapeZ.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShapeZ__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btCapsuleShapeZ.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btCapsuleShapeZ.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isPolyhedral_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getRadius'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getRadius_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeZ__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShapeZ.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btCapsuleShapeZ__calculateSerializeBufferSize_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getName'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getName_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getHalfHeight'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getHalfHeight_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShapeZ__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btCapsuleShapeZ.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeZ.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeZ.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btCapsuleShapeZ__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btCapsuleShapeZ.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeZ__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShapeZ.prototype['getMarginNV'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getMarginNV_p0(this.ptr); +} +btCapsuleShapeZ.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btCapsuleShapeZ__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btCapsuleShapeZ.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btCapsuleShapeZ__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btCapsuleShapeZ.prototype['isConvex'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isConvex_p0(this.ptr); +} +btCapsuleShapeZ.prototype['isInfinite'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isInfinite_p0(this.ptr); +} +function btCapsuleShapeZ(arg0, arg1) { + this.ptr = _emscripten_bind_btCapsuleShapeZ__btCapsuleShapeZ_p2(arg0, arg1); + btCapsuleShapeZ.prototype.__cache__[this.ptr] = this; + this.__class__ = btCapsuleShapeZ; +} +btCapsuleShapeZ.prototype.__cache__ = {}; +Module['btCapsuleShapeZ'] = btCapsuleShapeZ; +btCapsuleShapeZ.prototype['getUserPointer'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getUserPointer_p0(this.ptr); +} +btCapsuleShapeZ.prototype['isNonMoving'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isNonMoving_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getMargin'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getMargin_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShapeZ__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btCapsuleShapeZ.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btCapsuleShapeZ__setMargin_p1(this.ptr, arg0); +} +btCapsuleShapeZ.prototype['isConvex2d'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isConvex2d_p0(this.ptr); +} +btCapsuleShapeZ.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btCapsuleShapeZ__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btCapsuleShapeZ.prototype['isSoftBody'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isSoftBody_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getMarginNonVirtual_p0(this.ptr); +} +btCapsuleShapeZ.prototype['__destroy__'] = function() { + _emscripten_bind_btCapsuleShapeZ____destroy___p0(this.ptr); +} +btCapsuleShapeZ.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeZ__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btCapsuleShapeZ.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btCapsuleShapeZ__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btCapsuleShapeZ.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btCapsuleShapeZ__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btCapsuleShapeZ.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getAngularMotionDisc_p0(this.ptr); +} +btCapsuleShapeZ.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btCapsuleShapeZ__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btCapsuleShapeZ.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btCapsuleShapeZ__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btCapsuleShapeZ.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btCapsuleShapeZ__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btCapsuleShapeZ.prototype['isConcave'] = function() { + return _emscripten_bind_btCapsuleShapeZ__isConcave_p0(this.ptr); +} +btCapsuleShapeZ.prototype['getShapeType'] = function() { + return _emscripten_bind_btCapsuleShapeZ__getShapeType_p0(this.ptr); +} +btGhostObject.prototype['removeOverlappingObjectInternal'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p2(this.ptr, arg0.ptr, arg1.ptr); + else + _emscripten_bind_btGhostObject__removeOverlappingObjectInternal_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btGhostObject.prototype['getFriction'] = function() { + return _emscripten_bind_btGhostObject__getFriction_p0(this.ptr); +} +btGhostObject.prototype['setInterpolationLinearVelocity'] = function(arg0) { + _emscripten_bind_btGhostObject__setInterpolationLinearVelocity_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['getDeactivationTime'] = function() { + return _emscripten_bind_btGhostObject__getDeactivationTime_p0(this.ptr); +} +btGhostObject.prototype['setCompanionId'] = function(arg0) { + _emscripten_bind_btGhostObject__setCompanionId_p1(this.ptr, arg0); +} +btGhostObject.prototype['setInterpolationAngularVelocity'] = function(arg0) { + _emscripten_bind_btGhostObject__setInterpolationAngularVelocity_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btGhostObject__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btGhostObject.prototype['getCcdSweptSphereRadius'] = function() { + return _emscripten_bind_btGhostObject__getCcdSweptSphereRadius_p0(this.ptr); +} +btGhostObject.prototype['setFriction'] = function(arg0) { + _emscripten_bind_btGhostObject__setFriction_p1(this.ptr, arg0); +} +btGhostObject.prototype['internalSetExtensionPointer'] = function(arg0) { + _emscripten_bind_btGhostObject__internalSetExtensionPointer_p1(this.ptr, arg0); +} +btGhostObject.prototype['setContactProcessingThreshold'] = function(arg0) { + _emscripten_bind_btGhostObject__setContactProcessingThreshold_p1(this.ptr, arg0); +} +btGhostObject.prototype['setInterpolationWorldTransform'] = function(arg0) { + _emscripten_bind_btGhostObject__setInterpolationWorldTransform_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['getInterpolationLinearVelocity'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getInterpolationLinearVelocity_p0(this.ptr), Module['btVector3']); +} +btGhostObject.prototype['mergesSimulationIslands'] = function() { + return _emscripten_bind_btGhostObject__mergesSimulationIslands_p0(this.ptr); +} +btGhostObject.prototype['setCollisionShape'] = function(arg0) { + _emscripten_bind_btGhostObject__setCollisionShape_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['setCcdMotionThreshold'] = function(arg0) { + _emscripten_bind_btGhostObject__setCcdMotionThreshold_p1(this.ptr, arg0); +} +btGhostObject.prototype['getIslandTag'] = function() { + return _emscripten_bind_btGhostObject__getIslandTag_p0(this.ptr); +} +btGhostObject.prototype['getNumOverlappingObjects'] = function() { + return _emscripten_bind_btGhostObject__getNumOverlappingObjects_p0(this.ptr); +} +btGhostObject.prototype['addOverlappingObjectInternal'] = function(arg0, arg1) { + if (arg1 === undefined) + _emscripten_bind_btGhostObject__addOverlappingObjectInternal_p1(this.ptr, arg0.ptr); + else + _emscripten_bind_btGhostObject__addOverlappingObjectInternal_p2(this.ptr, arg0.ptr, arg1.ptr); +} +btGhostObject.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btGhostObject__setUserPointer_p1(this.ptr, arg0); +} +btGhostObject.prototype['checkCollideWith'] = function(arg0) { + return _emscripten_bind_btGhostObject__checkCollideWith_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['rayTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_btGhostObject__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btGhostObject.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btGhostObject__calculateSerializeBufferSize_p0(this.ptr); +} +btGhostObject.prototype['getInterpolationAngularVelocity'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getInterpolationAngularVelocity_p0(this.ptr), Module['btVector3']); +} +btGhostObject.prototype['forceActivationState'] = function(arg0) { + _emscripten_bind_btGhostObject__forceActivationState_p1(this.ptr, arg0); +} +btGhostObject.prototype['activate'] = function(arg0) { + if (arg0 === undefined) + _emscripten_bind_btGhostObject__activate_p0(this.ptr); + else + _emscripten_bind_btGhostObject__activate_p1(this.ptr, arg0); +} +btGhostObject.prototype['setIslandTag'] = function(arg0) { + _emscripten_bind_btGhostObject__setIslandTag_p1(this.ptr, arg0); +} +btGhostObject.prototype['setHitFraction'] = function(arg0) { + _emscripten_bind_btGhostObject__setHitFraction_p1(this.ptr, arg0); +} +btGhostObject.prototype['setCcdSweptSphereRadius'] = function(arg0) { + _emscripten_bind_btGhostObject__setCcdSweptSphereRadius_p1(this.ptr, arg0); +} +btGhostObject.prototype['getInterpolationWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getInterpolationWorldTransform_p0(this.ptr), Module['btTransform']); +} +btGhostObject.prototype['serializeSingleObject'] = function(arg0) { + _emscripten_bind_btGhostObject__serializeSingleObject_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['getOverlappingObject'] = function(arg0) { + return wrapPointer(_emscripten_bind_btGhostObject__getOverlappingObject_p1(this.ptr, arg0), Module['btCollisionObject']); +} +btGhostObject.prototype['convexSweepTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg4 === undefined) + _emscripten_bind_btGhostObject__convexSweepTest_p4(this.ptr, arg0, arg1.ptr, arg2.ptr, arg3); + else + _emscripten_bind_btGhostObject__convexSweepTest_p5(this.ptr, arg0, arg1.ptr, arg2.ptr, arg3, arg4); +} +btGhostObject.prototype['isStaticObject'] = function() { + return _emscripten_bind_btGhostObject__isStaticObject_p0(this.ptr); +} +btGhostObject.prototype['getCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btGhostObject.prototype['setAnisotropicFriction'] = function(arg0) { + _emscripten_bind_btGhostObject__setAnisotropicFriction_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['getActivationState'] = function() { + return _emscripten_bind_btGhostObject__getActivationState_p0(this.ptr); +} +btGhostObject.prototype['getBroadphaseHandle'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getBroadphaseHandle_p0(this.ptr), Module['btBroadphaseProxy']); +} +btGhostObject.prototype['getRestitution'] = function() { + return _emscripten_bind_btGhostObject__getRestitution_p0(this.ptr); +} +btGhostObject.prototype['getUserPointer'] = function() { + return _emscripten_bind_btGhostObject__getUserPointer_p0(this.ptr); +} +function btGhostObject() { + this.ptr = _emscripten_bind_btGhostObject__btGhostObject_p0(); + btGhostObject.prototype.__cache__[this.ptr] = this; + this.__class__ = btGhostObject; +} +btGhostObject.prototype.__cache__ = {}; +Module['btGhostObject'] = btGhostObject; +btGhostObject.prototype['getWorldTransform'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getWorldTransform_p0(this.ptr), Module['btTransform']); +} +btGhostObject.prototype['getCcdSquareMotionThreshold'] = function() { + return _emscripten_bind_btGhostObject__getCcdSquareMotionThreshold_p0(this.ptr); +} +btGhostObject.prototype['setWorldTransform'] = function(arg0) { + _emscripten_bind_btGhostObject__setWorldTransform_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['internalSetTemporaryCollisionShape'] = function(arg0) { + _emscripten_bind_btGhostObject__internalSetTemporaryCollisionShape_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['getCcdMotionThreshold'] = function() { + return _emscripten_bind_btGhostObject__getCcdMotionThreshold_p0(this.ptr); +} +btGhostObject.prototype['getCompanionId'] = function() { + return _emscripten_bind_btGhostObject__getCompanionId_p0(this.ptr); +} +btGhostObject.prototype['isActive'] = function() { + return _emscripten_bind_btGhostObject__isActive_p0(this.ptr); +} +btGhostObject.prototype['getInternalType'] = function() { + return _emscripten_bind_btGhostObject__getInternalType_p0(this.ptr); +} +btGhostObject.prototype['__destroy__'] = function() { + _emscripten_bind_btGhostObject____destroy___p0(this.ptr); +} +btGhostObject.prototype['hasContactResponse'] = function() { + return _emscripten_bind_btGhostObject__hasContactResponse_p0(this.ptr); +} +btGhostObject.prototype['upcast'] = function(arg0) { + return wrapPointer(_emscripten_bind_btGhostObject__upcast_p1(arg0.ptr), Module['btGhostObject']); +} +btGhostObject.prototype['setActivationState'] = function(arg0) { + _emscripten_bind_btGhostObject__setActivationState_p1(this.ptr, arg0); +} +btGhostObject.prototype['getRootCollisionShape'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getRootCollisionShape_p0(this.ptr), Module['btCollisionShape']); +} +btGhostObject.prototype['getContactProcessingThreshold'] = function() { + return _emscripten_bind_btGhostObject__getContactProcessingThreshold_p0(this.ptr); +} +btGhostObject.prototype['getCollisionFlags'] = function() { + return _emscripten_bind_btGhostObject__getCollisionFlags_p0(this.ptr); +} +btGhostObject.prototype['getHitFraction'] = function() { + return _emscripten_bind_btGhostObject__getHitFraction_p0(this.ptr); +} +btGhostObject.prototype['getAnisotropicFriction'] = function() { + return wrapPointer(_emscripten_bind_btGhostObject__getAnisotropicFriction_p0(this.ptr), Module['btVector3']); +} +btGhostObject.prototype['setDeactivationTime'] = function(arg0) { + _emscripten_bind_btGhostObject__setDeactivationTime_p1(this.ptr, arg0); +} +btGhostObject.prototype['internalGetExtensionPointer'] = function() { + return _emscripten_bind_btGhostObject__internalGetExtensionPointer_p0(this.ptr); +} +btGhostObject.prototype['setCollisionFlags'] = function(arg0) { + _emscripten_bind_btGhostObject__setCollisionFlags_p1(this.ptr, arg0); +} +btGhostObject.prototype['isStaticOrKinematicObject'] = function() { + return _emscripten_bind_btGhostObject__isStaticOrKinematicObject_p0(this.ptr); +} +btGhostObject.prototype['setRestitution'] = function(arg0) { + _emscripten_bind_btGhostObject__setRestitution_p1(this.ptr, arg0); +} +btGhostObject.prototype['hasAnisotropicFriction'] = function() { + return _emscripten_bind_btGhostObject__hasAnisotropicFriction_p0(this.ptr); +} +btGhostObject.prototype['setBroadphaseHandle'] = function(arg0) { + _emscripten_bind_btGhostObject__setBroadphaseHandle_p1(this.ptr, arg0.ptr); +} +btGhostObject.prototype['isKinematicObject'] = function() { + return _emscripten_bind_btGhostObject__isKinematicObject_p0(this.ptr); +} +function btConcaveShape(){ throw "btConcaveShape is abstract!" } +btConcaveShape.prototype.__cache__ = {}; +Module['btConcaveShape'] = btConcaveShape; +btConcaveShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btConcaveShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btConcaveShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btConcaveShape__setUserPointer_p1(this.ptr, arg0); +} +btConcaveShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btConcaveShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btConcaveShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btConcaveShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btConcaveShape.prototype['processAllTriangles'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConcaveShape__processAllTriangles_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConcaveShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btConcaveShape__calculateSerializeBufferSize_p0(this.ptr); +} +btConcaveShape.prototype['getName'] = function() { + return _emscripten_bind_btConcaveShape__getName_p0(this.ptr); +} +btConcaveShape.prototype['isCompound'] = function() { + return _emscripten_bind_btConcaveShape__isCompound_p0(this.ptr); +} +btConcaveShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btConcaveShape__isPolyhedral_p0(this.ptr); +} +btConcaveShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btConcaveShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btConcaveShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btConcaveShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btConcaveShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btConcaveShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btConcaveShape.prototype['isConvex'] = function() { + return _emscripten_bind_btConcaveShape__isConvex_p0(this.ptr); +} +btConcaveShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btConcaveShape__isInfinite_p0(this.ptr); +} +btConcaveShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btConcaveShape__getUserPointer_p0(this.ptr); +} +btConcaveShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btConcaveShape__isNonMoving_p0(this.ptr); +} +btConcaveShape.prototype['getMargin'] = function() { + return _emscripten_bind_btConcaveShape__getMargin_p0(this.ptr); +} +btConcaveShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btConcaveShape__setMargin_p1(this.ptr, arg0); +} +btConcaveShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btConcaveShape__isConvex2d_p0(this.ptr); +} +btConcaveShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btConcaveShape__isSoftBody_p0(this.ptr); +} +btConcaveShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btConcaveShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btConcaveShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btConcaveShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btConcaveShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btConcaveShape__getAngularMotionDisc_p0(this.ptr); +} +btConcaveShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btConcaveShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btConcaveShape.prototype['isConcave'] = function() { + return _emscripten_bind_btConcaveShape__isConcave_p0(this.ptr); +} +btConcaveShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btConcaveShape__getShapeType_p0(this.ptr); +} +function btTriangleInfoMap(){ throw "btTriangleInfoMap is abstract!" } +btTriangleInfoMap.prototype.__cache__ = {}; +Module['btTriangleInfoMap'] = btTriangleInfoMap; +btTriangleInfoMap.prototype['__destroy__'] = function() { + _emscripten_bind_btTriangleInfoMap____destroy___p0(this.ptr); +} +btTriangleInfoMap.prototype['get_m_zeroAreaThreshold'] = function() { + return _emscripten_bind_btTriangleInfoMap__get_m_zeroAreaThreshold_p0(this.ptr); +} +btTriangleInfoMap.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btTriangleInfoMap__calculateSerializeBufferSize_p0(this.ptr); +} +btTriangleInfoMap.prototype['get_m_maxEdgeAngleThreshold'] = function() { + return _emscripten_bind_btTriangleInfoMap__get_m_maxEdgeAngleThreshold_p0(this.ptr); +} +btTriangleInfoMap.prototype['deSerialize'] = function(arg0) { + _emscripten_bind_btTriangleInfoMap__deSerialize_p1(this.ptr, arg0.ptr); +} +btTriangleInfoMap.prototype['set_m_convexEpsilon'] = function(arg0) { + _emscripten_bind_btTriangleInfoMap__set_m_convexEpsilon_p1(this.ptr, arg0); +} +btTriangleInfoMap.prototype['get_m_edgeDistanceThreshold'] = function() { + return _emscripten_bind_btTriangleInfoMap__get_m_edgeDistanceThreshold_p0(this.ptr); +} +btTriangleInfoMap.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btTriangleInfoMap__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btTriangleInfoMap.prototype['set_m_equalVertexThreshold'] = function(arg0) { + _emscripten_bind_btTriangleInfoMap__set_m_equalVertexThreshold_p1(this.ptr, arg0); +} +btTriangleInfoMap.prototype['set_m_planarEpsilon'] = function(arg0) { + _emscripten_bind_btTriangleInfoMap__set_m_planarEpsilon_p1(this.ptr, arg0); +} +btTriangleInfoMap.prototype['get_m_equalVertexThreshold'] = function() { + return _emscripten_bind_btTriangleInfoMap__get_m_equalVertexThreshold_p0(this.ptr); +} +btTriangleInfoMap.prototype['get_m_convexEpsilon'] = function() { + return _emscripten_bind_btTriangleInfoMap__get_m_convexEpsilon_p0(this.ptr); +} +btTriangleInfoMap.prototype['set_m_edgeDistanceThreshold'] = function(arg0) { + _emscripten_bind_btTriangleInfoMap__set_m_edgeDistanceThreshold_p1(this.ptr, arg0); +} +btTriangleInfoMap.prototype['set_m_maxEdgeAngleThreshold'] = function(arg0) { + _emscripten_bind_btTriangleInfoMap__set_m_maxEdgeAngleThreshold_p1(this.ptr, arg0); +} +btTriangleInfoMap.prototype['set_m_zeroAreaThreshold'] = function(arg0) { + _emscripten_bind_btTriangleInfoMap__set_m_zeroAreaThreshold_p1(this.ptr, arg0); +} +btTriangleInfoMap.prototype['get_m_planarEpsilon'] = function() { + return _emscripten_bind_btTriangleInfoMap__get_m_planarEpsilon_p0(this.ptr); +} +LocalConvexResult.prototype['__destroy__'] = function() { + _emscripten_bind_btCollisionWorld__LocalConvexResult____destroy___p0(this.ptr); +} +LocalConvexResult.prototype['set_m_localShapeInfo'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_localShapeInfo_p1(this.ptr, arg0.ptr); +} +LocalConvexResult.prototype['get_m_hitNormalLocal'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitNormalLocal_p0(this.ptr), Module['btVector3']); +} +LocalConvexResult.prototype['get_m_hitCollisionObject'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitCollisionObject_p0(this.ptr), Module['btCollisionObject']); +} +LocalConvexResult.prototype['set_m_hitNormalLocal'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitNormalLocal_p1(this.ptr, arg0.ptr); +} +LocalConvexResult.prototype['set_m_hitFraction'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitFraction_p1(this.ptr, arg0); +} +function LocalConvexResult(arg0, arg1, arg2, arg3, arg4) { + this.ptr = _emscripten_bind_btCollisionWorld__LocalConvexResult__LocalConvexResult_p5(arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4); + LocalConvexResult.prototype.__cache__[this.ptr] = this; + this.__class__ = LocalConvexResult; +} +LocalConvexResult.prototype.__cache__ = {}; +Module['LocalConvexResult'] = LocalConvexResult; +LocalConvexResult.prototype['set_m_hitCollisionObject'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitCollisionObject_p1(this.ptr, arg0.ptr); +} +LocalConvexResult.prototype['get_m_hitFraction'] = function() { + return _emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitFraction_p0(this.ptr); +} +LocalConvexResult.prototype['set_m_hitPointLocal'] = function(arg0) { + _emscripten_bind_btCollisionWorld__LocalConvexResult__set_m_hitPointLocal_p1(this.ptr, arg0.ptr); +} +LocalConvexResult.prototype['get_m_localShapeInfo'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_localShapeInfo_p0(this.ptr), Module['LocalShapeInfo']); +} +LocalConvexResult.prototype['get_m_hitPointLocal'] = function() { + return wrapPointer(_emscripten_bind_btCollisionWorld__LocalConvexResult__get_m_hitPointLocal_p0(this.ptr), Module['btVector3']); +} +bt32BitAxisSweep3.prototype['getNumHandles'] = function() { + return _emscripten_bind_bt32BitAxisSweep3__getNumHandles_p0(this.ptr); +} +bt32BitAxisSweep3.prototype['addHandle'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + return _emscripten_bind_bt32BitAxisSweep3__addHandle_p7(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5.ptr, arg6); +} +bt32BitAxisSweep3.prototype['quantize'] = function(arg0, arg1, arg2) { + _emscripten_bind_bt32BitAxisSweep3__quantize_p3(this.ptr, arg0, arg1.ptr, arg2); +} +bt32BitAxisSweep3.prototype['removeHandle'] = function(arg0, arg1) { + _emscripten_bind_bt32BitAxisSweep3__removeHandle_p2(this.ptr, arg0, arg1.ptr); +} +bt32BitAxisSweep3.prototype['getOverlappingPairUserCallback'] = function() { + return wrapPointer(_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairUserCallback_p0(this.ptr), Module['btOverlappingPairCallback']); +} +bt32BitAxisSweep3.prototype['processAllOverlappingPairs'] = function(arg0) { + _emscripten_bind_bt32BitAxisSweep3__processAllOverlappingPairs_p1(this.ptr, arg0.ptr); +} +bt32BitAxisSweep3.prototype['rayTest'] = function(arg0, arg1, arg2, arg3, arg4) { + if (arg3 === undefined) + _emscripten_bind_bt32BitAxisSweep3__rayTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); + else if (arg4 === undefined) + _emscripten_bind_bt32BitAxisSweep3__rayTest_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); + else + _emscripten_bind_bt32BitAxisSweep3__rayTest_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +bt32BitAxisSweep3.prototype['setAabb'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_bt32BitAxisSweep3__setAabb_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +bt32BitAxisSweep3.prototype['resetPool'] = function(arg0) { + _emscripten_bind_bt32BitAxisSweep3__resetPool_p1(this.ptr, arg0.ptr); +} +bt32BitAxisSweep3.prototype['testAabbOverlap'] = function(arg0, arg1) { + return _emscripten_bind_bt32BitAxisSweep3__testAabbOverlap_p2(this.ptr, arg0.ptr, arg1.ptr); +} +bt32BitAxisSweep3.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_bt32BitAxisSweep3__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +bt32BitAxisSweep3.prototype['updateHandle'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_bt32BitAxisSweep3__updateHandle_p4(this.ptr, arg0, arg1.ptr, arg2.ptr, arg3.ptr); +} +function bt32BitAxisSweep3(arg0, arg1, arg2, arg3, arg4) { + if (arg2 === undefined) + this.ptr = _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p2(arg0.ptr, arg1.ptr); + else if (arg3 === undefined) + this.ptr = _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p3(arg0.ptr, arg1.ptr, arg2); + else if (arg4 === undefined) + this.ptr = _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p4(arg0.ptr, arg1.ptr, arg2, arg3.ptr); + else + this.ptr = _emscripten_bind_bt32BitAxisSweep3__bt32BitAxisSweep3_p5(arg0.ptr, arg1.ptr, arg2, arg3.ptr, arg4); + bt32BitAxisSweep3.prototype.__cache__[this.ptr] = this; + this.__class__ = bt32BitAxisSweep3; +} +bt32BitAxisSweep3.prototype.__cache__ = {}; +Module['bt32BitAxisSweep3'] = bt32BitAxisSweep3; +bt32BitAxisSweep3.prototype['printStats'] = function() { + _emscripten_bind_bt32BitAxisSweep3__printStats_p0(this.ptr); +} +bt32BitAxisSweep3.prototype['createProxy'] = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + return wrapPointer(_emscripten_bind_bt32BitAxisSweep3__createProxy_p8(this.ptr, arg0.ptr, arg1.ptr, arg2, arg3, arg4, arg5, arg6.ptr, arg7), Module['btBroadphaseProxy']); +} +bt32BitAxisSweep3.prototype['__destroy__'] = function() { + _emscripten_bind_bt32BitAxisSweep3____destroy___p0(this.ptr); +} +bt32BitAxisSweep3.prototype['setOverlappingPairUserCallback'] = function(arg0) { + _emscripten_bind_bt32BitAxisSweep3__setOverlappingPairUserCallback_p1(this.ptr, arg0.ptr); +} +bt32BitAxisSweep3.prototype['calculateOverlappingPairs'] = function(arg0) { + _emscripten_bind_bt32BitAxisSweep3__calculateOverlappingPairs_p1(this.ptr, arg0.ptr); +} +bt32BitAxisSweep3.prototype['getOverlappingPairCache'] = function() { + return wrapPointer(_emscripten_bind_bt32BitAxisSweep3__getOverlappingPairCache_p0(this.ptr), Module['btOverlappingPairCache']); +} +bt32BitAxisSweep3.prototype['unQuantize'] = function(arg0, arg1, arg2) { + _emscripten_bind_bt32BitAxisSweep3__unQuantize_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +bt32BitAxisSweep3.prototype['aabbTest'] = function(arg0, arg1, arg2) { + _emscripten_bind_bt32BitAxisSweep3__aabbTest_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +bt32BitAxisSweep3.prototype['getBroadphaseAabb'] = function(arg0, arg1) { + _emscripten_bind_bt32BitAxisSweep3__getBroadphaseAabb_p2(this.ptr, arg0.ptr, arg1.ptr); +} +bt32BitAxisSweep3.prototype['destroyProxy'] = function(arg0, arg1) { + _emscripten_bind_bt32BitAxisSweep3__destroyProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +bt32BitAxisSweep3.prototype['getHandle'] = function(arg0) { + return _emscripten_bind_bt32BitAxisSweep3__getHandle_p1(this.ptr, arg0); +} +function btCollisionAlgorithm(){ throw "btCollisionAlgorithm is abstract!" } +btCollisionAlgorithm.prototype.__cache__ = {}; +Module['btCollisionAlgorithm'] = btCollisionAlgorithm; +btCollisionAlgorithm.prototype['getAllContactManifolds'] = function(arg0) { + _emscripten_bind_btCollisionAlgorithm__getAllContactManifolds_p1(this.ptr, arg0); +} +btCollisionAlgorithm.prototype['calculateTimeOfImpact'] = function(arg0, arg1, arg2, arg3) { + return _emscripten_bind_btCollisionAlgorithm__calculateTimeOfImpact_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btCollisionAlgorithm.prototype['processCollision'] = function(arg0, arg1, arg2, arg3) { + _emscripten_bind_btCollisionAlgorithm__processCollision_p4(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr); +} +btSphereShape.prototype['calculateLocalInertia'] = function(arg0, arg1) { + _emscripten_bind_btSphereShape__calculateLocalInertia_p2(this.ptr, arg0, arg1.ptr); +} +btSphereShape.prototype['isCompound'] = function() { + return _emscripten_bind_btSphereShape__isCompound_p0(this.ptr); +} +btSphereShape.prototype['localGetSupportingVertex'] = function(arg0) { + return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportingVertex_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btSphereShape.prototype['setUserPointer'] = function(arg0) { + _emscripten_bind_btSphereShape__setUserPointer_p1(this.ptr, arg0); +} +btSphereShape.prototype['getMarginNV'] = function() { + return _emscripten_bind_btSphereShape__getMarginNV_p0(this.ptr); +} +btSphereShape.prototype['serialize'] = function(arg0, arg1) { + return _emscripten_bind_btSphereShape__serialize_p2(this.ptr, arg0, arg1.ptr); +} +btSphereShape.prototype['getLocalScaling'] = function() { + return wrapPointer(_emscripten_bind_btSphereShape__getLocalScaling_p0(this.ptr), Module['btVector3']); +} +btSphereShape.prototype['getNumPreferredPenetrationDirections'] = function() { + return _emscripten_bind_btSphereShape__getNumPreferredPenetrationDirections_p0(this.ptr); +} +btSphereShape.prototype['isPolyhedral'] = function() { + return _emscripten_bind_btSphereShape__isPolyhedral_p0(this.ptr); +} +btSphereShape.prototype['getRadius'] = function() { + return _emscripten_bind_btSphereShape__getRadius_p0(this.ptr); +} +btSphereShape.prototype['getAabbNonVirtual'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSphereShape__getAabbNonVirtual_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSphereShape.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btSphereShape__calculateSerializeBufferSize_p0(this.ptr); +} +btSphereShape.prototype['getName'] = function() { + return _emscripten_bind_btSphereShape__getName_p0(this.ptr); +} +btSphereShape.prototype['getLocalScalingNV'] = function() { + return wrapPointer(_emscripten_bind_btSphereShape__getLocalScalingNV_p0(this.ptr), Module['btVector3']); +} +btSphereShape.prototype['localGetSupportVertexWithoutMarginNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportVertexWithoutMarginNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btSphereShape.prototype['setImplicitShapeDimensions'] = function(arg0) { + _emscripten_bind_btSphereShape__setImplicitShapeDimensions_p1(this.ptr, arg0.ptr); +} +btSphereShape.prototype['setLocalScaling'] = function(arg0) { + _emscripten_bind_btSphereShape__setLocalScaling_p1(this.ptr, arg0.ptr); +} +btSphereShape.prototype['getAabb'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSphereShape__getAabb_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSphereShape.prototype['setUnscaledRadius'] = function(arg0) { + _emscripten_bind_btSphereShape__setUnscaledRadius_p1(this.ptr, arg0); +} +btSphereShape.prototype['localGetSupportVertexNonVirtual'] = function(arg0) { + return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportVertexNonVirtual_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btSphereShape.prototype['getContactBreakingThreshold'] = function(arg0) { + return _emscripten_bind_btSphereShape__getContactBreakingThreshold_p1(this.ptr, arg0); +} +btSphereShape.prototype['isConvex'] = function() { + return _emscripten_bind_btSphereShape__isConvex_p0(this.ptr); +} +btSphereShape.prototype['isInfinite'] = function() { + return _emscripten_bind_btSphereShape__isInfinite_p0(this.ptr); +} +btSphereShape.prototype['getUserPointer'] = function() { + return _emscripten_bind_btSphereShape__getUserPointer_p0(this.ptr); +} +btSphereShape.prototype['isNonMoving'] = function() { + return _emscripten_bind_btSphereShape__isNonMoving_p0(this.ptr); +} +btSphereShape.prototype['getMargin'] = function() { + return _emscripten_bind_btSphereShape__getMargin_p0(this.ptr); +} +btSphereShape.prototype['getPreferredPenetrationDirection'] = function(arg0, arg1) { + _emscripten_bind_btSphereShape__getPreferredPenetrationDirection_p2(this.ptr, arg0, arg1.ptr); +} +btSphereShape.prototype['setMargin'] = function(arg0) { + _emscripten_bind_btSphereShape__setMargin_p1(this.ptr, arg0); +} +btSphereShape.prototype['isConvex2d'] = function() { + return _emscripten_bind_btSphereShape__isConvex2d_p0(this.ptr); +} +function btSphereShape(arg0) { + this.ptr = _emscripten_bind_btSphereShape__btSphereShape_p1(arg0); + btSphereShape.prototype.__cache__[this.ptr] = this; + this.__class__ = btSphereShape; +} +btSphereShape.prototype.__cache__ = {}; +Module['btSphereShape'] = btSphereShape; +btSphereShape.prototype['localGetSupportingVertexWithoutMargin'] = function(arg0) { + return wrapPointer(_emscripten_bind_btSphereShape__localGetSupportingVertexWithoutMargin_p1(this.ptr, arg0.ptr), Module['btVector3']); +} +btSphereShape.prototype['isSoftBody'] = function() { + return _emscripten_bind_btSphereShape__isSoftBody_p0(this.ptr); +} +btSphereShape.prototype['getMarginNonVirtual'] = function() { + return _emscripten_bind_btSphereShape__getMarginNonVirtual_p0(this.ptr); +} +btSphereShape.prototype['__destroy__'] = function() { + _emscripten_bind_btSphereShape____destroy___p0(this.ptr); +} +btSphereShape.prototype['batchedUnitVectorGetSupportingVertexWithoutMargin'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btSphereShape.prototype['getImplicitShapeDimensions'] = function() { + return wrapPointer(_emscripten_bind_btSphereShape__getImplicitShapeDimensions_p0(this.ptr), Module['btVector3']); +} +btSphereShape.prototype['getBoundingSphere'] = function(arg0, arg1) { + _emscripten_bind_btSphereShape__getBoundingSphere_p2(this.ptr, arg0.ptr, arg1); +} +btSphereShape.prototype['getAngularMotionDisc'] = function() { + return _emscripten_bind_btSphereShape__getAngularMotionDisc_p0(this.ptr); +} +btSphereShape.prototype['serializeSingleShape'] = function(arg0) { + _emscripten_bind_btSphereShape__serializeSingleShape_p1(this.ptr, arg0.ptr); +} +btSphereShape.prototype['getAabbSlow'] = function(arg0, arg1, arg2) { + _emscripten_bind_btSphereShape__getAabbSlow_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btSphereShape.prototype['calculateTemporalAabb'] = function(arg0, arg1, arg2, arg3, arg4, arg5) { + _emscripten_bind_btSphereShape__calculateTemporalAabb_p6(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3, arg4.ptr, arg5.ptr); +} +btSphereShape.prototype['isConcave'] = function() { + return _emscripten_bind_btSphereShape__isConcave_p0(this.ptr); +} +btSphereShape.prototype['getShapeType'] = function() { + return _emscripten_bind_btSphereShape__getShapeType_p0(this.ptr); +} +btQuantizedBvh.prototype['setTraversalMode'] = function(arg0) { + _emscripten_bind_btQuantizedBvh__setTraversalMode_p1(this.ptr, arg0); +} +btQuantizedBvh.prototype['buildInternal'] = function() { + _emscripten_bind_btQuantizedBvh__buildInternal_p0(this.ptr); +} +btQuantizedBvh.prototype['serialize'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + return _emscripten_bind_btQuantizedBvh__serialize_p2(this.ptr, arg0, arg1.ptr); + else + return _emscripten_bind_btQuantizedBvh__serialize_p3(this.ptr, arg0, arg1, arg2); +} +btQuantizedBvh.prototype['getLeafNodeArray'] = function() { + return _emscripten_bind_btQuantizedBvh__getLeafNodeArray_p0(this.ptr); +} +btQuantizedBvh.prototype['setQuantizationValues'] = function(arg0, arg1, arg2) { + if (arg2 === undefined) + _emscripten_bind_btQuantizedBvh__setQuantizationValues_p2(this.ptr, arg0.ptr, arg1.ptr); + else + _emscripten_bind_btQuantizedBvh__setQuantizationValues_p3(this.ptr, arg0.ptr, arg1.ptr, arg2); +} +btQuantizedBvh.prototype['quantize'] = function(arg0, arg1, arg2) { + _emscripten_bind_btQuantizedBvh__quantize_p3(this.ptr, arg0, arg1.ptr, arg2); +} +btQuantizedBvh.prototype['isQuantized'] = function() { + return _emscripten_bind_btQuantizedBvh__isQuantized_p0(this.ptr); +} +btQuantizedBvh.prototype['getAlignmentSerializationPadding'] = function() { + return _emscripten_bind_btQuantizedBvh__getAlignmentSerializationPadding_p0(); +} +btQuantizedBvh.prototype['calculateSerializeBufferSize'] = function() { + return _emscripten_bind_btQuantizedBvh__calculateSerializeBufferSize_p0(this.ptr); +} +btQuantizedBvh.prototype['getQuantizedNodeArray'] = function() { + return _emscripten_bind_btQuantizedBvh__getQuantizedNodeArray_p0(this.ptr); +} +btQuantizedBvh.prototype['reportAabbOverlappingNodex'] = function(arg0, arg1, arg2) { + _emscripten_bind_btQuantizedBvh__reportAabbOverlappingNodex_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btQuantizedBvh.prototype['reportRayOverlappingNodex'] = function(arg0, arg1, arg2) { + _emscripten_bind_btQuantizedBvh__reportRayOverlappingNodex_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btQuantizedBvh.prototype['deSerializeInPlace'] = function(arg0, arg1, arg2) { + return wrapPointer(_emscripten_bind_btQuantizedBvh__deSerializeInPlace_p3(arg0, arg1, arg2), Module['btQuantizedBvh']); +} +btQuantizedBvh.prototype['quantizeWithClamp'] = function(arg0, arg1, arg2) { + _emscripten_bind_btQuantizedBvh__quantizeWithClamp_p3(this.ptr, arg0, arg1.ptr, arg2); +} +btQuantizedBvh.prototype['deSerializeDouble'] = function(arg0) { + _emscripten_bind_btQuantizedBvh__deSerializeDouble_p1(this.ptr, arg0.ptr); +} +btQuantizedBvh.prototype['calculateSerializeBufferSizeNew'] = function() { + return _emscripten_bind_btQuantizedBvh__calculateSerializeBufferSizeNew_p0(this.ptr); +} +btQuantizedBvh.prototype['__destroy__'] = function() { + _emscripten_bind_btQuantizedBvh____destroy___p0(this.ptr); +} +function btQuantizedBvh() { + this.ptr = _emscripten_bind_btQuantizedBvh__btQuantizedBvh_p0(); + btQuantizedBvh.prototype.__cache__[this.ptr] = this; + this.__class__ = btQuantizedBvh; +} +btQuantizedBvh.prototype.__cache__ = {}; +Module['btQuantizedBvh'] = btQuantizedBvh; +btQuantizedBvh.prototype['deSerializeFloat'] = function(arg0) { + _emscripten_bind_btQuantizedBvh__deSerializeFloat_p1(this.ptr, arg0.ptr); +} +btQuantizedBvh.prototype['getSubtreeInfoArray'] = function() { + return _emscripten_bind_btQuantizedBvh__getSubtreeInfoArray_p0(this.ptr); +} +btQuantizedBvh.prototype['unQuantize'] = function(arg0) { + return wrapPointer(_emscripten_bind_btQuantizedBvh__unQuantize_p1(this.ptr, arg0), Module['btVector3']); +} +btQuantizedBvh.prototype['reportBoxCastOverlappingNodex'] = function(arg0, arg1, arg2, arg3, arg4) { + _emscripten_bind_btQuantizedBvh__reportBoxCastOverlappingNodex_p5(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr, arg3.ptr, arg4.ptr); +} +btHashString.prototype['get_m_string'] = function() { + return _emscripten_bind_btHashString__get_m_string_p0(this.ptr); +} +btHashString.prototype['__destroy__'] = function() { + _emscripten_bind_btHashString____destroy___p0(this.ptr); +} +btHashString.prototype['set_m_hash'] = function(arg0) { + _emscripten_bind_btHashString__set_m_hash_p1(this.ptr, arg0); +} +btHashString.prototype['set_m_string'] = function(arg0) { +var stack = Runtime.stackSave(); +try { + _emscripten_bind_btHashString__set_m_string_p1(this.ptr, ensureString(arg0)); +} finally { Runtime.stackRestore(stack) } +} +function btHashString(arg0) { +var stack = Runtime.stackSave(); +try { + this.ptr = _emscripten_bind_btHashString__btHashString_p1(ensureString(arg0)); +} finally { Runtime.stackRestore(stack) } + btHashString.prototype.__cache__[this.ptr] = this; + this.__class__ = btHashString; +} +btHashString.prototype.__cache__ = {}; +Module['btHashString'] = btHashString; +btHashString.prototype['equals'] = function(arg0) { + return _emscripten_bind_btHashString__equals_p1(this.ptr, arg0.ptr); +} +btHashString.prototype['getHash'] = function() { + return _emscripten_bind_btHashString__getHash_p0(this.ptr); +} +btHashString.prototype['portableStringCompare'] = function(arg0, arg1) { +var stack = Runtime.stackSave(); +try { + return _emscripten_bind_btHashString__portableStringCompare_p2(this.ptr, ensureString(arg0), ensureString(arg1)); +} finally { Runtime.stackRestore(stack) } +} +btHashString.prototype['get_m_hash'] = function() { + return _emscripten_bind_btHashString__get_m_hash_p0(this.ptr); +} +btGhostPairCallback.prototype['addOverlappingPair'] = function(arg0, arg1) { + return wrapPointer(_emscripten_bind_btGhostPairCallback__addOverlappingPair_p2(this.ptr, arg0.ptr, arg1.ptr), Module['btBroadphasePair']); +} +btGhostPairCallback.prototype['removeOverlappingPair'] = function(arg0, arg1, arg2) { + return _emscripten_bind_btGhostPairCallback__removeOverlappingPair_p3(this.ptr, arg0.ptr, arg1.ptr, arg2.ptr); +} +btGhostPairCallback.prototype['__destroy__'] = function() { + _emscripten_bind_btGhostPairCallback____destroy___p0(this.ptr); +} +function btGhostPairCallback() { + this.ptr = _emscripten_bind_btGhostPairCallback__btGhostPairCallback_p0(); + btGhostPairCallback.prototype.__cache__[this.ptr] = this; + this.__class__ = btGhostPairCallback; +} +btGhostPairCallback.prototype.__cache__ = {}; +Module['btGhostPairCallback'] = btGhostPairCallback; +btGhostPairCallback.prototype['removeOverlappingPairsContainingProxy'] = function(arg0, arg1) { + _emscripten_bind_btGhostPairCallback__removeOverlappingPairsContainingProxy_p2(this.ptr, arg0.ptr, arg1.ptr); +} +this['Ammo'] = Module; /* With or without a closure, the proper usage is Ammo.* */ diff --git a/lib/goo-require.js b/lib/goo-require.js index 29d21e0..ec25d2f 100644 --- a/lib/goo-require.js +++ b/lib/goo-require.js @@ -9,21 +9,21 @@ t+=e!==this.cols-1?"], ":"]"}return t},e}),define("goo/math/Matrix3x3",["goo/mat },i.prototype.mul=function(t){return i.mul(this,t,this)},i.div=function(t,e,r){return r||(r=new i),e instanceof i?(r.e00=t.e00/e.e00,r.e10=t.e10/e.e10,r.e20=t.e20/e.e20,r.e30=t.e30/e.e30,r.e01=t.e01/e.e01,r.e11=t.e11/e.e11,r.e21=t.e21/e.e21,r.e31=t.e31/e.e31,r.e02=t.e02/e.e02,r.e12=t.e12/e.e12,r.e22=t.e22/e.e22,r.e32=t.e32/e.e32,r.e03=t.e03/e.e03,r.e13=t.e13/e.e13,r.e23=t.e23/e.e23,r.e33=t.e33/e.e33):(e=1/e,r.e00=t.e00*e,r.e10=t.e10*e,r.e20=t.e20*e,r.e30=t.e30*e,r.e01=t.e01*e,r.e11=t.e11*e,r.e21=t.e21*e,r.e31=t.e31*e,r.e02=t.e02*e,r.e12=t.e12*e,r.e22=t.e22*e,r.e32=t.e32*e,r.e03=t.e03*e,r.e13=t.e13*e,r.e23=t.e23*e,r.e33=t.e33*e),r},i.prototype.div=function(t){return i.div(this,t,this)},i.combine=function(t,e,r){r||(r=new i);var o=t.data,n=o[0],a=o[4],s=o[8],h=o[12],c=o[1],l=o[5],u=o[9],d=o[13],p=o[2],f=o[6],m=o[10],g=o[14],v=o[3],y=o[7],x=o[11],_=o[15],w=e.data,b=w[0],M=w[4],S=w[8],C=w[12],T=w[1],E=w[5],P=w[9],D=w[13],A=w[2],R=w[6],I=w[10],O=w[14],L=w[3],N=w[7],k=w[11],F=w[15],B=r.data;return B[0]=n*b+a*T+s*A+h*L,B[4]=n*M+a*E+s*R+h*N,B[8]=n*S+a*P+s*I+h*k,B[12]=n*C+a*D+s*O+h*F,B[1]=c*b+l*T+u*A+d*L,B[5]=c*M+l*E+u*R+d*N,B[9]=c*S+l*P+u*I+d*k,B[13]=c*C+l*D+u*O+d*F,B[2]=p*b+f*T+m*A+g*L,B[6]=p*M+f*E+m*R+g*N,B[10]=p*S+f*P+m*I+g*k,B[14]=p*C+f*D+m*O+g*F,B[3]=v*b+y*T+x*A+_*L,B[7]=v*M+y*E+x*R+_*N,B[11]=v*S+y*P+x*I+_*k,B[15]=v*C+y*D+x*O+_*F,r},i.prototype.combine=function(t){return i.combine(this,t,this)},i.transpose=function(t,e){e||(e=new i);var r=t.data,o=e.data;if(e===t){var n=r[4],a=r[8],s=r[12],h=r[9],c=r[13],l=r[14];return o[4]=r[1],o[8]=r[2],o[12]=r[3],o[9]=r[6],o[13]=r[7],o[14]=r[11],o[1]=n,o[2]=a,o[3]=s,o[6]=h,o[7]=c,o[11]=l,e}return o[0]=r[0],o[1]=r[4],o[2]=r[8],o[3]=r[12],o[4]=r[1],o[5]=r[5],o[6]=r[9],o[7]=r[13],o[8]=r[2],o[9]=r[6],o[10]=r[10],o[11]=r[14],o[12]=r[3],o[13]=r[7],o[14]=r[11],o[15]=r[15],e},i.prototype.transpose=function(){return i.transpose(this,this)},i.invert=function(r,o){if(o||(o=new i),o===r)return e.copy(i.invert(r),o);var n=r.determinant();if(Math.abs(n)t.EPSILON?!1:(e=this.e00*this.e02+this.e10*this.e12+this.e20*this.e22+this.e30*this.e32,Math.abs(e)>t.EPSILON?!1:(e=this.e00*this.e03+this.e10*this.e13+this.e20*this.e23+this.e30*this.e33,Math.abs(e)>t.EPSILON?!1:(e=this.e01*this.e02+this.e11*this.e12+this.e21*this.e22+this.e31*this.e32,Math.abs(e)>t.EPSILON?!1:(e=this.e01*this.e03+this.e11*this.e13+this.e21*this.e23+this.e31*this.e33,Math.abs(e)>t.EPSILON?!1:(e=this.e02*this.e03+this.e12*this.e13+this.e22*this.e23+this.e32*this.e33,Math.abs(e)>t.EPSILON?!1:!0)))))},i.prototype.isNormal=function(){var e;return e=this.e00*this.e00+this.e10*this.e10+this.e20*this.e20+this.e30*this.e30,Math.abs(e-1)>t.EPSILON?!1:(e=this.e01*this.e01+this.e11*this.e11+this.e21*this.e21+this.e31*this.e31,Math.abs(e-1)>t.EPSILON?!1:(e=this.e02*this.e02+this.e12*this.e12+this.e22*this.e22+this.e32*this.e32,Math.abs(e-1)>t.EPSILON?!1:(e=this.e03*this.e03+this.e13*this.e13+this.e23*this.e23+this.e33*this.e33,Math.abs(e-1)>t.EPSILON?!1:!0)))},i.prototype.isOrthonormal=function(){return this.isOrthogonal()&&this.isNormal()},i.prototype.determinant=function(){var t=this.data,e=t[5]*t[10]*t[15]+t[9]*t[14]*t[7]+t[13]*t[6]*t[11]-t[13]*t[10]*t[7]-t[9]*t[6]*t[15]-t[5]*t[14]*t[11],i=t[1]*t[10]*t[15]+t[9]*t[14]*t[3]+t[13]*t[2]*t[11]-t[13]*t[10]*t[3]-t[9]*t[2]*t[15]-t[1]*t[14]*t[11],r=t[1]*t[6]*t[15]+t[5]*t[14]*t[3]+t[13]*t[2]*t[7]-t[13]*t[6]*t[3]-t[5]*t[2]*t[15]-t[1]*t[14]*t[7],o=t[1]*t[6]*t[11]+t[5]*t[10]*t[3]+t[9]*t[2]*t[7]-t[9]*t[6]*t[3]-t[5]*t[2]*t[11]-t[1]*t[10]*t[7];return t[0]*e-t[4]*i+t[8]*r-t[12]*o},i.prototype.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},i.prototype.setRotationFromVector=function(t){var e=Math.sin(t.x),i=Math.cos(t.x),r=Math.sin(t.y),o=Math.cos(t.y),n=Math.sin(t.z),a=Math.cos(t.z);return this.e00=a*o,this.e10=n*o,this.e20=0-r,this.e01=a*r*e-n*i,this.e11=n*r*e+a*i,this.e21=o*e,this.e02=a*r*i+n*e,this.e12=n*r*i-a*e,this.e22=o*i,this},i.prototype.setRotationFromQuaternion=function(t){var e=t.lengthSquared();e=e>0?2/e:0;var i=t.x*e,r=t.y*e,o=t.z*e,n=t.w*i,a=t.w*r,s=t.w*o,h=t.x*i,c=t.x*r,l=t.x*o,u=t.y*r,d=t.y*o,p=t.z*o;return this.e00=1-u-p,this.e10=c+s,this.e20=l-a,this.e01=c-s,this.e11=1-h-p,this.e21=d+n,this.e02=l+a,this.e12=d-n,this.e22=1-h-u,this},i.prototype.setTranslation=function(t){return this.e03=t.x,this.e13=t.y,this.e23=t.z,this},i.prototype.getTranslation=function(t){return t.x=this.data[12],t.y=this.data[13],t.z=this.data[14],this},i.prototype.getScale=function(t){var e=Math.sqrt(t.setd(this.data[0],this.data[4],this.data[8]).lengthSquared()),i=Math.sqrt(t.setd(this.data[1],this.data[5],this.data[9]).lengthSquared()),r=Math.sqrt(t.setd(this.data[2],this.data[6],this.data[10]).lengthSquared());return t.x=e,t.y=i,t.z=r,this},i.prototype.setScale=function(t){return this.e00*=t.x,this.e10*=t.y,this.e20*=t.z,this.e01*=t.x,this.e11*=t.y,this.e21*=t.z,this.e02*=t.x,this.e12*=t.y,this.e22*=t.z,this},i.prototype.applyPre=function(t){var e=t.data[0],i=t.data[1],r=t.data[2],o=t.data[3],n=this.data;return t.data[0]=n[0]*e+n[1]*i+n[2]*r+n[3]*o,t.data[1]=n[4]*e+n[5]*i+n[6]*r+n[7]*o,t.data[2]=n[8]*e+n[9]*i+n[10]*r+n[11]*o,t.data[3]=n[12]*e+n[13]*i+n[14]*r+n[15]*o,t},i.prototype.applyPost=function(t){var e=t.data[0],i=t.data[1],r=t.data[2],o=t.data[3],n=this.data;return t.data[0]=n[0]*e+n[4]*i+n[8]*r+n[12]*o,t.data[1]=n[1]*e+n[5]*i+n[9]*r+n[13]*o,t.data[2]=n[2]*e+n[6]*i+n[10]*r+n[14]*o,t.data[3]=n[3]*e+n[7]*i+n[11]*r+n[15]*o,t},i.prototype.applyPostPoint=function(t){var e=t.data[0],i=t.data[1],r=t.data[2],o=this.data;return t.data[0]=o[0]*e+o[4]*i+o[8]*r+o[12],t.data[1]=o[1]*e+o[5]*i+o[9]*r+o[13],t.data[2]=o[2]*e+o[6]*i+o[10]*r+o[14],t},i.prototype.applyPostVector=function(t){var e=t.x,i=t.y,r=t.z,o=this.data;return t.x=o[0]*e+o[4]*i+o[8]*r,t.y=o[1]*e+o[5]*i+o[9]*r,t.z=o[2]*e+o[6]*i+o[10]*r,t},i.prototype.copy=function(t){var e=this.data,i=t.data;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},i.prototype.clone=function(){var t=this.data;return new i(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},i}),define("goo/entities/managers/EntityManager",[],function(){"use strict";function t(){this.type="EntityManager",this._entitiesById=[],this._entityCount=0}return t.prototype.added=function(t){this.containsEntity(t)||(this._entitiesById[t.id]=t,this._entityCount++)},t.prototype.removed=function(t){this.containsEntity(t)&&(delete this._entitiesById[t.id],this._entityCount--)},t.prototype.containsEntity=function(t){return void 0!==this._entitiesById[t.id]},t.prototype.getEntityById=function(t){return this._entitiesById[t]},t.prototype.getEntityByName=function(t){for(var e in this._entitiesById){var i=this._entitiesById[e];if(i.name===t)return i}},t.prototype.size=function(){return this._entityCount},t.prototype.getEntities=function(){var t=[];for(var e in this._entitiesById)t.push(this._entitiesById[e]);return t},t.prototype.getTopEntities=function(){var t=[];for(var e in this._entitiesById){var i=this._entitiesById[e];i.transformComponent?i.transformComponent.parent||t.push(i):t.push(i)}return t},t}),define("goo/math/Transform",["goo/math/Vector3","goo/math/Matrix3x3","goo/math/Matrix4x4"],function(t,e,i){"use strict";function r(){this.matrix=new i,this.translation=new t,this.rotation=new e,this.scale=new t(1,1,1),this.tmpVec=new t,this.tmpVec2=new t,this.tmpMat1=new e}return r.combine=function(t,i,o){if(t.scale.data[0]!==t.scale.data[1]||t.scale.data[0]!==t.scale.data[2])throw{name:"NonUniformScaleException",message:"Non-uniform scaling in left hand transform, cannot resolve combined transform"};o=o||new r;var n=o.tmpVec;n.setv(i.translation),t.rotation.applyPost(n),n.mulv(t.scale),n.addv(t.translation);var a=o.tmpVec2;a.setv(i.scale),a.mulv(t.scale);var s=o.tmpMat1;return e.combine(t.rotation,i.rotation,s),o.rotation.copy(s),o.scale.setv(a),o.translation.setv(n),o},r.prototype.combine=function(t){return r.combine(this,t,this)},r.prototype.multiply=function(t,r){i.combine(t.matrix,r.matrix,this.matrix),this.tmpMat1.data.set(t.rotation.data),this.rotation.data.set(r.rotation.data),e.combine(this.tmpMat1,this.rotation,this.rotation),this.translation.setv(r.translation),this.translation.mulv(t.scale),this.tmpMat1.applyPost(this.translation).addv(t.translation),this.scale.setv(t.scale).mulv(r.scale)},r.prototype.setIdentity=function(){this.matrix.setIdentity(),this.translation.setv(t.ZERO),this.rotation.setIdentity(),this.scale.setv(t.ONE)},r.prototype.applyForward=function(t,e){return e.setv(t),this.matrix.applyPostPoint(e),e},r.prototype.applyForwardVector=function(t,e){return e.copy(t),e.set(e.x*this.scale.x,e.y*this.scale.y,e.z*this.scale.z),this.rotation.applyPost(e),e},r.prototype.update=function(){var t=this.matrix.data,e=this.rotation.data,i=this.scale.data,r=this.translation.data;t[0]=i[0]*e[0],t[1]=i[0]*e[1],t[2]=i[0]*e[2],t[3]=0,t[4]=i[1]*e[3],t[5]=i[1]*e[4],t[6]=i[1]*e[5],t[7]=0,t[8]=i[2]*e[6],t[9]=i[2]*e[7],t[10]=i[2]*e[8],t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1},r.prototype.copy=function(t){this.matrix.copy(t.matrix),this.translation.setv(t.translation),this.rotation.copy(t.rotation),this.scale.setv(t.scale)},r.prototype.setRotationXYZ=function(t,e,i){this.rotation.fromAngles(t,e,i)},r.prototype.lookAt=function(t,e){this.tmpVec.setv(this.translation).subv(t).normalize(),this.rotation.lookAt(this.tmpVec,e)},r.prototype.invert=function(t){var e=t;e||(e=new r),e.matrix.copy(this.matrix),e.matrix.invert();var i=e.rotation.copy(this.rotation);return i.multiplyDiagonalPost(this.scale,i).invert(),e.translation.copy(this.translation),e.rotation.applyPost(e.translation).invert(),e},r.prototype.toString=function(){return""+this.matrix},r}),define("goo/entities/components/TransformComponent",["goo/math/Transform","goo/math/Vector3","goo/entities/components/Component"],function(t,e,i){"use strict";function r(){this.type="TransformComponent",this.parent=null,this.children=[],this.transform=new t,this.worldTransform=new t,this._dirty=!0,this._updated=!1}return r.prototype=Object.create(i.prototype),r.prototype.setTranslation=function(){return this.transform.translation.set(arguments),this._dirty=!0,this},r.prototype.setScale=function(){return this.transform.scale.set(arguments),this._dirty=!0,this},r.prototype.addTranslation=function(){return 3===arguments.length?this.transform.translation.add(arguments):this.transform.translation.add(arguments[0]),this._dirty=!0,this},r.prototype.setRotation=function(t,e,i){return this.transform.rotation.fromAngles(t,e,i),this._dirty=!0,this},r.prototype.lookAt=function(t,e){return this.transform.lookAt(t,e),this._dirty=!0,this},r.prototype.setUpdated=function(){this._dirty=!0},r.prototype.attachChild=function(t){for(var e=this;e;){if(e===t)return console.warn("attachChild: An object can't be added as a descendant of itself."),void 0;e=e.parent}t.parent&&t.parent.detachChild(t),t.parent=this,this.children.push(t)},r.prototype.detachChild=function(t){if(t===this)return console.warn("attachChild: An object can't be removed from itself."),void 0;var e=this.children.indexOf(t);-1!==e&&(t.parent=null,this.children.splice(e,1))},r.prototype.updateTransform=function(){this.transform.update()},r.prototype.updateWorldTransform=function(){this.parent?this.worldTransform.multiply(this.parent.worldTransform,this.transform):this.worldTransform.copy(this.transform),this._dirty=!1,this._updated=!0},r}),define("goo/entities/World",["goo/entities/Entity","goo/entities/managers/EntityManager","goo/entities/components/TransformComponent"],function(t,e,i){"use strict";function r(t){this.gooRunner=t,this._managers=[],this._systems=[],this._addedEntities=[],this._changedEntities=[],this._removedEntities=[],this.entityManager=new e,this.setManager(this.entityManager),this.time=0,this.tpf=1}return r.time=0,r.tpf=1,r.prototype.setManager=function(t){this._managers.push(t)},r.prototype.getManager=function(t){for(var e=0;e1&&n.sort(this.bucketSorter);for(var u=0;ua;a++)t[n["TEXTURE"+a]]=function(t){return function(e){e.uniform1i(t)}}(a);for(var a=0;8>a;a++)t[n["LIGHT"+a]]=function(t){return function(e,i){var r=i.lights[t];void 0!==r?e.uniform3f(r.translation.data[0],r.translation.data[1],r.translation.data[2]):e.uniform3f(-20,20,20)}}(a);t[n.LIGHTCOUNT]=function(t,e){t.uniform1i(e.lights.length)},t[n.CAMERA]=function(t,e){var i=e.camera.translation;t.uniform3f(i.data[0],i.data[1],i.data[2])},t[n.NEAR_PLANE]=function(t,e){t.uniform1f(e.camera.near)},t[n.FAR_PLANE]=function(t,e){t.uniform1f(e.camera.far)},t[n.MAIN_NEAR_PLANE]=function(t,e){t.uniform1f(e.mainCamera.near)},t[n.MAIN_FAR_PLANE]=function(t,e){t.uniform1f(e.mainCamera.far)},t[n.MAIN_DEPTH_SCALE]=function(t,e){t.uniform1f(1/(e.mainCamera.far-e.mainCamera.near))},t[n.AMBIENT]=function(t,e){var i=void 0!==e.material.materialState?e.material.materialState.ambient:n.DEFAULT_AMBIENT;t.uniform4fv(i)},t[n.EMISSIVE]=function(t,e){var i=void 0!==e.material.materialState?e.material.materialState.emissive:n.DEFAULT_EMISSIVE;t.uniform4fv(i)},t[n.DIFFUSE]=function(t,e){var i=void 0!==e.material.materialState?e.material.materialState.diffuse:n.DEFAULT_DIFFUSE;t.uniform4fv(i)},t[n.SPECULAR]=function(t,e){var i=void 0!==e.material.materialState?e.material.materialState.specular:n.DEFAULT_SPECULAR;t.uniform4fv(i)},t[n.SPECULAR_POWER]=function(t,e){var i=void 0!==e.material.materialState?e.material.materialState.shininess:n.DEFAULT_SHININESS;i=Math.max(i,1),t.uniform1f(i)},t[n.TIME]=function(t){t.uniform1f(i.time)},t[n.TPF]=function(t){t.uniform1f(i.tpf)},t[n.RESOLUTION]=function(t,e){t.uniform2f(e.renderer.viewportWidth,e.renderer.viewportHeight)}}var s=window.WebGLRenderingContext;n.id=0,n.prototype.clone=function(){return new n(this.name,o.clone({precision:this.precision,processors:this.processors,builder:this.builder,defines:this.defines,attributes:this.attributes,uniforms:this.uniforms,vshader:this.origVertexSource,fshader:this.origFragmentSource}))},n.prototype.cloneOriginal=function(){return new n(this.name,this.originalShaderDefinition)};var h=/\b(attribute|uniform)\s+(float|int|bool|vec2|vec3|vec4|mat3|mat4|sampler2D|sampler3D|samplerCube)\s+(\w+)(\s*\[\s*\w+\s*\])*;/g;n.prototype.apply=function(t,e){var i=e.context,r=e.rendererRecord;null===this.shaderProgram&&(this._investigateShaders(),this.addDefines(this.defines),this.addPrecision(this.overridePrecision||e.shaderPrecision),this.compile(e));var o=!1;if(r.usedProgram!==this.shaderProgram&&(i.useProgram(this.shaderProgram),r.usedProgram=this.shaderProgram,o=!0),this.attributes){var n=t.meshData.attributeMap;for(var a in this.attributes){var s=n[this.attributes[a]];if(s){var h=this.attributeIndexMapping[a];void 0!==h&&(o&&e.context.enableVertexAttribArray(h),e.bindVertexAttribute(h,s))}}}this._bindUniforms(t)},n.prototype._bindUniforms=function(t){if(this.uniforms)try{this.textureIndex=0;for(var e in this.uniforms)this._bindUniform(e,t);this.errorOnce=!1}catch(i){this.errorOnce===!1&&(console.error(i.stack),this.errorOnce=!0)}},n.prototype._bindUniform=function(t,e){var i=this.uniformCallMapping[t];if(void 0!==i){var r=void 0!==e.material.uniforms[t]?e.material.uniforms[t]:this.uniforms[t];if("string"==typeof r){var o=this.currentCallbacks[t];if(o)o(i,e);else{var n=this.textureSlotsNaming[t];if(void 0!==n){var a=e.material.getTexture(n.mapping);if(a instanceof Array){var s=[];n.index=[];for(var h=0;hu;u++){var d=this.textureSlots[u];if(d.name===a){for(this.textureSlots.splice(u,1),delete this.textureSlotsNaming[d.name];l-1>u;u++)this.textureSlots[u].index--;break}}}if(this.uniforms){if(this.uniforms.$link){for(var p=this.uniforms.$link instanceof Array?this.uniforms.$link:[this.uniforms.$link],u=0;uu;u++)n["LIGHT"+u]="LIGHT"+u;return n.CAMERA="CAMERA",n.AMBIENT="AMBIENT",n.EMISSIVE="EMISSIVE",n.DIFFUSE="DIFFUSE",n.SPECULAR="SPECULAR",n.SPECULAR_POWER="SPECULAR_POWER",n.NEAR_PLANE="NEAR_PLANE",n.FAR_PLANE="FAR_PLANE",n.MAIN_NEAR_PLANE="NEAR_PLANE",n.MAIN_FAR_PLANE="FAR_PLANE",n.MAIN_DEPTH_SCALE="DEPTH_SCALE",n.TIME="TIME",n.TPF="TPF",n.RESOLUTION="RESOLUTION",n.DIFFUSE_MAP="DIFFUSE_MAP",n.NORMAL_MAP="NORMAL_MAP",n.SPECULAR_MAP="SPECULAR_MAP",n.LIGHT_MAP="LIGHT_MAP",n.SHADOW_MAP="SHADOW_MAP",n.AO_MAP="AO_MAP",n.EMISSIVE_MAP="EMISSIVE_MAP",n.DEPTH_MAP="DEPTH_MAP",n.DEFAULT_AMBIENT=[.1,.1,.1,1],n.DEFAULT_EMISSIVE=[0,0,0,0],n.DEFAULT_DIFFUSE=[.8,.8,.8,1],n.DEFAULT_SPECULAR=[.6,.6,.6,1],n.DEFAULT_SHININESS=64,n.prototype.defaultCallbacks={},a(n.prototype.defaultCallbacks),n}),define("goo/renderer/Material",["goo/renderer/Shader"],function(t){"use strict";function e(e){this.name=e,this.shader=null,this.uniforms={},this._textureMaps={},this.materialState={ambient:t.DEFAULT_AMBIENT,diffuse:t.DEFAULT_DIFFUSE,emissive:t.DEFAULT_EMISSIVE,specular:t.DEFAULT_SPECULAR,shininess:t.DEFAULT_SHININESS},this.cullState={enabled:!0,cullFace:"Back",frontFace:"CCW"},this.blendState={blending:"NoBlending",blendEquation:"AddEquation",blendSrc:"SrcAlphaFactor",blendDst:"OneMinusSrcAlphaFactor"},this.depthState={enabled:!0,write:!0},this.offsetState={enabled:!1,factor:1,units:1},this.dualTransparency=!1,this.wireframe=!1,this.flat=!1,this.renderQueue=null}return e.prototype.setTexture=function(t,e){this._textureMaps[t]=e},e.prototype.getTexture=function(t){return this._textureMaps[t]},e.prototype.removeTexture=function(t){delete this._textureMaps[t]},e.prototype.getTextures=function(){var t=[];for(var e in this._textureMaps)t.push(this._textureMaps[e]);return t},e.prototype.getTextureEntries=function(){return this._textureMaps},e.prototype.getRenderQueue=function(){return null!==this.renderQueue?this.renderQueue:null!==this.shader?this.shader.renderQueue:1e3},e.prototype.setRenderQueue=function(t){this.renderQueue=t},e.store=[],e.hash=[],e.createShader=function(i,r){var o=e.store.indexOf(i);if(-1!==o)return e.hash[o];var n=new t(r||null,i);return null===n.name&&(n.name="DefaultShader"+n._id),e.store.push(i),e.hash.push(n),n},e.clearShaderCache=function(){e.store.length=0,e.hash.length=0},e.createMaterial=function(t,i){var r=new e(i||"DefaultMaterial");return r.shader=e.createShader(t),r},e.createEmptyMaterial=function(t,i){var r=new e(i||"Empty Material");return r.empty(),r.shader=t?e.createShader(t):void 0,r},e.prototype.empty=function(){this.cullState={},this.blendState={},this.depthState={},this.offsetState={},this.wireframe=void 0,this.renderQueue=void 0,this.flat=void 0,this._textureMaps={},this.shader=void 0,this.uniforms={}},e}),define("goo/renderer/shaders/ShaderFragment",[],function(){"use strict";function t(){}return t.noisecommon=["vec4 mod289(vec4 x) {"," return x - floor(x * (1.0 / 289.0)) * 289.0;","}","vec3 mod289(vec3 x) {"," return x - floor(x * (1.0 / 289.0)) * 289.0;","}","vec2 mod289(vec2 x) {"," return x - floor(x * (1.0 / 289.0)) * 289.0;","}","vec3 permute(vec3 x) {"," return mod289(((x*34.0)+1.0)*x);","}","vec4 permute(vec4 x) {"," return mod289(((x*34.0)+1.0)*x);","}"].join("\n"),t.noise2d=[t.noisecommon,"float snoise(vec2 v)"," {"," const vec4 C = vec4(0.211324865405187, // (3.0-sqrt(3.0))/6.0"," 0.366025403784439, // 0.5*(sqrt(3.0)-1.0)"," -0.577350269189626, // -1.0 + 2.0 * C.x"," 0.024390243902439); // 1.0 / 41.0"," vec2 i = floor(v + dot(v, C.yy) );"," vec2 x0 = v - i + dot(i, C.xx);"," vec2 i1;"," //i1.x = step( x0.y, x0.x ); // x0.x > x0.y ? 1.0 : 0.0"," //i1.y = 1.0 - i1.x;"," i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);"," // x0 = x0 - 0.0 + 0.0 * C.xx ;"," // x1 = x0 - i1 + 1.0 * C.xx ;"," // x2 = x0 - 1.0 + 2.0 * C.xx ;"," vec4 x12 = x0.xyxy + C.xxzz;"," x12.xy -= i1;"," i = mod289(i); // Avoid truncation effects in permutation"," vec3 p = permute( permute( i.y + vec3(0.0, i1.y, 1.0 ))"," + i.x + vec3(0.0, i1.x, 1.0 ));"," vec3 m = max(0.5 - vec3(dot(x0,x0), dot(x12.xy,x12.xy), dot(x12.zw,x12.zw)), 0.0);"," m = m*m ;"," m = m*m ;"," vec3 x = 2.0 * fract(p * C.www) - 1.0;"," vec3 h = abs(x) - 0.5;"," vec3 ox = floor(x + 0.5);"," vec3 a0 = x - ox;"," m *= 1.79284291400159 - 0.85373472095314 * ( a0*a0 + h*h );"," vec3 g;"," g.x = a0.x * x0.x + h.x * x0.y;"," g.yz = a0.yz * x12.xz + h.yz * x12.yw;"," return 130.0 * dot(m, g);","}"].join("\n"),t.noise3d=[t.noisecommon,"vec4 taylorInvSqrt(vec4 r) {"," return 1.79284291400159 - 0.85373472095314 * r;","}","float snoise(vec3 v) {"," const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;"," const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);"," vec3 i = floor(v + dot(v, C.yyy) );"," vec3 x0 = v - i + dot(i, C.xxx) ;"," vec3 g = step(x0.yzx, x0.xyz);"," vec3 l = 1.0 - g;"," vec3 i1 = min( g.xyz, l.zxy );"," vec3 i2 = max( g.xyz, l.zxy );"," vec3 x1 = x0 - i1 + C.xxx;"," vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y"," vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y"," i = mod289(i); "," vec4 p = permute( permute( permute( "," i.z + vec4(0.0, i1.z, i2.z, 1.0 ))"," + i.y + vec4(0.0, i1.y, i2.y, 1.0 )) "," + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));"," float n_ = 0.142857142857; // 1.0/7.0"," vec3 ns = n_ * D.wyz - D.xzx;"," vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p,7*7)"," vec4 x_ = floor(j * ns.z);"," vec4 y_ = floor(j - 7.0 * x_ ); // mod(j,N)"," vec4 x = x_ *ns.x + ns.yyyy;"," vec4 y = y_ *ns.x + ns.yyyy;"," vec4 h = 1.0 - abs(x) - abs(y);"," vec4 b0 = vec4( x.xy, y.xy );"," vec4 b1 = vec4( x.zw, y.zw );"," vec4 s0 = floor(b0)*2.0 + 1.0;"," vec4 s1 = floor(b1)*2.0 + 1.0;"," vec4 sh = -step(h, vec4(0.0));"," vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;"," vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;"," vec3 p0 = vec3(a0.xy,h.x);"," vec3 p1 = vec3(a0.zw,h.y);"," vec3 p2 = vec3(a1.xy,h.z);"," vec3 p3 = vec3(a1.zw,h.w);"," vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));"," p0 *= norm.x;"," p1 *= norm.y;"," p2 *= norm.z;"," p3 *= norm.w;"," vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);"," m = m * m;"," return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1), dot(p2,x2), dot(p3,x3) ) );","}"].join("\n"),t.methods={packDepth:["vec4 packDepth( const in float depth ) {"," const vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );"," const vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );"," vec4 res = fract( depth * bit_shift );"," res -= res.xxyz * bit_mask;"," return res;","}"].join("\n"),unpackDepth:["float unpackDepth( const in vec4 rgba_depth ) {"," const vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );"," float depth = dot( rgba_depth, bit_shift );"," return depth;","}"].join("\n"),packDepth16:["vec2 packDepth16( const in float depth ) {"," const vec2 bias = vec2(1.0 / 255.0, 0.0);"," vec2 res = vec2(depth, fract(depth * 255.0));"," return res - (res.yy * bias);","}"].join("\n"),unpackDepth16:["float unpackDepth16( const in vec2 rg_depth ) {"," return rg_depth.x + (rg_depth.y / 255.0);","}"].join("\n")},t }),define("goo/renderer/light/Light",["goo/math/Vector3"],function(t){"use strict";function e(){this.translation=new t,this.color=new t(1,1,1),this.intensity=1,this.specularIntensity=1,this.shadowCaster=!1,this.lightCookie=null,this.shadowSettings={size:100,near:1,far:1e3,resolution:[512,512],upVector:t.UNIT_Y,darkness:0,shadowType:"VSM"},this.changedProperties=!1,this.changedColor=!1}return e}),define("goo/renderer/light/PointLight",["goo/renderer/light/Light"],function(t){"use strict";function e(){t.call(this),this.range=1e3}return e.prototype=Object.create(t.prototype),e.prototype.update=function(t){t.matrix.getTranslation(this.translation)},e}),define("goo/renderer/light/DirectionalLight",["goo/math/Vector3","goo/renderer/light/Light"],function(t,e){"use strict";function i(){e.call(this),this.direction=new t}return i.prototype=Object.create(e.prototype),i.prototype.update=function(t){t.matrix.getTranslation(this.translation),this.direction.setd(0,0,-1),t.matrix.applyPostVector(this.direction)},i}),define("goo/renderer/light/SpotLight",["goo/math/Vector3","goo/renderer/light/Light"],function(t,e){"use strict";function i(){e.call(this),this.direction=new t,this.range=1e3,this.angle=45,this.penumbra=null,this.exponent=16}return i.prototype=Object.create(e.prototype),i.prototype.update=function(t){t.matrix.getTranslation(this.translation),this.direction.setd(0,0,-1),t.matrix.applyPostVector(this.direction)},i}),define("goo/util/TangentGenerator",["goo/math/Vector2","goo/math/Vector3","goo/renderer/MeshData"],function(t,e,i){"use strict";function r(){}return r.addTangentBuffer=function(r,o){function n(e){for(var i=[],r=0;rm;m++)p[m]=new e,f[m]=new e;for(var g=a(s),v=a(h),y=n(c),x=0;d>x;x++){var _=l[3*x],w=l[3*x+1],b=l[3*x+2],M=g[_],S=g[w],C=g[b],T=y[_],E=y[w],P=y[b],D=S.x-M.x,A=C.x-M.x,R=S.y-M.y,I=C.y-M.y,O=S.z-M.z,L=C.z-M.z,N=E.x-T.x,k=P.x-T.x,F=E.y-T.y,B=P.y-T.y,U=1/(N*B-k*F);if(isFinite(U)!==!1){var z=new e((B*D-F*A)*U,(B*R-F*I)*U,(B*O-F*L)*U),V=new e((N*A-k*D)*U,(N*I-k*R)*U,(N*L-k*O)*U);p[_].add(z),p[w].add(z),p[b].add(z),f[_].add(V),f[w].add(V),f[b].add(V)}}r.attributeMap[i.TANGENT]=i.createAttribute(4,"Float"),r.rebuildData(r.vertexCount,r.indexCount,!0);for(var j=r.getAttributeBuffer(i.TANGENT),X=new e,H=new e,x=0;u>x;x++){var W=v[x],G=p[x],Y=W.dot(G);X.copy(G).sub(H.copy(W).mul(Y)).normalize(),j[4*x+0]=X.x,j[4*x+1]=X.y,j[4*x+2]=X.z,Y=X.copy(W).cross(G).dot(f[x]);var q=0>Y?-1:1;j[4*x+3]=q}return j}}}}},r}),define("goo/renderer/shaders/ShaderBuilder",["goo/renderer/MeshData","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight","goo/renderer/Texture","goo/math/MathUtils","goo/util/TangentGenerator"],function(t,e,i,r,o,n,a){"use strict";function s(){}var h=new i;return h.translation.setd(10,10,10),h.direction.setd(1,1,1).normalize(),s.defaultLight=h,s.SKYBOX=null,s.SKYSPHERE=null,s.ENVIRONMENT_TYPE=0,s.GLOBAL_AMBIENT=[0,0,0],s.USE_FOG=!1,s.FOG_SETTINGS=[0,1e4],s.FOG_COLOR=[1,1,1],s.uber={processor:function(e,i){var r=i.meshData.attributeMap,o=i.material,n=o._textureMaps;e.defines=e.defines||{},s.SKYBOX&&o.uniforms.reflectivity>0?o.setTexture("ENVIRONMENT_CUBE",s.SKYBOX):o.getTexture("ENVIRONMENT_CUBE")&&o.removeTexture("ENVIRONMENT_CUBE"),s.SKYSPHERE&&o.uniforms.reflectivity>0?(o.setTexture("ENVIRONMENT_SPHERE",s.SKYSPHERE),e.defines.ENVIRONMENT_TYPE=s.ENVIRONMENT_TYPE):o.getTexture("ENVIRONMENT_SPHERE")&&o.removeTexture("ENVIRONMENT_SPHERE");for(var h in r)e.defines[h]||(e.defines[h]=!0);for(var c in n)if(void 0!==n[c]&&null!==n[c]&&"SHADOW_MAP"!==c&&(e.defines[c]||(e.defines[c]=!0),"DIFFUSE_MAP"===c)){var l=n[c].offset,u=n[c].repeat;e.uniforms.offsetRepeat=e.uniforms.offsetRepeat||[0,0,1,1],e.uniforms.offsetRepeat[0]=l.x,e.uniforms.offsetRepeat[1]=l.y,e.uniforms.offsetRepeat[2]=u.x,e.uniforms.offsetRepeat[3]=u.y}for(var h in e.defines)"MAX_POINT_LIGHTS"!==h&&"MAX_DIRECTIONAL_LIGHTS"!==h&&"MAX_SPOT_LIGHTS"!==h&&"SHADOW_TYPE"!==h&&"JOINT_COUNT"!==h&&"WEIGHTS"!==h&&"PHYSICALLY_BASED_SHADING"!==h&&"ENVIRONMENT_TYPE"!==h&&(r[h]||n[h]||delete e.defines[h]);i.material.uniforms.discardThreshold>=0?e.defines.DISCARD=!0:delete e.defines.DISCARD,s.USE_FOG?(e.defines.FOG=!0,e.uniforms.fogSettings=s.FOG_SETTINGS,e.uniforms.fogColor=s.FOG_COLOR):delete e.defines.FOG,e.defines.SKIP_SPECULAR=!0,e.defines.NORMAL&&e.defines.NORMAL_MAP&&!i.meshData.getAttributeBuffer(t.TANGENT)&&a.addTangentBuffer(i.meshData)}},s.light={processor:function(t,a){t.uniforms.materialAmbient=t.uniforms.materialAmbient||"AMBIENT",t.uniforms.materialEmissive=t.uniforms.materialEmissive||"EMISSIVE",t.uniforms.materialDiffuse=t.uniforms.materialDiffuse||"DIFFUSE",t.uniforms.materialSpecular=t.uniforms.materialSpecular||"SPECULAR",t.uniforms.materialSpecularPower=t.uniforms.materialSpecularPower||"SPECULAR_POWER",t.uniforms.globalAmbient=s.GLOBAL_AMBIENT,t.defines=t.defines||{};for(var h=a.lights,c=[],l=0;lg;g++)m[g]=f[g];if(u.shadowCaster){var v=p.lightCamera.translation.data,y=t.uniforms["shadowLightPositions"+l]=t.uniforms["shadowLightPositions"+l]||[];if(y[0]=v[0],y[1]=v[1],y[2]=v[2],t.uniforms["cameraScales"+l]=1/(p.lightCamera.far-p.lightCamera.near),t.uniforms["shadowDarkness"+l]=u.shadowSettings.darkness,"PCF"===u.shadowSettings.shadowType){var x=t.uniforms["shadowMapSizes"+l]=t.uniforms["shadowMapSizes"+l]||[];x[0]=u.shadowSettings.resolution[0],x[1]=u.shadowSettings.resolution[1]}c.push("H","PCF"===u.shadowSettings.shadowType?1:"VSM"===u.shadowSettings.shadowType?2:0)}}}t.defines.LIGHT=c.join("")},builder:function(t,n){var a=[],h=[],c=[],l=[];a.push("const mat4 ScaleMatrix = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);"),c.push("uniform vec4 materialAmbient;","uniform vec4 materialEmissive;","uniform vec4 materialDiffuse;","uniform vec4 materialSpecular;","uniform float materialSpecularPower;","uniform vec3 globalAmbient;","float ChebychevInequality(in vec2 moments, in float t) {","if ( t <= moments.x ) return 1.0;","float variance = moments.y - (moments.x * moments.x);","variance = max(variance, 0.02);","float d = t - moments.x;","return variance / (variance + d * d);","}"),l.push("#if defined(SPECULAR_MAP) && defined(TEXCOORD0)","float specularStrength = texture2D(specularMap, texCoord0).x;","#else","float specularStrength = 1.0;","#endif","vec3 totalDiffuse = vec3(0.0);","vec3 totalSpecular = vec3(0.0);");for(var u=n.lights,d=0;d= 0.0 && depth.x <= 1.0 && depth.y >= 0.0 && depth.y <= 1.0 && shadowLightDepths"+d+".z >= 0.0 && depth.z <= 1.0) {"),"PCF"===p.shadowSettings.shadowType?l.push("depth.z *= 0.96;","float shadowPcf = 0.0;","const float shadowDelta = 1.0 / 9.0;","float xPixelOffset = 1.0 / shadowMapSizes"+d+".x;","float yPixelOffset = 1.0 / shadowMapSizes"+d+".y;","float dx0 = -1.25 * xPixelOffset;","float dy0 = -1.25 * yPixelOffset;","float dx1 = 1.25 * xPixelOffset;","float dy1 = 1.25 * yPixelOffset;","float fDepth = 0.0;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(dx0, dy0)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(0.0, dy0)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(dx1, dy0)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(dx0, 0.0)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(dx1, 0.0)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(dx0, dy1)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(0.0, dy1)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","fDepth = texture2D(shadowMaps"+d+", depth.xy + vec2(dx1, dy1)).r;","if (fDepth < depth.z) shadowPcf += shadowDelta;","shadow = (1.0 - shadowPcf) * (1.0 - shadowDarkness"+d+") + shadowDarkness"+d+";"):"VSM"===p.shadowSettings.shadowType?l.push("vec4 texel = texture2D(shadowMaps"+d+", depth.xy);","vec2 moments = vec2(texel.x, texel.y);","shadow = ChebychevInequality(moments, depth.z);","shadow = pow(shadow, 8.0 - shadowDarkness"+d+" * 8.0);"):l.push("depth.z *= 0.96;","float shadowDepth = texture2D(shadowMaps"+d+", depth.xy).x;","if ( depth.z > shadowDepth ) shadow = shadowDarkness"+d+";"),l.push("}","shadow = clamp(shadow, 0.0, 1.0);"))),p instanceof e?(c.push("uniform vec4 pointLight"+d+";","uniform vec4 pointLightColor"+d+";"),l.push("vec3 lVector = normalize(pointLight"+d+".xyz - vWorldPos.xyz);","float lDistance = 1.0 - min((length(pointLight"+d+".xyz - vWorldPos.xyz) / pointLight"+d+".w), 1.0);","float dotProduct = dot(N, lVector);","#ifdef WRAP_AROUND","float pointDiffuseWeightFull = max(dotProduct, 0.0);","float pointDiffuseWeightHalf = max(0.5 * dotProduct + 0.5, 0.0);","vec3 pointDiffuseWeight = mix(vec3(pointDiffuseWeightFull), vec3(pointDiffuseWeightHalf), wrapRGB);","#else","float pointDiffuseWeight = max(dotProduct, 0.0);","#endif","totalDiffuse += materialDiffuse.rgb * pointLightColor"+d+".rgb * pointDiffuseWeight * lDistance * shadow;","vec3 pointHalfVector = normalize(lVector + normalize(viewPosition));","float pointDotNormalHalf = max(dot(N, pointHalfVector), 0.0);","float pointSpecularWeight = pointLightColor"+d+".a * specularStrength * max(pow(pointDotNormalHalf, materialSpecularPower), 0.0);","#ifdef PHYSICALLY_BASED_SHADING","float specularNormalization = (materialSpecularPower + 2.0001 ) / 8.0;","vec3 schlick = materialSpecular.rgb + vec3(1.0 - materialSpecular.rgb) * pow(1.0 - dot(lVector, pointHalfVector), 5.0);","totalSpecular += schlick * pointLightColor"+d+".rgb * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization * shadow;","#else","totalSpecular += materialSpecular.rgb * pointLightColor"+d+".rgb * pointSpecularWeight * pointDiffuseWeight * lDistance * shadow;","#endif")):p instanceof i?(c.push("uniform vec4 directionalLightColor"+d+";","uniform vec3 directionalLightDirection"+d+";"),l.push("vec4 lDirection = vec4(-directionalLightDirection"+d+", 0.0);","vec3 dirVector = normalize(lDirection.xyz);","float dotProduct = dot(N, dirVector);","#ifdef WRAP_AROUND","float dirDiffuseWeightFull = max(dotProduct, 0.0);","float dirDiffuseWeightHalf = max(0.5 * dotProduct + 0.5, 0.0);","vec3 dirDiffuseWeight = mix(vec3(dirDiffuseWeightFull), vec3(dirDiffuseWeightHalf), wrapRGB);","#else","float dirDiffuseWeight = max(dotProduct, 0.0);","#endif","vec3 cookie = vec3(1.0);"),f&&l.push("cookie = texture2D(lightCookie"+d+", depth.xy).rgb;"),l.push("totalDiffuse += materialDiffuse.rgb * directionalLightColor"+d+".rgb * dirDiffuseWeight * shadow * cookie;","vec3 dirHalfVector = normalize(dirVector + normalize(viewPosition));","float dirDotNormalHalf = max(dot(N, dirHalfVector), 0.0);","float dirSpecularWeight = directionalLightColor"+d+".a * specularStrength * max(pow(dirDotNormalHalf, materialSpecularPower), 0.0);","#ifdef PHYSICALLY_BASED_SHADING","float specularNormalization = (materialSpecularPower + 2.0001) / 8.0;","vec3 schlick = materialSpecular.rgb + vec3(1.0 - materialSpecular.rgb) * pow(1.0 - dot(dirVector, dirHalfVector), 5.0);","totalSpecular += schlick * directionalLightColor"+d+".rgb * dirSpecularWeight * dirDiffuseWeight * specularNormalization * shadow * cookie;","#else","totalSpecular += materialSpecular.rgb * directionalLightColor"+d+".rgb * dirSpecularWeight * dirDiffuseWeight * shadow * cookie;","#endif")):p instanceof r&&(c.push("uniform vec4 spotLightColor"+d+";","uniform vec4 spotLight"+d+";","uniform vec3 spotLightDirection"+d+";","uniform float spotLightAngle"+d+";","uniform float spotLightPenumbra"+d+";"),l.push("vec3 lVector = normalize(spotLight"+d+".xyz - vWorldPos.xyz);","float lDistance = 1.0 - min((length(spotLight"+d+".xyz - vWorldPos.xyz) / spotLight"+d+".w), 1.0);","float spotEffect = dot(normalize(-spotLightDirection"+d+"), lVector);","if (spotEffect > spotLightAngle"+d+") {","if (spotLightPenumbra"+d+" > 0.0) {","spotEffect = (spotEffect - spotLightAngle"+d+") / spotLightPenumbra"+d+";","spotEffect = clamp(spotEffect, 0.0, 1.0);","} else {","spotEffect = 1.0;","}","float dotProduct = dot(N, lVector);","#ifdef WRAP_AROUND","float spotDiffuseWeightFull = max(dotProduct, 0.0);","float spotDiffuseWeightHalf = max(0.5 * dotProduct + 0.5, 0.0);","vec3 spotDiffuseWeight = mix(vec3(spotDiffuseWeightFull), vec3(spotDiffuseWeightHalf), wrapRGB);","#else","float spotDiffuseWeight = max(dotProduct, 0.0);","#endif","vec3 cookie = vec3(1.0);"),f&&l.push("cookie = texture2D(lightCookie"+d+", depth.xy).rgb;"),l.push("totalDiffuse += materialDiffuse.rgb * spotLightColor"+d+".rgb * spotDiffuseWeight * lDistance * spotEffect * shadow * cookie;","vec3 spotHalfVector = normalize(lVector + normalize(viewPosition));","float spotDotNormalHalf = max(dot(N, spotHalfVector), 0.0);","float spotSpecularWeight = spotLightColor"+d+".a * specularStrength * max(pow(spotDotNormalHalf, materialSpecularPower), 0.0);","#ifdef PHYSICALLY_BASED_SHADING","float specularNormalization = (materialSpecularPower + 2.0001) / 8.0;","vec3 schlick = materialSpecular.rgb + vec3(1.0 - materialSpecular.rgb) * pow(1.0 - dot(lVector, spotHalfVector), 5.0);","totalSpecular += schlick * spotLightColor"+d+".rgb * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect * shadow * cookie;","#else","totalSpecular += materialSpecular.rgb * spotLightColor"+d+".rgb * spotSpecularWeight * spotDiffuseWeight * lDistance * spotEffect * shadow * cookie;","#endif","}")),l.push("}")}l.push("#if defined(EMISSIVE_MAP) && defined(TEXCOORD0)","vec3 emissive = vec3(0.0);","#else","vec3 emissive = materialEmissive.rgb;","#endif","#ifdef SKIP_SPECULAR","final_color.xyz = final_color.xyz * (emissive + totalDiffuse + globalAmbient + materialAmbient.rgb);","#else","final_color.xyz = final_color.xyz * (emissive + totalDiffuse + globalAmbient + materialAmbient.rgb) + totalSpecular;","#endif","#if defined(EMISSIVE_MAP) && defined(TEXCOORD0)","final_color.rgb += texture2D(emissiveMap, texCoord0).rgb * materialEmissive.rgb;","#endif"),s.light.prevertex=a.join("\n"),s.light.vertex=h.join("\n"),s.light.prefragment=c.join("\n"),s.light.fragment=l.join("\n")}},s.animation={processor:function(t,e){var i=e.currentPose;t.defines=t.defines||{},i?(t.uniforms.jointPalette||(t.uniforms.jointPalette=s.animation.jointPalette),t.defines.JOINT_COUNT=Math.max(3*e.meshData.paletteMap.length,80)):delete t.defines.JOINT_COUNT},jointPalette:function(t){var e=t.meshData,i=t.currentPose;if(i){var r=i._matrixPalette,o=e.store;o||(o=new Float32Array(12*e.paletteMap.length),e.store=o);for(var n,a=0;ah;h++)o[12*a+h]=n.data[s.animation.order[h]]}return o}},order:[0,4,8,12,1,5,9,13,2,6,10,14],prevertex:["#ifdef JOINTIDS","attribute vec4 vertexJointIDs;","#endif","#ifdef WEIGHTS","attribute vec4 vertexWeights;","#endif","#ifdef JOINT_COUNT","uniform vec4 jointPalette[JOINT_COUNT];","#endif"].join("\n"),vertex:["#if defined(JOINT_COUNT) && defined(WEIGHTS) && defined(JOINTIDS)","int x = 3*int(vertexJointIDs.x);","int y = 3*int(vertexJointIDs.y);","int z = 3*int(vertexJointIDs.z);","int w = 3*int(vertexJointIDs.w);","mat4 mat = mat4(0.0);","mat += mat4("," jointPalette[x+0].x, jointPalette[x+1].x, jointPalette[x+2].x, 0,"," jointPalette[x+0].y, jointPalette[x+1].y, jointPalette[x+2].y, 0,"," jointPalette[x+0].z, jointPalette[x+1].z, jointPalette[x+2].z, 0,"," jointPalette[x+0].w, jointPalette[x+1].w, jointPalette[x+2].w, 1",") * vertexWeights.x;","mat += mat4("," jointPalette[y+0].x, jointPalette[y+1].x, jointPalette[y+2].x, 0,"," jointPalette[y+0].y, jointPalette[y+1].y, jointPalette[y+2].y, 0,"," jointPalette[y+0].z, jointPalette[y+1].z, jointPalette[y+2].z, 0,"," jointPalette[y+0].w, jointPalette[y+1].w, jointPalette[y+2].w, 1",") * vertexWeights.y;","mat += mat4("," jointPalette[z+0].x, jointPalette[z+1].x, jointPalette[z+2].x, 0,"," jointPalette[z+0].y, jointPalette[z+1].y, jointPalette[z+2].y, 0,"," jointPalette[z+0].z, jointPalette[z+1].z, jointPalette[z+2].z, 0,"," jointPalette[z+0].w, jointPalette[z+1].w, jointPalette[z+2].w, 1",") * vertexWeights.z;","mat += mat4("," jointPalette[w+0].x, jointPalette[w+1].x, jointPalette[w+2].x, 0,"," jointPalette[w+0].y, jointPalette[w+1].y, jointPalette[w+2].y, 0,"," jointPalette[w+0].z, jointPalette[w+1].z, jointPalette[w+2].z, 0,"," jointPalette[w+0].w, jointPalette[w+1].w, jointPalette[w+2].w, 1",") * vertexWeights.w;","wMatrix = wMatrix * mat / mat[3][3];","#ifdef NORMAL","nMatrix = nMatrix * mat / mat[3][3];","#endif","#endif"].join("\n")},s}),define("goo/renderer/shaders/ShaderLib",["goo/renderer/MeshData","goo/renderer/Shader","goo/renderer/shaders/ShaderFragment","goo/renderer/shaders/ShaderBuilder","goo/renderer/Util","goo/entities/World"],function(t,e,i,r,o,n){"use strict";function a(){}return a.uber={processors:[r.uber.processor,r.light.processor,r.animation.processor],attributes:{vertexPosition:t.POSITION,vertexNormal:t.NORMAL,vertexTangent:t.TANGENT,vertexColor:t.COLOR,vertexUV0:t.TEXCOORD0,vertexUV1:t.TEXCOORD1,vertexJointIDs:t.JOINTIDS,vertexWeights:t.WEIGHTS},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,normalMatrix:e.NORMAL_MATRIX,cameraPosition:e.CAMERA,diffuseMap:e.DIFFUSE_MAP,offsetRepeat:[0,0,1,1],normalMap:e.NORMAL_MAP,normalMultiplier:1,specularMap:e.SPECULAR_MAP,emissiveMap:e.EMISSIVE_MAP,aoMap:e.AO_MAP,lightMap:e.LIGHT_MAP,environmentCube:"ENVIRONMENT_CUBE",environmentSphere:"ENVIRONMENT_SPHERE",reflectionMap:"REFLECTION_MAP",transparencyMap:"TRANSPARENCY_MAP",opacity:1,reflectivity:0,fresnel:0,discardThreshold:-.01,fogSettings:[0,1e4],fogColor:[1,1,1],shadowDarkness:.5},builder:function(t,e){r.light.builder(t,e)},vshader:function(){return["attribute vec3 vertexPosition;","#ifdef NORMAL","attribute vec3 vertexNormal;","#endif","#ifdef TANGENT","attribute vec4 vertexTangent;","#endif","#ifdef COLOR","attribute vec4 vertexColor;","#endif","#ifdef TEXCOORD0","attribute vec2 vertexUV0;","uniform vec4 offsetRepeat;","varying vec2 texCoord0;","#endif","#ifdef TEXCOORD1","attribute vec2 vertexUV1;","varying vec2 texCoord1;","#endif","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform mat4 normalMatrix;","uniform vec3 cameraPosition;","varying vec3 vWorldPos;","varying vec3 viewPosition;","#ifdef NORMAL","varying vec3 normal;","#endif","#ifdef TANGENT","varying vec3 binormal;","varying vec3 tangent;","#endif","#ifdef COLOR","varying vec4 color;","#endif",r.light.prevertex,r.animation.prevertex,"void main(void) {","mat4 wMatrix = worldMatrix;","#ifdef NORMAL","mat4 nMatrix = normalMatrix;","#endif",r.animation.vertex,"vec4 worldPos = wMatrix * vec4(vertexPosition, 1.0);","vWorldPos = worldPos.xyz;","gl_Position = viewProjectionMatrix * worldPos;","viewPosition = cameraPosition - worldPos.xyz;","#ifdef NORMAL"," normal = normalize((nMatrix * vec4(vertexNormal, 0.0)).xyz);","#endif","#ifdef TANGENT"," tangent = normalize((nMatrix * vec4(vertexTangent.xyz, 0.0)).xyz);"," binormal = cross(normal, tangent) * vec3(vertexTangent.w);","#endif","#ifdef COLOR"," color = vertexColor;","#endif","#ifdef TEXCOORD0"," texCoord0 = vertexUV0 * offsetRepeat.zw + offsetRepeat.xy;","#endif","#ifdef TEXCOORD1"," texCoord1 = vertexUV1;","#endif",r.light.vertex,"}"].join("\n")},fshader:function(){return["#ifdef DIFFUSE_MAP","uniform sampler2D diffuseMap;","#endif","#ifdef NORMAL_MAP","uniform sampler2D normalMap;","uniform float normalMultiplier;","#endif","#ifdef SPECULAR_MAP","uniform sampler2D specularMap;","#endif","#ifdef EMISSIVE_MAP","uniform sampler2D emissiveMap;","#endif","#ifdef AO_MAP","uniform sampler2D aoMap;","#endif","#ifdef LIGHT_MAP","uniform sampler2D lightMap;","#endif","#ifdef TRANSPARENCY_MAP","uniform sampler2D transparencyMap;","#endif","#if defined(ENVIRONMENT_CUBE) || defined(ENVIRONMENT_SPHERE)","#ifndef ENVIRONMENT_TYPE","#define ENVIRONMENT_TYPE 0","#endif","#ifdef ENVIRONMENT_CUBE","uniform samplerCube environmentCube;","#else","uniform sampler2D environmentSphere;","#endif","uniform float reflectivity;","uniform float fresnel;","#ifdef REFLECTION_MAP","uniform sampler2D reflectionMap;","#endif","#endif","uniform float opacity;","#ifdef DISCARD","uniform float discardThreshold;","#endif","#ifdef FOG","uniform vec2 fogSettings;","uniform vec3 fogColor;","#endif","varying vec3 vWorldPos;","varying vec3 viewPosition;","#ifdef NORMAL","varying vec3 normal;","#endif","#ifdef TANGENT","varying vec3 binormal;","varying vec3 tangent;","#endif","#ifdef COLOR","varying vec4 color;","#endif","#ifdef TEXCOORD0","varying vec2 texCoord0;","#endif","#ifdef TEXCOORD1","varying vec2 texCoord1; //Use for lightmap","#endif",r.light.prefragment,"void main(void)","{","vec4 final_color = vec4(1.0);","#if defined(DIFFUSE_MAP) && defined(TEXCOORD0)","final_color *= texture2D(diffuseMap, texCoord0);","#endif","#ifdef COLOR","final_color *= color;","#endif","#if defined(TRANSPARENCY_MAP) && defined(TEXCOORD0)","final_color.a = texture2D(transparencyMap, texCoord0).a;","#endif","final_color.a *= opacity;","#ifdef DISCARD","if (final_color.a < discardThreshold) discard;","#endif","#ifdef AO_MAP","#ifdef TEXCOORD1","final_color.rgb *= texture2D(aoMap, texCoord1).rgb;","#elif TEXCOORD0","final_color.rgb *= texture2D(aoMap, texCoord0).rgb;","#endif","#endif","#ifdef LIGHT_MAP","#ifdef TEXCOORD1","final_color.rgb *= texture2D(lightMap, texCoord1).rgb * 2.0 - 0.5;","#elif TEXCOORD0","final_color.rgb *= texture2D(lightMap, texCoord0).rgb * 2.0 - 0.5;","#endif","#else","#if defined(TANGENT) && defined(NORMAL_MAP) && defined(TEXCOORD0)","mat3 tangentToWorld = mat3(tangent, binormal, normal);","vec3 tangentNormal = texture2D(normalMap, texCoord0).xyz * vec3(2.0) - vec3(1.0);","tangentNormal.xy *= normalMultiplier;","vec3 worldNormal = (tangentToWorld * tangentNormal);","vec3 N = normalize(worldNormal);","#elif defined(NORMAL)","vec3 N = normalize(normal);","#else","vec3 N = vec3(0.0, 1.0, 0.0);","#endif",r.light.fragment,"#endif","#if defined(ENVIRONMENT_CUBE) || defined(ENVIRONMENT_SPHERE)","vec3 reflectionVector = reflect(viewPosition, N);","reflectionVector.yz = -reflectionVector.yz;","#ifdef ENVIRONMENT_CUBE","vec4 environment = textureCube(environmentCube, reflectionVector);","#else","#if ENVIRONMENT_TYPE == 0","reflectionVector = -reflectionVector;","float m = 4.0 * sqrt(reflectionVector.x*reflectionVector.x + reflectionVector.y*reflectionVector.y + (reflectionVector.z+1.0)*(reflectionVector.z+1.0));","vec4 environment = texture2D(environmentSphere, (reflectionVector.xy / m) + 0.5);","#else","reflectionVector.xyz = vec3(-reflectionVector.z, -reflectionVector.y, reflectionVector.x);","vec2 index;","index.y = dot(normalize(reflectionVector), vec3(0.0,1.0,0.0));","reflectionVector.y = 0.0;","index.x = dot(normalize(reflectionVector), vec3(1.0,0.0,0.0)) * 0.5;","if (reflectionVector.z >= 0.0) {","index = (index + 1.0) * 0.5;","} else {","index.t = (index.t + 1.0) * 0.5;","index.s = (-index.s) * 0.5 + 1.0;","}","vec4 environment = texture2D(environmentSphere, index);","#endif","#endif","float reflectionAmount = reflectivity;","#if defined(REFLECTION_MAP) && defined(TEXCOORD0)","reflectionAmount *= texture2D(reflectionMap, texCoord0).r;","#endif","float fresnelVal = pow(1.0 - abs(dot(normalize(viewPosition), N)), fresnel * 4.0);","reflectionAmount *= fresnelVal;","final_color = mix(final_color, environment, reflectionAmount);","#endif","#ifndef LIGHT_MAP","final_color.rgb += totalSpecular;","final_color.a += min(length(totalSpecular), 1.0);","#endif","#ifdef FOG","float d = pow(smoothstep(fogSettings.x, fogSettings.y, length(viewPosition)), 1.0);","final_color.rgb = mix(final_color.rgb, fogColor, d);","#endif","gl_FragColor = final_color;","}"].join("\n")}},a.screenCopy={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{diffuseMap:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","varying vec2 texCoord0;","void main(void) {"," texCoord0 = vertexUV0;"," gl_Position = vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform sampler2D diffuseMap;","varying vec2 texCoord0;","void main(void)","{"," gl_FragColor = texture2D(diffuseMap, texCoord0);","}"].join("\n")},a.copy={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,opacity:1,diffuseMap:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","varying vec2 texCoord0;","void main(void) {"," texCoord0 = vertexUV0;"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform sampler2D diffuseMap;","uniform float opacity;","varying vec2 texCoord0;","void main(void)","{"," gl_FragColor = vec4(texture2D(diffuseMap, texCoord0).rgb, opacity);","}"].join("\n")},a.copyPure={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,opacity:1,diffuseMap:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","varying vec2 texCoord0;","void main(void) {"," texCoord0 = vertexUV0;"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform sampler2D diffuseMap;","uniform float opacity;","varying vec2 texCoord0;","void main(void)","{"," vec4 col = texture2D(diffuseMap, texCoord0);"," gl_FragColor = vec4(col.rgb, col.a * opacity);","}"].join("\n")},a.simple={attributes:{vertexPosition:t.POSITION},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","void main(void) {"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["void main(void)","{"," gl_FragColor = vec4(1.0);","}"].join("\n")},a.simpleColored={attributes:{vertexPosition:t.POSITION},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,color:[1,1,1],opacity:1},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","void main(void) {"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform vec3 color;","uniform float opacity;","void main(void)","{"," if (opacity == 0.0) {"," discard;"," }"," gl_FragColor = vec4(color, opacity);","}"].join("\n")},a.simpleLit={processors:[r.light.processor],defines:{NORMAL:!0},attributes:{vertexPosition:t.POSITION,vertexNormal:t.NORMAL},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,cameraPosition:e.CAMERA,opacity:1},builder:function(t,e){r.light.builder(t,e)},vshader:function(){return["attribute vec3 vertexPosition;","attribute vec3 vertexNormal;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform vec3 cameraPosition;",r.light.prevertex,"varying vec3 normal;","varying vec3 vWorldPos;","varying vec3 viewPosition;","void main(void) {"," vec4 worldPos = worldMatrix * vec4(vertexPosition, 1.0);"," vWorldPos = worldPos.xyz;"," gl_Position = viewProjectionMatrix * worldPos;",r.light.vertex," normal = (worldMatrix * vec4(vertexNormal, 0.0)).xyz;"," viewPosition = cameraPosition - worldPos.xyz;","}"].join("\n")},fshader:function(){return["#ifdef SPECULAR_MAP","uniform sampler2D specularMap;","#ifdef TEXCOORD0","varying vec2 texCoord0;","#endif","#endif","uniform float opacity;",r.light.prefragment,"#ifdef NORMAL","varying vec3 normal;","#endif","varying vec3 vWorldPos;","varying vec3 viewPosition;","void main(void)","{"," if (opacity == 0.0) {"," discard;"," return;"," }"," #ifdef NORMAL"," vec3 N = normalize(normal);"," #else"," vec3 N = vec3(0,0,1);"," #endif"," vec4 final_color = vec4(1.0);",r.light.fragment," final_color.a = opacity;"," gl_FragColor = final_color;","}"].join("\n")}},a.billboard={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,viewMatrix:e.VIEW_MATRIX,worldMatrix:e.WORLD_MATRIX,diffuseMap:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","varying vec2 texCoord0;","void main(void) {"," texCoord0 = vertexUV0;"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(0.0, 0.0, 0.0, 1.0) + projectionMatrix * vec4(vertexPosition.x, vertexPosition.y, 0.0, 0.0);","}"].join("\n"),fshader:["uniform sampler2D diffuseMap;","varying vec2 texCoord0;","void main(void)","{"," gl_FragColor = texture2D(diffuseMap, texCoord0);","}"].join("\n")},a.textured={defines:{TEXCOORD0:!0,DIFFUSE_MAP:!0},attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,diffuseMap:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","varying vec2 texCoord0;","void main(void) {"," texCoord0 = vertexUV0;"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["#if defined(TEXCOORD0) && defined(DIFFUSE_MAP)","uniform sampler2D diffuseMap;","varying vec2 texCoord0;","#endif","void main(void)","{"," #if defined(TEXCOORD0) && defined(DIFFUSE_MAP)"," gl_FragColor = texture2D(diffuseMap, texCoord0);"," #else"," gl_FragColor = vec4(1.0);"," #endif","}"].join("\n")},a.texturedLit={processors:[r.light.processor],attributes:{vertexPosition:t.POSITION,vertexNormal:t.NORMAL,vertexUV0:t.TEXCOORD0},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,cameraPosition:e.CAMERA,diffuseMap:e.DIFFUSE_MAP},builder:function(t,e){r.light.builder(t,e) },vshader:function(){return["attribute vec3 vertexPosition;","attribute vec3 vertexNormal;","attribute vec2 vertexUV0;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform vec3 cameraPosition;",r.light.prevertex,"varying vec3 normal;","varying vec3 vWorldPos;","varying vec3 viewPosition;","varying vec2 texCoord0;","void main(void) {"," vec4 worldPos = worldMatrix * vec4(vertexPosition, 1.0);"," vWorldPos = worldPos.xyz;"," gl_Position = viewProjectionMatrix * worldPos;",r.light.vertex," normal = (worldMatrix * vec4(vertexNormal, 0.0)).xyz;"," texCoord0 = vertexUV0;"," viewPosition = cameraPosition - worldPos.xyz;","}"].join("\n")},fshader:function(){return["uniform sampler2D diffuseMap;",r.light.prefragment,"varying vec3 normal;","varying vec3 vWorldPos;","varying vec3 viewPosition;","varying vec2 texCoord0;","void main(void)","{"," vec3 N = normalize(normal);"," vec4 final_color = texture2D(diffuseMap, texCoord0);",r.light.fragment," gl_FragColor = final_color;","}"].join("\n")}},a.convolution={defines:{KERNEL_SIZE_FLOAT:"25.0",KERNEL_SIZE_INT:"25"},attributes:{position:t.POSITION,uv:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,uImageIncrement:[.001953125,0],cKernel:[],size:1},vshader:["attribute vec3 position;","attribute vec2 uv;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform float size;","uniform vec2 uImageIncrement;","varying vec2 vUv;","void main() {"," vUv = uv - ( ( KERNEL_SIZE_FLOAT - 1.0 ) / 2.0 ) * size * uImageIncrement;"," gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( position, 1.0 );","}"].join("\n"),fshader:["uniform float cKernel[ KERNEL_SIZE_INT ];","uniform sampler2D tDiffuse;","uniform vec2 uImageIncrement;","uniform float size;","varying vec2 vUv;","void main() {"," vec2 imageCoord = vUv;"," vec4 sum = vec4( 0.0 );"," for( int i = 0; i < KERNEL_SIZE_INT; i ++ ) {"," sum += texture2D( tDiffuse, imageCoord ) * cKernel[ i ];"," imageCoord += uImageIncrement * size;"," }"," gl_FragColor = sum;","}"].join("\n"),buildKernel:function(t){function e(t,e){return Math.exp(-(t*t)/(2*e*e))}var i,r,o,n,a=25,s=2*Math.ceil(3*t)+1;for(s>a&&(s=a),n=.5*(s-1),r=new Array(s),o=0,i=0;s>i;++i)r[i]=e(i-n,t),o+=r[i];for(i=0;s>i;++i)r[i]/=o;return r}},a.showDepth={attributes:{vertexPosition:t.POSITION},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,near:e.NEAR_PLANE,far:e.FAR_PLANE},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","void main(void) {"," gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform float near;","uniform float far;","void main(void)","{"," float depth = gl_FragCoord.z / gl_FragCoord.w;"," float d = 1.0 - smoothstep( near, far, depth );"," gl_FragColor = vec4(d);","}"].join("\n")},a.showNormals={defines:{NORMAL:!0},attributes:{vertexPosition:t.POSITION,vertexNormal:t.NORMAL},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,opacity:1},vshader:["attribute vec3 vertexPosition;","attribute vec3 vertexNormal;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","varying vec3 normal;","void main() {","normal = vec3(worldMatrix * vec4(vertexNormal, 0.0));","gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform float opacity;","#ifdef NORMAL","varying vec3 normal;","#else","vec3 normal = vec3(0,0,1);","#endif","void main() {","gl_FragColor = vec4( 0.5 * normalize( normal ) + 0.5, opacity );","}"].join("\n")},a.bokehShader={attributes:{position:t.POSITION,uv:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tColor:e.DIFFUSE_MAP,tDepth:e.DEPTH_MAP,focus:1,aspect:1,aperture:.025,maxblur:1},vshader:["attribute vec3 position;","attribute vec2 uv;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {"," vUv = uv;"," gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( position, 1.0 );","}"].join("\n"),fshader:["varying vec2 vUv;","uniform sampler2D tColor;","uniform sampler2D tDepth;","uniform float maxblur;","uniform float aperture;","uniform float focus;","uniform float aspect;","void main() {","vec2 aspectcorrect = vec2( 1.0, aspect );","vec4 depth1 = texture2D( tDepth, vUv );","float factor = depth1.x - focus;","vec2 dofblur = vec2 ( clamp( factor * aperture, -maxblur, maxblur ) );","vec2 dofblur9 = dofblur * 0.9;","vec2 dofblur7 = dofblur * 0.7;","vec2 dofblur4 = dofblur * 0.4;","vec4 col = vec4( 0.0 );","col += texture2D( tColor, vUv.xy );","col += texture2D( tColor, vUv.xy + ( vec2( 0.0, 0.4 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.15, 0.37 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.29, 0.29 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( -0.37, 0.15 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.40, 0.0 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.37, -0.15 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.29, -0.29 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( -0.15, -0.37 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.0, -0.4 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( -0.15, 0.37 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( -0.29, 0.29 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.37, 0.15 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( -0.4, 0.0 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( -0.37, -0.15 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( -0.29, -0.29 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.15, -0.37 ) * aspectcorrect ) * dofblur );","col += texture2D( tColor, vUv.xy + ( vec2( 0.15, 0.37 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.37, 0.15 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.37, -0.15 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.15, -0.37 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.15, 0.37 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.37, 0.15 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.37, -0.15 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.15, -0.37 ) * aspectcorrect ) * dofblur9 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.29, 0.29 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.40, 0.0 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.29, -0.29 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.0, -0.4 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.29, 0.29 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.4, 0.0 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.29, -0.29 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.0, 0.4 ) * aspectcorrect ) * dofblur7 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.29, 0.29 ) * aspectcorrect ) * dofblur4 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.4, 0.0 ) * aspectcorrect ) * dofblur4 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.29, -0.29 ) * aspectcorrect ) * dofblur4 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.0, -0.4 ) * aspectcorrect ) * dofblur4 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.29, 0.29 ) * aspectcorrect ) * dofblur4 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.4, 0.0 ) * aspectcorrect ) * dofblur4 );","col += texture2D( tColor, vUv.xy + ( vec2( -0.29, -0.29 ) * aspectcorrect ) * dofblur4 );","col += texture2D( tColor, vUv.xy + ( vec2( 0.0, 0.4 ) * aspectcorrect ) * dofblur4 );","gl_FragColor = col / 41.0;","gl_FragColor.a = 1.0;","}"].join("\n")},a.particles={attributes:{vertexPosition:t.POSITION,vertexColor:t.COLOR,vertexUV0:t.TEXCOORD0},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,diffuseMap:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec4 vertexColor;","attribute vec2 vertexUV0;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","varying vec2 texCoord0;","varying vec4 color;","void main(void) {"," texCoord0 = vertexUV0;"," color = vertexColor;"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform sampler2D diffuseMap;","varying vec2 texCoord0;","varying vec4 color;","void main(void)","{"," vec4 texCol = texture2D(diffuseMap, texCoord0);"," if (color.a == 0.0 || texCol.a == 0.0) discard;"," else gl_FragColor = texCol * color;","}"].join("\n")},a.sepia={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,amount:1},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform float amount;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 color = texture2D( tDiffuse, vUv );","vec3 c = color.rgb;","color.r = dot( c, vec3( 1.0 - 0.607 * amount, 0.769 * amount, 0.189 * amount ) );","color.g = dot( c, vec3( 0.349 * amount, 1.0 - 0.314 * amount, 0.168 * amount ) );","color.b = dot( c, vec3( 0.272 * amount, 0.534 * amount, 1.0 - 0.869 * amount ) );","gl_FragColor = vec4( min( vec3( 1.0 ), color.rgb ), color.a );","}"].join("\n")},a.dotscreen={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,tSize:[256,256],center:[.5,.5],angle:1.57,scale:1},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform vec2 center;","uniform float angle;","uniform float scale;","uniform vec2 tSize;","uniform sampler2D tDiffuse;","varying vec2 vUv;","float pattern() {","float s = sin( angle ), c = cos( angle );","vec2 tex = vUv * tSize - center;","vec2 point = vec2( c * tex.x - s * tex.y, s * tex.x + c * tex.y ) * scale;","return ( sin( point.x ) * sin( point.y ) ) * 4.0;","}","void main() {","vec4 color = texture2D( tDiffuse, vUv );","float average = ( color.r + color.g + color.b ) / 3.0;","gl_FragColor = vec4( vec3( average * 10.0 - 5.0 + pattern() ), color.a );","}"].join("\n")},a.vignette={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,offset:1,darkness:1.5},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform float offset;","uniform float darkness;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 texel = texture2D( tDiffuse, vUv );","vec2 uv = ( vUv - vec2( 0.5 ) ) * vec2( offset );","gl_FragColor = vec4( mix( texel.rgb, vec3( 1.0 - darkness ), dot( uv, uv ) ), texel.a );","}"].join("\n")},a.film={attributes:a.copy.attributes,uniforms:{tDiffuse:e.DIFFUSE_MAP,time:function(){return n.time},nIntensity:.5,sIntensity:.5,sCount:1024,grayscale:0,$link:a.copy.uniforms},vshader:a.copy.vshader,fshader:["uniform float time;","uniform bool grayscale;","uniform float nIntensity;","uniform float sIntensity;","uniform float sCount;","uniform sampler2D tDiffuse;","varying vec2 texCoord0;","void main() {"," vec4 cTextureScreen = texture2D( tDiffuse, texCoord0 );"," float x = texCoord0.x * texCoord0.y * time * 1000.0;"," x = mod( x, 13.0 ) * mod( x, 123.0 );"," float dx = mod( x, 0.01 );"," vec3 cResult = cTextureScreen.rgb + cTextureScreen.rgb * clamp( 0.1 + dx * 100.0, 0.0, 1.0 );"," vec2 sc = vec2( sin( texCoord0.y * sCount ), cos( texCoord0.y * sCount ) );"," cResult += cTextureScreen.rgb * vec3( sc.x, sc.y, sc.x ) * sIntensity;"," cResult = cTextureScreen.rgb + clamp( nIntensity, 0.0,1.0 ) * ( cResult - cTextureScreen.rgb );"," if( grayscale ) {"," cResult = vec3( cResult.r * 0.3 + cResult.g * 0.59 + cResult.b * 0.11 );"," }"," gl_FragColor = vec4( cResult, cTextureScreen.a );","}"].join("\n")},a.bleachbypass={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,opacity:1},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform float opacity;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 base = texture2D( tDiffuse, vUv );","vec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );","float lum = dot( lumCoeff, base.rgb );","vec3 blend = vec3( lum );","float L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );","vec3 result1 = 2.0 * base.rgb * blend;","vec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );","vec3 newColor = mix( result1, result2, L );","float A2 = opacity * base.a;","vec3 mixRGB = A2 * newColor.rgb;","mixRGB += ( ( 1.0 - A2 ) * base.rgb );","gl_FragColor = vec4( mixRGB, base.a );","}"].join("\n")},a.horizontalTiltShift={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,h:1/128,r:.5},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform sampler2D tDiffuse;","uniform float h;","uniform float r;","varying vec2 vUv;","void main() {","vec4 sum = vec4( 0.0 );","float hh = h * abs( r - vUv.y );","sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * hh, vUv.y ) ) * 0.051;","sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * hh, vUv.y ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * hh, vUv.y ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * hh, vUv.y ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;","sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * hh, vUv.y ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * hh, vUv.y ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * hh, vUv.y ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * hh, vUv.y ) ) * 0.051;","gl_FragColor = sum;","}"].join("\n")},a.colorify={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,color:[1,1,1]},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform vec3 color;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 texel = texture2D( tDiffuse, vUv );","vec3 luma = vec3( 0.299, 0.587, 0.114 );","float v = dot( texel.xyz, luma );","gl_FragColor = vec4( v * color, texel.w );","}"].join("\n")},a.normalmap={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,heightMap:e.DIFFUSE_MAP,resolution:[512,512],height:.05},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform float height;","uniform vec2 resolution;","uniform sampler2D heightMap;","varying vec2 vUv;","void main() {","float val = texture2D( heightMap, vUv ).x;","float valU = texture2D( heightMap, vUv + vec2( 1.0 / resolution.x, 0.0 ) ).x;","float valV = texture2D( heightMap, vUv + vec2( 0.0, 1.0 / resolution.y ) ).x;","gl_FragColor = vec4( ( 0.5 * normalize( vec3( val - valU, val - valV, height ) ) + 0.5 ), 1.0 );","}"].join("\n")},a.ssao={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,tDepth:e.DEPTH_MAP,size:[512,512],cameraNear:e.MAIN_NEAR_PLANE,cameraFar:e.MAIN_FAR_PLANE,fogNear:e.MAIN_NEAR_PLANE,fogFar:e.MAIN_FAR_PLANE,fogEnabled:0,onlyAO:0,aoClamp:.3,lumInfluence:0},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform float cameraNear;","uniform float cameraFar;","uniform float fogNear;","uniform float fogFar;","uniform bool fogEnabled;","uniform bool onlyAO;","uniform vec2 size;","uniform float aoClamp;","uniform float lumInfluence;","uniform sampler2D tDiffuse;","uniform sampler2D tDepth;","varying vec2 vUv;","#define DL 2.399963229728653","#define EULER 2.718281828459045","float width = size.x;","float height = size.y;","float cameraFarPlusNear = cameraFar + cameraNear;","float cameraFarMinusNear = cameraFar - cameraNear;","float cameraCoef = 2.0 * cameraNear;","const int samples = 16;","const float radius = 2.0;","const bool useNoise = false;","const float noiseAmount = 0.0003;","const float diffArea = 0.4;","const float gDisplace = 0.4;","const vec3 onlyAOColor = vec3( 1.0, 1.0, 1.0 );","float unpackDepth( const in vec4 rgba_depth ) {","const vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );","float depth = dot( rgba_depth, bit_shift );","return depth;","}","vec2 rand( const vec2 coord ) {","vec2 noise;","if ( useNoise ) {","float nx = dot ( coord, vec2( 12.9898, 78.233 ) );","float ny = dot ( coord, vec2( 12.9898, 78.233 ) * 2.0 );","noise = clamp( fract ( 43758.5453 * sin( vec2( nx, ny ) ) ), 0.0, 1.0 );","} else {","float ff = fract( 1.0 - coord.s * ( width / 2.0 ) );","float gg = fract( coord.t * ( height / 2.0 ) );","noise = vec2( 0.25, 0.75 ) * vec2( ff ) + vec2( 0.75, 0.25 ) * gg;","}","return ( noise * 2.0 - 1.0 ) * noiseAmount;","}","float doFog() {","float zdepth = unpackDepth( texture2D( tDepth, vUv ) );","float depth = -cameraFar * cameraNear / ( zdepth * cameraFarMinusNear - cameraFar );","return smoothstep( fogNear, fogFar, depth );","}","float readDepth( const in vec2 coord ) {","return cameraCoef / ( cameraFarPlusNear - unpackDepth( texture2D( tDepth, coord ) ) * cameraFarMinusNear );","}","float compareDepths( const in float depth1, const in float depth2, inout int far ) {","float garea = 2.0;","float diff = ( depth1 - depth2 ) * 100.0;","if ( diff < gDisplace ) {","garea = diffArea;","} else {","far = 1;","}","float dd = diff - gDisplace;","float gauss = pow( EULER, -2.0 * dd * dd / ( garea * garea ) );","return gauss;","}","float calcAO( float depth, float dw, float dh ) {","float dd = radius - depth * radius;","vec2 vv = vec2( dw, dh );","vec2 coord1 = vUv + dd * vv;","vec2 coord2 = vUv - dd * vv;","float temp1 = 0.0;","float temp2 = 0.0;","int far = 0;","temp1 = compareDepths( depth, readDepth( coord1 ), far );","if ( far > 0 ) {","temp2 = compareDepths( readDepth( coord2 ), depth, far );","temp1 += ( 1.0 - temp1 ) * temp2;","}","return temp1;","}","void main() {","vec2 noise = rand( vUv );","float depth = readDepth( vUv );","float tt = clamp( depth, aoClamp, 1.0 );","float w = ( 1.0 / width ) / tt + ( noise.x * ( 1.0 - noise.x ) );","float h = ( 1.0 / height ) / tt + ( noise.y * ( 1.0 - noise.y ) );","float pw;","float ph;","float ao;","float dz = 1.0 / float( samples );","float z = 1.0 - dz / 2.0;","float l = 0.0;","for ( int i = 0; i <= samples; i ++ ) {","float r = sqrt( 1.0 - z );","pw = cos( l ) * r;","ph = sin( l ) * r;","ao += calcAO( depth, pw * w, ph * h );","z = z - dz;","l = l + DL;","}","ao /= float( samples );","ao = 1.0 - ao;","if ( fogEnabled ) {","ao = mix( ao, 1.0, doFog() );","}","vec3 color = texture2D( tDiffuse, vUv ).rgb;","vec3 lumcoeff = vec3( 0.299, 0.587, 0.114 );","float lum = dot( color.rgb, lumcoeff );","vec3 luminance = vec3( lum );","vec3 final = vec3( color * mix( vec3( ao ), vec3( 1.0 ), luminance * lumInfluence ) );","if ( onlyAO ) {","final = onlyAOColor * vec3( mix( vec3( ao ), vec3( 1.0 ), luminance * lumInfluence ) );","}","gl_FragColor = vec4( final, 1.0 );","}"].join("\n")},a.skinning={defines:{JOINT_COUNT:56,WEIGHTS:4},attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0,vertexWeights:t.WEIGHTS,vertexJointIDs:t.JOINTIDS},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,diffuseMap:e.DIFFUSE_MAP,jointPalette:function(t){var e=t.meshData,i=e.currentPose;if(i){var r=i._matrixPalette,o=16*e.paletteMap.length,n=e.store;n||(n=new Float32Array(o),e.store=n);for(var a,s=0;sh;h++)for(var c=0;4>c;c++)n[16*s+4*h+c]=a.data[4*c+h]}return n}}},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","attribute vec4 vertexWeights;","attribute vec4 vertexJointIDs;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform mat4 jointPalette[JOINT_COUNT];","varying vec2 texCoord0;","void main(void) {"," mat4 mat = mat4(0.0);"," mat += jointPalette[int(vertexJointIDs.x)] * vertexWeights.x;"," mat += jointPalette[int(vertexJointIDs.y)] * vertexWeights.y;"," mat += jointPalette[int(vertexJointIDs.z)] * vertexWeights.z;"," mat += jointPalette[int(vertexJointIDs.w)] * vertexWeights.w;"," texCoord0 = vertexUV0;"," gl_Position = viewProjectionMatrix * worldMatrix * mat * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform sampler2D diffuseMap;","varying vec2 texCoord0;","void main(void)","{"," gl_FragColor = texture2D(diffuseMap, texCoord0);","}"].join("\n")},a.rgbshift={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,amount:.005,angle:0},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform sampler2D tDiffuse;","uniform float amount;","uniform float angle;","varying vec2 vUv;","void main() {","vec2 offset = amount * vec2( cos(angle), sin(angle));","vec4 cr = texture2D(tDiffuse, vUv + offset);","vec4 cga = texture2D(tDiffuse, vUv);","vec4 cb = texture2D(tDiffuse, vUv - offset);","gl_FragColor = vec4(cr.r, cga.g, cb.b, cga.a);","}"].join("\n")},a.brightnesscontrast={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,brightness:0,contrast:0},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform sampler2D tDiffuse;","uniform float brightness;","uniform float contrast;","varying vec2 vUv;","void main() {","gl_FragColor = texture2D( tDiffuse, vUv );","gl_FragColor.rgb += brightness;","if (contrast > 0.0) {","gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) / (1.0 - contrast) + 0.5;","} else {","gl_FragColor.rgb = (gl_FragColor.rgb - 0.5) * (1.0 + contrast) + 0.5;","}","}"].join("\n")},a.luminosity={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 texel = texture2D( tDiffuse, vUv );","vec3 luma = vec3( 0.299, 0.587, 0.114 );","float v = dot( texel.xyz, luma );","gl_FragColor = vec4( v, v, v, texel.w );","}"].join("\n")},a.point={attributes:{vertexPosition:t.POSITION,vertexColor:t.COLOR},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,pointSize:2},vshader:["attribute vec3 vertexPosition;","attribute vec4 vertexColor;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform float pointSize;","varying vec4 color;","void main(void) {"," color = vertexColor;"," gl_Position = viewProjectionMatrix * worldMatrix * vec4(vertexPosition, 1.0);"," gl_PointSize = pointSize;","}"].join("\n"),fshader:["varying vec4 color;","void main(void)","{"," gl_FragColor = color;","}"].join("\n")},a.toon={attributes:{vertexPosition:t.POSITION,vertexNormal:t.NORMAL},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,cameraPosition:e.CAMERA,lightPosition:e.LIGHT0,HighlightColour:[.9,.8,.7,1],MidColour:[.65,.55,.45,1],ShadowColour:[.4,.3,.2,1],HighlightSize:.2,ShadowSize:.01,OutlineWidth:.15},vshader:["attribute vec3 vertexPosition;","attribute vec3 vertexNormal;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform vec3 cameraPosition;","uniform vec3 lightPosition;","varying vec3 N;","varying vec3 V;","varying vec3 L;","void main()","{"," vec4 worldPos = worldMatrix * vec4(vertexPosition, 1.0);"," N = (worldMatrix * vec4(vertexNormal, 0.0)).xyz;"," L = lightPosition - worldPos.xyz;"," V = cameraPosition - worldPos.xyz;"," gl_Position = projectionMatrix * viewMatrix * worldPos;","}"].join("\n"),fshader:["uniform vec4 HighlightColour;","uniform vec4 MidColour;","uniform vec4 ShadowColour;","uniform float HighlightSize;","uniform float ShadowSize;","uniform float OutlineWidth;","varying vec3 N;","varying vec3 L;","varying vec3 V;","void main()","{"," vec3 n = normalize(N);"," vec3 l = normalize(L);"," vec3 v = normalize(V);"," float lambert = dot(l,n);"," vec4 colour = MidColour;"," if (lambert > 1.0 - HighlightSize) colour = HighlightColour;"," if (lambert < ShadowSize) colour = ShadowColour;"," if (dot(n,v) < OutlineWidth) colour = vec4(0.0,0.0,0.0,1.0);"," gl_FragColor = colour;","}"].join("\n")},a.differenceOfGaussians={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,gaussBlurredImage1:"BLUR1",gaussBlurredImage2:"BLUR2",originalImage:"ORIGINAL",threshold:.01},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 texCoord0;","void main(void) {"," texCoord0 = vertexUV0;"," gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4(vertexPosition, 1.0);","}"].join("\n"),fshader:["uniform sampler2D gaussBlurredImage1;","uniform sampler2D gaussBlurredImage2;","uniform sampler2D originalImage;","uniform float threshold;","varying vec2 texCoord0;","void main(void)","{"," vec4 blur1 = texture2D(gaussBlurredImage1, texCoord0);"," vec4 blur2 = texture2D(gaussBlurredImage2, texCoord0);"," vec4 originalColor = texture2D(originalImage, texCoord0);"," vec3 col = clamp(blur1.rgb - blur2.rgb, 0.0, 1.0);"," float value = (col.r + col.g + col.b) / 3.0;"," value = step(threshold, value);"," vec3 outputColor = mix(originalColor.rgb, vec3(value), value);"," gl_FragColor = vec4(outputColor, 1.0);","}"].join("\n")},a.downsample={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","gl_FragColor = texture2D( tDiffuse, vUv );","}"].join("\n")},a.boxfilter={attributes:{vertexPosition:t.POSITION,vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,tDiffuse:e.DIFFUSE_MAP,viewport:[128,128]},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec2 vUv;","void main() {","vUv = vertexUV0;","gl_Position = projectionMatrix * viewMatrix * worldMatrix * vec4( vertexPosition, 1.0 );","}"].join("\n"),fshader:["uniform sampler2D tDiffuse;","uniform vec2 viewport;","varying vec2 vUv;","void main() {","vec3 result = vec3(0.0);","for(int x=-1; x<=1; x++) {"," for(int y=-1; y<=1; y++) {"," result += texture2D(tDiffuse, vUv + vec2(x, y) / viewport).rgb;"," }","}","gl_FragColor = vec4(result / vec3(9.0), 1.0);","}"].join("\n")},a.lightDepth={processors:[r.animation.processor],defines:{SHADOW_TYPE:0,WEIGHTS:!0,JOINTIDS:!0},attributes:{vertexPosition:t.POSITION,vertexJointIDs:t.JOINTIDS,vertexWeights:t.WEIGHTS},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,cameraScale:e.MAIN_DEPTH_SCALE},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec4 worldPosition;",r.animation.prevertex,"void main(void) {","mat4 wMatrix = worldMatrix;",r.animation.vertex,"worldPosition = viewMatrix * wMatrix * vec4(vertexPosition, 1.0);","gl_Position = projectionMatrix * worldPosition;","}"].join("\n"),fshader:["#ifndef SHADOW_TYPE","#define SHADOW_TYPE 0","#endif","uniform float cameraScale;","varying vec4 worldPosition;","void main(void)","{","float linearDepth = length(worldPosition) * cameraScale;","#if SHADOW_TYPE == 0","gl_FragColor = vec4(linearDepth);","#elif SHADOW_TYPE == 1","gl_FragColor = vec4(linearDepth);","#elif SHADOW_TYPE == 2","gl_FragColor = vec4(linearDepth, linearDepth * linearDepth, 0.0, 0.0);","#endif","}"].join("\n")},a.packDepth={attributes:{vertexPosition:t.POSITION},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,farPlane:e.FAR_PLANE},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec4 vPosition;","void main(void) {"," vPosition = viewMatrix * worldMatrix * vec4(vertexPosition, 1.0);"," gl_Position = projectionMatrix * vPosition;","}"].join("\n"),fshader:["uniform float farPlane;",i.methods.packDepth,"varying vec4 vPosition;","void main(void)","{"," float linearDepth = min(length(vPosition), farPlane) / farPlane;"," gl_FragColor = packDepth(linearDepth);","}"].join("\n")},a.pickingShader={defines:{WEIGHTS:!0,JOINTIDS:!0},attributes:{vertexPosition:t.POSITION,vertexJointIDs:t.JOINTIDS,vertexWeights:t.WEIGHTS},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,cameraFar:e.FAR_PLANE,id:function(t){return t.renderable.id+1 -}},processors:[r.animation.processor],vshader:["attribute vec3 vertexPosition;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform float cameraFar;",r.animation.prevertex,"varying float depth;","void main() {","mat4 wMatrix = worldMatrix;",r.animation.vertex,"vec4 mvPosition = viewMatrix * wMatrix * vec4( vertexPosition, 1.0 );","depth = length(mvPosition.xyz) / cameraFar;","gl_Position = projectionMatrix * mvPosition;","}"].join("\n"),fshader:["uniform float id;","varying float depth;",i.methods.packDepth16,"void main() {","vec2 packedId = vec2(floor(id/255.0), mod(id, 255.0)) * vec2(1.0/255.0);","vec2 packedDepth = packDepth16(depth);","gl_FragColor = vec4(packedId, packedDepth);","}"].join("\n")},a}),define("goo/shapes/Cylinder",["goo/renderer/MeshData"],function(t){"use strict";function e(e,i){if(1===arguments.length&&arguments[0]instanceof Object){var r=arguments[0];e=r.radialSamples,i=r.radius}this.radialSamples=e||8,this.radius=i||1;var o=t.defaultMap([t.POSITION,t.NORMAL,t.TEXCOORD0]);t.call(this,o,4*this.radialSamples+2+2,4*3*this.radialSamples),this.indexModes=["Triangles"],this.rebuild()}return e.prototype=Object.create(t.prototype),e.prototype.rebuild=function(){for(var e=[],i=[],r=[],o=[],n=2*Math.PI/this.radialSamples,a=1/this.radialSamples,s=4*this.radialSamples+2+2-1,h=0,c=0,l=0;he.EPSILON)s=1;else{if(!(d<-e.EPSILON))return!1;s=-1,d=-d}var p=s*this.direction.dot(t.cross(h,l,l)),f=!1;if(p>=0){var m=s*this.direction.dot(c.cross(h));if(m>=0&&d>=p+m){var g=-s*h.dot(u);if(g>=0){if(!a)return!0;var v=1/d,y=g*v;if(n){var x=p*v,_=m*v;a.setd(y,x,_)}else a.setv(this.origin).add_d(this.direction.x*y,this.direction.y*y,this.direction.z*y);f=!0}}}return f},i.prototype.getDistanceToPrimitive=function(t){var e=this.calcVec1;return this.intersects(t,!1,e)?this.origin.distance(e.x,e.y,e.z):1/0},i.prototype.intersectsPlane=function(t,e){var i=t.normal,r=i.dot(this.direction);if(Math.abs(r)<1e-5)return!1;var o=-i.dot(this.origin)+t.constant,n=o/r;return 1e-5>n?!1:(null!==e&&e.set(this.direction).multiplyLocal(n).addLocal(this.origin),!0)},i.prototype.distanceSquared=function(t,e){var i=this.calcVec1;i.set(t).subtractLocal(this.origin);var r=this.direction.dot(i);return r>0?(i.set(this.direction).multiplyLocal(r),i.addLocal(this.origin)):i.set(this.origin),null!==e&&e.set(i),t.subtract(i,i),i.lengthSquared()},i}),define("goo/renderer/Camera",["goo/util/Handy","goo/math/Vector3","goo/math/Vector4","goo/math/Matrix4x4","goo/math/Plane","goo/math/MathUtils","goo/math/Ray","goo/renderer/bounds/BoundingBox","goo/renderer/bounds/BoundingSphere","goo/renderer/bounds/BoundingVolume"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(n,a,s,h){this.translation=new e(0,0,0),this._left=new e(-1,0,0),this._up=new e(0,1,0),this._direction=new e(0,0,-1),t.defineProperty(this,"this._depthRangeNear",0,function(){this._depthRangeDirty=!0}),t.defineProperty(this,"this._depthRangeFar",1,function(){this._depthRangeDirty=!0}),this._depthRangeDirty=!0,this._frustumNear=1,this._frustumFar=2,this._frustumLeft=-.5,this._frustumRight=.5,this._frustumTop=.5,this._frustumBottom=-.5,this._coeffLeft=[],this._coeffRight=[],this._coeffBottom=[],this._coeffTop=[],this._viewPortLeft=0,this._viewPortRight=1,this._viewPortTop=1,this._viewPortBottom=0,this._planeQuantity=6,this._worldPlane=[];for(var c=0;cc;c++)this._corners.push(new e);this._extents=new e,this.vNearPlaneCenter=new e,this.vFarPlaneCenter=new e,this.direction=new e,this.left=new e,this.up=new e,this.planeNormal=new e,this.changedProperties=!0,this.setFrustumPerspective(n,a,s,h),this.onFrameChange()}l.LEFT_PLANE=0,l.RIGHT_PLANE=1,l.BOTTOM_PLANE=2,l.TOP_PLANE=3,l.FAR_PLANE=4,l.NEAR_PLANE=5,l.FRUSTUM_PLANES=6,l.Perspective=0,l.Parallel=1,l.Custom=2,l.Outside=0,l.Inside=1,l.Intersects=2,l.prototype.normalize=function(){this._left.normalize(),this._up.normalize(),this._direction.normalize(),this.onFrameChange()},l.prototype.setProjectionMode=function(t){this.projectionMode=t,this.update()},l.prototype.setFrustumPerspective=function(t,e,i,r){if(void 0!==t&&null!==t&&(this.fov=t),void 0!==e&&null!==e&&(this.aspect=e),void 0!==i&&null!==i&&(this.near=i),void 0!==r&&null!==r&&(this.far=r),void 0!==this.fov){var o=Math.tan(.5*this.fov*n.DEG_TO_RAD)*this.near,a=o*this.aspect;this._frustumLeft=-a,this._frustumRight=a,this._frustumBottom=-o,this._frustumTop=o,this._frustumNear=this.near,this._frustumFar=this.far,this.onFrustumChange()}},l.prototype.setFrustum=function(t,e,i,r,o,n){void 0!==t&&null!==t&&(this.near=t),void 0!==e&&null!==e&&(this.far=e),void 0!==i&&null!==i&&(this.left=i),void 0!==r&&null!==r&&(this.right=r),void 0!==o&&null!==o&&(this.top=o),void 0!==n&&null!==n&&(this.bottom=n),this._frustumNear=this.near,this._frustumFar=this.far,this._frustumLeft=this.left,this._frustumRight=this.right,this._frustumTop=this.top,this._frustumBottom=this.bottom,this.onFrustumChange()},l.prototype.copy=function(t){this.translation.setv(t.translation),this._left.setv(t._left),this._up.setv(t._up),this._direction.setv(t._direction),this.fov=t.fov,this.aspect=t.aspect,this.near=t.near,this.far=t.far,this._frustumLeft=t._frustumLeft,this._frustumRight=t._frustumRight,this._frustumBottom=t._frustumBottom,this._frustumTop=t._frustumTop,this._frustumNear=t._frustumNear,this._frustumFar=t._frustumFar,this.projectionMode=t.projectionMode,this._depthRangeDirty=!0,this.onFrustumChange(),this.onFrameChange()},l.prototype.setFrame=function(t,e,i,r){this._left.copy(e),this._up.copy(i),this._direction.copy(r),this.translation.copy(t),this.onFrameChange()},l.prototype.lookAt=function(t,i){this._newDirection.copy(t).sub(this.translation).normalize(),this._newDirection.equals(this._direction)||(this._direction.copy(this._newDirection),this._up.copy(i).normalize(),this._up.equals(e.ZERO)&&this._up.copy(e.UNIT_Y),this._left.copy(this._up).cross(this._direction).normalize(),this._left.equals(e.ZERO)&&(0!==this._direction.x?this._left.set(this._direction.y,-this._direction.x,0):this._left.set(0,this._direction.z,-this._direction.y)),this._up.copy(this._direction).cross(this._left).normalize(),this.onFrameChange())},l.prototype.makeDirty=function(){this._depthRangeDirty=!0,this._viewPortDirty=!0},l.prototype.update=function(){this._depthRangeDirty=!0,this.onFrustumChange(),this.onFrameChange()},l.prototype.setViewPort=function(){console.warn("Camera.setViewPort() not implemented.")},l.prototype.contains=function(t){if(!t)return l.Inside;for(var e=l.Inside,i=l.FRUSTUM_PLANES-1;i>=0;i--)switch(t.whichSide(this._worldPlane[i])){case c.Inside:return l.Outside;case c.Outside:break;case c.Intersects:e=l.Intersects}return e},l.prototype.onFrustumChange=function(){if(this.projectionMode===l.Perspective){var t=this._frustumNear*this._frustumNear,e=this._frustumLeft*this._frustumLeft,i=this._frustumRight*this._frustumRight,r=this._frustumBottom*this._frustumBottom,o=this._frustumTop*this._frustumTop,n=1/Math.sqrt(t+e);this._coeffLeft[0]=this._frustumNear*n,this._coeffLeft[1]=-this._frustumLeft*n,n=1/Math.sqrt(t+i),this._coeffRight[0]=-this._frustumNear*n,this._coeffRight[1]=this._frustumRight*n,n=1/Math.sqrt(t+r),this._coeffBottom[0]=this._frustumNear*n,this._coeffBottom[1]=-this._frustumBottom*n,n=1/Math.sqrt(t+o),this._coeffTop[0]=-this._frustumNear*n,this._coeffTop[1]=this._frustumTop*n}else this.projectionMode===l.Parallel&&(this._frustumRight>this._frustumLeft?(this._coeffLeft[0]=-1,this._coeffLeft[1]=0,this._coeffRight[0]=1,this._coeffRight[1]=0):(this._coeffLeft[0]=1,this._coeffLeft[1]=0,this._coeffRight[0]=-1,this._coeffRight[1]=0),this._frustumTop>this._frustumBottom?(this._coeffBottom[0]=-1,this._coeffBottom[1]=0,this._coeffTop[0]=1,this._coeffTop[1]=0):(this._coeffBottom[0]=1,this._coeffBottom[1]=0,this._coeffTop[0]=-1,this._coeffTop[1]=0));this._updatePMatrix=!0,this._updateMVPMatrix=!0,this._updateInverseMVMatrix=!0,this._updateInverseMVPMatrix=!0,this.changedProperties=!0},l.prototype.onFrameChange=function(){var t=this._direction.dot(this.translation),e=this.planeNormal;e.x=this._left.x*this._coeffLeft[0],e.y=this._left.y*this._coeffLeft[0],e.z=this._left.z*this._coeffLeft[0],e.add([this._direction.x*this._coeffLeft[1],this._direction.y*this._coeffLeft[1],this._direction.z*this._coeffLeft[1]]),this._worldPlane[l.LEFT_PLANE].normal.copy(e),this._worldPlane[l.LEFT_PLANE].constant=this.translation.dot(e),e.x=this._left.x*this._coeffRight[0],e.y=this._left.y*this._coeffRight[0],e.z=this._left.z*this._coeffRight[0],e.add([this._direction.x*this._coeffRight[1],this._direction.y*this._coeffRight[1],this._direction.z*this._coeffRight[1]]),this._worldPlane[l.RIGHT_PLANE].normal.copy(e),this._worldPlane[l.RIGHT_PLANE].constant=this.translation.dot(e),e.x=this._up.x*this._coeffBottom[0],e.y=this._up.y*this._coeffBottom[0],e.z=this._up.z*this._coeffBottom[0],e.add([this._direction.x*this._coeffBottom[1],this._direction.y*this._coeffBottom[1],this._direction.z*this._coeffBottom[1]]),this._worldPlane[l.BOTTOM_PLANE].normal.copy(e),this._worldPlane[l.BOTTOM_PLANE].constant=this.translation.dot(e),e.x=this._up.x*this._coeffTop[0],e.y=this._up.y*this._coeffTop[0],e.z=this._up.z*this._coeffTop[0],e.add([this._direction.x*this._coeffTop[1],this._direction.y*this._coeffTop[1],this._direction.z*this._coeffTop[1]]),this._worldPlane[l.TOP_PLANE].normal.copy(e),this._worldPlane[l.TOP_PLANE].constant=this.translation.dot(e),this.projectionMode===l.Parallel&&(this._frustumRight>this._frustumLeft?(this._worldPlane[l.LEFT_PLANE].constant=this._worldPlane[l.LEFT_PLANE].contant+this._frustumLeft,this._worldPlane[l.RIGHT_PLANE].constant=this._worldPlane[l.RIGHT_PLANE].contant-this._frustumRight):(this._worldPlane[l.LEFT_PLANE].constant=this._worldPlane[l.LEFT_PLANE].contant-this._frustumLeft,this._worldPlane[l.RIGHT_PLANE].constant=this._worldPlane[l.RIGHT_PLANE].contant+this._frustumRight),this._frustumBottom>this._frustumTop?(this._worldPlane[l.TOP_PLANE].constant=this._worldPlane[l.TOP_PLANE].contant+this._frustumTop,this._worldPlane[l.BOTTOM_PLANE].constant=this._worldPlane[l.BOTTOM_PLANE].contant-this._frustumBottom):(this._worldPlane[l.TOP_PLANE].constant=this._worldPlane[l.TOP_PLANE].contant-this._frustumTop,this._worldPlane[l.BOTTOM_PLANE].constant=this._worldPlane[l.BOTTOM_PLANE].contant+this._frustumBottom)),e.copy(this._direction).invert(),this._worldPlane[l.FAR_PLANE].normal.copy(e),this._worldPlane[l.FAR_PLANE].constant=-(t+this._frustumFar),this._worldPlane[l.NEAR_PLANE].normal.copy(this._direction),this._worldPlane[l.NEAR_PLANE].constant=t+this._frustumNear,this._updateMVMatrix=!0,this._updateMVPMatrix=!0,this._updateInverseMVMatrix=!0,this._updateInverseMVPMatrix=!0},l.prototype.updateProjectionMatrix=function(){if(this.projectionMode===l.Parallel){this.projection.setIdentity();var t=this.projection.data;t[0]=2/(this._frustumRight-this._frustumLeft),t[5]=2/(this._frustumTop-this._frustumBottom),t[10]=-2/(this._frustumFar-this._frustumNear),t[12]=-(this._frustumRight+this._frustumLeft)/(this._frustumRight-this._frustumLeft),t[13]=-(this._frustumTop+this._frustumBottom)/(this._frustumTop-this._frustumBottom),t[14]=-(this._frustumFar+this._frustumNear)/(this._frustumFar-this._frustumNear)}else if(this.projectionMode===l.Perspective){this.projection.setIdentity();var t=this.projection.data;t[0]=2*this._frustumNear/(this._frustumRight-this._frustumLeft),t[5]=2*this._frustumNear/(this._frustumTop-this._frustumBottom),t[8]=(this._frustumRight+this._frustumLeft)/(this._frustumRight-this._frustumLeft),t[9]=(this._frustumTop+this._frustumBottom)/(this._frustumTop-this._frustumBottom),t[10]=-(this._frustumFar+this._frustumNear)/(this._frustumFar-this._frustumNear),t[11]=-1,t[14]=-(2*this._frustumFar*this._frustumNear)/(this._frustumFar-this._frustumNear),t[15]=-0}},l.prototype.updateModelViewMatrix=function(){this.modelView.setIdentity();var t=this.modelView.data;t[0]=-this._left.x,t[4]=-this._left.y,t[8]=-this._left.z,t[1]=this._up.x,t[5]=this._up.y,t[9]=this._up.z,t[2]=-this._direction.x,t[6]=-this._direction.y,t[10]=-this._direction.z,t[12]=this._left.dot(this.translation),t[13]=-this._up.dot(this.translation),t[14]=this._direction.dot(this.translation)},l.prototype.getPickRay=function(t,i,r,o,n){n||(n=new a);var s=new e,h=new e;return this.getWorldCoordinates(t,o-i,r,o,0,s),this.getWorldCoordinates(t,o-i,r,o,.3,h).sub(s).normalize(),n.origin.copy(s),n.direction.copy(h),n},l.prototype.getWorldCoordinates=function(t,r,o,n,a,s){s||(s=new e),this.checkInverseModelViewProjection();var h=new i;return h.set(2*((t/o-this._viewPortLeft)/(this._viewPortRight-this._viewPortLeft))-1,2*((r/n-this._viewPortBottom)/(this._viewPortTop-this._viewPortBottom))-1,2*a-1,1),this.modelViewProjectionInverse.applyPost(h),h.mul(1/h.w),s.x=h.x,s.y=h.y,s.z=h.z,s},l.prototype.getScreenCoordinates=function(t,e,i,r){return r=this.getNormalizedDeviceCoordinates(t,r),r.x=(r.x+1)*(this._viewPortRight-this._viewPortLeft)/2*e,r.y=(r.y+1)*(this._viewPortTop-this._viewPortBottom)/2*i,r.z=(r.z+1)/2,r},l.prototype.getFrustumCoordinates=function(t,e){return e=this.getNormalizedDeviceCoordinates(t,e),e.x=(e.x+1)*(this._frustumRight-this._frustumLeft)/2+this._frustumLeft,e.y=(e.y+1)*(this._frustumTop-this._frustumBottom)/2+this._frustumBottom,e.z=(e.z+1)*(this._frustumFar-this._frustumNear)/2+this._frustumNear,e},l.prototype.getNormalizedDeviceCoordinates=function(t,r){r||(r=new e),this.checkModelViewProjection();var o=new i;return o.set(t.x,t.y,t.z,1),this.modelViewProjection.applyPost(o),o.mul(1/o.w),r.x=o.x,r.y=o.y,r.z=o.z,r},l.prototype.checkModelView=function(){this._updateMVMatrix&&(this.updateModelViewMatrix(),this._updateMVMatrix=!1)},l.prototype.checkProjection=function(){this._updatePMatrix&&(this.updateProjectionMatrix(),this._updatePMatrix=!1)},l.prototype.checkModelViewProjection=function(){this._updateMVPMatrix&&(this.checkModelView(),this.checkProjection(),this.modelViewProjection.copy(this.getProjectionMatrix()).combine(this.getViewMatrix()),this._updateMVPMatrix=!1)},l.prototype.checkInverseModelView=function(){this._updateInverseMVMatrix&&(this.checkModelView(),r.invert(this.modelView,this.modelViewInverse),this._updateInverseMVMatrix=!1)},l.prototype.checkInverseModelViewProjection=function(){this._updateInverseMVPMatrix&&(this.checkModelViewProjection(),r.invert(this.modelViewProjection,this.modelViewProjectionInverse),this._updateInverseMVPMatrix=!1)},l.prototype.getViewMatrix=function(){return this.checkModelView(),this.modelView},l.prototype.getProjectionMatrix=function(){return this.checkProjection(),this.projection},l.prototype.getViewProjectionMatrix=function(){return this.checkModelViewProjection(),this.modelViewProjection},l.prototype.getViewInverseMatrix=function(){return this.checkInverseModelView(),this.modelViewInverse},l.prototype.getViewProjectionInverseMatrix=function(){return this.checkInverseModelViewProjection(),this.modelViewProjectionInverse},l.prototype.pack=function(t){for(var e=t.center,r=this._corners,o=this._extents,n=0;n0?1:0>t?-1:0};return l.prototype.setToObliqueMatrix=function(t,e){e=e||0;var r=this._clipPlane.setv(t);this.getViewMatrix().applyPost(r),r.w=this.translation.y*t.y+e,this._updatePMatrix=!0;var o=this.getProjectionMatrix();this._qCalc.setd((u(r.x)+o[8])/o[0],(u(r.y)+o[9])/o[5],-1,(1+o[10])/o[14]),r.mul(2/i.dot(r,this._qCalc)),o[2]=r.x,o[6]=r.y,o[10]=r.z+1,o[14]=r.w,this._updateMVPMatrix=!0,this._updateInverseMVPMatrix=!0},l}),define("goo/renderer/pass/FullscreenUtil",["goo/shapes/ShapeCreator","goo/renderer/Camera","goo/math/Vector3"],function(t,e,i){"use strict";function r(){}var o=new e;return o.projectionMode=e.Parallel,o.setFrustum(0,1,-1,1,1,-1),o._left.copy(i.UNIT_X).invert(),o._up.copy(i.UNIT_Y),o._direction.copy(i.UNIT_Z),o.onFrameChange(),r.camera=o,r.quad=t.createQuad(2,2),r}),define("goo/renderer/pass/FullscreenPass",["goo/renderer/Material","goo/renderer/pass/FullscreenUtil","goo/renderer/shaders/ShaderLib"],function(t,e,i){"use strict";function r(r){this.material=t.createMaterial(r||i.simple),this.useReadBuffer=!0,this.renderToScreen=!1,this.renderable={meshData:e.quad,materials:[this.material]},this.enabled=!0,this.clear=!1,this.needsSwap=!0}return r.prototype.render=function(t,i,r){this.useReadBuffer&&this.material.setTexture("DIFFUSE_MAP",r),this.renderToScreen?t.render(this.renderable,e.camera,[],null,this.clear):t.render(this.renderable,e.camera,[],i,this.clear)},r}),define("goo/renderer/shadow/ShadowHandler",["goo/math/Vector3","goo/renderer/pass/FullscreenPass","goo/renderer/Camera","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/renderer/pass/RenderTarget","goo/math/Vector4","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(){this.depthMaterial=r.createMaterial(o.lightDepth,"depthMaterial"),this.depthMaterial.cullState.cullFace="Back",this.fullscreenPass=new e,this.downsample=r.createShader(o.downsample,"downsample");var i=2;this.blurfilter=r.createShader(o.convolution,"blurfilter");var n=2*Math.ceil(3*i)+1;this.blurfilter.defines={KERNEL_SIZE_FLOAT:n.toFixed(1),KERNEL_SIZE_INT:n.toFixed(0)},this.blurfilter.uniforms.cKernel=o.convolution.buildKernel(i),this.oldClearColor=new a(0,0,0,0),this.shadowClearColor=new a(1,1,1,1),this.renderList=[],this.shadowList=[],this.tmpVec=new t,this.first=!0}return l.prototype._createShadowData=function(t){var e=t.resolution[0],i=t.resolution[1];t.shadowData=t.shadowData||{},t.shadowData.shadowTarget=new n(e,i,{type:"Float",magFilter:"NearestNeighbor",minFilter:"NearestNeighborNoMipMaps"}),t.shadowData.shadowResult=null,"VSM"===t.shadowType&&(t.shadowData.shadowTargetDown=new n(e/2,i/2,{type:"Float"}),t.shadowData.shadowBlurred=new n(e/2,i/2,{type:"Float"})),t.shadowRecord=t.shadowRecord||{},t.shadowRecord.resolution=t.shadowRecord.resolution||[],t.shadowRecord.resolution[0]=e,t.shadowRecord.resolution[0]=e,t.shadowRecord.shadowType=t.shadowType},l.prototype._testStatesEqual=function(t,e){var i=Object.keys(t),r=Object.keys(e);if(i.length!==r.length)return!1;for(var o=0;o-1&&t.splice(r,1)},t}),define("goo/entities/Bus",["goo/util/ArrayUtil"],function(t){"use strict";function e(){this.trie={name:"",listeners:[],children:{}}}return e.prototype.emit=function(t,e){"string"==typeof t&&(t=[t]);for(var i=0;i=200&&d.status<=299&&window.eval.call(window,d.responseText)},d.send(null),"undefined"==typeof window.WebGLDebugUtils?console.warn("You need to include webgl-debug.js in your script definition to run in debug mode."):(console.log("Running in webgl debug mode."),e.validate?(console.log('Running with "undefined arguments" validation.'),this.context=window.WebGLDebugUtils.makeDebugContext(this.context,this.onDebugError.bind(this),g)):this.context=window.WebGLDebugUtils.makeDebugContext(this.context,this.onDebugError.bind(this)))}this.rendererRecord=new t,this.glExtensionCompressedTextureS3TC=s.SUPPORTS_DDS=h.isSupported(this.context),this.glExtensionTextureFloat=this.context.getExtension("OES_texture_float"),this.glExtensionTextureFloatLinear=this.context.getExtension("OES_texture_float_linear"),this.glExtensionTextureHalfFloat=this.context.getExtension("OES_texture_half_float"),this.glExtensionStandardDerivatives=this.context.getExtension("OES_standard_derivatives"),this.glExtensionTextureFilterAnisotropic=this.context.getExtension("EXT_texture_filter_anisotropic")||this.context.getExtension("MOZ_EXT_texture_filter_anisotropic")||this.context.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.glExtensionDepthTexture=this.context.getExtension("WEBGL_depth_texture")||this.context.getExtension("WEBKIT_WEBGL_depth_texture")||this.context.getExtension("MOZ_WEBGL_depth_texture"),this.glExtensionElementIndexUInt=this.context.getExtension("OES_element_index_uint"),this.glExtensionTextureFloat||console.log("Float textures not supported."),this.glExtensionTextureFloatLinear||console.log("Float textures with linear filtering not supported."),this.glExtensionStandardDerivatives||console.log("Standard derivatives not supported."),this.glExtensionTextureFilterAnisotropic||console.log("Anisotropic texture filtering not supported."),this.glExtensionCompressedTextureS3TC||console.log("S3TC compressed textures not supported."),this.glExtensionDepthTexture||console.log("Depth textures not supported."),this.glExtensionElementIndexUInt||console.log("32 bit indices not supported."),void 0===this.context.getShaderPrecisionFormat&&(this.context.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),this.capabilities={maxTexureSize:this.context.getParameter(v.MAX_TEXTURE_SIZE),maxCubemapSize:this.context.getParameter(v.MAX_CUBE_MAP_TEXTURE_SIZE),maxRenderbufferSize:this.context.getParameter(v.MAX_RENDERBUFFER_SIZE),maxViewPortDims:this.context.getParameter(v.MAX_VIEWPORT_DIMS),maxAnisotropy:this.glExtensionTextureFilterAnisotropic?this.context.getParameter(this.glExtensionTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,maxVertexTextureUnits:this.context.getParameter(v.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxFragmentTextureUnits:this.context.getParameter(v.MAX_TEXTURE_IMAGE_UNITS),maxCombinedTextureUnits:this.context.getParameter(v.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxVertexAttributes:this.context.getParameter(v.MAX_VERTEX_ATTRIBS),maxVertexUniformVectors:this.context.getParameter(v.MAX_VERTEX_UNIFORM_VECTORS),maxFragmentUniformVectors:this.context.getParameter(v.MAX_FRAGMENT_UNIFORM_VECTORS),maxVaryingVectors:this.context.getParameter(v.MAX_VARYING_VECTORS),aliasedPointSizeRange:this.context.getParameter(v.ALIASED_POINT_SIZE_RANGE),aliasedLineWidthRange:this.context.getParameter(v.ALIASED_LINE_WIDTH_RANGE),samples:this.context.getParameter(v.SAMPLES),sampleBuffers:this.context.getParameter(v.SAMPLE_BUFFERS),depthBits:this.context.getParameter(v.DEPTH_BITS),stencilBits:this.context.getParameter(v.STENCIL_BITS),subpixelBits:this.context.getParameter(v.SUBPIXEL_BITS),supportedExtensionsList:this.context.getSupportedExtensions(),renderer:this.context.getParameter(v.RENDERER),vendor:this.context.getParameter(v.VENDOR),version:this.context.getParameter(v.VERSION),shadingLanguageVersion:this.context.getParameter(v.SHADING_LANGUAGE_VERSION),vertexShaderHighpFloat:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.HIGH_FLOAT),vertexShaderMediumpFloat:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.MEDIUM_FLOAT),vertexShaderLowpFloat:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.LOW_FLOAT),fragmentShaderHighpFloat:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.HIGH_FLOAT),fragmentShaderMediumpFloat:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.MEDIUM_FLOAT),fragmentShaderLowpFloat:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.LOW_FLOAT),vertexShaderHighpInt:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.HIGH_INT),vertexShaderMediumpInt:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.MEDIUM_INT),vertexShaderLowpInt:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.LOW_INT),fragmentShaderHighpInt:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.HIGH_INT),fragmentShaderMediumpInt:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.MEDIUM_INT),fragmentShaderLowpInt:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.LOW_INT)},this.shaderPrecision=e.shaderPrecision||"highp",this.shaderPrecision="highp"===this.shaderPrecision&&this.capabilities.vertexShaderHighpFloat.precision>0&&this.capabilities.fragmentShaderHighpFloat.precision>0?"highp":"lowp"!==this.shaderPrecision&&this.capabilities.vertexShaderMediumpFloat.precision>0&&this.capabilities.fragmentShaderMediumpFloat.precision>0?"mediump":"lowp",this.downScale=e.downScale||1,this.clearColor=new o,this._clearColor=new Float64Array(4),this.setClearColor(.3,.3,.3,1),this.context.clearDepth(1),this.context.clearStencil(0),this.context.stencilMask(0),this.context.enable(v.DEPTH_TEST),this.context.depthFunc(v.LEQUAL),this.viewportX=0,this.viewportY=0,this.viewportWidth=0,this.viewportHeight=0,this.currentWidth=0,this.currentHeight=0,this._overrideMaterials=[],this._mergedMaterial=new c("Merged Material"),this.renderQueue=new u,this.info={calls:0,vertices:0,indices:0,reset:function(){this.calls=0,this.vertices=0,this.indices=0},toString:function(){return"Calls: "+this.calls+" Vertices: "+this.vertices+" Indices: "+this.indices}},this.shadowHandler=new p,this.hardwarePicking=null}function g(t,e){for(var i=0;i0||(this.fillRenderInfo(c,s),this.renderMesh(s))}}else this.fillRenderInfo(t,s),this.renderMesh(s);o&&o.generateMipmaps&&e.isPowerOfTwo(o.width)&&e.isPowerOfTwo(o.height)&&this.updateRenderTargetMipmap(o)}},m.prototype.fillRenderInfo=function(t,e){t instanceof n?(e.meshData=t.meshDataComponent.meshData,e.materials=t.meshRendererComponent.materials,e.transform=t.particleComponent?l.IDENTITY:t.transformComponent.worldTransform,t.meshDataComponent.currentPose?e.currentPose=t.meshDataComponent.currentPose:delete e.currentPose):(e.meshData=t.meshData,e.materials=t.materials,e.transform=t.transform),e.renderable=t},m.prototype._override=function(t,e,i){i.empty();for(var r=Object.keys(i),o=0,n=r.length;n>o;o++){var a=r[o],s=i[a],h=t[a],c=e[a];if(s instanceof Object&&"shader"!==a){for(var l=Object.keys(h),u=0,d=l.length;d>u;u++){var p=l[u];s[p]=h[p]}for(var l=Object.keys(c),u=0,d=l.length;d>u;u++){var p=l[u];void 0===s[p]&&(s[p]=c[p])}}else i[a]=void 0!==h?h:c}},m.prototype.renderMesh=function(t){var e=t.meshData;if(!(null===e.vertexData||null!==e.vertexData&&0===e.vertexData.data.byteLength||null!==e.indexData&&0===e.indexData.data.byteLength)){this.bindData(e.vertexData);var i=t.materials,r=null,o=e,n=0;n=0===this._overrideMaterials.length?i.length:this._overrideMaterials.length;for(var a=0;n>a;a++){var s=null,h=null;if(al;l++){var f=u[l];p.push(f+"_"+c.defines[f])}p.sort();var m=p.join("_")+"_"+c.name,g=this.rendererRecord.shaderCache=this.rendererRecord.shaderCache||{};if(g[m]){if(c=g[m],c!==s.shader){for(var f in s.shader.uniforms)c.uniforms[f]=s.shader.uniforms[f];s.shader=c}}else c.builder&&c.builder(c,t),c=s.shader=c.clone(),g[m]=c}c.apply(t,this),this.updateDepthTest(s),this.updateCulling(s),this.updateBlending(s),this.updateOffset(s),this.updateTextures(s),this.updateLineAndPointSettings(s),this._checkDualTransparency(s,e),this.updateCulling(s),this._drawBuffers(e),this.info.calls++,this.info.vertices+=e.vertexCount,this.info.indices+=e.indexCount}else s.errorOnce||(console.warn("No shader set on material: "+s.name),s.errorOnce=!0)}}},m.prototype._drawBuffers=function(t){null!==t.getIndexBuffer()?(this.bindData(t.getIndexData()),null!==t.getIndexLengths()?this.drawElementsVBO(t.getIndexBuffer(),t.getIndexModes(),t.getIndexLengths()):this.drawElementsVBO(t.getIndexBuffer(),t.getIndexModes(),[t.getIndexBuffer().length])):null!==t.getIndexLengths()?this.drawArraysVBO(t.getIndexModes(),t.getIndexLengths()):this.drawArraysVBO(t.getIndexModes(),[t.vertexCount])},m.prototype._checkDualTransparency=function(t,e){if(t.dualTransparency){var i=t.cullState.cullFace,r="Front"===i?"Back":"Front";t.cullState.cullFace=r,this.updateCulling(t),this._drawBuffers(e),t.cullState.cullFace=i}},m.prototype.readPixels=function(t,e,i,r,o){this.context.readPixels(t,e,i,r,v.RGBA,v.UNSIGNED_BYTE,o)},m.prototype.drawElementsVBO=function(t,e,i){for(var r=0,o=0,n=t.type=t.type||this.getGLArrayType(t),a=this.getGLByteSize(t),s=0;sy;y++){var _=t[y];(!_.meshRendererComponent||_.meshRendererComponent.isPickable)&&g.push(_)}this.render(g,e,[],this.hardwarePicking.pickingTarget,i,l||this.hardwarePicking.pickingMaterial),a&&this.context.disable(v.SCISSOR_TEST)}}},m.prototype.pick=function(t,e,i,r){if(0===this.viewportWidth*this.viewportHeight)return i.id=-1,i.depth=0,void 0;var o=4,n=Math.floor(t/o),a=Math.floor((this.viewportHeight-e)/o);this.readPixels(n,a,1,1,this.hardwarePicking.pickingBuffer);var s=255*this.hardwarePicking.pickingBuffer[0]+this.hardwarePicking.pickingBuffer[1]-1,h=(this.hardwarePicking.pickingBuffer[2]/255+this.hardwarePicking.pickingBuffer[3]/65025)*r.far;i.id=s,i.depth=h},m.prototype.updateLineAndPointSettings=function(t){var e=this.rendererRecord.lineRecord,i=t.lineWidth||1;e.lineWidth!==i&&(this.context.lineWidth(i),e.lineWidth=i)},m.prototype.updateDepthTest=function(t){var e=this.rendererRecord.depthRecord,i=t.depthState;e.enabled!==i.enabled&&(i.enabled?this.context.enable(v.DEPTH_TEST):this.context.disable(v.DEPTH_TEST),e.enabled=i.enabled),e.write!==i.write&&(i.write?this.context.depthMask(!0):this.context.depthMask(!1),e.write=i.write)},m.prototype.updateCulling=function(t){var e=this.rendererRecord.cullRecord,i=t.cullState.cullFace,r=t.cullState.frontFace,o=t.cullState.enabled;if(e.enabled!==o&&(o?this.context.enable(v.CULL_FACE):this.context.disable(v.CULL_FACE),e.enabled=o),e.cullFace!==i){var n="Front"===i?v.FRONT:"Back"===i?v.BACK:v.FRONT_AND_BACK;this.context.cullFace(n),e.cullFace=i}if(e.frontFace!==r){switch(r){case"CCW":this.context.frontFace(v.CCW);break;case"CW":this.context.frontFace(v.CW)}e.frontFace=r}},m.prototype.updateTextures=function(t){for(var o=this.context,n=t.shader.textureSlots,a=0;a1?~~(s/2):1,c=~~(c/2)>1?~~(c/2):1;else for(var d=0;d1?~~(s/2):1,c=~~(c/2)>1?~~(c/2):1,n+=a;var p=1+Math.ceil(Math.log(Math.max(i.image.height,i.image.width))/Math.log(2)),f=o[o.length-1];if(o.lengthd;d++)f=2*~~((s+3)/4)*~~((c+3)/4)*i.image.bpp,t.compressedTexImage2D(e,d,u,s,c,0,new Uint8Array(f)),s=~~(s/2)>1?~~(s/2):1,c=~~(c/2)>1?~~(c/2):1}},m.prototype.updateTexture=function(t,i,r,o){t.activeTexture(v.TEXTURE0+r),t.bindTexture(this.getGLType(i.variant),i.glTexture),o.boundTexture=i.glTexture,t.pixelStorei(v.UNPACK_ALIGNMENT,i.unpackAlignment),t.pixelStorei(v.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),t.pixelStorei(v.UNPACK_FLIP_Y_WEBGL,i.flipY);var n=i.image;if("2D"===i.variant)n?(!n.isCompressed&&(i.generateMipmaps||n.width>this.capabilities.maxTexureSize||n.height>this.capabilities.maxTexureSize)&&(this.checkRescale(i,n,n.width,n.height,this.capabilities.maxTexureSize),n=i.image),n.isData===!0?n.isCompressed?this.loadCompressedTexture(t,v.TEXTURE_2D,i,n.data):t.texImage2D(v.TEXTURE_2D,0,this.getGLInternalFormat(i.format),n.width,n.height,i.hasBorder?1:0,this.getGLInternalFormat(i.format),this.getGLPixelDataType(i.type),n.data):t.texImage2D(v.TEXTURE_2D,0,this.getGLInternalFormat(i.format),this.getGLInternalFormat(i.format),this.getGLPixelDataType(i.type),n),i.generateMipmaps&&!n.isCompressed&&t.generateMipmap(v.TEXTURE_2D)):t.texImage2D(v.TEXTURE_2D,0,this.getGLInternalFormat(i.format),i.width,i.height,0,this.getGLInternalFormat(i.format),this.getGLPixelDataType(i.type),null);else if("CUBE"===i.variant){if(n&&(i.generateMipmaps||n.width>this.capabilities.maxCubemapSize||n.height>this.capabilities.maxCubemapSize)){for(var s=0;s=i?!window.PolyK.ContainsPoint(r.poly,t,e):void 0})},t.prototype.run=function(t){for(var e=t.transformComponent,i=e.transform.translation,r=0;r=i.data[1]&&window.PolyK.ContainsPoint(o.poly,i.data[0],i.data[2])){var n=window.PolyK.ClosestEdge(o.poly,i.data[0],i.data[2]);return i.data[0]=n.point.x,i.data[2]=n.point.y,e.setUpdated(),void 0}}},t}),define("goo/addons/soundmanager2/components/SoundManager2Component",["goo/entities/components/Component"],function(t){"use strict";function e(t){this.type="SoundManager2Component",this.settings=t||{},this.sounds={}}return e.prototype=Object.create(t.prototype),e.prototype.addSound=function(t,e){this.sounds[t]=e},e.prototype.playSound=function(t){this.sounds[t].soundObject.play()},e}),define("goo/addons/soundmanager2/systems/SoundManager2System",["goo/entities/systems/System"],function(t){"use strict";function e(e){t.call(this,"SoundManager2System",["SoundManager2Component","TransformComponent"]),e=e||{},this.isReady=!1,window.soundManager?window.soundManager.bind(this).setup({url:"swf",onready:function(){this.isReady=!0},ontimeout:function(){console.warn("Failed to load soundmanager")}}):console.warn("SoundManager2System: soundManager global not found")}return e.prototype=Object.create(t.prototype),e.prototype.inserted=function(t){for(var e=t.soundManager2Component,i=0;ic;c++){var l=this.createClipmapLevel(t,c,0===c);h.transformComponent.attachChild(l.transformComponent)}}a.prototype.createClipmapLevel=function(t,e,i){var r=t.createEntity(),o=Math.pow(2,e);r.transformComponent.transform.scale.set(o,o,1);var n=(2*Math.pow(-1,e+1)+Math.pow(2,e+1))/6,a=0===e%2?n:-n;return r.transformComponent.transform.translation.set(a,-a,0),r.addToWorld(),this.createQuadEntity(t,r,0,0,3,3),this.createQuadEntity(t,r,3,0,3,3),this.createQuadEntity(t,r,6,0,2,3),this.createQuadEntity(t,r,8,0,3,3),this.createQuadEntity(t,r,11,0,3,3),this.createQuadEntity(t,r,0,3,3,3),this.createQuadEntity(t,r,11,3,3,3),this.createQuadEntity(t,r,0,6,3,2),this.createQuadEntity(t,r,11,6,3,2),this.createQuadEntity(t,r,0,8,3,3),this.createQuadEntity(t,r,11,8,3,3),this.createQuadEntity(t,r,0,11,3,3),this.createQuadEntity(t,r,3,11,3,3),this.createQuadEntity(t,r,6,11,2,3),this.createQuadEntity(t,r,8,11,3,3),this.createQuadEntity(t,r,11,11,3,3),i&&this.createQuadEntity(t,r,3,4,7,7),r},a.prototype.createQuadEntity=function(i,r,o,n,a,s){var h=this.createGrid(o,n,a,s),c=i.createEntity();r.transformComponent.attachChild(c.transformComponent);var l=new t(h);c.setComponent(l);var u=new e;return u.materials.push(this.material2),c.setComponent(u),c.addToWorld(),c},a.prototype.createGrid=function(t,e,r,o){for(var n=i.defaultMap([i.POSITION,i.TEXCOORD0]),a=new i(n,(r+1)*(o+1),6*r*o),s=a.getAttributeBuffer(i.POSITION),h=a.getAttributeBuffer(i.TEXCOORD0),c=a.getIndexBuffer(),l=0;r+1>l;l++)for(var u=0;o+1>u;u++){var d=u*(r+1)+l;s[3*d+0]=l+t-7,s[3*d+1]=u+e-7,s[3*d+2]=0,h[2*d+0]=(l+t)/15,h[2*d+1]=(u+e)/15}for(var l=0;r>l;l++)for(var u=0;o>u;u++){var d=u*(r+1)+l,p=u*r+l;c[6*p+0]=d,c[6*p+1]=d+1,c[6*p+2]=d+r+1,c[6*p+3]=d+1,c[6*p+4]=d+r+1+1,c[6*p+5]=d+r+1}return a};var s={attributes:{vertexPosition:i.POSITION,vertexUV0:i.TEXCOORD0},uniforms:{viewMatrix:o.VIEW_MATRIX,projectionMatrix:o.PROJECTION_MATRIX,worldMatrix:o.WORLD_MATRIX,diffuseMap:"DIFFUSE_MAP",time:o.TIME},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform float time;","uniform sampler2D diffuseMap;","varying vec4 texCol;","void main(void) {"," texCol = texture2D(diffuseMap, vertexUV0 + vec2(time*0.0));"," float height = length(texCol.rgb);"," gl_Position = projectionMatrix * viewMatrix * worldMatrix * "," vec4(vertexPosition.x,vertexPosition.y,height*5.0, 1.0);","}"].join("\n"),fshader:["precision mediump float;","varying vec4 texCol;","void main(void)","{"," gl_FragColor = texCol;","}"].join("\n")};return a}),define("goo/addons/water/FlatWaterRenderer",["goo/renderer/MeshData","goo/renderer/Shader","goo/renderer/Camera","goo/math/Plane","goo/renderer/pass/RenderTarget","goo/math/Vector3","goo/math/Vector4","goo/renderer/Material","goo/renderer/TextureCreator","goo/renderer/shaders/ShaderFragment"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(t){t=t||{},this.useRefraction=void 0!==t.useRefraction?t.useRefraction:!0,this.waterCamera=new i(45,1,.1,2e3),this.renderList=[],this.waterPlane=new r;var e=Math.floor(window.innerWidth/(t.divider||2)),c=Math.floor(window.innerHeight/(t.divider||2));this.reflectionTarget=new o(e,c),this.useRefraction&&(this.refractionTarget=new o(e,c),this.depthTarget=new o(e,c));var l=s.createMaterial(u,"WaterMaterial");l.shader.defines.REFRACTION=this.useRefraction,l.cullState.enabled=!1;var p=t.normalsUrl||"../resources/water/waternormals3.png";l.setTexture("NORMAL_MAP",(new h).loadTexture2D(p)),l.setTexture("REFLECTION_MAP",this.reflectionTarget),this.useRefraction&&(l.setTexture("REFRACTION_MAP",this.refractionTarget),l.setTexture("DEPTH_MAP",this.depthTarget)),this.waterMaterial=l,this.followCam=!0,this.updateWaterPlaneFromEntity=void 0!==t.updateWaterPlaneFromEntity?this.updateWaterPlaneFromEntity:!0,this.calcVect=new n,this.camReflectDir=new n,this.camReflectUp=new n,this.camReflectLeft=new n,this.camLocation=new n,this.camReflectPos=new n,this.offset=new n,this.clipPlane=new a,this.waterEntity=null,this.depthMaterial=s.createMaterial(d,"depth")}l.prototype.process=function(t,e,i,r,o){e=e.filter(function(t){return t.meshRendererComponent.isReflectable});var n=this.waterPlane;this.waterCamera.copy(r),this.updateWaterPlaneFromEntity&&(n.constant=this.waterEntity.transformComponent.transform.translation.y);var a=r.translation.y>n.constant;if(this.waterEntity.skip=!0,a){this.useRefraction&&(i.process(this.waterCamera,e,this.renderList),this.clipPlane.setd(n.normal.x,-n.normal.y,n.normal.z,n.constant),this.waterCamera.setToObliqueMatrix(this.clipPlane),t.render(this.renderList,this.waterCamera,o,this.depthTarget,!0,this.depthMaterial),t.render(this.renderList,this.waterCamera,o,this.refractionTarget,!0));var s=this.calcVect,h=this.camReflectDir,c=this.camReflectUp,l=this.camReflectLeft,u=this.camLocation,d=this.camReflectPos;u.set(r.translation);var p=n.pseudoDistance(u);if(s.set(n.normal).mul(2*p),d.set(u.sub(s)),u.set(r.translation).add(r._direction),p=n.pseudoDistance(u),s.set(n.normal).mul(2*p),h.set(u.sub(s)).sub(d).normalize(),u.set(r.translation).add(r._up),p=n.pseudoDistance(u),s.set(n.normal).mul(2*p),c.set(u.sub(s)).sub(d).normalize(),l.set(c).cross(h).normalize(),this.waterCamera.translation.set(d),this.waterCamera._direction.set(h),this.waterCamera._up.set(c),this.waterCamera._left.set(l),this.waterCamera.normalize(),this.waterCamera.update(),this.skybox&&this.followCam){var f=this.skybox.transformComponent.worldTransform;f.translation.setv(d),f.update()}}if(this.waterMaterial.shader.uniforms.abovewater=a,i.process(this.waterCamera,e,this.renderList),t.setRenderTarget(this.reflectionTarget),t.clear(),this.skybox)if(this.skybox instanceof Array){this.clipPlane.setd(n.normal.x,n.normal.y,n.normal.z,n.constant),this.waterCamera.setToObliqueMatrix(this.clipPlane,10);for(var m=0;m 0.5) {depthUnpack = 0.0;}"," float depth2 = clamp(depthUnpack * 400.0, 0.0, 1.0);"," vec2 projCoordRefr = vec2(projCoord);"," projCoordRefr += (normalVector.xy * distortionMultiplier) * (depth2);"," projCoordRefr = clamp(projCoordRefr, 0.001, 0.999);"," depthUnpack = unpackDepth(texture2D(depthmap, projCoordRefr));"," float depth = clamp(depthUnpack * 40.0, 0.8, 1.0);","#endif"," projCoord += (normalVector.xy * distortionMultiplier);"," projCoord = clamp(projCoord, 0.001, 0.999);"," if ( abovewater == true ) {"," projCoord.x = 1.0 - projCoord.x;"," }"," vec4 waterColorX = vec4(waterColor, 1.0);"," vec4 reflectionColor = texture2D(reflection, projCoord);"," if ( abovewater == false ) {"," reflectionColor *= vec4(0.8,0.9,1.0,1.0);"," vec4 endColor = mix(reflectionColor,waterColorX,fresnelTerm);"," gl_FragColor = mix(endColor,waterColorX,fogDist);"," }"," else {"," vec3 sunSpecReflection = normalize(reflect(-sunDirection, normalVector));"," float sunSpecDirection = max(0.0, dot(localView, sunSpecReflection));"," vec3 specular = pow(sunSpecDirection, sunShininess) * sunSpecPower * sunColor;"," vec4 endColor = waterColorX;","#ifdef REFRACTION"," vec4 refractionColor = texture2D(refraction, projCoordRefr) * vec4(0.6);"," endColor = mix(refractionColor, waterColorX, depth);","#endif"," endColor = mix(endColor, reflectionColor, fresnelTerm);"," if (doFog) {"," gl_FragColor = (vec4(specular, 1.0) + mix(endColor,reflectionColor,fogDist)) * (1.0-fogDist) + vec4(fogColor, 1.0) * fogDist;"," } else {"," gl_FragColor = vec4(specular, 1.0) + mix(endColor,reflectionColor,fogDist);"," }"," }","}"].join("\n")},d={attributes:{vertexPosition:t.POSITION},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,farPlane:e.FAR_PLANE},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","varying vec4 vPosition;","void main(void) {"," vPosition = worldMatrix * vec4(vertexPosition, 1.0);"," gl_Position = viewProjectionMatrix * vPosition;","}"].join("\n"),fshader:["uniform float farPlane;",c.methods.packDepth,"varying vec4 vPosition;","void main(void)","{"," float linearDepth = abs(vPosition.y) / farPlane;"," gl_FragColor = packDepth(linearDepth);","}"].join("\n")};return l}),define("goo/addons/water/ProjectedGridWaterRenderer",["goo/renderer/MeshData","goo/renderer/Shader","goo/renderer/Camera","goo/math/Plane","goo/renderer/pass/RenderTarget","goo/renderer/pass/FullscreenPass","goo/math/Vector3","goo/renderer/Material","goo/renderer/TextureCreator","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderFragment"],function(t,e,i,r,o,n,a,s,h,c,l){"use strict";function u(e){this.waterCamera=new i(45,1,.1,2e3),this.renderList=[],this.waterPlane=new r,e=e||{};var l=window.innerWidth/(e.divider||4),u=window.innerHeight/(e.divider||4);this.renderTarget=new o(l,u),l=window.innerWidth/(e.divider||1),u=window.innerHeight/(e.divider||1),this.heightTarget=new o(l,u,{type:"Float"}),this.normalTarget=new o(l,u,{}),this.fullscreenPass=new n(c.normalmap),this.fullscreenPass.material.shader.uniforms.resolution=[l,u];var f=this.waterMaterial=s.createMaterial(d,"WaterMaterial");f.cullState.enabled=!1,f.setTexture("NORMAL_MAP",(new h).loadTexture2D("../resources/water/waternormals3.png")),f.setTexture("REFLECTION_MAP",this.renderTarget),f.setTexture("BUMP_MAP",this.heightTarget),f.setTexture("NORMAL_MAP_COARSE",this.normalTarget);var m=this.materialWire=s.createMaterial(c.simple,"mat");m.wireframe=!0,m.wireframeColor=[0,0,0],this.calcVect=new a,this.camReflectDir=new a,this.camReflectUp=new a,this.camReflectLeft=new a,this.camLocation=new a,this.camReflectPos=new a,this.waterEntity=null;var g=this.projData=new t(t.defaultMap([t.POSITION]),4,6);g.getAttributeBuffer(t.POSITION).set([0,0,0,1,0,0,1,1,0,0,1,0]),g.getIndexBuffer().set([1,3,0,2,3,1]);var v=s.createMaterial(p,"mat");this.projRenderable={meshData:g,materials:[v]}}u.prototype.updateHelper=function(e,i,r,o){var n=this.projData.getAttributeBuffer(t.POSITION);n[0]=e.x/e.w,n[1]=0,n[2]=e.z/e.w,n[3]=i.x/i.w,n[4]=0,n[5]=i.z/i.w,n[6]=r.x/r.w,n[7]=0,n[8]=r.z/r.w,n[9]=o.x/o.w,n[10]=0,n[11]=o.z/o.w,this.projData.setVertexDataUpdated()},u.prototype.process=function(t,e,i,r,o){var n=this.waterEntity.meshDataComponent.meshData;n.update(r),this.waterMaterial.shader.uniforms.intersectBottomLeft=[n.intersectBottomLeft.x,n.intersectBottomLeft.y,n.intersectBottomLeft.z,n.intersectBottomLeft.w],this.waterMaterial.shader.uniforms.intersectBottomRight=[n.intersectBottomRight.x,n.intersectBottomRight.y,n.intersectBottomRight.z,n.intersectBottomRight.w],this.waterMaterial.shader.uniforms.intersectTopLeft=[n.intersectTopLeft.x,n.intersectTopLeft.y,n.intersectTopLeft.z,n.intersectTopLeft.w],this.waterMaterial.shader.uniforms.intersectTopRight=[n.intersectTopRight.x,n.intersectTopRight.y,n.intersectTopRight.z,n.intersectTopRight.w],this.updateHelper(n.intersectBottomLeft,n.intersectBottomRight,n.intersectTopRight,n.intersectTopLeft),t.render(this.projRenderable,r,o,this.heightTarget,!0),this.fullscreenPass.render(t,this.normalTarget,this.heightTarget,0);var a=this.waterPlane;this.waterCamera.copy(r),a.constant=this.waterEntity.transformComponent.transform.translation.y;var s=r.translation.y>a.constant;if(s){var h=this.calcVect,c=this.camReflectDir,l=this.camReflectUp,u=this.camReflectLeft,d=this.camLocation,p=this.camReflectPos;d.set(r.translation);var f=a.pseudoDistance(d);if(h.set(a.normal).mul(2*f),p.set(d.sub(h)),d.set(r.translation).add(r._direction),f=a.pseudoDistance(d),h.set(a.normal).mul(2*f),c.set(d.sub(h)).sub(p).normalize(),d.set(r.translation).add(r._up),f=a.pseudoDistance(d),h.set(a.normal).mul(2*f),l.set(d.sub(h)).sub(p).normalize(),u.set(l).cross(c).normalize(),this.waterCamera.translation.set(p),this.waterCamera._direction.set(c),this.waterCamera._up.set(l),this.waterCamera._left.set(u),this.waterCamera.normalize(),this.waterCamera.update(),this.skybox){var m=this.skybox.transformComponent.worldTransform;m.translation.setv(p),m.update()}}if(this.waterMaterial.shader.uniforms.abovewater=s,this.waterEntity.skip=!0,this.renderList.length=0,i.process(this.waterCamera,e,this.renderList),t.render(this.renderList,this.waterCamera,o,this.renderTarget,!0),this.waterEntity.skip=!1,s&&this.skybox){var g=r.translation,m=this.skybox.transformComponent.worldTransform;m.translation.setv(g),m.update()}},u.prototype.setSkyBox=function(t){this.skybox=t},u.prototype.setWaterEntity=function(t){this.waterEntity=t,this.waterEntity.meshRendererComponent.cullMode="Never",this.waterEntity.meshRendererComponent.materials[0]=this.waterMaterial;var e=this.waterEntity.meshDataComponent.meshData;this.waterMaterial.shader.uniforms.density=[e.densityX,e.densityY]};var d={attributes:{vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,cameraPosition:e.CAMERA,normalMap:"NORMAL_MAP",reflection:"REFLECTION_MAP",bump:"BUMP_MAP",normalMapCoarse:"NORMAL_MAP_COARSE",vertexNormal:[0,-1,0],vertexTangent:[1,0,0,1],waterColor:[15,15,15],abovewater:!0,fogColor:[1,1,1,1],sunDirection:[.66,-.1,.66],coarseStrength:.25,detailStrength:2,fogStart:0,camNear:e.NEAR_PLANE,camFar:e.FAR_PLANE,time:e.TIME,intersectBottomLeft:[0,0,0,0],intersectTopLeft:[0,0,0,0],intersectTopRight:[0,0,0,0],intersectBottomRight:[0,0,0,0],grid:!1,heightMultiplier:50,density:[1,1]},vshader:["attribute vec2 vertexUV0;","uniform vec3 vertexNormal;","uniform vec4 vertexTangent;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform vec3 cameraPosition;","uniform float time;","uniform vec3 sunDirection;","uniform float coarseStrength;","uniform float heightMultiplier;","uniform sampler2D bump;","uniform vec4 intersectBottomLeft;","uniform vec4 intersectTopLeft;","uniform vec4 intersectTopRight;","uniform vec4 intersectBottomRight;","varying vec2 texCoord0;","varying vec2 texCoord1;","varying vec3 eyeVec;","varying vec3 sunDir;","varying vec4 viewCoords;","varying vec3 worldPos;","varying vec3 normal;","void main(void) {"," vec4 pointTop = mix(intersectTopLeft, intersectTopRight, vertexUV0.x);"," vec4 pointBottom = mix(intersectBottomLeft, intersectBottomRight, vertexUV0.x);"," vec4 pointFinal = mix(pointTop, pointBottom, 1.0 - vertexUV0.y);"," pointFinal.xz /= pointFinal.w;"," pointFinal.y = 0.0;"," vec4 screenpos = projectionMatrix * viewMatrix * worldMatrix * vec4(pointFinal.xyz, 1.0);"," vec2 projCoord = screenpos.xy / screenpos.q;"," projCoord = (projCoord + 1.0) * 0.5;"," float height = texture2D(bump, projCoord).x;"," pointFinal.y = height * heightMultiplier;"," texCoord1 = vertexUV0;"," vec4 pos = worldMatrix * vec4(pointFinal.xyz, 1.0);"," worldPos = pos.xyz;"," texCoord0 = worldPos.xz * 2.0;"," mat3 normalMatrix = mat3(worldMatrix);"," vec3 n = normalize(normalMatrix * vertexNormal);"," vec3 t = normalize(normalMatrix * vertexTangent.xyz);"," vec3 b = cross(n, t) * vertexTangent.w;"," mat3 rotMat = mat3(t, b, n);"," vec3 eyeDir = worldPos - cameraPosition;"," eyeVec = eyeDir * rotMat;"," sunDir = sunDirection * rotMat;"," viewCoords = projectionMatrix * viewMatrix * pos;"," gl_Position = viewCoords;","}"].join("\n"),fshader:["uniform sampler2D normalMap;","uniform sampler2D reflection;","uniform sampler2D normalMapCoarse;","uniform vec3 waterColor;","uniform bool abovewater;","uniform vec4 fogColor;","uniform float time;","uniform bool grid;","uniform vec2 density;","uniform float camNear;","uniform float camFar;","uniform float fogStart;","uniform float coarseStrength;","uniform float detailStrength;","varying vec2 texCoord0;","varying vec2 texCoord1;","varying vec3 eyeVec;","varying vec3 sunDir;","varying vec4 viewCoords;","varying vec3 worldPos;","varying vec3 normal;","const vec3 sunColor = vec3(1.0, 0.96, 0.96);","vec4 getNoise(vec2 uv) {"," vec2 uv0 = (uv/123.0)+vec2(time/17.0, time/29.0);"," vec2 uv1 = uv/127.0-vec2(time/-19.0, time/31.0);"," vec2 uv2 = uv/vec2(897.0, 983.0)+vec2(time/51.0, time/47.0);"," vec2 uv3 = uv/vec2(991.0, 877.0)-vec2(time/59.0, time/-63.0);"," vec4 noise = (texture2D(normalMap, uv0)) +"," (texture2D(normalMap, uv1)) +"," (texture2D(normalMap, uv2)*3.0) +"," (texture2D(normalMap, uv3)*3.0);"," return noise/4.0-1.0;","}","void sunLight(const vec3 surfaceNormal, const vec3 eyeDirection, float shiny, float spec, float diffuse,"," inout vec3 diffuseColor, inout vec3 specularColor){"," vec3 reflection = normalize(reflect(-sunDir, surfaceNormal));"," float direction = max(0.0, dot(eyeDirection, reflection));"," specularColor += pow(direction, shiny)*sunColor*spec;"," diffuseColor += max(dot(sunDir, surfaceNormal),0.0)*sunColor*diffuse;","}","void main(void)","{"," vec2 projCoord = viewCoords.xy / viewCoords.q;"," projCoord = (projCoord + 1.0) * 0.5;"," float fs = camFar * fogStart;"," float fogDist = clamp(max(viewCoords.z - fs, 0.0)/(camFar - camNear - fs), 0.0, 1.0);"," vec3 coarseNormal = texture2D(normalMapCoarse, projCoord).xyz * 2.0 - 1.0;"," vec2 normCoords = texCoord0;"," vec4 noise = getNoise(normCoords);"," vec3 normalVector = normalize(noise.xyz * vec3(1.8 * detailStrength, 1.8 * detailStrength, 1.0) + coarseNormal.xyz * vec3(1.8 * coarseStrength, 1.8 * coarseStrength, 1.0));"," vec3 localView = normalize(eyeVec);"," float fresnel = dot(normalize(normalVector*vec3(1.0, 1.0, 1.0)), localView);"," if ( abovewater == false ) {"," fresnel = -fresnel;"," }"," float fresnelTerm = 1.0 - fresnel;"," fresnelTerm *= fresnelTerm;"," fresnelTerm *= fresnelTerm;"," fresnelTerm = fresnelTerm * 0.95 + 0.05;"," if ( abovewater == true ) {"," projCoord.x = 1.0 - projCoord.x;"," }"," projCoord += (normalVector.xy * 0.05);"," projCoord = clamp(projCoord, 0.001, 0.999);"," vec4 waterColorX = vec4(waterColor / 255.0, 1.0);"," vec4 reflectionColor = texture2D(reflection, projCoord);"," if ( abovewater == false ) {"," reflectionColor *= vec4(0.8,0.9,1.0,1.0);"," vec4 endColor = mix(reflectionColor,waterColorX,fresnelTerm);"," gl_FragColor = mix(endColor,waterColorX,fogDist);"," }"," else {"," vec3 diffuse = vec3(0.0);"," vec3 specular = vec3(0.0);"," sunLight(normalVector, localView, 100.0, 2.0, 0.4, diffuse, specular);"," vec4 endColor = mix(waterColorX,reflectionColor,fresnelTerm);"," gl_FragColor = mix(vec4(diffuse*0.0 + specular, 1.0) + mix(endColor,reflectionColor,fogDist), fogColor, fogDist);"," }"," if (grid) {"," vec2 low = abs(fract(texCoord1*density)-0.5);"," float dist = 1.0 - step(min(low.x, low.y), 0.05);"," gl_FragColor *= vec4(dist);"," }","}"].join("\n")},p={attributes:{vertexPosition:t.POSITION},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,time:e.TIME},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec4 worldPos;","varying vec4 viewCoords;","void main(void) {"," worldPos = worldMatrix * vec4(vertexPosition, 1.0);"," viewCoords = viewMatrix * worldPos;"," gl_Position = projectionMatrix * viewMatrix * worldPos;","}"].join("\n"),fshader:["precision mediump float;","uniform float time;","varying vec4 worldPos;","varying vec4 viewCoords;",l.noise3d,"vec4 getNoise(sampler2D map, vec2 uv) {"," vec2 uv0 = (uv/223.0)+vec2(time/17.0, time/29.0);"," vec2 uv1 = uv/327.0-vec2(time/-19.0, time/31.0);"," vec2 uv2 = uv/vec2(697.0, 983.0)+vec2(time/151.0, time/147.0);"," vec2 uv3 = uv/vec2(791.0, 877.0)-vec2(time/259.0, time/263.0);"," vec4 noise = (texture2D(map, uv0)*0.0) +"," (texture2D(map, uv1)*0.0) +"," (texture2D(map, uv2)*0.0) +"," (texture2D(map, uv3)*10.0);"," return noise/5.0-1.0;","}","void main(void)","{"," float fogDist = clamp(-viewCoords.z / 1000.0, 0.0, 1.0);"," gl_FragColor = vec4((snoise(vec3(worldPos.xz * 0.008, time * 0.4))+snoise(vec3(worldPos.xz * 0.02, time * 0.8))*0.5)/10.0);","}"].join("\n")};return u}),define("goo/animation/Joint",["goo/math/Transform"],function(t){"use strict";function e(e){this._name=e,this._index=0,this._parentIndex=0,this._inverseBindPose=new t}return e.NO_PARENT=-32768,e}),define("goo/animation/Skeleton",["goo/animation/Joint"],function(t){"use strict";function e(t,e){this._name=t,this._joints=e}return e.prototype.copy=function(){for(var i=this._name,r=this._joints,o=[],n=0,a=r.length;a>n;n++){var s=r[n],h=s._name,c=new t(h);c._index=s._index,c._parentIndex=s._parentIndex,c._inverseBindPose.copy(s._inverseBindPose),c._inverseBindPose.update(),o[n]=c}return new e(i,o)},e}),define("goo/animation/SkeletonPose",["goo/math/Transform","goo/animation/Joint","goo/math/Matrix4x4"],function(t,e,i){"use strict";function r(e){this._skeleton=e,this._localTransforms=[],this._globalTransforms=[],this._matrixPalette=[],this._poseListeners=[];for(var r=this._skeleton._joints.length,o=0;r>o;o++)this._localTransforms[o]=new t;for(var o=0;r>o;o++)this._globalTransforms[o]=new t;for(var o=0;r>o;o++)this._matrixPalette[o]=new i;this.setToBindPose()}return r.prototype.setToBindPose=function(){for(var t=0;t=0;t--)this._poseListeners[t].poseUpdated(this)},r}),define("goo/animation/clip/TransformData",["goo/math/Quaternion","goo/math/Vector3"],function(t,e){"use strict";function i(i){this._rotation=(new t).copy(i?i._rotation:t.IDENTITY),this._scale=(new e).copy(i?i._scale:e.ONE),this._translation=(new e).copy(i?i._translation:e.ZERO)}return i.prototype.applyTo=function(t){t.setIdentity(),t.rotation.copyQuaternion(this._rotation),t.scale.setv(this._scale),t.translation.setv(this._translation),t.update()},i.prototype.set=function(t){this._rotation.copy(t._rotation),this._scale.copy(t._scale),this._translation.copy(t._translation) -},i.prototype.blend=function(e,r,o){var n=o?o:new i;return n._translation.setv(this._translation).lerp(e._translation,r),n._scale.setv(this._scale).lerp(e._scale,r),t.slerp(this._rotation,e._rotation,r,n._rotation),n},i}),define("goo/animation/blendtree/BinaryLERPSource",["goo/math/MathUtils","goo/animation/clip/TransformData"],function(t,e){"use strict";function i(t,e,i){this._sourceA=t?t:null,this._sourceB=e?e:null,this.blendWeight=i?i:null}return i.prototype.getSourceData=function(){var t=this._sourceA?this._sourceA.getSourceData():null,e=this._sourceB?this._sourceB.getSourceData():null;return i.combineSourceData(t,e,this.blendWeight)},i.prototype.setTime=function(t){var e=!1,i=!1;return this._sourceA&&(e=this._sourceA.setTime(t)),this._sourceB&&(i=this._sourceB.setTime(t)),e||i},i.prototype.resetClips=function(t){this._sourceA&&this._sourceA.resetClips(t),this._sourceB&&this._sourceB.resetClips(t)},i.prototype.shiftClipTime=function(t){this._sourceA&&this._sourceA.shiftClipTime(t),this._sourceB&&this._sourceB.shiftClipTime(t)},i.prototype.setTimeScale=function(t){this._sourceA.setTimeScale(t),this._sourceB.setTimeScale(t)},i.prototype.isActive=function(){var t=!1;return this._sourceA&&(t=t||this._sourceA.isActive()),this._sourceB&&(t=t||this._sourceB.isActive()),t},i.combineSourceData=function(t,r,o,n){if(!r)return t;if(!t)return r;var a=n?n:{};for(var s in t){var h=t[s],c=r[s];isNaN(h)?h instanceof e?c?a[s]=h.blend(c,o,a[s]):a[s]?a[s].set(h):a[s]=new h.constructor(h):a[s]=h:i.blendFloatValues(a,s,o,h,c)}for(var s in r)a[s]||(a[s]=r[s]);return a},i.blendFloatValues=function(e,i,r,o,n){e[i]=isNaN(n)?o:t.lerp(r,o[0],n[0])},i}),define("goo/animation/clip/AnimationClipInstance",["goo/entities/World"],function(t){"use strict";function e(){this._active=!0,this._loopCount=0,this._timeScale=1,this._startTime=0,this._prevClockTime=0,this._prevUnscaledClockTime=0,this._clipStateObjects={}}return e.prototype.setTimeScale=function(e,i){var i=i||t.time;if(this._active&&this._timeScale!==e)if(0!==this._timeScale&&0!==e){var r=i,o=r-this._startTime;o*=this._timeScale,o/=e,this._startTime=r-o}else if(0===this._timeScale){var r=i;this._startTime=r-this._prevUnscaledClockTime}this._timeScale=e},e.prototype.getApplyTo=function(t){var e=t._channelName,i=this._clipStateObjects[e];return i||(i=t.createStateDataObject(),this._clipStateObjects[e]=i),i},e}),define("goo/animation/blendtree/ClipSource",["goo/math/MathUtils","goo/animation/clip/AnimationClipInstance"],function(t,e){"use strict";function i(t,i,r){this._clip=t,this._clipInstance=new e,this._filterChannels={},this._filter=null,this.setFilter(i,r),this._startTime=-1/0,this._endTime=1/0}return i.prototype.setFilter=function(t,e){if(t&&e){this._filter=["Exclude","Include"].indexOf(t)>-1?t:null;for(var i=0;ir?(r*=-1,r%=o,r=o-r,r+=a):(r%=o,r+=a):i._loopCount>0&&o*i._loopCount>=Math.abs(r)&&(0>r?(r*=-1,r%=o,r=o-r,r+=a):(r%=o,r+=a)),(r>n||0>r)&&(r=t.clamp(r,0,n),i._active=!1)),this._clip.update(r,i)}return i._active},i.prototype.resetClips=function(t){this._clipInstance._startTime=t,this._clipInstance._active=!0},i.prototype.shiftClipTime=function(t){this._clipInstance._startTime+=t,this._clipInstance._active=!0},i.prototype.setTimeScale=function(t){this._clipInstance.setTimeScale(t)},i.prototype.isActive=function(){return this._clipInstance._active&&-1!==this._clip._maxTime},i.prototype.getSourceData=function(){if(!this._filter||!this._filterChannels)return this._clipInstance._clipStateObjects;var t=this._clipInstance._clipStateObjects,e={},i="Include"===this._filter;for(var r in t)void 0!==this._filterChannels[r]===i&&(e[r]=t[r]);return e},i}),define("goo/animation/clip/AbstractAnimationChannel",[],function(){"use strict";function t(t,e,i){this._blendType=i||"Linear",this._channelName=t,this._times=(e instanceof Array||e instanceof Float32Array)&&e.length?new Float32Array(e):[],this._lastStartFrame=0}return t.prototype.getSampleCount=function(){return this._times.length},t.prototype.getMaxTime=function(){return this._times.length?this._times[this._times.length-1]:0},t.prototype.updateSample=function(t,e){var i=this._times.length;if(i){var r=i-1;if(0>t||1===i)this.setCurrentSample(0,0,e);else if(t>=this._times[r])this.setCurrentSample(r,0,e);else{var o=0;if(t>=this._times[this._lastStartFrame]){o=this._lastStartFrame;for(var n=this._lastStartFrame;i-1>n&&!(this._times[n]>=t);n++)o=n}else for(var n=0;n=t);n++)o=n;var a=(t-this._times[o])/(this._times[o+1]-this._times[o]);this.setCurrentSample(o,a,e),this._lastStartFrame=o}}},t}),define("goo/animation/clip/TransformChannel",["goo/animation/clip/AbstractAnimationChannel","goo/animation/clip/TransformData","goo/math/Quaternion","goo/math/Vector3"],function(t,e,i,r){"use strict";function o(e,o,n,a,s,h){if(t.call(this,e,o,h),n.length/4!==o.length||a.length/3!==o.length||s.length/3!==o.length)throw new Error("All provided arrays must be the same length (accounting for type)! Channel: "+e);this._rotations=new Float32Array(n),this._translations=new Float32Array(a),this._scales=new Float32Array(s),this.tmpVec=new r,this.tmpQuat=new i,this.tmpQuat2=new i}return o.prototype=Object.create(t.prototype),o.prototype.createStateDataObject=function(){return new e},o.prototype.setCurrentSample=function(t,e,r){var o=r,n=4*t,a=3*t,s=4*(t+1),h=3*(t+1);return 0===e?(o._rotation.data[0]=this._rotations[n+0],o._rotation.data[1]=this._rotations[n+1],o._rotation.data[2]=this._rotations[n+2],o._rotation.data[3]=this._rotations[n+3],o._translation.data[0]=this._translations[a+0],o._translation.data[1]=this._translations[a+1],o._translation.data[2]=this._translations[a+2],o._scale.data[0]=this._scales[a+0],o._scale.data[1]=this._scales[a+1],o._scale.data[2]=this._scales[a+2],void 0):1===e?(o._rotation.data[0]=this._rotations[s+0],o._rotation.data[1]=this._rotations[s+1],o._rotation.data[2]=this._rotations[s+2],o._rotation.data[3]=this._rotations[s+3],o._translation.data[0]=this._translations[h+0],o._translation.data[1]=this._translations[h+1],o._translation.data[2]=this._translations[h+2],o._scale.data[0]=this._scales[h+0],o._scale.data[1]=this._scales[h+1],o._scale.data[2]=this._scales[h+2],void 0):(o._rotation.data[0]=this._rotations[n+0],o._rotation.data[1]=this._rotations[n+1],o._rotation.data[2]=this._rotations[n+2],o._rotation.data[3]=this._rotations[n+3],this.tmpQuat.data[0]=this._rotations[s+0],this.tmpQuat.data[1]=this._rotations[s+1],this.tmpQuat.data[2]=this._rotations[s+2],this.tmpQuat.data[3]=this._rotations[s+3],o._rotation.equals(this.tmpQuat)||(i.slerp(o._rotation,this.tmpQuat,e,this.tmpQuat2),o._rotation.setv(this.tmpQuat2)),o._translation.data[0]=(1-e)*this._translations[a+0]+e*this._translations[h+0],o._translation.data[1]=(1-e)*this._translations[a+1]+e*this._translations[h+1],o._translation.data[2]=(1-e)*this._translations[a+2]+e*this._translations[h+2],o._scale.data[0]=(1-e)*this._scales[a+0]+e*this._scales[h+0],o._scale.data[1]=(1-e)*this._scales[a+1]+e*this._scales[h+1],o._scale.data[2]=(1-e)*this._scales[a+2]+e*this._scales[h+2],void 0)},o.prototype.getData=function(t,i){var r=i?i:new e;return this.setCurrentSample(t,0,r),r},o}),define("goo/animation/clip/JointData",["goo/animation/clip/TransformData"],function(t){"use strict";function e(e){t.call(this,e),this._jointIndex=e?e._jointIndex:0}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.prototype.set=function(e){t.prototype.set.call(this,e),this._jointIndex=e._jointIndex},e.prototype.blend=function(i,r,o){var n=o;return n?n instanceof e&&(n._jointIndex=this._jointIndex):(n=new e,n._jointIndex=this._jointIndex),t.prototype.blend.call(this,i,r,n)},e}),define("goo/animation/clip/JointChannel",["goo/animation/clip/TransformChannel","goo/animation/clip/JointData"],function(t,e){"use strict";function i(e,r,o,n,a,s,h){t.call(this,i.JOINT_CHANNEL_NAME+r,o,n,a,s,h),this._jointName=e,this._jointIndex=r}return i.prototype=Object.create(t.prototype),i.JOINT_CHANNEL_NAME="_jnt",i.prototype.createStateDataObject=function(){return new e},i.prototype.setCurrentSample=function(e,i,r){t.prototype.setCurrentSample.call(this,e,i,r),r._jointIndex=this._jointIndex},i.prototype.getData=function(i,r){var o=r?r:new e;return t.prototype.getData.call(this,i,o),o._jointIndex=this._jointIndex,o},i}),define("goo/animation/blendtree/ExclusiveClipSource",["goo/animation/clip/JointChannel","goo/animation/blendtree/ClipSource"],function(t,e){"use strict";function i(t){e.call(this,t),this._disabledChannels={}}return i.prototype=Object.create(e.prototype),i.prototype.clearDisabled=function(){this._disabledChannels={}},i.prototype.addDisabledChannels=function(){if(1===arguments.length&&"object"==typeof arguments[0])for(var t=0;tr;r++){var n=i[r],a=t.findChannelByName(n),s=a.getData(0);this._data[n]=s}else for(var r=0,o=t._channels.length;o>r;r++){var a=t._channels[r],n=a._channelName;if("Exclude"===e&&i&&i.length&&i.indexOf(n)>-1){var s=a.getData(0);this._data[n]=s}}},o.prototype.resetClips=function(){},o.prototype.setTimeScale=function(){},o.prototype.setTime=function(){return!0},o.prototype.isActive=function(){return!0},o.prototype.getChannelData=function(t){return this._data[t]},o.prototype.getSourceData=function(){return this._data},o}),define("goo/animation/clip/AnimationClip",[],function(){"use strict";function t(t,e){this._name=t,this._channels=e||[],this._maxTime=-1,this.updateMaxTimeIndex()}return t.prototype.update=function(t,e){for(var i=0,r=this._channels.length;r>i;++i){var o=this._channels[i],n=e.getApplyTo(o);o.updateSample(t,n)}},t.prototype.addChannel=function(t){this._channels.push(t),this.updateMaxTimeIndex()},t.prototype.removeChannel=function(t){var e=this._channels.indexOf(t);return e>=0?(this._channels.splice(e,1),this.updateMaxTimeIndex(),!0):!1},t.prototype.findChannelByName=function(t){for(var e=0,i=this._channels.length;i>e;++e){var r=this._channels[e];if(t===r._channelName)return r}return null},t.prototype.updateMaxTimeIndex=function(){this._maxTime=-1;for(var t,e=0;ethis._maxTime&&(this._maxTime=t)}},t.prototype.toString=function(){return this._name+this._channels.length},t}),define("goo/animation/clip/InterpolatedFloatChannel",["goo/animation/clip/AbstractAnimationChannel","goo/math/MathUtils"],function(t,e){"use strict";function i(e,i,r,o){t.call(this,e,i,o),this._values=r?r.slice(0):null}return i.prototype=Object.create(t.prototype),i.prototype.createStateDataObject=function(){return[0]},i.prototype.setCurrentSample=function(t,i,r){r[0]=e.lerp(i,this._values[t],this._values[t+1])},i.prototype.getData=function(t,e){var i=e||[];return i[0]=this._values[t],i},i}),define("goo/animation/clip/TriggerData",[],function(){"use strict";function t(){this._currentTriggers=[],this._currentIndex=-1,this.armed=!1}return t.prototype.arm=function(t,e){if(null===e||0===e.length)this._currentTriggers.length=0,this.armed=!1;else if(t!==this._currentIndex){this._currentTriggers.length=0;for(var i=0,r=e.length;r>i;i++)e[i]&&""!==e[i]&&this._currentTriggers.push(e[i]);this.armed=!0}this._currentIndex=t},t}),define("goo/animation/clip/TriggerChannel",["goo/animation/clip/AbstractAnimationChannel","goo/animation/clip/TriggerData"],function(t,e){"use strict";function i(e,i,r,o){t.call(this,e,i,o),this._keys=r?r.slice(0):null,this.guarantee=!1}return i.prototype=Object.create(t.prototype),i.prototype.createStateDataObject=function(){return new e},i.prototype.setCurrentSample=function(t,e,i){var r=i._currentIndex,o=1!==e?t:t+1;if(r!==o&&this.guarantee){var n=[];if(r>o){for(var a=r+1;a=a;a++)n.push(this._keys[a]);i.arm(o,n)}else i.arm(o,[this._keys[o]])},i}),define("goo/animation/state/AbstractState",[],function(){"use strict";function t(){this._globalStartTime=0,this.onFinished=null}return t.prototype.update=function(){},t.prototype.postUpdate=function(){},t.prototype.getCurrentSourceData=function(){},t.prototype.resetClips=function(t){this._globalStartTime=t},t.prototype.shiftClipTime=function(t){this._globalStartTime+=t},t}),define("goo/animation/state/SteadyState",["goo/animation/state/AbstractState"],function(t){"use strict";function e(e){t.call(this),this._name=e,this._transitions={},this._sourceTree=null}return e.prototype=Object.create(t.prototype),e.prototype.update=function(t){this._sourceTree.setTime(t)||this.onFinished&&this.onFinished()},e.prototype.getCurrentSourceData=function(){return this._sourceTree.getSourceData()},e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._sourceTree.resetClips(e)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._sourceTree.shiftClipTime(e)},e.prototype.setTimeScale=function(t){this._sourceTree.setTimeScale(t)},e}),define("goo/animation/layer/AnimationLayer",["goo/animation/state/SteadyState","goo/entities/World"],function(t,e){"use strict";function i(t){this._name=t,this._steadyStates={},this._currentState=null,this._layerBlender=null,this._transitions={},this._transitionStates={}}return i.BASE_LAYER_NAME="-BASE_LAYER-",i.prototype.getStates=function(){return Object.keys(this._steadyStates)},i.prototype.getTransitions=function(){var t;if(t=this._currentState?Object.keys(this._currentState._transitions):[],this._transitions)for(var e in this._transitions)-1===t.indexOf(e)&&t.push(e);return t.sort(),t},i.prototype.update=function(t){this._currentState&&this._currentState.update(t||e.time)},i.prototype.postUpdate=function(){this._currentState&&this._currentState.postUpdate()},i.prototype.transitionTo=function(i,r){r=r||e.time;var o,n=this._currentState;if(this._steadyStates[i]===n)return!1;if(n&&n._transitions&&(o=n._transitions[i]||n._transitions["*"]),!o&&this._transitions&&(o=this._transitions[i]||this._transitions["*"]),n instanceof t&&o){var a=this._transitionStates[o.type];return this._doTransition(a,n,this._steadyStates[i],o,r),!0}if(!n&&(o=this._transitions[i])){var a=this._transitionStates[o.type];if(a)return this._doTransition(a,null,this._steadyStates[i],o,r),!0}return!1},i.prototype._doTransition=function(t,e,i,r,o){if(e){t._sourceState=e;var n=r.timeWindow||[-1,-1];if(!t.isValid(n,o))return console.warn("State not in allowed time window"),void 0;e.onFinished=null}t._targetState=i,t.readFromConfig(r),t.resetClips(o),this.setCurrentState(t)},i.prototype.setCurrentState=function(t,i,r){r=r||e.time,this._currentState=t,t&&(i&&t.resetClips(r),t.onFinished=function(){this.setCurrentState(t._targetState||null),this.update()}.bind(this))},i.prototype.getCurrentState=function(){return this._currentState},i.prototype.setCurrentStateByName=function(t,e,i){if(t){var r=this._steadyStates[t];if(r)return this.setCurrentState(r,e,i),!0;console.warn("unable to find SteadyState named: "+t)}return!1},i.prototype.getCurrentSourceData=function(){return this._layerBlender?this._layerBlender.getBlendedSourceData():this._currentState?this._currentState.getCurrentSourceData():null},i.prototype.updateLayerBlending=function(t){this._layerBlender&&(this._layerBlender._layerA=t,this._layerBlender._layerB=this)},i.prototype.clearCurrentState=function(){this.setCurrentState(null)},i.prototype.resetClips=function(t){this._currentState&&this._currentState.resetClips(t||e.time)},i.prototype.shiftClipTime=function(t){this._currentState&&this._currentState.shiftClipTime(t||0)},i.prototype.setTimeScale=function(t){this._currentState&&this._currentState.setTimeScale(t)},i}),define("goo/animation/layer/LayerLERPBlender",["goo/animation/blendtree/BinaryLERPSource"],function(t){"use strict";function e(){this._blendWeight=null,this._layerA=null,this._layerB=null}return e.prototype.getBlendedSourceData=function(){var e=this._layerA.getCurrentSourceData(),i=this._layerB._currentState?this._layerB._currentState.getCurrentSourceData():null;return t.combineSourceData(e,i,this._blendWeight)},e}),define("goo/animation/state/AbstractTransitionState",["goo/animation/state/AbstractState","goo/animation/blendtree/BinaryLERPSource","goo/math/MathUtils"],function(t,e,i){"use strict";function r(){t.call(this),this._sourceState=null,this._targetState=null,this._percent=0,this._sourceData=null,this._fadeTime=0,this._blendType="Linear"}return r.prototype=Object.create(t.prototype),r.prototype.update=function(t){var e=t-this._globalStartTime;if(e>this._fadeTime&&this.onFinished)return this.onFinished(),void 0;var r=e/this._fadeTime;switch(this._blendType){case"SCurve3":this._percent=i.scurve3(r);break;case"SCurve5":this._percent=i.scurve5(r);break;default:this._percent=r}},r.prototype.readFromConfig=function(t){t&&(void 0!==t.fadeTime&&(this._fadeTime=t.fadeTime),void 0!==t.blendType&&(this._blendType=t.blendType))},r.prototype.getCurrentSourceData=function(){var t=this._sourceState?this._sourceState.getCurrentSourceData():null,i=this._targetState?this._targetState.getCurrentSourceData():null;return this._sourceData||(this._sourceData={}),e.combineSourceData(t,i,this._percent,this._sourceData)},r.prototype.isValid=function(t,e){var i=e-this._sourceState._globalStartTime,r=t[0],o=t[1];return 0>=r?0>=o?!0:o>=i:0>=o?i>=r:o>=r?i>=r&&o>=i:i>=r||o>=i},r.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._percent=0},r.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e)},r.prototype.setTimeScale=function(t){this._sourceState&&this._sourceState.setTimeScale(t),this._targetState&&this._targetState.setTimeScale(t)},r}),define("goo/animation/state/FadeTransitionState",["goo/animation/state/AbstractTransitionState"],function(t){"use strict";function e(){t.call(this)}return e.prototype=Object.create(t.prototype),e.prototype.update=function(e){t.prototype.update.call(this,e),this._sourceState&&this._sourceState.update(e),this._targetState&&this._targetState.update(e)},e.prototype.postUpdate=function(){this._sourceState&&this._sourceState.postUpdate(),this._targetState&&this._targetState.postUpdate()},e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._targetState&&this._targetState.resetClips(e)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._targetState&&this._targetState.shiftClipTime(e),this._sourceState&&this._sourceState.shiftClipTime(e)},e}),define("goo/animation/state/FrozenTransitionState",["goo/animation/state/AbstractTransitionState"],function(t){"use strict";function e(){t.call(this)}return e.prototype=Object.create(t.prototype),e.prototype.update=function(e){t.prototype.update.call(this,e),this._targetState&&this._targetState.update(e)},e.prototype.postUpdate=function(){this._targetState&&this._targetState.postUpdate()},e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._targetState.resetClips(e)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._targetState.shiftClipTime(e)},e}),define("goo/animation/state/SyncFadeTransitionState",["goo/animation/state/FadeTransitionState"],function(t){"use strict";function e(){t.call(this)}return e.prototype=Object.create(t.prototype),e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._targetState.resetClips(this._sourceState._globalStartTime)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._targetState.shiftClipTime(this._sourceState._globalStartTime+e),this._sourceState.shiftClipTime(e)},e}),define("goo/entities/components/CameraComponent",["goo/entities/components/Component","goo/math/Vector3"],function(t,e){"use strict";function i(t){this.type="CameraComponent",this.camera=t,this.leftVec=new e(-1,0,0),this.upVec=new e(0,1,0),this.dirVec=new e(0,0,-1)}return i.prototype=Object.create(t.prototype),i.prototype.setUpVector=function(t){0===t?(this.leftVec.setd(0,-1,0),this.upVec.setd(1,0,0),this.dirVec.setd(0,0,-1)):2===t?(this.leftVec.setd(-1,0,0),this.upVec.setd(0,0,1),this.dirVec.setd(0,-1,0)):(this.leftVec.setd(-1,0,0),this.upVec.setd(0,1,0),this.dirVec.setd(0,0,-1))},i.prototype.updateCamera=function(t){this.camera._left.setv(this.leftVec),t.matrix.applyPostVector(this.camera._left),this.camera._up.setv(this.upVec),t.matrix.applyPostVector(this.camera._up),this.camera._direction.setv(this.dirVec),t.matrix.applyPostVector(this.camera._direction),t.matrix.getTranslation(this.camera.translation),this.camera.update()},i}),define("goo/entities/components/LightComponent",["goo/entities/components/Component"],function(t){"use strict";function e(t){this.type="LightComponent",this.light=t}return e.prototype=Object.create(t.prototype),e.prototype.updateLight=function(t){this.light.update(t)},e}),define("goo/entities/components/ScriptComponent",["goo/entities/components/Component"],function(t){"use strict";function e(t){this.type="ScriptComponent",this.scripts=t instanceof Array?t:t?[t]:[]}return e.prototype=Object.create(t.prototype),e.prototype.run=function(t,e,i){for(var r,o=0,n=this.scripts.length;n>o;o++)r=this.scripts[o],r&&r.run&&(void 0===r.enabled||r.enabled)&&r.run(t,e,i)},e}),define("goo/entities/components/CSSTransformComponent",["goo/entities/components/Component"],function(t){"use strict";function e(e,i){t.call(this),this.type="CSSTransformComponent",this.domElement=e,this.scale=1,this.faceCamera="undefined"==typeof i?!1:i}return e.prototype=Object.create(t.prototype),e}),define("goo/entities/EntityUtils",["goo/entities/components/TransformComponent","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/entities/components/CameraComponent","goo/entities/components/LightComponent","goo/entities/components/ScriptComponent","goo/renderer/Camera","goo/renderer/light/Light","goo/renderer/Material","goo/renderer/MeshData","goo/math/Transform","goo/entities/components/CSSTransformComponent"],function(t,e,i,r,o,n,a,s,h,c,l,u){"use strict";function d(){}function p(r,o,n){for(var a=r.createEntity(o.name),s=0;s=65536)throw new Error("Maximum number of vertices for a mesh to add is 65535. Got: "+e.vertexCount);this.vertexCounter+e.vertexCount>=65536&&this._generateMesh();var r=e.attributeMap;for(var n in r){var a=r[n],s=this.vertexData[n];s||(this.vertexData[n]={},s=this.vertexData[n],s.array=[],s.map={count:a.count,type:a.type,stride:a.stride,offset:a.offset,normalized:a.normalized});var h=e.getAttributeBuffer(n),c=h.length,l=s.array;if(n===t.POSITION)for(var u=0;c>u;u+=3)o.setd(h[u+0],h[u+1],h[u+2]),i.matrix.applyPostPoint(o),l[this.vertexCounter*a.count+u+0]=o[0],l[this.vertexCounter*a.count+u+1]=o[1],l[this.vertexCounter*a.count+u+2]=o[2];else if(n===t.NORMAL)for(var u=0;c>u;u+=3)o.setd(h[u+0],h[u+1],h[u+2]),i.rotation.applyPost(o),l[this.vertexCounter*a.count+u+0]=o[0],l[this.vertexCounter*a.count+u+1]=o[1],l[this.vertexCounter*a.count+u+2]=o[2];else if(n===t.TANGENT)for(var u=0;c>u;u+=3)o.setd(h[u+0],h[u+1],h[u+2]),i.rotation.applyPost(o),l[this.vertexCounter*a.count+u+0]=o[0],l[this.vertexCounter*a.count+u+1]=o[1],l[this.vertexCounter*a.count+u+2]=o[2];else for(var u=0;c>u;u++)l[this.vertexCounter*a.count+u]=h[u]}for(var d=e.getIndexBuffer(),u=0,p=e.indexCount;p>u;u++)this.indexData[this.indexCounter+u]=d[u]+this.vertexCounter;this.vertexCounter+=e.vertexCount,this.indexCounter+=e.indexCount,this.indexLengths=e.indexLengths?this.indexLengths.concat(e.indexLengths):this.indexLengths.concat(e.getIndexBuffer().length),this.indexModes=this.indexModes.concat(e.indexModes)},r.prototype._generateMesh=function(){var e={};for(var i in this.vertexData){var r=this.vertexData[i];e[i]=r.map}var o=new t(e,this.vertexCounter,this.indexCounter);for(var i in this.vertexData){var r=this.vertexData[i].array;o.getAttributeBuffer(i).set(r)}o.getIndexBuffer().set(this.indexData),o.indexLengths=this.indexLengths,o.indexModes=this.indexModes,this.meshDatas.push(o),this.vertexData={},this.indexData=[],this.vertexCounter=0,this.indexCounter=0,this.indexLengths=[],this.indexModes=[]},r.prototype.build=function(){return this.vertexCounter>0&&this._generateMesh(),this.meshDatas},r}),define("goo/debug/BoundingVolumeMeshBuilder",["goo/renderer/bounds/BoundingBox","goo/renderer/bounds/BoundingSphere","goo/util/MeshBuilder","goo/renderer/MeshData","goo/math/Transform"],function(t,e,i,r,o){"use strict";function n(){}function a(t,e,i){var o=[t,e,i,t,e,-i,t,-e,i,t,-e,-i,-t,e,i,-t,e,-i,-t,-e,i,-t,-e,-i],n=[0,1,0,2,1,3,2,3,4,5,4,6,5,7,6,7,0,4,1,5,2,6,3,7],a=new r(r.defaultMap([r.POSITION]),o.length/3,n.length);return a.getAttributeBuffer(r.POSITION).set(o),a.getIndexBuffer().set(n),a.indexLengths=null,a.indexModes=["Lines"],a}function s(t,e){t=t||1,e=e||8;for(var i=[],o=[],n=2*Math.PI/e,a=0,s=0;e>a;a++,s+=n)i.push(Math.cos(s)*t,Math.sin(s)*t,0),o.push(a,a+1);o[o.length-1]=0;var h=new r(r.defaultMap([r.POSITION]),e,o.length);return h.getAttributeBuffer(r.POSITION).set(i),h.getIndexBuffer().set(o),h.indexLengths=null,h.indexModes=["Lines"],h}function h(t){t=t||1;var e,r=new i,n=128,a=s(t,n);e=new o,r.addMeshData(a,e),e=new o,e.rotation.fromAngles(0,Math.PI/2,0),e.update(),r.addMeshData(a,e),e=new o,e.rotation.fromAngles(Math.PI/2,Math.PI/2,0),e.update(),r.addMeshData(a,e);var h=r.build();return h[0]}return n.buildBox=function(t){var e=a(t.xExtent,t.yExtent,t.zExtent);return e},n.buildSphere=function(t){var e=h(t.radius);return e},n.build=function(i){return i instanceof t?n.buildBox(i):i instanceof e?n.buildSphere(i):void 0},n}),define("goo/shapes/debug/LightDebug",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/ShapeCreator","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight"],function(t,e,i,r,o,n,a){"use strict"; -function s(){this._ball=r.createSphere(12,12,.3),this._pointLightMesh=s._buildPointLightMesh(),this._spotLightMesh=s._buildSpotLightMesh(),this._directionalLightMesh=s._buildDirectionalLightMesh()}function h(e,i){e=e||1,i=i||8;for(var r=[],o=[],n=2*Math.PI/i,a=0,s=0;i>a;a++,s+=n)r.push(Math.cos(s)*e,Math.sin(s)*e,0),o.push(a,a+1);o[o.length-1]=0;var h=new t(t.defaultMap([t.POSITION]),i,o.length);return h.getAttributeBuffer(t.POSITION).set(r),h.getIndexBuffer().set(o),h.indexLengths=null,h.indexModes=["Lines"],h}function c(){var t,r=1,o=new e,n=128,a=h(r,n);t=new i,o.addMeshData(a,t),t=new i,t.rotation.fromAngles(0,Math.PI/2,0),t.update(),o.addMeshData(a,t),t=new i,t.rotation.fromAngles(Math.PI/2,Math.PI/2,0),t.update(),o.addMeshData(a,t);var s=o.build();return s[0]}function l(e){e=e||8;for(var i=[0,0,0],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),1),r.push(0,n+1);var s=new t(t.defaultMap([t.POSITION]),e+1,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function u(){for(var t=-1,r=new e,o=64,n=2,a=t/2,s=a,c=1;n>=c;c++){var u=h(s*c,o),d=new i;d.translation.set(0,0,a*c),d.update(),r.addMeshData(u,d)}var p=l(4),d=new i;d.scale.set(s*n,s*n,a*n),d.update(),r.addMeshData(p,d);var f=r.build();return f[0]}function d(e){e=e||8;for(var i=[],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),0),i.push(Math.cos(a),Math.sin(a),1),r.push(2*n,2*n+1);var s=new t(t.defaultMap([t.POSITION]),2*e,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function p(){for(var t=new e,r=64,o=2,n=10/o,a=1,s=0;o>s;s++){var c=h(a,r),l=new i;l.translation.set(0,0,-n*s),l.update(),t.addMeshData(c,l)}var u=d(4),l=new i;l.scale.set(a,a,-n*o),l.update(),t.addMeshData(u,l);var p=t.build();return p[0]}return s.prototype.getMesh=function(t,e){return t instanceof o?e.full?[this._ball,this._pointLightMesh]:[this._ball]:t instanceof a?e.full?[this._ball,this._spotLightMesh]:[this._ball]:t instanceof n?e.full?[this._ball,this._directionalLightMesh]:[this._ball]:void 0},s._buildPointLightMesh=function(){return c()},s._buildSpotLightMesh=function(){return u()},s._buildDirectionalLightMesh=function(){return p()},s}),define("goo/shapes/debug/CameraDebug",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/Box","goo/shapes/Cylinder"],function(t,e,i,r,o){"use strict";function n(){this._camera=n.buildCamera()}return n.prototype.getMesh=function(t,e){var i=t.far/t.near;return e.full?[this._camera,n.buildFrustum(i)]:[this._camera]},n.buildFrustum=function(e){var i,r,o,n,a=Math.PI/4,s=1,h=s/e,c=1,l=Math.tan(a);i={x:-l*s*c,y:l*s,z:-s},r={x:-l*s*c,y:-l*s,z:-s},o={x:l*s*c,y:-l*s,z:-s},n={x:l*s*c,y:l*s,z:-s};var u,d,p,f;u={x:-l*h*c,y:l*h,z:-h},d={x:-l*h*c,y:-l*h,z:-h},p={x:l*h*c,y:-l*h,z:-h},f={x:l*h*c,y:l*h,z:-h};var m=[];m.push(i.x,i.y,i.z),m.push(r.x,r.y,r.z),m.push(o.x,o.y,o.z),m.push(n.x,n.y,n.z),m.push(u.x,u.y,u.z),m.push(d.x,d.y,d.z),m.push(p.x,p.y,p.z),m.push(f.x,f.y,f.z);var g=[];g.push(0,1),g.push(1,2),g.push(2,3),g.push(3,0),g.push(4,5),g.push(5,6),g.push(6,7),g.push(7,4),g.push(0,4),g.push(1,5),g.push(2,6),g.push(3,7);var v=new t(t.defaultMap([t.POSITION]),8,24);return v.getAttributeBuffer(t.POSITION).set(m),v.getIndexBuffer().set(g),v.indexLengths=null,v.indexModes=["Lines"],v},n.buildCamera=function(){var n=new e,a=new i,s=new o(32,.6),h=new o(32,.6),c=new r(.3,1,1.6),l=new r(.2,.15,.7);l.applyFunction(t.POSITION,function(t){return[t.x+t.x/(.3*(t.z+1.1)),t.y+t.y/(.3*(t.z+1.1)),t.z]}),a.translation.setd(0,0,0),a.update(),n.addMeshData(l,a),a.translation.setd(0,0,1.3),a.update(),n.addMeshData(c,a),a.scale.setd(1,1,.5),a.setRotationXYZ(0,Math.PI/2,0),a.translation.setd(0,1.2,.6),a.update(),n.addMeshData(s,a),a.translation.setd(0,1.2,2),a.update(),n.addMeshData(h,a);var u=n.build();return u[0]},n}),define("goo/shapes/debug/MeshRendererDebug",["goo/renderer/MeshData"],function(t){"use strict";function e(){this._meshes=[i(1,1,1),null]}function i(e,i,r){var o=[e,i,r,e,i,-r,e,-i,r,e,-i,-r,-e,i,r,-e,i,-r,-e,-i,r,-e,-i,-r],n=[0,1,0,2,1,3,2,3,4,5,4,6,5,7,6,7,0,4,1,5,2,6,3,7],a=new t(t.defaultMap([t.POSITION]),o.length/3,n.length);return a.getAttributeBuffer(t.POSITION).set(o),a.getIndexBuffer().set(n),a.indexLengths=null,a.indexModes=["Lines"],a}return e.prototype.getMesh=function(){return this._meshes},e}),define("goo/debug/DebugDrawHelper",["goo/entities/components/LightComponent","goo/entities/components/CameraComponent","goo/entities/components/MeshRendererComponent","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight","goo/shapes/debug/LightDebug","goo/shapes/debug/CameraDebug","goo/shapes/debug/MeshRendererDebug","goo/renderer/Material","goo/renderer/Util","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderBuilder","goo/math/Transform"],function(t,e,i,r,o,n,a,s,h,c,l,u,d,p){"use strict";var f={},m=new a,g=new s,v=new h;return f.getRenderablesFor=function(t,e){var i,r;return"LightComponent"===t.type?(i=m.getMesh(t.light,e),r=c.createMaterial(u.simpleColored,"DebugDrawLightMaterial")):"CameraComponent"===t.type?(i=g.getMesh(t.camera,e),r=c.createMaterial(u.simpleLit,"DebugDrawCameraMaterial"),r.uniforms.materialAmbient=[.2,.2,.2,1],r.uniforms.materialDiffuse=[.8,.8,.8,1],r.uniforms.materialSpecular=[0,0,0,1]):"MeshRendererComponent"===t.type&&(i=v.getMesh(),r=c.createMaterial(u.simpleColored,"DebugMeshRendererComponentMaterial")),i.map(function(t){return{meshData:t,transform:new p,materials:[r]}})},f.update=function(t,e,i){if(e.camera&&e.camera.changedProperties){var r=e.camera;t.length>1&&r.far/r.near!==t[1].farNear&&(t[1].meshData=s.buildFrustum(r.far/r.near),t[1].farNear=r.far/r.near),e.camera.changedProperties=!1}f[e.type].updateMaterial(t[0].materials[0],e),t[1]&&f[e.type].updateMaterial(t[1].materials[0],e),t[1]&&f[e.type].updateTransform(t[1].transform,e);var n=t[0].transform.translation.distance(i)/30;t[0].transform.scale.setd(n,n,n),t[0].transform.update(),e.light&&e.light instanceof o&&(t[1]&&t[1].transform.scale.scale(n),t[1]&&t[1].transform.update())},f.LightComponent={},f.CameraComponent={},f.LightComponent.updateMaterial=function(t,e){var i=e.light,r=t.uniforms.color=t.uniforms.color||[];r[0]=i.color.data[0],r[1]=i.color.data[1],r[2]=i.color.data[2]},f.LightComponent.updateTransform=function(t,e){var i=e.light;if(!(i instanceof o)){var r=i.range;if(t.scale.setd(r,r,r),i instanceof n){var a=i.angle*Math.PI/180,s=Math.tan(a/2);t.scale.muld(s,s,1)}}t.update()},f.CameraComponent.updateMaterial=function(t){t.uniforms.color=t.uniforms.color||[1,1,1]},f.CameraComponent.updateTransform=function(t,e){var i=e.camera,r=i.far,o=r*Math.tan(i.fov/2*Math.PI/180),n=o*i.aspect;t.scale.setd(n,o,r),t.update()},f}),define("goo/debug/components/MarkerComponent",["goo/entities/components/Component","goo/shapes/ShapeCreator","goo/debug/BoundingVolumeMeshBuilder"],function(t,e,i){"use strict";function r(t){this.type="MarkerComponent";var e=t.meshDataComponent.modelBound;this.meshData=i.build(e)}return r.prototype=Object.create(t.prototype),r}),define("goo/debug/systems/MarkerSystem",["goo/entities/systems/System","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/shapes/ShapeCreator","goo/debug/components/MarkerComponent","goo/renderer/Renderer"],function(t,e,i,r,o,n){"use strict";function a(r){t.call(this,"MarkerSystem",["MarkerComponent"]),this.material=e.createMaterial(i.simpleColored,""),this.material.depthState.enabled=!1,this.material.shader.uniforms.color=[0,1,0],this.goo=r,this.renderer=this.goo.renderer,this.entities=[],this.goo.callbacks.push(function(){for(var t=0;t0}).map(function(t){return new RegExp(t)})}function stringifyTypedArray(t){if(0===t.length)return"[]";for(var e="["+t[0],i=1;ir)return i+"REACHED MAXIMUM DEPH\n";if(null===t)return i+"null\n";var o=typeof t;if("undefined"===o||"number"===o||"boolean"===o||"string"===o||t instanceof Array&&("string"==typeof t[0]||"number"==typeof t[0]||"boolean"==typeof t[0]))return i+JSON.stringify(t)+"\n";if(-1!==Object.prototype.toString.call(t).indexOf("Array]"))return i+stringifyTypedArray(t)+"\n";var n=[];for(var a in t)if(t.hasOwnProperty(a)){if("function"==typeof t[a])continue;for(var s in e)if(e[s].test(a)){var h=filterProperties(t[a],e,i+" ",r-1);n.push(i+a+"\n"+h);break}}return n.join("")}function updateMarker(t,e){t!==e?(null!==e&&e.hasComponent("MarkerComponent")&&e.clearComponent("MarkerComponent"),null!==t&&t.setComponent(new MarkerComponent(t))):t.hasComponent("MarkerComponent")?t.clearComponent("MarkerComponent"):t.setComponent(new MarkerComponent(t))}function displayInfo(t){var e=getFilterList(document.getElementById("debugparams").value);t&&console.log("==> ",t);var i=filterProperties(t,e,"",20),r=document.getElementById("debugtex");r.value=i}return Debugger.prototype._setUpREPL=function(){var lastCommStr="";document.getElementById("replintex").addEventListener("keyup",function(event){event.stopPropagation();var replinElemHandle=document.getElementById("replintex"),reploutElemHandle=document.getElementById("replouttex");if(13!==event.keyCode||event.shiftKey)38===event.keyCode&&(replinElemHandle.value=lastCommStr);else{var commStr=replinElemHandle.value.substr(0,replinElemHandle.value.length-1);lastCommStr=commStr;var entity=this.picked,goo=this.goo,resultStr="";try{resultStr+=eval(commStr)}catch(err){resultStr+=err}replinElemHandle.value="entity.",reploutElemHandle.value+="\n-------\n"+resultStr,displayInfo(this.picked)}}.bind(this),!1)},Debugger.prototype._setUpPicking=function(){document.addEventListener("mouseup",function(t){t.stopPropagation();var e=t.pageX,i=t.pageY;this.goo.pick(e,i,function(t){var e=this.goo.world.entityManager.getEntityById(t);e&&(this.oldPicked=this.picked,this.picked=e,this.picked===this.oldPicked&&(this.picked=null),this.exportPicked&&(window.picked=this.picked),displayInfo(this.picked),updateMarker(this.picked,this.oldPicked))}.bind(this))}.bind(this),!1)},Debugger.prototype.inject=function(t){return this.goo=t,createPanel(),this.goo.world.getSystem("MarkerSystem")||this.goo.world.setSystem(new MarkerSystem(this.goo)),this._setUpPicking(),document.getElementById("debugparams").addEventListener("keyup",function(){displayInfo(this.picked)}.bind(this)),this._setUpREPL(),this},Debugger}),define("goo/debug/EntityCounter",[],function(){"use strict";function t(t){this.goo=null,this.skipFrames=t||20,this.texHandle=null}function e(){var t=document.createElement("div");t.id="_entitycounterdiv";var e='Counter
';return t.innerHTML=e,t.style.position="absolute",t.style.zIndex="2001",t.style.backgroundColor="#BBBBBB",t.style.left="10px",t.style.bottom="10px",t.style.webkitTouchCallout="none",t.style.webkitUserSelect="none",t.style.khtmlUserSelect="none",t.style.mozUserSelect="none",t.style.msUserSelect="none",t.style.userSelect="none",t.style.padding="3px",t.style.borderRadius="6px",document.body.appendChild(t),document.getElementById("_entitycountertex")}return t.prototype.inject=function(t){this.goo=t,this.texHandle=e();var i=this,r=0;return this.goo.callbacks.push(function(){if(r--,0>=r){r=i.skipFrames;var t="";for(var e in i.goo.world._systems){var o=i.goo.world._systems[e];t+=o.type+": "+o._activeEntities.length+"\n"}i.texHandle.value=t}}),this},t}),define("goo/debug/FrustumViewer",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/ShapeCreator","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/shapes/Box","goo/shapes/Cylinder"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(){}function u(e,i,r,o){var n,a,s,h,c=e*Math.PI/180/2,l=Math.tan(c);n={x:-l*o*i,y:l*o,z:-o},a={x:-l*o*i,y:-l*o,z:-o},s={x:l*o*i,y:-l*o,z:-o},h={x:l*o*i,y:l*o,z:-o};var u,d,p,f;u={x:-l*r*i,y:l*r,z:-r},d={x:-l*r*i,y:-l*r,z:-r},p={x:l*r*i,y:-l*r,z:-r},f={x:l*r*i,y:l*r,z:-r};var m=[];m.push(n.x,n.y,n.z),m.push(a.x,a.y,a.z),m.push(s.x,s.y,s.z),m.push(h.x,h.y,h.z),m.push(u.x,u.y,u.z),m.push(d.x,d.y,d.z),m.push(p.x,p.y,p.z),m.push(f.x,f.y,f.z);var g=[];g.push(0,1),g.push(1,2),g.push(2,3),g.push(3,0),g.push(4,5),g.push(5,6),g.push(6,7),g.push(7,4),g.push(0,4),g.push(1,5),g.push(2,6),g.push(3,7);var v=new t(t.defaultMap([t.POSITION]),8,24);return v.getAttributeBuffer(t.POSITION).set(m),v.getIndexBuffer().set(g),v.indexLengths=null,v.indexModes=["Lines"],v}function d(r){var o=new e,n=new i,a=u(r.fov,r.aspect,r.near,r.far);o.addMeshData(a,n);var s=new c(32,.6),l=new c(32,.6),d=new h(.3,1,1.6),p=new h(.2,.15,.7);p.applyFunction(t.POSITION,function(t){return[t.x+t.x/(.3*(t.z+1.1)),t.y+t.y/(.3*(t.z+1.1)),t.z]}),n.translation.setd(0,0,0),n.update(),o.addMeshData(p,n),n.translation.setd(0,0,1.3),n.update(),o.addMeshData(d,n),n.scale.setd(1,1,.5),n.setRotationXYZ(0,Math.PI/2,0),n.translation.setd(0,1.2,.6),n.update(),o.addMeshData(s,n),n.translation.setd(0,1.2,2),n.update(),o.addMeshData(l,n);var f=o.build();return f[0]}return l.getMeshData=function(t){var e=d(t);return e},l.attachGuide=function(t){var e=t.getComponent("CameraComponent").camera,i=u(e.fov,e.aspect,e.near,e.far-e.far/1e3),r=new o(i);t.setComponent(r);var h=new n,c=a.createMaterial(s.simpleColored,"");return c.uniforms.color=[.5,.7,1],h.materials.push(c),t.setComponent(h),t},l.removeMesh=function(t){return t.hasComponent("cameraComponent")&&(t.clearComponent("meshDataComponent"),t.clearComponent("meshRendererComponent")),t},l}),define("goo/debug/LightPointer",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/ShapeCreator","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/math/MathUtils","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight"],function(t,e,i,r,o,n,a,s,h,c,l,u){"use strict";function d(){}function p(e,i){e=e||1,i=i||8;for(var r=[],o=[],n=2*Math.PI/i,a=0,s=0;i>a;a++,s+=n)r.push(Math.cos(s)*e,Math.sin(s)*e,0),o.push(a,a+1);o[o.length-1]=0;var h=new t(t.defaultMap([t.POSITION]),i,o.length);return h.getAttributeBuffer(t.POSITION).set(r),h.getIndexBuffer().set(o),h.indexLengths=null,h.indexModes=["Lines"],h}function f(t){t=t||1;var r,o=new e,n=128,a=p(t,n);r=new i,o.addMeshData(a,r),r=new i,r.rotation.fromAngles(0,Math.PI/2,0),r.update(),o.addMeshData(a,r),r=new i,r.rotation.fromAngles(Math.PI/2,Math.PI/2,0),r.update(),o.addMeshData(a,r);var s=o.build();return s[0]}function m(e){e=e||8;for(var i=[0,0,0],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),1),r.push(0,n+1);var s=new t(t.defaultMap([t.POSITION]),e+1,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function g(t,r){t=t||45,r=r||1;for(var o=new e,n=64,a=2,s=r/2,c=Math.tan(t*h.DEG_TO_RAD/2)*s,l=1;a>=l;l++){var u=p(c*l,n),d=new i;d.translation.set(0,0,s*l),d.update(),o.addMeshData(u,d)}var f=m(4),d=new i;d.scale.set(c*a,c*a,s*a),d.update(),o.addMeshData(f,d);var g=o.build();return g[0]}function v(e){e=e||8;for(var i=[],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),0),i.push(Math.cos(a),Math.sin(a),1),r.push(2*n,2*n+1);var s=new t(t.defaultMap([t.POSITION]),2*e,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function y(){for(var t=new e,r=64,o=2,n=10,a=2,s=0;o>s;s++){var h=p(a,r),c=new i;c.translation.set(0,0,n*s),c.update(),t.addMeshData(h,c)}var l=v(4),c=new i;c.scale.set(a,a,n*o),c.update(),t.addMeshData(l,c);var u=t.build();return u[0]}function x(t){var o=new e,n=new i,a=f(t.range),s=r.createSphere(8,8,.1);o.addMeshData(a,n),o.addMeshData(s,n);var h=o.build();return h[0]}function _(t){var o=new e,n=new i,a=g(t.angle,t.range),s=r.createSphere(8,8,.1);o.addMeshData(s,n),n.scale.setd(1,1,-1),n.update(),o.addMeshData(a,n);var h=o.build();return h[0]}function w(){var t=new e,o=new i;o.scale.setd(1,1,-1),o.update();var n=y(),a=r.createSphere(8,8,.1);t.addMeshData(n,o),t.addMeshData(a,o);var s=t.build();return s[0]}function b(t){return t instanceof c?x(t):t instanceof l?w(t):t instanceof u?_(t):void 0}return d.getMeshData=function(t){var e=b(t);return e},d.attachPointer=function(t){var e=t.getComponent("lightComponent").light,i=b(e),r=new o(i);t.setComponent(r);var h=new n;t.setComponent(h);var c=a.createMaterial(s.simpleColored,"");return c.uniforms.color=[e.color.data[0],e.color.data[1],e.color.data[2]],t.meshRendererComponent.materials.push(c),t},d.removeMesh=function(t){return t.clearComponent("meshDataComponent"),t.clearComponent("meshRendererComponent"),t},d}),define("goo/entities/systems/TransformSystem",["goo/entities/systems/System"],function(t){"use strict";function e(){t.call(this,"TransformSystem",["TransformComponent"])}return e.prototype=Object.create(t.prototype),e.prototype.process=function(t){var e,i;for(e=0;e0&&this._composersActive)for(var e=0;e1))for(var i=0,r=t.length;r>i;i++){var o=t[i],n=o.particleComponent;n.enabled&&this.updateParticles(o,n,e)}},e.prototype.updateParticles=function(t,e,i){for(var r,o=0,n=-1,a=!1,s=!1;on){if(r=e.emitters[n],r.influences.length)for(var h=0,c=r.influences.length;c>h;h++)r.influences[h].prepare(t,r);if(!r.enabled){r=void 0;continue}if(0!==r.totalParticlesToSpawn&&(r.particlesWaitingToRelease+=r.releaseRatePerSecond*i,r.particlesWaitingToRelease=Math.max(r.particlesWaitingToRelease,0),s=!0),r.particlesWaitingToRelease<1){r=void 0;continue}}else r=null;var l=e.particles[o];if(l.alive&&l.emitter&&l.emitter.influences.length)for(var h=0,c=l.emitter.influences.length;c>h;h++)l.emitter.influences[h].enabled&&l.emitter.influences[h].apply(i,l,o);l.alive&&(l.update(i,t),a=!0,s=!0),!l.alive&&r&&(r.particlesWaitingToRelease--,r.totalParticlesToSpawn>=1&&r.totalParticlesToSpawn--,l.respawnParticle(r),r.getEmissionPoint(l,t),r.getEmissionVelocity(l,t),(r.particlesWaitingToRelease<1||0===r.totalParticlesToSpawn)&&(r=void 0)),o++}a&&(e.meshData.vertexData._dataNeedsRefresh=!0,t.meshDataComponent.autoCompute=!0),s||(e.enabled=!1)},e}),define("goo/util/Stats",[],function(){"use strict";function t(){var t=Date.now(),e=t,i=t,r=0,o=1/0,n=0,a=0,s=1/0,h=0,c=0,l=0,u=document.createElement("div");u.id="stats",u.addEventListener("mousedown",function(t){t.preventDefault(),w(++l%2)},!1),u.style.cssText="width:80px;cursor:pointer;z-index:1000;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;";var d=document.createElement("div");d.id="fps",d.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002",u.appendChild(d);var p=document.createElement("div");p.id="fpsText",p.style.cssText="color:#0ff;font-family:Helvetica,Arial,sans-serif;font-size:8px;font-weight:bold;line-height:13px",p.innerHTML="FPS",d.appendChild(p);var f=document.createElement("div");for(f.id="fpsGraph",f.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff",d.appendChild(f);f.children.length<74;){var m=document.createElement("span");m.style.cssText="width:1px;height:30px;float:left;background-color:#113",f.appendChild(m)}var g=document.createElement("div");g.id="ms",g.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none",u.appendChild(g);var v=document.createElement("div");v.id="msText",v.style.cssText="color:#0f0;font-family:Helvetica,Arial,sans-serif;font-size:8px;font-weight:bold;line-height:13px",v.innerHTML="MS",g.appendChild(v);var y=document.createElement("div");for(y.id="msGraph",y.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0",g.appendChild(y);y.children.length<74;){var m=document.createElement("span");m.style.cssText="width:1px;height:30px;float:left;background-color:#131",y.appendChild(m)}var x=document.createElement("div");x.id="info",x.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#200",u.appendChild(x);var _=document.createElement("div");_.id="infoText",_.style.cssText="color:#f66;font-family:Helvetica,Arial,sans-serif;font-size:8px;font-weight:bold;line-height:13px",_.innerHTML="INFO",x.appendChild(_);var w=function(t){switch(l=t){case 0:d.style.display="block",g.style.display="none";break;case 1:d.style.display="none",g.style.display="block"}},b=function(t,e){var i=t.appendChild(t.firstChild);i.style.height=e+"px"};this.domElement=u,this.setMode=w,this.begin=function(){t=Date.now()},this.end=function(l){var u=Date.now();return u>i+100&&(r=u-t,o=Math.min(o,r),n=Math.max(n,r),v.textContent=r+" MS ("+o+"-"+n+")",b(y,Math.min(30,30-30*(r/200))),i=u,l&&(_.innerHTML="Calls: "+l.calls+"
Vertices: "+l.vertices+"
Indices: "+l.indices)),c++,u>e+1e3&&(a=Math.round(1e3*c/(u-e)),s=Math.min(s,a),h=Math.max(h,a),p.textContent=a+" FPS ("+s+"-"+h+")",b(f,Math.min(30,30-30*(a/(Math.min(500,h)+10)))),e=u,c=0),u},this.update=function(e){t=this.end(e)}}return t}),define("goo/entities/systems/CSSTransformSystem",["goo/entities/systems/System","goo/renderer/Renderer","goo/math/Matrix4x4","goo/math/MathUtils","goo/math/Vector3"],function(t,e,i,r,o){"use strict";function n(e){t.call(this,"CSSTransformSystem",["TransformComponent","CSSTransformComponent"]),this.renderer=e,this.viewDom=document.querySelector("#view"),this.containerDom=document.querySelector("#cam1"),this.containerDom2=document.querySelector("#cam2"),this.tmpMatrix=new i,this.tmpMatrix2=new i,this.tmpVector=new o}n.prototype=Object.create(t.prototype);var a=function(t){return Math.abs(t)<1e-6?0:t},s=["","-webkit-","-moz-","-ms-","-o-"],h=function(t,e,i){for(var r=0;ri||i>1)return this.start=e,this.animationId=window.requestAnimationFrame(this.run),void 0;i=Math.max(Math.min(i,.5),1e-4),y[x]=i,x=(x+1)%this.tpfSmoothingCount;for(var o=0,n=0;n=0;n--)this._takeSnapshots[n](s)}catch(h){console.error("Failed to take snapshot",h.message)}this._takeSnapshots=[]}this.animationId=window.requestAnimationFrame(this.run)},v.prototype._buildLogo=function(t){var e=document.createElement("div"),i=g.getLogo({width:"70px",height:"50px",color:g.blue}),r='Powered by';return e.innerHTML='
'+r+i+"",e.style.position="absolute",e.style.zIndex="2000","topright"===t?(e.style.top="10px",e.style.right="10px"):"topleft"===t?(e.style.top="10px",e.style.left="10px"):"bottomright"===t?(e.style.bottom="10px",e.style.right="10px"):"bottomleft"===t?(e.style.bottom="10px",e.style.left="10px"):(e.style.top="10px",e.style.right="10px"),e.id="goologo",e.style.webkitTouchCallout="none",e.style.webkitUserSelect="none",e.style.khtmlUserSelect="none",e.style.mozUserSelect="none",e.style.msUserSelect="none",e.style.userSelect="none",e.ondragstart=function(){return!1},e},v.prototype._addDebugKeys=function(){var t="shiftKey";document.addEventListener("keydown",function(e){32===e.which&&e[t]?m.toggleFullScreen():13===e.which&&e[t]?m.togglePointerLock():49===e.which&&e[t]?this.renderSystem.setDebugMaterial():50!==e.which&&222!==e.which||!e[t]?51===e.which&&e[t]?this.renderSystem.setDebugMaterial("lit"):52===e.which&&e[t]?this.renderSystem.setDebugMaterial("color"):53===e.which&&e[t]?this.renderSystem.setDebugMaterial("wireframe"):54===e.which&&e[t]?this.renderSystem.setDebugMaterial("flat"):55!==e.which&&191!==e.which||!e[t]?56===e.which&&e[t]&&this.renderSystem.setDebugMaterial("+wireframe"):this.renderSystem.setDebugMaterial("texture"):this.renderSystem.setDebugMaterial("normals")}.bind(this),!1),document.addEventListener("mousedown",function(e){if(e[t]){var i=e.clientX,r=e.clientY;this.pick(i,r,function(t,e){var i=this.world.entityManager.getEntityById(t);console.log("Picked entity:",i,"At depth:",e)}.bind(this))}}.bind(this),!1)},v.prototype.addEventListener=function(t,e){!this._eventListeners[t]||this._eventListeners[t].indexOf(e)>-1||"function"==typeof e&&(this._eventListeners[t].push(e),1===this._eventListeners[t].length&&this._enableEvent(t))},v.prototype.removeEventListener=function(t,e){if(this._eventListeners[t]){var i=this._eventListeners[t].indexOf(e);i>-1&&this._eventListeners[t].splice(i,1),0===this._eventListeners[t].length&&this._disableEvent(t)}},v.prototype._dispatchEvent=function(t){for(var e in this._eventTriggered)if(this._eventTriggered[e]&&this._eventListeners[e]){for(var i={entity:t.entity,depth:t.depth,x:t.x,y:t.y,type:e,domEvent:this._eventTriggered[e],id:t.id},r=0;rthis._lastUpdate&&t-this._lastUpdatei;i++)this.layers[i].update(t)}},a.prototype.apply=function(t){var e=this.getCurrentSourceData(),i=this._skeletonPose;if(e){for(var a in e){var s=e[a];if(s instanceof r)i&&s._jointIndex>=0&&s.applyTo(i._localTransforms[s._jointIndex]);else if(s instanceof o)t&&(s.applyTo(t.transform),t.updateTransform(),this._updateWorldTransform(t));else if(s instanceof n){if(s.armed){for(var h=0,c=s._currentTriggers.length;c>h;h++){var l=this._triggerCallbacks[s._currentTriggers[h]];if(l&&l.length)for(var u=0,d=l.length;d>u;u++)l[u]()}s.armed=!1}}else s instanceof Array&&(this.floats[a]=s[0])}i&&i.updateTransforms()}},a.prototype._updateWorldTransform=function(t){t.updateWorldTransform();for(var e=0;et;t++)this.layers[t].postUpdate()},a.prototype.getCurrentSourceData=function(){var t=this.layers.length-1;this.layers[0]._layerBlender=null;for(var e=0;t>e;e++)this.layers[e+1].updateLayerBlending(this.layers[e]);return this.layers[t].getCurrentSourceData()},a.prototype.addLayer=function(t,e){isNaN(e)?this.layers.push(t):this.layers.splice(e,0,t)},a.prototype.resetClips=function(t){for(var e=0;eM;M++){var C=e[M];d+=(C.timeOffset?C.timeOffset:0)*r,null===x&&(d>i?void 0!==C.color&&(h=d,x=C):void 0!==C.color&&(o=d,f=C)),null===_&&(d>i?void 0!==C.mass&&(c=d,_=C):void 0!==C.mass&&(n=d,m=C)),i>=d&&void 0!==C.uvIndex&&(y=C),null===w&&(d>i?void 0!==C.size&&(l=d,w=C):void 0!==C.size&&(a=d,g=C)),null===b&&(d>i?void 0!==C.spin&&(u=d,b=C):void 0!==C.spin&&(s=d,v=C))}p=(i-o)/(h-o);var T=null!==f?f.color:[1,1,1,1],E=null!==x?x.color:T;t.color.data[0]=(1-p)*T[0]+p*E[0],t.color.data[1]=(1-p)*T[1]+p*E[1],t.color.data[2]=(1-p)*T[2]+p*E[2],t.color.data[3]=(1-p)*T[3]+p*E[3],p=(i-n)/(c-n);var T=null!==m?m.mass:1,E=null!==_?_.mass:T;t.mass=(1-p)*T+p*E,t.uvIndex=null!==y?y.uvIndex:0,p=(i-a)/(l-a);var T=null!==g?g.size:1,E=null!==w?w.size:T;t.size=(1-p)*T+p*E,p=(i-s)/(u-s);var T=null!==v?v.spin:0,E=null!==b?b.spin:T;t.spin=(1-p)*T+p*E},e}),define("goo/particles/Particle",["goo/particles/ParticleUtils","goo/math/Vector","goo/math/Vector3","goo/math/Vector4","goo/renderer/MeshData"],function(t,e,i,r,o){"use strict";function n(t,e){this.alive=!1,this.position=new i,this.velocity=new i,this.lifeSpan=0,this.parent=t,this.age=0,this.index=e,this.color=new r(1,0,0,1),this.size=0,this.spin=0,this.mass=1,this.emitter=null,this.uvIndex=0,this.lastUVIndex=-1,this.bbX=new i,this.bbY=new i,this.lastColor=new r}var a=new i;return n.prototype.respawnParticle=function(t){this.emitter=t,this.lifeSpan=t.nextParticleLifeSpan(),this.alive=!0,this.age=0},n.prototype.update=function(r,n){if(this.alive){if(this.age+=r,this.age>this.lifeSpan)return this.kill(),void 0;if(this.position.add_d(this.velocity.x*r,this.velocity.y*r,this.velocity.z*r),t.applyTimeline(this,this.emitter&&this.emitter.timeline?this.emitter.timeline:this.parent.timeline),!e.equals(this.lastColor,this.color)){var s=this.parent.meshData.getAttributeBuffer(o.COLOR);s.set(this.color.data,16*this.index+0),s.set(this.color.data,16*this.index+4),s.set(this.color.data,16*this.index+8),s.set(this.color.data,16*this.index+12),this.lastColor.setv(this.color)}if(this.emitter&&this.emitter.getParticleBillboardVectors(this,n),0===this.spin)this.bbX.muld(this.size,this.size,this.size),this.bbY.muld(this.size,this.size,this.size);else{var h=Math.cos(this.spin)*this.size,c=Math.sin(this.spin)*this.size,l=this.bbY.x,u=this.bbY.y,d=this.bbY.z;this.bbY.setv(this.bbX),this.bbX.muld(h,h,h).add_d(l*c,u*c,d*c),this.bbY.muld(-c,-c,-c).add_d(l*h,u*h,d*h)}var p=this.parent.meshData.getAttributeBuffer(o.POSITION);if(i.subv(this.position,this.bbX,a).subv(this.bbY),p.set(a.data,12*this.index+0),i.subv(this.position,this.bbX,a).addv(this.bbY),p.set(a.data,12*this.index+3),i.addv(this.position,this.bbX,a).addv(this.bbY),p.set(a.data,12*this.index+6),i.addv(this.position,this.bbX,a).subv(this.bbY),p.set(a.data,12*this.index+9),this.lastUVIndex!==this.uvIndex){var f=this.parent.meshData.getAttributeBuffer(o.TEXCOORD0),m=this.uvIndex%this.parent.uRange/this.parent.uRange,g=1-Math.floor(this.uvIndex/this.parent.vRange)/this.parent.vRange,v=1/this.parent.uRange,y=1/this.parent.vRange;f.set([m+v,g-y],8*this.index+0),f.set([m+v,g],8*this.index+2),f.set([m,g],8*this.index+4),f.set([m,g-y],8*this.index+6),this.lastUVIndex=this.uvIndex}}},n.prototype.kill=function(){this.alive=!1;var t=this.parent.meshData.getAttributeBuffer(o.POSITION),e=t.subarray(12*this.index,12*this.index+3);t.set(e,12*this.index+3),t.set(e,12*this.index+6),t.set(e,12*this.index+9) -},n}),define("goo/particles/ParticleEmitter",["goo/particles/ParticleUtils","goo/renderer/Renderer"],function(t,e){"use strict";function i(e){e=e||{},this.totalParticlesToSpawn=isNaN(e.totalParticlesToSpawn)?-1:e.totalParticlesToSpawn,this.maxLifetime=isNaN(e.maxLifetime)?3:e.maxLifetime,this.minLifetime=isNaN(e.minLifetime)?2:e.minLifetime,this.timeline=e.timeline?e.timeline:void 0,this.influences=e.influences?e.influences:[],this.getEmissionPoint=e.getEmissionPoint?e.getEmissionPoint:function(e,i){var r=e.position;return r.setd(0,0,0),t.applyEntityTransformPoint(r,i)},this.getEmissionVelocity=e.getEmissionVelocity?e.getEmissionVelocity:function(e,i){var r=e.velocity;return r.setd(0,1,0),t.applyEntityTransformVector(r,i)},this.getParticleBillboardVectors=e.getParticleBillboardVectors?e.getParticleBillboardVectors:i.CAMERA_BILLBOARD_FUNC,this.releaseRatePerSecond=isNaN(e.releaseRatePerSecond)?10:e.releaseRatePerSecond,this.particlesWaitingToRelease=0,this.enabled=void 0!==e.enabled?e.enabled===!0:!0}return i.CAMERA_BILLBOARD_FUNC=function(t){var i=e.mainCamera;t.bbX.setv(i._left),t.bbY.setv(i._up)},i.prototype.nextParticleLifeSpan=function(){return this.minLifetime+(this.maxLifetime-this.minLifetime)*Math.random()},i}),define("goo/entities/components/ParticleComponent",["goo/entities/components/Component","goo/particles/Particle","goo/particles/ParticleEmitter","goo/renderer/MeshData"],function(t,e,i,r){"use strict";function o(e){if(this.type="ParticleComponent",t.call(this),e=e||{},this.emitters=[],e.emitters)for(var r=0,o=e.emitters.length;o>r;r++)this.emitters.push(new i(e.emitters[r]));this.timeline=e.timeline?e.timeline:[],this.uRange=isNaN(e.uRange)?1:e.uRange,this.vRange=isNaN(e.vRange)?1:e.vRange;var n=isNaN(e.particleCount)?100:e.particleCount;this.recreateParticles(n),this.enabled=!0}return o.prototype=Object.create(t.prototype),o.prototype.generateMeshData=function(){var t=r.defaultMap([r.POSITION,r.COLOR,r.TEXCOORD0]);this.meshData=new r(t,4*this.particleCount,6*this.particleCount);for(var e=this.meshData.getAttributeBuffer(r.TEXCOORD0),i=this.meshData.getIndexBuffer(),o=0,n=this.particleCount;n>o;o++)e.set([1,0],8*o+0),e.set([1,1],8*o+2),e.set([0,1],8*o+4),e.set([0,0],8*o+6),i.set([4*o+0,4*o+3,4*o+1,4*o+1,4*o+3,4*o+2],6*o)},o.prototype.recreateParticles=function(t){this.particleCount=t,this.particles=[];for(var i=0;in;n++){var h=this._interestComponents[n];if("ToolCameraEntity"!==o.name&&o.hasComponent(h)){var c,l=o.getComponent(h),u={full:this.doRender[h]||o.getComponent(h).forceDebug},d=this._renderablesTree[o.id]=this._renderablesTree[o.id]||{};d[h]&&(2===d[h].length&&u.full||1===d[h].length&&!u.full)?c=d[h]:(c=a.getRenderablesFor(l,u),c.forEach(function(t){t.id=o.id}),d[h]=c),c.forEach(function(t){t.transform.copy(o.transformComponent.worldTransform)}),a.update(c,l,this.camera.translation),c.forEach(function(t){this.renderList[i++]=t}.bind(this))}}this.selectionActive&&(this.renderList[i++]=this.selectionRenderable[0]),this.renderList.length=i,this.currentTpf=e},s.prototype.render=function(t){t.checkResize(this.camera),this.camera&&t.render(this.renderList,this.camera,this.lights,null,!1)},s.prototype.renderToPick=function(t,e){t.renderToPick(this.renderList,this.camera,!1,e)},s}),define("goo/util/gizmos/Gizmo",["goo/renderer/shaders/ShaderBuilder","goo/renderer/MeshData","goo/renderer/Shader","goo/renderer/Material","goo/renderer/Renderer","goo/math/Transform","goo/math/Matrix4x4","goo/math/Plane","goo/math/Ray","goo/math/Vector3"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(t,e){this.name=t||"Default Gizmo",this.gizmoRenderSystem=e,this._colors=[[1,.1,.3],[.2,1,.3],[.2,.3,1],[.8,.8,.8]],this._gizmoSize=1/60,this._plane=new s,this._line=new c,this._activeHandle=null,this._mouse={position:[0,0],oldPosition:[0,0]},this.dirty=!1,this.visible=!1,this.transform=new n,this.renderables=[],this.onChange=null,this._oldRay=new h,this._newRay=new h,this._result=new c,this._v0=new c,this._v1=new c,this._v2=new c,this._v3=new c,this._s0=new c,this._s1=new c,this._s2=new c,this._s3=new c}return l.handleStore=[],l.registerHandle=function(t){var e=l.handleStore.length+16e3;return l.handleStore.push(t),e},l.getHandle=function(t){return 16e3>t?null:l.handleStore[t-16e3]},l.prototype.getRenderable=function(t){for(var e=0;e=0;n--)this.renderables[n].transform.update(),a.combine(this.transform.matrix,this.renderables[n].transform.matrix,this.renderables[n].transform.matrix)},l.prototype._setPlane=function(){var t=this._plane.normal,e=this._v0,i=this._v1,r=this._v2,n=this._v3,a=this._s0,s=this._s1,h=this._s2,l=this._s3;"Plane"===this._activeHandle.type?(t.setv([c.UNIT_X,c.UNIT_Y,c.UNIT_Z][this._activeHandle.axis]),this.transform.matrix.applyPostVector(t),t.normalize(),e.setv(c.ZERO),this.transform.matrix.applyPostPoint(e),this._plane.constant=e.dot(t)):(e.setv(c.ZERO),this.transform.matrix.applyPostPoint(e),i.setv(c.UNIT_X),this.transform.matrix.applyPostPoint(i),r.setv(c.UNIT_Y),this.transform.matrix.applyPostPoint(r),n.setv(c.UNIT_Z),this.transform.matrix.applyPostPoint(n),o.mainCamera.getScreenCoordinates(e,1,1,a),o.mainCamera.getScreenCoordinates(i,1,1,s),s.subv(a),o.mainCamera.getScreenCoordinates(r,1,1,h),h.subv(a),o.mainCamera.getScreenCoordinates(n,1,1,l),l.subv(a),0===this._activeHandle.axis?h.cross(s).length()>l.cross(s).length()?t.setv(n).subv(e).normalize():t.setv(r).subv(e).normalize():1===this._activeHandle.axis?l.cross(h).length()>s.cross(h).length()?t.setv(i).subv(e).normalize():t.setv(n).subv(e).normalize():s.cross(l).length()>h.cross(l).length()?t.setv(r).subv(e).normalize():t.setv(i).subv(e).normalize(),this._plane.constant=e.dot(t))},l.prototype._setLine=function(){this._line.setv([c.UNIT_X,c.UNIT_Y,c.UNIT_Z][this._activeHandle.axis]),this.transform.matrix.applyPostVector(this._line),this._line.normalize()},l.prototype.addRenderable=function(t){t.originalColor=t.materials[0].uniforms.color,this.renderables.push(t)},l.prototype._buildMaterialForAxis=function(t,e){var i=r.createMaterial(l._shaderDef,t+"Material");return i.uniforms.color=this._colors[t],void 0!==e&&1>e&&(i.blendState.blending="CustomBlending",i.uniforms.opacity=e,i.renderQueue=3e3),i.cullState.enabled=!1,i},l._shaderDef={attributes:{vertexPosition:e.POSITION,vertexNormal:e.NORMAL},uniforms:{viewProjectionMatrix:i.VIEW_PROJECTION_MATRIX,worldMatrix:i.WORLD_MATRIX,cameraPosition:i.CAMERA,color:[1,1,1],opacity:1,light:[-20,20,20]},vshader:["attribute vec3 vertexPosition;","attribute vec3 vertexNormal;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform vec3 cameraPosition;","varying vec3 normal;","varying vec3 viewPosition;","void main(void) {"," vec4 worldPos = worldMatrix * vec4(vertexPosition, 1.0);"," gl_Position = viewProjectionMatrix * worldPos;"," normal = vertexNormal;"," viewPosition = cameraPosition - worldPos.xyz;","}"].join("\n"),fshader:["varying vec3 normal;","varying vec3 viewPosition;","uniform vec3 color;","uniform float opacity;","uniform vec3 light;","void main(void)","{"," vec3 N = normalize(normal);"," vec4 final_color = vec4(color, 1.0);"," vec3 lVector = normalize(light);"," float dotProduct = dot(N, lVector);"," float diffuse = max(dotProduct, 0.0);"," final_color.rgb *= (0.5*diffuse+0.5);"," final_color.a = opacity;"," gl_FragColor = final_color;","}"].join("\n")},l}),define("goo/shapes/Disk",["goo/renderer/MeshData"],function(t){"use strict";function e(e,i,r){if(1===arguments.length&&arguments[0]instanceof Object){var o=arguments[0];e=o.nSegments,i=o.radius,r=o.pointiness}this.nSegments=e||8,this.radius=i||1,this.pointiness=r||0;var n=t.defaultMap([t.POSITION,t.NORMAL,t.TEXCOORD0]);t.call(this,n,this.nSegments+1,this.nSegments+2),this.indexModes=["TriangleFan"],this.rebuild()}return e.prototype=Object.create(t.prototype),e.prototype.rebuild=function(){var e=[],i=[],r=[],o=[];e.push(0,0,this.pointiness),i.push(0,0,1),r.push(.5,.5),o.push(0);for(var n=Math.atan2(this.radius,this.pointiness),a=2*Math.PI/this.nSegments,s=1,h=0;s<=this.nSegments;s++,h+=a)e.push(Math.cos(h)*this.radius,Math.sin(h)*this.radius,0),i.push(Math.cos(h)*Math.cos(n),Math.sin(h)*Math.cos(n),Math.sin(n)),r.push(.5*Math.cos(h)+.5,.5*Math.sin(h)+.5),o.push(s);return o.push(1),this.getAttributeBuffer(t.POSITION).set(e),this.getAttributeBuffer(t.NORMAL).set(i),this.getAttributeBuffer(t.TEXCOORD0).set(r),this.getIndexBuffer().set(o),this},e}),define("goo/util/gizmos/TranslationGizmo",["goo/util/gizmos/Gizmo","goo/renderer/MeshData","goo/util/MeshBuilder","goo/shapes/Disk","goo/shapes/Quad","goo/math/Transform","goo/renderer/Renderer"],function(t,e,i,r,o,n,a){"use strict";function s(){t.call(this,"TranslationGizmo"),this._quadMesh=new o(2,2),this._arrowMesh=this._buildArrowMesh(),this._buildArrow(0),this._buildArrow(1),this._buildArrow(2)}return s.prototype=Object.create(t.prototype),s.prototype.activate=function(e){t.prototype.activate.call(this,e),this._setPlane(),"Axis"===this._activeHandle.type&&this._setLine()},s.prototype.process=function(){var t=this._mouse.oldPosition,e=this._mouse.position;a.mainCamera.getPickRay(t[0],t[1],1,1,this._oldRay),a.mainCamera.getPickRay(e[0],e[1],1,1,this._newRay),"Plane"===this._activeHandle.type?this._moveOnPlane():"Axis"===this._activeHandle.type&&this._moveOnLine(),t[0]=e[0],t[1]=e[1],this.updateTransforms(),this.dirty=!1,this.onChange instanceof Function&&this.onChange(this.transform.translation)},s.prototype.copyTransform=function(e,i){t.prototype.copyTransform.call(this,e),e&&i&&(this.transform.rotation.setIdentity(),this.updateTransforms())},s.prototype._moveOnPlane=function(){var t=this._v0,e=this._v1,i=this._result;this._plane.rayIntersect(this._oldRay,t),this._plane.rayIntersect(this._newRay,e),i.setv(e).subv(t),this.transform.translation.add(i)},s.prototype._moveOnLine=function(){var t=this._v0,e=this._v1,i=this._result,r=this._line;this._plane.rayIntersect(this._oldRay,t),this._plane.rayIntersect(this._newRay,e),i.setv(e).subv(t);var o=i.dot(r);i.setv(r).muld(o,o,o),this.transform.translation.addv(i)},s.prototype._buildArrow=function(e){var i=new n,r=new n,o=1;r.scale.setd(o,o,o),2===e?r.translation.setd(o,-o,0):0===e?(r.translation.setd(0,-o,o),r.setRotationXYZ(0,Math.PI/2,0),i.setRotationXYZ(0,Math.PI/2,0)):1===e&&(r.translation.setd(o,0,o),r.setRotationXYZ(Math.PI/2,0,0),i.setRotationXYZ(Math.PI/2,0,0)),this.addRenderable({meshData:this._arrowMesh,materials:[this._buildMaterialForAxis(e)],transform:i,id:t.registerHandle({type:"Axis",axis:e}),thickness:.6}),this.addRenderable({meshData:this._quadMesh,materials:[this._buildMaterialForAxis(e,.6)],transform:r,id:t.registerHandle({type:"Plane",axis:e})})},s.prototype._buildArrowMesh=function(){var t=new i,o=new r(32,.6,2.3),a=new r(32,.6),s=new e(e.defaultMap([e.POSITION]),2,2);s.getAttributeBuffer(e.POSITION).set([0,0,0,0,0,7]),s.getIndexBuffer().set([0,1]),s.indexLengths=null,s.indexModes=["Lines"];var h=new n;h.translation.setd(0,0,7),h.update(),t.addMeshData(o,h),h.setRotationXYZ(0,Math.PI,0),h.update(),t.addMeshData(a,h);var h=new n;h.update(),t.addMeshData(s,h);var c=t.build()[0];return c},s}),define("goo/util/gizmos/RotationGizmo",["goo/util/gizmos/Gizmo","goo/shapes/Sphere","goo/shapes/Torus","goo/math/Vector3","goo/math/Matrix3x3","goo/math/Transform","goo/renderer/Renderer","goo/math/Ray"],function(t,e,i,r,o,n,a,s){"use strict";function h(){t.call(this,"RotationGizmo"),this._ballMesh=new e(32,32,1.1),this._torusMesh=new i(64,8,.1,2.5),this._buildBall(),this._buildTorus(0),this._buildTorus(1),this._buildTorus(2),this._rotation=new o,this._rotationScale=4,this._axis=new r,this._direction=new r,this._ray=new s,this._m1=new o,this._m2=new o,this.snap=!1,this.accumulatedRotationX=0,this.accumulatedRotationY=0,this.accumulatedRotationThorX=0,this.accumulatedRotationThorY=0,this.accumulatedRotationThorZ=0,this.oldAngleX=0,this.oldAngleY=0,this.oldAngleZ=0}function c(t){return function(e){return Math.floor(e/t)*t}}function l(t,e){return function(i){var r=i%t;return r+=0>r?t:0,e>r?i-r:r>t-e?i+t-r:i}}h.prototype=Object.create(t.prototype),h.prototype.activate=function(e){t.prototype.activate.call(this,e);var i=this._v0,o=this._v1,n=this._v2,s=this._axis,h=this._ray;if(this._activeHandle.axis<3){s.setv([r.UNIT_X,r.UNIT_Y,r.UNIT_Z][this._activeHandle.axis]),this.transform.rotation.applyPost(s),i.setv(r.ZERO),this.transform.matrix.applyPostPoint(i),a.mainCamera.getPickRay(e.x,e.y,1,1,h),o.setv(h.origin).subv(i);var c=.9*o.length();o.setv(h.direction).muld(c,c,c).addv(h.origin),n.setv(o).subv(i),r.cross(s,n,n),n.addv(o),a.mainCamera.getScreenCoordinates(n,1,1,this._direction),this._direction.sub_d(e.x,1-e.y,0),this._direction.y*=-1,this._direction.z=0,this._direction.normalize()}},h.prototype.process=function(){var t=this._mouse.oldPosition,e=this._mouse.position,i=e[0]-t[0],r=e[1]-t[1];3===this._activeHandle.axis?this._rotateOnScreen(i,r):this._rotateOnAxis(i,r),t[0]=e[0],t[1]=e[1],this.updateTransforms(),this.dirty=!1,this.onChange instanceof Function&&this.onChange(this.transform.rotation)},h.prototype._rotateOnScreen=function(t,e){this._rotation.setIdentity();this._rotation.rotateY(t*this._rotationScale),this._rotation.rotateX(e*this._rotationScale);var i=a.mainCamera.getViewMatrix().data,r=this._m1,n=this._m2;r.set(i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),n.set(r).invert(),n.combine(this._rotation),n.combine(r),o.combine(n,this.transform.rotation,this.transform.rotation)},c(Math.PI/8);var u=l(Math.PI/4,Math.PI/16),d=u;return h.prototype._rotateOnAxis=function(t,e){this._rotation.setIdentity();var i=t*this._direction.x+e*this._direction.y;if(i*=this._rotationScale,this.snap)switch(this._activeHandle.axis){case 0:this.accumulatedRotationThorX+=i;var r=d(this.accumulatedRotationThorX);this._rotation.rotateX(r-this.oldAngleX),this.oldAngleX=r;break;case 1:this.accumulatedRotationThorY+=i;var n=d(this.accumulatedRotationThorY);this._rotation.rotateY(n-this.oldAngleY),this.oldAngleY=n;break;case 2:this.accumulatedRotationThorZ+=i;var a=d(this.accumulatedRotationThorZ);this._rotation.rotateZ(a-this.oldAngleZ),this.oldAngleZ=a}else switch(this._activeHandle.axis){case 0:this.accumulatedRotationThorX+=i;var r=this.accumulatedRotationThorX;this._rotation.rotateX(r-this.oldAngleX),this.oldAngleX=r;break;case 1:this.accumulatedRotationThorY+=i;var n=this.accumulatedRotationThorY;this._rotation.rotateY(n-this.oldAngleY),this.oldAngleY=n;break;case 2:this.accumulatedRotationThorZ+=i;var a=this.accumulatedRotationThorZ;this._rotation.rotateZ(a-this.oldAngleZ),this.oldAngleZ=a}o.combine(this.transform.rotation,this._rotation,this.transform.rotation)},h.prototype._buildBall=function(){var e=new n;e.scale.setd(1.2,1.2,1.2),this.addRenderable({meshData:this._ballMesh,materials:[this._buildMaterialForAxis(3,.6)],transform:new n,id:t.registerHandle({type:"Rotate",axis:3})})},h.prototype._buildTorus=function(e){var i=new n;i.scale.setd(1.7,1.7,1.7),0===e?i.setRotationXYZ(0,Math.PI/2,0):1===e&&i.setRotationXYZ(Math.PI/2,0,0),this.addRenderable({meshData:this._torusMesh,materials:[this._buildMaterialForAxis(e)],transform:i,id:t.registerHandle({type:"Rotate",axis:e}),thickness:.35})},h}),define("goo/util/gizmos/ScaleGizmo",["goo/util/gizmos/Gizmo","goo/renderer/MeshData","goo/util/MeshBuilder","goo/shapes/Box","goo/math/Transform","goo/renderer/Renderer","goo/math/Vector3","goo/math/MathUtils"],function(t,e,i,r,o,n,a,s){"use strict";function h(e){t.call(this,"ScaleGizmo",e),this._boxMesh=new r(1.4,1.4,1.4),this._arrowMesh=this._buildArrowMesh(),this._scale=1,this._transformScale=new a,this._transformScale.setd(1,1,1),this._buildBox(),this._buildArrow(0),this._buildArrow(1),this._buildArrow(2)}return h.prototype=Object.create(t.prototype),h.prototype.activate=function(e){t.prototype.activate.call(this,e),3!==this._activeHandle.axis&&(this._setPlane(),this._setLine())},h.prototype.copyTransform=function(e){t.prototype.copyTransform.call(this,e),this._transformScale.setv(e.scale)},h.prototype.process=function(){var t=this._mouse.oldPosition,e=this._mouse.position;3===this._activeHandle.axis?this._scaleUniform():this._scaleNonUniform(),t[0]=e[0],t[1]=e[1],this.updateTransforms(),this.dirty=!1,this.onChange instanceof Function&&this.onChange(this._transformScale)},h.prototype._scaleUniform=function(){var t=this._mouse.oldPosition,e=this._mouse.position,i=Math.pow(1+e[0]+t[1]-t[0]-e[1],this._scale),r=this.gizmoRenderSystem.entity.transformComponent.worldTransform.translation,o=n.mainCamera.translation,a=o.distance(r);i+=a/2e5*s.sign(i-1),this._transformScale.muld(i,i,i)},h.prototype._scaleNonUniform=function(){var t=this._mouse.position,e=this._mouse.oldPosition;n.mainCamera.getPickRay(e[0],e[1],1,1,this._oldRay),n.mainCamera.getPickRay(t[0],t[1],1,1,this._newRay);var i=this._v0,r=this._v1,o=this._line,a=this._result;this._plane.rayIntersect(this._oldRay,i),this._plane.rayIntersect(this._newRay,r),a.setv(r).subv(i),a.div(this.transform.scale).scale(.07);var s=a.dot(o);a.setv(o).muld(s,s,s);var h=Math.pow(1+s,this._scale);switch(this._activeHandle.axis){case 0:this._transformScale.data[0]*=h;break;case 1:this._transformScale.data[1]/=h;break;case 2:this._transformScale.data[2]*=h}},h.prototype._buildBox=function(){this.addRenderable({meshData:this._boxMesh,materials:[this._buildMaterialForAxis(3)],transform:new o,id:t.registerHandle({type:"Scale",axis:3})})},h.prototype._buildArrow=function(e){var i=new o;0===e?i.setRotationXYZ(0,Math.PI/2,0):1===e&&i.setRotationXYZ(Math.PI/2,0,0),this.addRenderable({meshData:this._arrowMesh,materials:[this._buildMaterialForAxis(e)],transform:i,id:t.registerHandle({type:"Scale",axis:e})})},h.prototype._buildArrowMesh=function(){var t=new i,n=new r,a=new e(e.defaultMap([e.POSITION]),2,2);a.getAttributeBuffer(e.POSITION).set([0,0,0,0,0,1]),a.getIndexBuffer().set([0,1]),a.indexLengths=null,a.indexModes=["Lines"];var s=new o;s.translation.setd(0,0,8),s.update(),t.addMeshData(n,s);var s=new o;s.scale.setd(1,1,8),s.update(),t.addMeshData(a,s);var h=t.build()[0];return h},h}),define("goo/entities/systems/GizmoRenderSystem",["goo/entities/systems/System","goo/entities/SystemBus","goo/renderer/SimplePartitioner","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderFragment","goo/renderer/Util","goo/math/Matrix3x3","goo/math/Matrix4x4","goo/renderer/MeshData","goo/renderer/Shader","goo/util/gizmos/Gizmo","goo/util/gizmos/TranslationGizmo","goo/util/gizmos/RotationGizmo","goo/util/gizmos/ScaleGizmo"],function(t,e,i,r,o,n,a,s,h,c,l,u,d,p,f){"use strict";function m(i){t.call(this,"GizmoRenderSystem",null),this.renderables=[],this.camera=null,this.gizmos=[new d(this),new p(this),new f(this)],this.active=!1,this.nextGizmo=null,this.setupCallbacks(i),this.activeGizmo=null,this.viewportWidth=0,this.viewportHeight=0,this.domElement=null,this.global=!1,this.pickingMaterial=r.createEmptyMaterial(g,"pickingMaterial"),this.pickingMaterial.blendState={blending:"NoBlending",blendEquation:"AddEquation",blendSrc:"SrcAlphaFactor",blendDst:"OneMinusSrcAlphaFactor"},this.mouseMove=function(t){this.activeGizmo&&this.activeGizmo.update([t.layerX/this.viewportWidth,t.layerY/this.viewportHeight])}.bind(this);var o=this;e.addListener("goo.setCurrentCamera",function(t){o.camera=t})}m.prototype=Object.create(t.prototype),m.prototype.activate=function(t,e,i){this.active=!0;var r=u.getHandle(t);r&&this.activeGizmo&&(this.activeGizmo.activate({id:t,data:r,x:e/this.viewportWidth,y:i/this.viewportHeight}),this.domElement.addEventListener("mousemove",this.mouseMove))},m.prototype.deactivate=function(){this.activeGizmo.deactivate(),this.active=!1,this.domElement.removeEventListener("mousemove",this.mouseMove),null!==this.nextGizmo&&(this.setActiveGizmo(this.nextGizmo),this.nextGizmo=null)},m.prototype.getGizmo=function(t){return this.gizmos[t]},m.prototype.show=function(t){this.entity=t,this.activeGizmo&&(this.entity?this.showGizmo(this.activeGizmo):this.hideGizmo(this.activeGizmo))},m.prototype.showGizmo=function(t){t.copyTransform(this.entity.transformComponent.worldTransform,this.global),t.visible||(this.renderables=t.renderables,t.visible=!0)},m.prototype.hideGizmo=function(t){t.visible&&(this.renderables=[],t.visible=!1)},m.prototype.setActiveGizmo=function(t){return this.active?(this.nextGizmo=t,void 0):(this.activeGizmo&&this.hideGizmo(this.activeGizmo),this.activeGizmo=this.gizmos[t]||null,this.activeGizmo&&this.entity&&this.showGizmo(this.activeGizmo),void 0)},m.prototype.setGlobal=function(t){this.global!==t&&(this.global=!!t,this.entity&&this.activeGizmo&&this.showGizmo(this.activeGizmo))},m.prototype.setupCallbacks=function(t){if(t&&3===t.length)return this.gizmos[0].onChange=t[0],this.gizmos[1].onChange=t[1],this.gizmos[2].onChange=t[2],void 0;var e=new s,i=new h;this.gizmos[0].onChange=function(t){if(this.entity){var e=this.entity.transformComponent.transform.translation;e.setv(t),this.entity.transformComponent.parent&&(i.copy(this.entity.transformComponent.parent.worldTransform.matrix),i.invert(),i.applyPostPoint(e)),this.entity.transformComponent.setUpdated()}}.bind(this),this.gizmos[1].onChange=function(t){this.entity&&(this.entity.transformComponent.transform.rotation.copy(t),this.entity.transformComponent.parent&&(e.copy(this.entity.transformComponent.parent.worldTransform.rotation),e.invert()),s.combine(e,this.entity.transformComponent.transform.rotation,this.entity.transformComponent.transform.rotation),this.entity.transformComponent.setUpdated())}.bind(this),this.gizmos[2].onChange=function(t){if(this.entity){var e=this.entity.transformComponent.transform.scale;e.setv(t),this.entity.transformComponent.parent&&e.div(this.entity.transformComponent.parent.worldTransform.scale),this.entity.transformComponent.setUpdated()}}.bind(this)},m.prototype.inserted=function(){},m.prototype.deleted=function(){},m.prototype.process=function(){this.activeGizmo&&(this.activeGizmo.dirty?this.activeGizmo.process():this.entity&&this.entity.transformComponent._updated&&this.activeGizmo.copyTransform(this.entity.transformComponent.worldTransform,this.global),this.activeGizmo.updateTransforms())},m.prototype.render=function(t){t.checkResize(this.camera),this.domElement||(this.domElement=t.domElement),this.viewportHeight=t.viewportHeight,this.viewportWidth=t.viewportWidth,this.camera&&t.render(this.renderables,this.camera,this.lights,null,{color:!1,stencil:!0,depth:!0},this.overrideMaterials)},m.prototype.renderToPick=function(t,e){for(var i=0;ii?(this.x0=t.data[0],this.x1=e.data[0],this.y0=i,this.y1=r,this.z0=t.data[2],this.z1=e.data[2]):(this.x0=e.data[0],this.x1=t.data[0],this.y0=r,this.y1=i,this.z0=e.data[2],this.z1=t.data[2]),this.betweenFaces=!1},t.prototype.computeDerivedData=function(){var t=this.x1-this.x0,e=this.y1-this.y0,i=this.z1-this.z0;this.dy=e,this.dx=t,this.dz=i,this.xIncrement=t/e,this.zIncrement=i/e},t.prototype.roundOccludeeCoordinates=function(){this.y0=Math.round(this.y0),this.y1=Math.round(this.y1)},t}),define("goo/renderer/scanline/EdgeData",[],function(){"use strict";function t(){var t=2,e=8,i=t*Int16Array.BYTES_PER_ELEMENT,r=e*Float32Array.BYTES_PER_ELEMENT;this._dataBuffer=new ArrayBuffer(i+r),this.floatData=new Float32Array(this._dataBuffer,0,e),this.integerData=new Int16Array(this._dataBuffer,r,t)}return t.prototype.setData=function(t){this.integerData[0]=t[0],this.integerData[1]=t[1],this.floatData[0]=t[2],this.floatData[1]=t[3],this.floatData[2]=t[4],this.floatData[3]=t[5],this.floatData[4]=t[6],this.floatData[5]=t[7],this.floatData[6]=t[8],this.floatData[7]=t[9]},t.prototype.getStartLine=function(){return this.integerData[0]},t.prototype.getStopLine=function(){return this.integerData[1]},t.prototype.getLongX=function(){return this.floatData[0]},t.prototype.setLongX=function(t){this.floatData[0]=t},t.prototype.getShortX=function(){return this.floatData[1]},t.prototype.setShortX=function(t){this.floatData[1]=t},t.prototype.getLongZ=function(){return this.floatData[2]},t.prototype.getShortZ=function(){return this.floatData[3]},t.prototype.getLongXIncrement=function(){return this.floatData[4]},t.prototype.getShortXIncrement=function(){return this.floatData[5]},t.prototype.getLongZIncrement=function(){return this.floatData[6]},t.prototype.getShortZIncrement=function(){return this.floatData[7]},t}),define("goo/renderer/scanline/OccludeeTriangleData",[],function(){"use strict";function t(t){var e=t.numberOfPositions,i=t.numberOfIndices;this.indexCount=0;var r=e*Float32Array.BYTES_PER_ELEMENT,o=i*Uint8Array.BYTES_PER_ELEMENT;this._dataBuffer=new ArrayBuffer(r+o),this.positions=new Float32Array(this._dataBuffer,0,e),this.indices=new Uint8Array(this._dataBuffer,r,i)}return t.prototype.addIndices=function(t){var e=this.indexCount;this.indices[e]=t[0],e++,this.indices[e]=t[1],e++,this.indices[e]=t[2],e++,this.indexCount=e},t.prototype.clear=function(){this.indexCount=0},t}),define("goo/renderer/scanline/BoundingBoxOcclusionChecker",["goo/math/Matrix4x4","goo/math/Vector4","goo/math/Vector2","goo/renderer/scanline/OccludeeTriangleData"],function(t,e,i,r){"use strict";function o(t){this.renderer=t,this._clipY=t.height-1,this._clipX=t.width-1,this._halfClipX=this._clipX/2,this._halfClipY=this._clipY/2}var n=0,a=1,s=2,h=4,c=8,l=new Uint8Array(8),u=new Float32Array(32),d=new Float32Array(5),p=new Uint8Array([0,3,4,3,7,4,0,4,5,0,5,1,2,1,5,2,5,6,3,2,6,3,6,7,0,1,2,0,2,3,5,4,6,7,6,4]),f=new Uint8Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,0,0,4,1,5,2,6,3,7]),m=new r({numberOfPositions:32,numberOfIndices:18}),g=new e(0,0,0,1),v=new e(0,0,0,1),y=new e(0,0,0,1),x=new Uint8Array(3),_=new t;return o.prototype.occlusionCull=function(t,e){return this._doSSAABBOcclusionTest(t,e)},o.prototype._doRenderedBoundingBoxOcclusionTest=function(t,e){if(this._copyEntityVerticesToPositionArray(t),!this._projectionTransformTriangleData(t,e))return!1;this._addVisibleTrianglesToTriangleData(),this._screenSpaceTransformTriangleData();for(var i=m.indexCount,r=0;i>r;)if(x[0]=m.indices[r++],x[1]=m.indices[r++],x[2]=m.indices[r++],!this.renderer.isRenderedTriangleOccluded(x,m.positions))return!1;return!0},o.prototype._doSSAABBOcclusionTest=function(e,i){this._copyEntityVerticesToPositionArray(e);var r=e.transformComponent.worldTransform.matrix;t.combine(i,r,_);for(var o=0;32>o;){var n=o++,a=o++,s=o++,h=o++;g.data[0]=u[n],g.data[1]=u[a],g.data[2]=u[s],g.data[3]=u[h],_.applyPost(g);var c=g.data[3];if(cm;m++){p=4*m,g.data[0]=t[p],g.data[1]=t[p+1],g.data[3]=t[p+3];var x=this._calculateOutCode(g);if(l[m]=x,x===n){u=Math.max(u,g.data[3]);var _=g.data[0];e=Math.min(e,_),i=Math.max(i,_);var w=g.data[1];r=Math.min(r,w),o=Math.max(o,w)}}for(var b,M,S,C=0;24>C;C++)for(S=f[C],p=4*S,g.data[0]=t[p],g.data[1]=t[p+1],g.data[3]=t[p+3],b=l[S],C++,S=f[C],p=4*S,v.data[0]=t[p],v.data[1]=t[p+1],v.data[3]=t[p+3],M=l[S];;){if(!(b|M)||b&M)break;var T,E,P=b?b:M;if(P&c){if(T=(this._clipY-g.data[1])/(v.data[1]-g.data[1]),y.data[0]=g.data[0]+(v.data[0]-g.data[0])*T,y.data[1]=this._clipY,E=this._calculateOutCode(y),E===n){o=this._clipY;var _=y.data[0];e=Math.min(e,_),i=Math.max(i,_)}}else if(P&h){if(T=-g.data[1]/(v.data[1]-g.data[1]),y.data[0]=g.data[0]+(v.data[0]-g.data[0])*T,y.data[1]=0,E=this._calculateOutCode(y),E===n){r=0;var _=y.data[0];e=Math.min(e,_),i=Math.max(i,_)}}else if(P&s){if(T=(this._clipX-g.data[0])/(v.data[0]-g.data[0]),y.data[1]=g.data[1]+(v.data[1]-g.data[1])*T,y.data[0]=this._clipX,E=this._calculateOutCode(y),E===n){i=this._clipX;var w=y.data[1];r=Math.min(r,w),o=Math.max(o,w)}}else if(P&a&&(T=-g.data[0]/(v.data[0]-g.data[0]),y.data[1]=g.data[1]+(v.data[1]-g.data[1])*T,y.data[0]=0,E=this._calculateOutCode(y),E===n)){e=0;var w=y.data[1];r=Math.min(r,w),o=Math.max(o,w)}var D;P===b?(b=E,D=(1-T)*g.data[3]+T*v.data[3]):(M=E,D=(1-T)*v.data[3]+T*g.data[3]),u=Math.max(u,D)}d[0]=e,d[1]=i,d[2]=r,d[3]=o,d[4]=u},o.prototype._calculateOutCode=function(t){var e=n;return t.data[0]<0?e|=a:t.data[0]>this._clipX&&(e|=s),t.data[1]<0?e|=h:t.data[1]>this._clipY&&(e|=c),e},o.prototype._isBoundingBoxScanlineOccluded=function(t){for(var e=t[0],i=t[1],r=t[2],o=t[3],n=t[4],a=this.renderer.width,s=o;s>=r;s--)for(var h=s*a+e,c=e;i>=c;c++){if(this.renderer._depthData[h]l;l++){if(o=l+1,n=l+2,a=l+3,g.data[0]=u[l],g.data[1]=u[o],g.data[2]=u[n],g.data[3]=1,_.applyPost(g),s=g.data[3],se;e+=4){m.positions[e]=(m.positions[e]+1)*this._halfClipX;var i=e+1;m.positions[i]=(m.positions[i]+1)*this._halfClipY}},o}),define("goo/renderer/scanline/BoundingSphereOcclusionChecker",["goo/math/Matrix4x4","goo/math/Vector4"],function(t,e){"use strict";function i(t){this.renderer=t,this._clipY=t.height-1,this._clipX=t.width-1,this._halfClipX=this._clipX/2,this._halfClipY=this._clipY/2}var r=new e(0,0,0,1),o=new t,n=new Float32Array(20),a=[0,255,0],s=[0,190,190];return i.prototype.occlusionCull=function(e,i,a,s){var h=e.transformComponent.worldTransform.matrix;t.combine(i,h,o);var c=e.meshDataComponent.modelBound;r.data[0]=0,r.data[1]=0,r.data[2]=0,r.data[3]=1,o.applyPost(r);var l=e.transformComponent.transform.scale,u=l.maxAxis()*c.radius,d=r.data[0],p=r.data[1],f=r.data[2],m=Math.sqrt(d*d+p*p+f*f);if(u>=m)return!1;var g=m*Math.tan(Math.asin(u/m)),v=f+g;if(v>s)return!1;n[0]=d,n[1]=p,n[2]=v,n[4]=d-g,n[5]=p,n[6]=f,n[8]=d+g,n[9]=p,n[10]=f,n[12]=d,n[13]=p+g,n[14]=f,n[16]=d,n[17]=p-g,n[18]=f;for(var y=0;20>y;){var x=y++,_=y++,w=y++,b=y++;r.data[0]=n[x],r.data[1]=n[_],r.data[2]=n[w],r.data[3]=1,a.applyPost(r);var M=1/r.data[3];r.data[0]*=M,r.data[1]*=M,n[x]=(r.data[0]+1)*this._halfClipX,n[_]=(r.data[1]+1)*this._halfClipY,n[b]=M}return this._isSSAABBScanlineOccluded()},i.prototype._isSSAABBScanlineOccluded=function(){var t=n[3],e=n[4],i=n[8],r=n[13],o=n[17];e=Math.floor(e),i=Math.ceil(i),r=Math.ceil(r),o=Math.floor(o),0>e&&(e=0),i>this._clipX&&(i=this._clipX),r>this._clipY&&(r=this._clipY),0>o&&(o=0);for(var s,h=this.renderer.width,c=r;c>=o;c--){s=c*h+e;for(var l=e;i>=l;l++){if(this.renderer._colorData.set(a,4*s),this.renderer._depthData[s]=a&&1>=h||t.y<=0||e.y>=this._clipY){var f;return this._isCoordinateInsideScreen(t)&&(f=t.y*u+t.x,this.renderer._colorData.set(s,4*f)),this._isCoordinateInsideScreen(e)&&(f=e.y*u+e.x,this.renderer._colorData.set(s,4*f)),this._isCoordinateInsideScreen(r)&&(f=r.y*u+r.x,this.renderer._colorData.set(s,4*f)),this._isCoordinateInsideScreen(i)&&(f=i.y*u+i.x,this.renderer._colorData.set(s,4*f)),!0}var m=1;if(i.y>=this._clipY)a=0,p=this._clipY;else{var g=p-this._clipY;g>0&&(a-=g,m+=g,p=this._clipY);var v=-(i.y+1);v>0&&(a-=v)}a-=1;for(var y=0;a>y;y++){var x=c-d*m,_=Math.sqrt(l-x*x),w=Math.ceil(t.x+_),b=Math.floor(t.x-_);0>b&&(b=0),w>this._clipX&&(w=this._clipX);for(var f=p*this.width+b,M=b;w>=M;M++){if(this.renderer._colorData.set(n,4*f),this.renderer._depthData[f]p)return!0;if(a>=-1&&i.y<=this._clipY){var b=r.x+1;0>b&&(b=0);var w=i.x-1;w>this._clipX&&(w=this._clipX);for(var S=p*this.width+b,y=b;w>=y;y++){if(this.renderer._colorData.set(n,4*S),this.renderer._depthData[S]0&&(h-=g,m-=g);var C=-(e.y+1);C>0&&(h-=C),h-=1,c=i.x-e.x;for(var y=0;h>y;y++){var x=c-d*m,_=Math.sqrt(l-x*x),w=Math.ceil(t.x+_),b=Math.floor(t.x-_);0>b&&(b=0),w>this._clipX&&(w=this._clipX);for(var f=p*this.width+b,M=b;w>=M;M++){if(this.renderer._colorData.set(n,4*f),this.renderer._depthData[f]=0&&t.data[0]<=this._clipX&&t.data[1]<=this._clipY&&t.data[1]>=0},i}),define("goo/renderer/scanline/OccluderTriangleData",[],function(){"use strict";function t(t){var e=t.vertCount,i=t.indexCount,r=i/3,o=4*e,n=o+8*r,a=2*i;this.posCount=0,this.largestIndex=-1,this.indexCount=0;var s=n*Float32Array.BYTES_PER_ELEMENT,h=a*Uint8Array.BYTES_PER_ELEMENT;this._dataBuffer=new ArrayBuffer(s+h),this.positions=new Float32Array(this._dataBuffer,0,n),this.indices=new Uint8Array(this._dataBuffer,s,a)}return t.prototype.addVertex=function(t){var e=this.posCount;return this.positions[e]=t[0],e++,this.positions[e]=t[1],e++,this.positions[e]=t[2],e++,this.positions[e]=t[3],e++,this.posCount=e,this.largestIndex++,this.largestIndex},t.prototype.setCountersToNewEntity=function(t){this.indexCount=0;var e=t/3;this.posCount=4*e,this.largestIndex=e-1},t.prototype.addIndices=function(t){var e=this.indexCount;this.indices[e]=t[0],e++,this.indices[e]=t[1],e++,this.indices[e]=t[2],e++,this.indexCount=e},t}),define("goo/renderer/scanline/EdgeMap",["goo/renderer/scanline/Edge"],function(t){"use strict";function e(e){this._edges=new Array(e),this._edgeCount=0;for(var i=0;e>i;i++)this._edges[i]=new t;this._map={},this.numberOfSharedEdges=0}return e.prototype.addEdge=function(t,e,i,r){var o=this._indicesToKey(t,e);if(this._contains(o)){var n=this._map[o];this._edges[n].betweenFaces=!0,this.numberOfSharedEdges++}else{var a=this._indicesToKey(e,t),n=this._edgeCount,s=this._edges[n];s.setData(i,r,t,e),s.computeDerivedData(),this._map[o.toString()]=n,this._map[a.toString()]=n,this._edgeCount++}},e.prototype._contains=function(t){return this._map.hasOwnProperty(t)},e.prototype.getEdge=function(t,e){var i=this._indicesToKey(t,e),r=this._map[i];return this._edges[r]},e.prototype.clear=function(){this._map={},this._edgeCount=0,this.numberOfSharedEdges=0},e.prototype._indicesToKey=function(t,e){return(t<<8)+e},e}),define("goo/renderer/scanline/SoftwareRenderer",["goo/math/Vector4","goo/math/Matrix4x4","goo/renderer/scanline/Edge","goo/renderer/bounds/BoundingSphere","goo/renderer/bounds/BoundingBox","goo/renderer/scanline/EdgeData","goo/renderer/scanline/BoundingBoxOcclusionChecker","goo/renderer/scanline/BoundingSphereOcclusionChecker","goo/renderer/scanline/OccluderTriangleData","goo/renderer/scanline/EdgeMap"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(t){t=t||{},this.width=t.width,this.height=t.height,this._clipY=this.height-1,this._clipX=this.width-1,this._halfClipX=this._clipX/2,this._halfClipY=this._clipY/2,this.camera=t.camera;var e=this.width*this.height,i=4*e*Uint8Array.BYTES_PER_ELEMENT,r=e*Float32Array.BYTES_PER_ELEMENT;this._frameBuffer=new ArrayBuffer(i+2*r),this._colorData=new Uint8Array(this._frameBuffer,0,4*e),this._depthData=new Float32Array(this._frameBuffer,i,e),this._depthClear=new Float32Array(this._frameBuffer,i+r,e);for(var o=0;e>o;o++)this._depthClear[o]=0;this._triangleData=new h({vertCount:t.maxVertCount,indexCount:t.maxIndexCount}),this.edgeMap=new c(t.maxVertCount),this.boundingBoxModule=new a(this),this.boundingSphereModule=new s(this),g.data[2]=-this.camera.near}var u=new Uint8Array(4),d=new Uint16Array(3),p=new t(0,0,0,1),f=new t(0,0,0,1),m=new t(0,0,0,1),g=new t(0,0,0,1),v=[p,f,m],y=new Uint8Array(3),x=new Uint8Array(3),_=new Uint8Array(3),w=new e,b=new e,M=new n,S=[new i,new i,new i];return l.prototype._clearDepthData=function(){this._depthData.set(this._depthClear)},l.prototype.render=function(t){this._clearDepthData();for(var e,i=this.camera.getViewMatrix(),r=this.camera.getProjectionMatrix(),o=0;on;n++)u[0]=this._triangleData.indices[n],u[1]=this._triangleData.indices[++n],u[2]=this._triangleData.indices[++n],this._renderTriangle(u)}},l.prototype._fillEdgeMap=function(){this.edgeMap.clear();for(var t=this._triangleData.indexCount,e=0;t>e;e++){var i=this._triangleData.indices[e],r=this._triangleData.indices[++e],o=this._triangleData.indices[++e],n=4*i;p.data[0]=this._triangleData.positions[n],p.data[1]=this._triangleData.positions[n+1],p.data[2]=this._triangleData.positions[n+3],n=4*r,f.data[0]=this._triangleData.positions[n],f.data[1]=this._triangleData.positions[n+1],f.data[2]=this._triangleData.positions[n+3],n=4*o,m.data[0]=this._triangleData.positions[n],m.data[1]=this._triangleData.positions[n+1],m.data[2]=this._triangleData.positions[n+3],this.edgeMap.addEdge(i,r,p,f),this.edgeMap.addEdge(r,o,f,m),this.edgeMap.addEdge(o,i,m,p)}},l.prototype.performOcclusionCulling=function(t){var i=this.camera.getViewMatrix(),n=this.camera.getProjectionMatrix();e.combine(n,i,w);for(var a=-this.camera.near,s=[],h=0;hs;s++)p.data[0]=r[s],s++,p.data[1]=r[s],s++,p.data[2]=r[s],b.applyPost(p),this._triangleData.positions[a]=p.data[0],a++,this._triangleData.positions[a]=p.data[1],a++,this._triangleData.positions[a]=p.data[2],a+=2;this._triangleData.setCountersToNewEntity(n)},l.prototype._nearPlaneClipAndAddTriangle=function(t){var e,i,r,o,n,a,s,h,c=this._categorizeVertices(-t);switch(c){case 0:this._triangleData.addIndices(u);break;case 3:break;case 1:e=y[0],i=v[e],r=i.data[0],o=i.data[1],n=v[x[0]],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(n.data[0]-r),g.data[1]=o+h*(n.data[1]-o),u[e]=this._triangleData.addVertex(g.data),n=v[x[1]],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(n.data[0]-r),g.data[1]=o+h*(n.data[1]-o),u[3]=this._triangleData.addVertex(g.data);var l=x[0],d=u[3];_[0]=u[e],_[1]=u[l],_[2]=d,this._triangleData.addIndices(_),_[0]=d,_[2]=u[x[1]],this._triangleData.addIndices(_);break;case 2:n=v[x[0]],a=n.data[0],s=n.data[1],e=y[0],i=v[e],r=i.data[0],o=i.data[1],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(a-r),g.data[1]=o+h*(s-o),u[e]=this._triangleData.addVertex(g.data),e=y[1],i=v[e],r=i.data[0],o=i.data[1],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(a-r),g.data[1]=o+h*(s-o),u[e]=this._triangleData.addVertex(g.data),this._triangleData.addIndices(u)}},l.prototype._screenSpaceTransformTriangleData=function(t){for(var e=this._triangleData.posCount,i=0;e>i;){var r=i++,o=i++,n=i++,a=i++;p.data[0]=this._triangleData.positions[r],p.data[1]=this._triangleData.positions[o],p.data[2]=this._triangleData.positions[n],p.data[3]=1,t.applyPost(p);var s=1/p.data[3],h=p.data[0]*s,c=p.data[1]*s;this._triangleData.positions[r]=(h+1)*this._halfClipX,this._triangleData.positions[o]=(c+1)*this._halfClipY,this._triangleData.positions[a]=s}},l.prototype._setupTriangleDataForEntity=function(t,e,i){this._viewSpaceTransformAndCopyVertices(t,e);for(var r=t.occluderComponent.meshData.indexData.data,o=r.length,n=this.camera.near,a=0;o>a;a++){u[0]=r[a],u[1]=r[++a],u[2]=r[++a],d[0]=4*u[0],d[1]=4*u[1],d[2]=4*u[2];var s=d[0];p.data[0]=this._triangleData.positions[s],p.data[1]=this._triangleData.positions[s+1],p.data[2]=this._triangleData.positions[s+2],s=d[1],f.data[0]=this._triangleData.positions[s],f.data[1]=this._triangleData.positions[s+1],f.data[2]=this._triangleData.positions[s+2],s=d[2],m.data[0]=this._triangleData.positions[s],m.data[1]=this._triangleData.positions[s+1],m.data[2]=this._triangleData.positions[s+2],this._isBackFacingCameraViewSpace(p,f,m)||this._nearPlaneClipAndAddTriangle(n)}this._screenSpaceTransformTriangleData(i)},l.prototype._categorizeVertices=function(t){for(var e=0,i=0,r=0;3>r;r++)v[r].data[2]<=t?(x[i]=r,i++):(y[e]=r,e++);return e},l.prototype._calculateIntersectionRatio=function(t,e,i){var r=t.data[2];return(r+i)/(r-e.data[2])},l.prototype._isBackFacingCameraViewSpace=function(t,e,i){var r=t.data[0],o=t.data[1],n=t.data[2],a=e.data[0]-r,s=e.data[1]-o,h=e.data[2]-n,c=i.data[0]-r,l=i.data[1]-o,u=i.data[2]-n,d=u*s-l*h,p=c*h-u*a,f=l*a-c*s,m=d*r+p*o+f*n;return m>0},l.prototype._isBackFacingProjected=function(t,e,i){var r=t.data[0],o=t.data[1],n=e.data[0]-r,a=e.data[1]-o,s=i.data[0]-r,h=i.data[1]-o,c=h*n-s*a;return 0>c},l.prototype._createOccludeeEdges=function(t,e){var i=4*t[0];p.data[0]=e[i],p.data[1]=e[i+1],p.data[2]=e[i+3],i=4*t[1],f.data[0]=e[i],f.data[1]=e[i+1],f.data[2]=e[i+3],i=4*t[2],m.data[0]=e[i],m.data[1]=e[i+1],m.data[2]=e[i+3],S[0].setData(p,f),S[1].setData(f,m),S[2].setData(m,p),S[0].roundOccludeeCoordinates(),S[1].roundOccludeeCoordinates(),S[2].roundOccludeeCoordinates(),S[0].computeDerivedData(),S[1].computeDerivedData(),S[2].computeDerivedData()},l.prototype._getLongEdgeAndShortEdgeIndices=function(){for(var t=S[0].dy,e=0,i=1;3>i;i++){var r=S[i].dy;r>t&&(t=r,e=i)}var o=(e+1)%3,n=(e+2)%3;return[e,o,n]},l.prototype._calculateOrientationData=function(t,e){var i=M.getShortX(),r=M.getLongX();return[r>i,e.z1this._clipY},l.prototype._horizontalLongEdgeCull=function(t,e){return e[0]?t.x1<0&&t.x0<0:t.x1>this._clipX&&t.x0>this._clipX},l.prototype._isEdgeOccluded=function(t,e){var i,r,o,n,a,s,h,c,l,u=t.getStartLine(),d=t.getStopLine(),p=t.getLongXIncrement(),f=t.getShortXIncrement(),m=t.getLongZIncrement(),g=t.getShortZIncrement();if(e[0])if(e[1])for(c=u;d>=c;c++){if(i=t.getShortX(),r=t.getLongX(),a=Math.floor(i),s=Math.ceil(r),o=t.getShortZ(),n=t.getLongZ(),h=s-a,l=.5/(h+1),n=(1-l)*n+l*o,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}else for(c=u;d>=c;c++){if(i=t.getShortX(),r=t.getLongX(),a=Math.floor(i),s=Math.ceil(r),o=t.getShortZ(),n=t.getLongZ(),h=s-a,l=.5/(h+1),o=(1-l)*o+l*n,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}else if(e[1])for(c=u;d>=c;c++){if(i=t.getLongX(),r=t.getShortX(),a=Math.floor(i),s=Math.ceil(r),o=t.getLongZ(),n=t.getShortZ(),h=s-a,l=.5/(h+1),n=(1-l)*n+l*o,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}else for(c=u;d>=c;c++){if(i=t.getLongX(),r=t.getShortX(),a=Math.floor(i),s=Math.ceil(r),o=t.getLongZ(),n=t.getShortZ(),h=s-a,l=.5/(h+1),o=(1-l)*o+l*n,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}return!0},l.prototype._drawEdges=function(t,e,i){var r,o,n,a,s,h,c,l,u,d,p,f,m,g,v,y=t.getStartLine(),x=t.getStopLine(),_=t.getLongXIncrement(),w=t.getShortXIncrement(),b=t.getLongZIncrement(),M=t.getShortZIncrement(),S=i[0],C=i[1],T=.5,E=T,P=.5;if(e[0])if(e[1])for(p=S,r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),u=w,d=_,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setLongX(h+d),t.setShortX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[3]+=M,t.floatData[2]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),s=Math.ceil(r),h=Math.floor(o),m=s-r,g=o-r,v=m/g,n=(1-v)*n+v*a,g=h-s+1,v=.5/g,n=(1-v)*n+v*a,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M;else for(p=S,r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),u=w,d=_,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setLongX(h+d),t.setShortX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[3]+=M,t.floatData[2]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),s=Math.ceil(r),h=Math.floor(o),m=o-h,g=o-r,v=m/g,a=(1-v)*a+v*n,g=h-s+1,v=.5/g,a=(1-v)*a+v*n,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M;else if(e[1])for(p=C,r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),u=_,d=w,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setShortX(h+d),t.setLongX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[2]+=M,t.floatData[3]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),s=Math.ceil(r),h=Math.floor(o),m=s-r,g=o-r,v=m/g,n=(1-v)*n+v*a,g=h-s+1,v=.5/g,n=(1-v)*n+v*a,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M;else for(p=C,r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),u=_,d=w,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setShortX(h+d),t.setLongX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[2]+=M,t.floatData[3]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),s=Math.ceil(r),h=Math.floor(o),m=o-h,g=o-r,v=m/g,a=(1-v)*a+v*n,g=h-s+1,v=.5/g,a=(1-v)*a+v*n,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M},l.prototype._createEdgeData=function(t,e){var i=Math.ceil(e.y0),r=Math.floor(e.y1),o=t.zIncrement,n=e.zIncrement,a=e.xIncrement,s=t.xIncrement;if(i>r)return!1;if(i===r){if(!e.betweenFaces)return!1;a=0,s=0}var h=(e.y0-t.y0)/t.dy,c=t.x0+t.dx*h,l=t.z0+t.dz*h,u=e.x0,d=e.z0,p=i-e.y0;return c+=p*s,u+=p*a,l+=p*o,d+=p*n,0>i&&(c+=-i*s,u+=-i*a,l+=-i*o,d+=-i*n,i=0),r=Math.min(this._clipY,r),M.setData([i,r,c,u,l,d,s,a,o,n]),!0},l.prototype._isScanlineOccluded=function(t,e,i,r,o){if(t>e||0>e||t>this._clipX)return!0;var n;0>t&&(n=-t/(e-t+1),r=(1-n)*r+n*o,t=0);var a=e-this._clipX+1;a>0&&(n=a/(e-t+1),o=(1-n)*o+n*r,e=this._clipX);for(var s=i*this.width+t,h=r,c=(o-r)/(e-t),l=t;e>=l;l++){if(this._colorData.set([Math.min(255*h+50,255),0,0],4*s),h>this._depthData[s])return!1;s++,h+=c}return!0},l.prototype._fillPixels=function(t,e,i,r,o){if(!(0>e||t>this._clipX||t>e)){var n;0>t&&(n=-t/(e-t+1),r=(1-n)*r+n*o,t=0);var a=e-this._clipX+1;a>0&&(n=a/(e-t+1),o=(1-n)*o+n*r,e=this._clipX);for(var s=i*this.width+t,h=r,c=(o-r)/(e-t),l=t;e>=l;l++)h>this._depthData[s]&&(this._depthData[s]=h),s++,h+=c}},l.prototype.copyDepthToColor=function(){for(var t=0,e=0;e0?(i*=255,this._colorData[t]=i,this._colorData[++t]=i,this._colorData[++t]=i,this._colorData[++t]=255):(this._colorData[t]=0,this._colorData[++t]=0,this._colorData[++t]=0,this._colorData[++t]=0),t++}},l.prototype.getColorData=function(){return this._colorData},l.prototype.getDepthData=function(){return this._depthData},l.prototype.calculateDifference=function(t,e){for(var i=0;i0&&!(n>256*e[0]||a>256*e[1]||s>256*e[2]||h>256*e[3])&&(this._colorData[o]=255,this._colorData[o+1]=0,this._colorData[o+2]=0,this._colorData[o+3]=255)}},l}),define("goo/entities/systems/OcclusionCullingSystem",["goo/entities/systems/System","goo/renderer/SimplePartitioner","goo/renderer/scanline/SoftwareRenderer"],function(t,e,i){"use strict";function r(r){t.call(this,"OcclusionCullingSystem",["MeshRendererComponent"]),r=r||{},this.partitioner=new e,this.renderList=[],this.occluderList=[],this.camera=r.camera,this.renderer=new i({width:r.width,height:r.height,camera:r.camera})}return r.prototype=Object.create(t.prototype),r.prototype.inserted=function(t){this.partitioner&&this.partitioner.added(t)},r.prototype.deleted=function(t){this.partitioner&&this.partitioner.removed(t)},r.prototype.process=function(t){this.renderList.length=0,this.partitioner.process(this.camera,t,this.renderList),this._addVisibleOccluders(),this.renderer.render(this.occluderList),this.renderer.copyDepthToColor(),this.renderer.performOcclusionCulling(this.renderList)},r.prototype._addVisibleOccluders=function(){this.occluderList.length=0;for(var t=0;t0)for(var o=0;o1&&s[1]){var h=parseInt(s[1].substring(i.length),10);h>=n&&(n=h+1)}else n=1}return t+i+n},t.getUniqueName=function(e,i,r){return-1===i.indexOf(e)?e:t.getIndexedName(e,i,r)},t.toAscii=function(t){return t.replace(/([^\x00-\x7F])*/g,"")},t.hashCode=function(t){var e=0;if(0===t.length)return e;for(var i=0;in;n++)if(i.call(o,e[n],n,e)===r)return}else for(var s in e)if(t.has(e,s)&&i.call(o,e[s],s,e)===r)return};return t.deepClone=function(e){if(!e)return e;var i,r=[Number,String,Boolean];if(r.forEach(function(t){e instanceof t&&(i=t(e))}),"undefined"==typeof i)if("[object Array]"===Object.prototype.toString.call(e))i=[],e.forEach(function(e,r){i[r]=t.deepClone(e)});else if("object"==typeof e)if(e.nodeType&&"function"==typeof e.cloneNode)var i=e.cloneNode(!0);else if(e.prototype)i=e;else if(e instanceof Date)i=new Date(e);else{i={};for(var o in e)i[o]=t.deepClone(e[o])}else i=e;return i},t.indexOf=function(t,e){for(var i=0;il;l++)if(0===r[l])return;for(l=0;d>l;l++)for(n=0,c=0;p>c;c++){s=t.charCodeAt(c+l*p),h=c*d+l,n+=a.unzip(s);var f=(n+o[l])*r[l];u[h]=f}},a.fillAttributeBuffer=function(t,e,i){for(var r=e.getAttributeBuffer(i),o=0;oe&&(e+=s),e},a.getIntBufferFromCompressedString=function(e,i){for(var r=0,o=t.createIndexBuffer(e.length,i),n=0;n=57344&&(t-=2048),t-=35,t=t>>1^-(1&t)},a.parseTransform=function(t){var i=new e;return i.translation=a.parseVector3(t.translation),i.scale=a.parseVector3(t.scale),i.rotation=a.parseMatrix3(t.rotation),i},a.parseTransformQuat=function(t){var i=new e;return i.translation=a.parseVector3(t.translation),i.scale=a.parseVector3(t.scale),i.rotation=a.parseQuaternion(t.rotation).toRotationMatrix(),i},a.parseTransformEuler=function(t){var i=new e;i.translation=a.parseVector3(t.translation),i.scale=a.parseVector3(t.scale);var r=a.parseVector3(t.rotation);return i.setRotationXYZ(r.x,r.y,r.z),i},a.parseTransformMatrix=function(t){var i=new e;return i.matrix=a.parseMatrix4(t.matrix),i},a.parseMatrix3=function(t){var e=new i;return e.e00=t[0],e.e01=t[1],e.e02=t[2],e.e10=t[3],e.e11=t[4],e.e12=t[5],e.e20=t[6],e.e21=t[7],e.e22=t[8],e},a.parseMatrix4=function(t){var e=new r;return e.e00=t[0],e.e01=t[1],e.e02=t[2],e.e03=t[3],e.e10=t[4],e.e11=t[5],e.e12=t[6],e.e13=t[7],e.e20=t[8],e.e21=t[9],e.e22=t[10],e.e23=t[11],e.e30=t[12],e.e31=t[13],e.e32=t[14],e.e33=t[15],e},a.parseQuaternion=function(t){var e=new n;return e.x=t[0],e.y=t[1],e.z=t[2],e.w=t[3],e},a.parseVector3=function(t){return new o(t[0],t[1],t[2])},a.parseChannelTimes=function(t,e){var i=t.times;if(i){if(e){var r=t.timeOffsetScale,o=r[0],n=r[1];return a.parseFloatArrayFromCompressedString(i,[n],[o])}return i}return null},a.parseFloatLERPValues=function(t,e){var i=t.values;if(i){if(e){var r=t.offsetScale,o=r[0],n=r[1];return a.parseFloatArrayFromCompressedString(i,[n],[o])}return i}return null},a.parseRotationSamples=function(t,e,i){var r=t.rotationSamples;if(r){if(i){var o=1-(e+1>>1),n=1/-o;return a.parseFloatArrayFromCompressedString(r,[n,n,n,n],[o,o,o,o])}return a.parseQuaternionSamples(r)}return null},a.parseTranslationSamples=function(t,e,i){var r=t.uniformTranslation;if(r){for(var o=r,n=o[0],s=o[1],h=o[2],c=[],l=0;e>l;l++)c[3*l+0]=n,c[3*l+1]=s,c[3*l+2]=h;return c}var u=t.translationSamples;if(u){if(i){var d=t.translationOffsetScale,p=d[0],f=d[1],m=d[2],g=d[3];return a.parseFloatArrayFromCompressedString(u,[g,g,g],[p,f,m])}return a.parseVector3Samples(u)}return null},a.parseScaleSamples=function(t,e,i){var r=t.uniformScale;if(r){for(var o=r,n=o[0],s=o[1],h=o[2],c=[],l=0;e>l;l++)c[3*l+0]=n,c[3*l+1]=s,c[3*l+2]=h;return c}var u=t.scaleSamples;if(u){if(i){var d=t.scaleOffsetScale,p=d[0],f=d[1],m=d[2],o=d[3];return a.parseFloatArrayFromCompressedString(u,[o,o,o],[p,f,m])}return a.parseVector3Samples(u)}return null},a.parseQuaternionSamples=function(t){var e=t;if(!e)return null;for(var i=[],r=new n,o=0,a=e.length;a>o;o++){var s=e[o];if("*"===s)i[4*o+0]=r.x,i[4*o+1]=r.y,i[4*o+2]=r.z,i[4*o+3]=r.w;else if(s instanceof Array&&4===s.length){var h=s[0],c=s[1],l=s[2],u=s[3];r.set(h,c,l,u),i[4*o+0]=r.x,i[4*o+1]=r.y,i[4*o+2]=r.z,i[4*o+3]=r.w}}return i},a.parseVector3Samples=function(t){var e=t;if(!e)return null;for(var i=[],r=new o,n=0,a=e.length;a>n;n++){var s=e[n];if("*"===s)i[3*n+0]=r.x,i[3*n+1]=r.y,i[3*n+2]=r.z;else if(s instanceof Array&&3===s.length){var h=s[0],c=s[1],l=s[2];r.set(h,c,l),i[3*n+0]=r.x,i[3*n+1]=r.y,i[3*n+2]=r.z}}return i},a.parseFloatArrayFromCompressedString=function(t,e,i){var r,o,n,s,h,c=t,l=[],u=e.length,d=c.length/e.length;for(h=0;u>h;h++)for(r=0,s=0;d>s;s++){o=c.charCodeAt(s+h*d),n=s*u+h,r+=a.unzip(o);var p=(r+i[h])*e[h];l[n]=p}return l},a}),define("goo/loaders/handlers/MeshDataHandler",["goo/loaders/handlers/ConfigHandler","goo/renderer/MeshData","goo/animation/SkeletonPose","goo/loaders/JsonUtils","goo/util/PromiseUtil","goo/util/ArrayUtil"],function(t,e,i,r,o,n){"use strict";function a(){t.apply(this,arguments),this._objects={}}return a.prototype=Object.create(t.prototype),t._registerClass("mesh",a),a.prototype.update=function(t,e){var i=this;return this._objects[t]?o.createDummyPromise(this._objects[t]):e.binaryRef?this.getConfig(e.binaryRef).then(function(r){if(!r)throw new Error("Binary mesh data was empty");return i._createMeshData(e,r).then(function(e){return i._objects[t]=e})}):this._createMeshData(e,null).then(function(e){return i._objects[t]=e})},a.prototype.remove=function(){},a.prototype._createMeshData=function(t,e){var i;t.compression&&t.compression.compressed&&(i={compressedVertsRange:t.compression.compressedVertsRange||16383,compressedColorsRange:t.compression.compressedColorsRange||255,compressedUnitVectorRange:t.compression.compressedUnitVectorRange||1023});var r=this._createMeshDataObject(t);return this._fillMeshData(r,t,e,i),o.createDummyPromise(r)},a.prototype._createMeshDataObject=function(t){var i,r,o,n,a,s,h=t.data||t;if("SkinnedMesh"===t.type?(s=4,n=e.SKINMESH):(s=0,n=e.MESH),a=h.vertexCount,0===a)return null;if(r=null!=h.indexLengths?h.indexLengths[0]:null!=h.indices?h.indices.length:0,i={},h.vertices&&h.vertices.length>0&&(i.POSITION=e.createAttribute(3,"Float")),h.normals&&h.normals.length>0&&(i.NORMAL=e.createAttribute(3,"Float")),h.tangents&&h.tangents.length>0&&(i.TANGENT=e.createAttribute(4,"Float")),h.colors&&h.colors.length>0&&(i.COLOR=e.createAttribute(4,"Float")),s>0&&h.weights&&(i.WEIGHTS=e.createAttribute(4,"Float")),s>0&&h.joints&&(i.JOINTIDS=e.createAttribute(4,"Short")),h.textureCoords&&h.textureCoords.length>0)for(var c=0;c0)for(var u=c.textureCoords,d=0;d0&&null!=c.joints&&c.joints.length>0){var m=t.getAttributeBuffer(e.JOINTIDS),g=this._getIntBuffer(c.joints,32767,o,a);if(t.type===e.SKINMESH){for(var v=[],y=0,x=0;x>1),s=1/-o,a={offset:[o,o,o],scale:[s,s,s]};else if(t===e.TANGENT)o=1-(r.compressedUnitVectorRange+1>>1),s=1/-o,a={offset:[o,o,o,o],scale:[s,s,s,s]};else if(t===e.COLOR)o=0,s=1/(r.compressedColorsRange+1),a={offset:[o,o,o,o],scale:[s,s,s,s]};else if("TEXCOORD"===t.substr(0,8)){var c=parseInt(t.substr(8),10),l=h.textureCoords[c];a={offset:l.UVOffsets,scale:l.UVScales}}return a},a}),define("goo/loaders/handlers/MeshRendererComponentHandler",["goo/loaders/handlers/ComponentHandler","goo/entities/components/MeshRendererComponent","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/util/rsvp","goo/util/PromiseUtil","goo/util/ObjectUtil"],function(t,e,i,r,o,n,a){"use strict";function s(){t.apply(this,arguments)}return s.prototype=Object.create(t.prototype),t._registerClass("meshRenderer",s),s.prototype.constructor=s,s.prototype._prepare=function(t){return a.defaults(t,{materialRefs:[],cullMode:"Dynamic",castShadows:!0,receiveShadows:!0,hidden:!1})},s.prototype._create=function(t){var i=new e;return t.setComponent(i),i},s.prototype.update=function(e,s){var h,c=this,l=t.prototype.update.call(this,e,s),u=s.materialRefs;if(u&&0!==u.length){for(var d=[],p=function(t){return d.push(c._getMaterial(t))},f=0;fa;a++)if(n=this.passes[a],n.enabled&&(n.render(t,this.writeBuffer,this.readBuffer,e,s,i,r,this._clearColor),n.needsSwap)){if(s){var c=this.renderer.context;c.stencilFunc(o.NOTEQUAL,1,4294967295),this.copyPass.render(t,this.writeBuffer,this.readBuffer,e,i,r),c.stencilFunc(o.EQUAL,1,4294967295)}this.swapBuffers()}},r}),define("goo/renderer/pass/RenderPass",["goo/renderer/Renderer","goo/math/Vector4"],function(t,e){"use strict";function i(t,i){this.renderList=t,this.filter=i,this.clearColor=new e(0,0,0,0),this.oldClearColor=new e,this.renderToScreen=!1,this.overrideMaterial=null,this.enabled=!0,this.clear=!0,this.needsSwap=!1}return i.prototype.render=function(e,i,r,o,n,a,s,h){a=a||t.mainCamera,s=s||[],h&&(this.oldClearColor.setv(e.clearColor),e.setClearColor(h[0],h[1],h[2],h[3]));var c;if(c=this.filter?this.renderList.filter(this.filter):this.renderList,this.renderToScreen?e.render(c,a,s):e.render(c,a,s,r,this.clear,this.overrideMaterial),this.clearColor){var l=this.oldClearColor.data;e.setClearColor(l[0],l[1],l[2],l[3])}},i}),define("goo/loaders/handlers/ProjectHandler",["goo/loaders/handlers/ConfigHandler","goo/util/rsvp","goo/util/PromiseUtil","goo/util/Skybox","goo/math/MathUtils","goo/shapes/Sphere","goo/renderer/Renderer","goo/renderer/pass/Composer","goo/renderer/pass/RenderPass","goo/math/Vector4","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderBuilder","goo/renderer/pass/FullscreenPass","goo/renderer/Util","goo/renderer/Texture","goo/entities/EntityUtils","goo/entities/SystemBus","goo/util/ArrayUtil","goo/util/ObjectUtil"],function(t,e,i,r,o,n,a,s,h,c,l,u,d,p,f,m,g,v,y){"use strict";function x(){t.apply(this,arguments),this._skybox=null,this._skyboxTexture=null,this._skyboxGeographic=!1,this._composer=null,this._passes=[]}return x.prototype=Object.create(t.prototype),t._registerClass("project",x),x.prototype._prepare=function(t){t.skybox=t.skybox||{},y.defaults(t.skybox,{shape:"Box",imageUrls:["","","","","",""],rotation:0,environmentType:1}),t.backgroundColor=t.backgroundColor||[.75,.76,.78,1],t.globalAmbient=t.globalAmbient||[0,0,0],t.useFog=t.useFog||!1,t.fogColor=t.fogColor||[1,1,1],t.fogNear=t.fogNear||0,t.fogFar=null==t.fogFar?1e3:t.fogFar},x.prototype._create=function(){},x.prototype._createSkybox=function(t,e,i,o,a){var a=a?n.TextureModes.Projected:n.TextureModes.Chromeball,s=new r(e,[],a,o),h=this._skybox=m.createTypicalEntity(t.world,s.meshData,s.materials[0],s.transform);h.name="Skybox_"+e,h.isSkybox=!0,h.transformComponent.updateWorldTransform(),h.meshRendererComponent.hidden=!0,t.world.getSystem("RenderSystem").added(h)},x.prototype._updateSkybox=function(t,n){if(t){var a=t.shape.toLowerCase(),s=t.rotation*o.DEG_TO_RAD,h=t.imageUrls,c=this._skybox?this._skybox.name.split("_")[1]:null;(!a||c!==a||"sphere"===c&&t.environmentType!==this._skyboxGeographic)&&(this._skybox&&this.world.getSystem("RenderSystem").removed(this._skybox),this._createSkybox(this.world.gooRunner,a,h,s,t.environmentType),this._skyboxTexture=null,c=a,this._skyboxGeographic=t.environmentType);var l=0;c===r.SPHERE&&(l=t.environmentType?Math.PI/2:Math.PI),this._skybox.transformComponent.transform.rotation.fromAngles(l,s,0),this._skybox.transformComponent.updateTransform(),this._skybox.transformComponent.updateWorldTransform();var d=this._skybox,p=d.meshRendererComponent.materials[0],m=this._skyboxTexture,v=!m;if(!v&&n&&n.skybox&&n.skybox.reload&&(v=!0),!v)if(m.image.data)for(var y=0;yn;n++){var a=e[n];if(i!==a.width||o!==a.height)return g.emit("goo.error.skybox",{type:"Box",message:"The skybox needs six images of the same size to display"}),d.meshRendererComponent.hidden=!0,p.setTexture("DIFFUSE_MAP",null),u.SKYBOX=null,u.SKYSPHERE=null,void 0;a.setAttribute("data-ref",h[n])}}m||(m=w._skyboxTexture=new f(null,{flipY:!1}),c===r.BOX&&(m.variant="CUBE")),m.setImage(e),c===r.BOX&&e.length&&(m.image.width=e[0].width,m.image.height=e[0].height,m.image.dataReady=!0),m.setNeedsUpdate(),(c===r.BOX&&e.length||e)&&(p.setTexture("DIFFUSE_MAP",m),c===r.BOX?(u.SKYBOX=m,u.SKYSPHERE=null):(u.SKYBOX=null,u.SKYSPHERE=m,u.ENVIRONMENT_TYPE=t.environmentType?1:0),d.meshRendererComponent.hidden=!1)})}},x.prototype._updateEntities=function(t){var r=this,o=[];if(t.entityRefs&&Array.isArray(t.entityRefs)&&t.entityRefs.length>0){for(var n=function(t){return o.push(r.getConfig(t).then(function(e){return r.updateObject(t,e,r.options)}))},a=0;a0||i.addToWorld()}}).then(null,function(t){return console.error("Error updating entities: "+t)})}return console.warn("No entity refs in project"),i.createDummyPromise(t)},x.prototype._updatePosteffects=function(t){var r=this,o=[],n=r.world.getSystem("RenderSystem");if(t.posteffectRefs&&Array.isArray(t.posteffectRefs)&&t.posteffectRefs.length>0){for(var a=function(t){return r.getConfig(t).then(function(e){return r.updateObject(t,e,r.options)})},c=0;c0?i.all(s).then(function(t){h.scripts=t[0]?t:[]}):r.createDummyPromise(h)},o}),define("goo/scripts/OrbitCamControlScript",["goo/math/Vector2","goo/math/Vector3","goo/math/MathUtils"],function(t,e,i){"use strict";function r(i){i=i||{};for(var r in n)this[r]="boolean"==typeof n[r]?void 0!==i[r]?i[r]===!0:n[r]:isNaN(n[r])?n[r]instanceof e?i[r]?new e(i[r]):(new e).set(n[r]):i[r]||n[r]:isNaN(i[r])?n[r]:i[r];this.name="OrbitCamControlScript",this.timeSamples=[0,0,0,0,0],this.xSamples=[0,0,0,0,0],this.ySamples=[0,0,0,0,0],this.sample=0,this.velocity=new t(0,0),this.targetSpherical=new e(this.spherical),this.cartesian=new e,this.dirty=!0,this.mouseState={buttonDown:!1,lastX:0/0,lastY:0/0},this.domElement&&this.setupMouseControls(),i.demoMode&&(this.demoMode=!0,this.moveInterval=i.moveInterval,this.lastTimeMoved=Date.now()+(i.moveInitialDelay-this.moveInterval))}function o(t,e,r){var o=(e+r)/2+(r>e?Math.PI:0),n=i.moduloPositive(t-o,i.TWO_PI),a=i.moduloPositive(e-o,i.TWO_PI),s=i.moduloPositive(r-o,i.TWO_PI);return 0>t&&e>0?e-=i.TWO_PI:t>0&&0>e&&(e+=i.TWO_PI),t>i.TWO_PI&&rn?e:n>s?r:t}var n={domElement:null,turnSpeedHorizontal:.005,turnSpeedVertical:.005,zoomSpeed:.2,dragOnly:!0,dragButton:-1,worldUpVector:new e(0,1,0),baseDistance:15,minZoomDistance:1,maxZoomDistance:1e3,minAscent:-89.95*i.DEG_TO_RAD,maxAscent:89.95*i.DEG_TO_RAD,clampAzimuth:!1,minAzimuth:90*i.DEG_TO_RAD,maxAzimuth:270*i.DEG_TO_RAD,releaseVelocity:!0,invertedX:!1,invertedY:!1,invertedWheel:!0,drag:5,maxSampleTimeMS:200,lookAtPoint:new e(0,0,0),spherical:new e(15,0,0),interpolationSpeed:7,onRun:null};return r.prototype.updateButtonState=function(t,e){this.domElement!==document&&this.domElement.focus(),!this.dragOnly||-1!==this.dragButton&&this.dragButton!==t||(this.mouseState.buttonDown=e,e?(this.mouseState.lastX=0/0,this.mouseState.lastY=0/0,this.velocity.set(0,0),this.spherical.y=i.moduloPositive(this.spherical.y,i.TWO_PI),this.targetSpherical.copy(this.spherical)):this.applyReleaseDrift())},r.prototype.updateDeltas=function(t,e){var i=0,r=0;isNaN(this.mouseState.lastX)||isNaN(this.mouseState.lastY)?(this.mouseState.lastX=t,this.mouseState.lastY=e):(i=-(t-this.mouseState.lastX),r=e-this.mouseState.lastY,this.mouseState.lastX=t,this.mouseState.lastY=e),this.dragOnly&&!this.mouseState.buttonDown||0===i&&0===r||(this.timeSamples[this.sample]=Date.now(),this.xSamples[this.sample]=i,this.ySamples[this.sample]=r,this.sample++,this.sample>this.timeSamples.length-1&&(this.sample=0),this.velocity.set(0,0),this.move(this.turnSpeedHorizontal*i,this.turnSpeedVertical*r))},r.prototype.move=function(t,e){var r=this.invertedX?-t:t,n=this.invertedY?-e:e;this.targetSpherical.y=this.clampAzimuth?o(this.targetSpherical.y-r,this.minAzimuth,this.maxAzimuth):this.targetSpherical.y-r,this.targetSpherical.z=i.clamp(this.targetSpherical.z+n,this.minAscent,this.maxAscent),this.dirty=!0},r.prototype.applyWheel=function(t){var e=(this.invertedWheel?-1:1)*Math.max(-1,Math.min(1,t.wheelDelta||-t.detail));this.zoom(this.zoomSpeed*e)},r.prototype.zoom=function(t){var e=t*this.baseDistance;this.targetSpherical.x=i.clamp(this.targetSpherical.x+e,this.minZoomDistance,this.maxZoomDistance),this.dirty=!0},r.prototype.applyReleaseDrift=function(){for(var t=Date.now(),e=0,i=0,r=!1,o=0,n=this.timeSamples.length;n>o;o++)t-this.timeSamples[o]i?t.zoom(1*t.zoomSpeed):i>1&&t.zoom(-1*t.zoomSpeed);break;case"touch":t.updateButtonState(0,!0);break;case"release":t.updateButtonState(0,!1);break;case"drag":t.updateDeltas(e.gesture.center.pageX,e.gesture.center.pageY),t.lastTimeMoved=Date.now()}})}this.domElement.oncontextmenu=function(){return!1}},r.prototype.updateVelocity=function(t){this.velocity.lengthSquared()>1e-6?(this.move(this.velocity.x,this.velocity.y),this.velocity.mul(i.clamp(i.lerp(t,1,1-this.drag),0,1)),this.dirty=!0):this.velocity.set(0,0,0)},r.prototype.run=function(t,e,r){if(this.demoMode){var o=Date.now();o-this.lastTimeMoved>this.moveInterval&&(this.lastTimeMoved=o,this.move(Math.round(Math.random())-.5,Math.round(Math.random())-.5))}r&&!this.domElement&&r.domElement&&(this.domElement=r.domElement,this.setupMouseControls());var n=t.transformComponent;if(n){var a=n.transform;if(this.releaseVelocity&&this.updateVelocity(t._world.tpf),this.dirty){var s=i.clamp(this.interpolationSpeed*t._world.tpf,0,1);this.spherical.y=this.clampAzimuth?i.lerp(s,this.spherical.y,this.targetSpherical.y):i.lerp(s,this.spherical.y,this.targetSpherical.y),this.spherical.x=i.lerp(s,this.spherical.x,this.targetSpherical.x),this.spherical.z=i.lerp(s,this.spherical.z,this.targetSpherical.z),i.sphericalToCartesian(this.spherical.x,this.spherical.y,this.spherical.z,this.cartesian),a.translation.set(this.cartesian.add(this.lookAtPoint)),a.translation.equals(this.lookAtPoint)||a.lookAt(this.lookAtPoint,this.worldUpVector),this.spherical.distanceSquared(this.targetSpherical)<1e-6&&(this.dirty=!1,this.spherical.y=i.moduloPositive(this.spherical.y,i.TWO_PI),this.targetSpherical.copy(this.spherical)),n.setUpdated()}}},r}),define("goo/scripts/OrbitNPanControlScript",["goo/scripts/OrbitCamControlScript","goo/renderer/Renderer","goo/math/Vector3","goo/math/MathUtils"],function(t,e,i,r){"use strict";function o(e){e=e||{},this.detailZoom=e.detailZoom||.15,this.zoomDistanceFactor=e.zoomDistanceFactor||.035,t.call(this,e),this.panState={buttonDown:!1,lastX:0/0,lastY:0/0,lastPos:new i},this.viewportWidth=0,this.viewportHeight=0,this.shiftKey=!1,this.altKey=!1,this.goingToLookAt=(new i).setv(this.lookAtPoint)}return o.prototype=Object.create(t.prototype),o.prototype.setupMouseControls=function(){var t=this;if(this.domElement.addEventListener("mousedown",function(e){t.shiftKey=e.shiftKey,t.altKey=e.altKey,t.updateButtonState(e.button,!0,e)},!1),document.addEventListener("mouseup",function(e){t.updateButtonState(e.button,!1,e)},!1),document.addEventListener("mousemove",function(e){t.updateDeltas(e.clientX,e.clientY)},!1),this.domElement.addEventListener("mousewheel",function(e){t.shiftKey=e.shiftKey,t.applyWheel(e.wheelDelta||-e.detail)},!1),this.domElement.addEventListener("DOMMouseScroll",function(e){t.shiftKey=e.shiftKey,t.applyWheel(e.wheelDelta||-e.detail)},!1),this.domElement.addEventListener("dragstart",function(t){t.preventDefault()},!1),this.domElement.oncontextmenu=function(){return!1},"undefined"!=typeof window.Hammer){var e=window.Hammer(this.domElement,{transform_always_block:!0,transform_min_scale:1});e.on("touch drag transform release",function(e){if(e.gesture&&"mouse"!==e.gesture.pointerType)switch(e.type){case"transform":var i=e.gesture.scale;1>i?t.applyWheel(1*t.zoomSpeed):i>1&&t.applyWheel(-1*t.zoomSpeed);break;case"touch":t.updateButtonState(2,!0);break;case"release":t.updateButtonState(2,!1);break;case"drag":t.updateDeltas(e.gesture.center.pageX,e.gesture.center.pageY)}})}},o.prototype.updateButtonState=function(e,i){2===e||0===e&&this.altKey?t.prototype.updateButtonState.call(this,0,i):(1===e||0===e&&this.shiftKey)&&(this.panState.buttonDown=i,i&&(this.panState.lastX=0/0,this.panState.lastY=0/0,this.panState.lastPos.setv(this.lookAtPoint)))},o.prototype.resetLookAt=function(t,e,i,o){this.goingToLookAt.setv(t),this.lookAtPoint.setv(t),this.panState.lastX=0/0,this.panState.lastY=0/0,this.panState.lastPos.setv(t),this.velocity.set(0),r.cartesianToSpherical(e,i,o,this.spherical),this.targetSpherical.setv(this.spherical),r.sphericalToCartesian(this.spherical.x,this.spherical.y,this.spherical.z,this.cartesian)},o.prototype.updateDeltas=function(r,o){t.prototype.updateDeltas.call(this,r,o);var n=new i,a=new i;if((isNaN(this.panState.lastX)||isNaN(this.panState.lastY))&&(this.panState.lastX=r,this.panState.lastY=o),this.panState.buttonDown){var s=e.mainCamera;s.getScreenCoordinates(this.panState.lastPos,1,1,a),a.x-=(r-this.panState.lastX)/this.viewportWidth,a.y+=(o-this.panState.lastY)/this.viewportHeight,s.getWorldCoordinates(a.x,a.y,1,1,a.z,n),this.lookAtPoint.setv(n),this.goingToLookAt.setv(this.lookAtPoint),this.dirty=!0 +}},processors:[r.animation.processor],vshader:["attribute vec3 vertexPosition;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform float cameraFar;",r.animation.prevertex,"varying float depth;","void main() {","mat4 wMatrix = worldMatrix;",r.animation.vertex,"vec4 mvPosition = viewMatrix * wMatrix * vec4( vertexPosition, 1.0 );","depth = length(mvPosition.xyz) / cameraFar;","gl_Position = projectionMatrix * mvPosition;","}"].join("\n"),fshader:["uniform float id;","varying float depth;",i.methods.packDepth16,"void main() {","vec2 packedId = vec2(floor(id/255.0), mod(id, 255.0)) * vec2(1.0/255.0);","vec2 packedDepth = packDepth16(depth);","gl_FragColor = vec4(packedId, packedDepth);","}"].join("\n")},a}),define("goo/shapes/Cylinder",["goo/renderer/MeshData"],function(t){"use strict";function e(e,i){if(1===arguments.length&&arguments[0]instanceof Object){var r=arguments[0];e=r.radialSamples,i=r.radius}this.radialSamples=e||8,this.radius=i||1;var o=t.defaultMap([t.POSITION,t.NORMAL,t.TEXCOORD0]);t.call(this,o,4*this.radialSamples+2+2,12*this.radialSamples),this.indexModes=["Triangles"],this.rebuild()}return e.prototype=Object.create(t.prototype),e.prototype.rebuild=function(){for(var e=[],i=[],r=[],o=[],n=2*Math.PI/this.radialSamples,a=1/this.radialSamples,s=4*this.radialSamples+2+2-1,h=0,c=0,l=0;he.EPSILON)s=1;else{if(!(d<-e.EPSILON))return!1;s=-1,d=-d}var p=s*this.direction.dot(t.cross(h,l,l)),f=!1;if(p>=0){var m=s*this.direction.dot(c.cross(h));if(m>=0&&d>=p+m){var g=-s*h.dot(u);if(g>=0){if(!a)return!0;var v=1/d,y=g*v;if(n){var x=p*v,_=m*v;a.setd(y,x,_)}else a.setv(this.origin).add_d(this.direction.x*y,this.direction.y*y,this.direction.z*y);f=!0}}}return f},i.prototype.getDistanceToPrimitive=function(t){var e=this.calcVec1;return this.intersects(t,!1,e)?this.origin.distance(e.x,e.y,e.z):1/0},i.prototype.intersectsPlane=function(t,e){var i=t.normal,r=i.dot(this.direction);if(Math.abs(r)<1e-5)return!1;var o=-i.dot(this.origin)+t.constant,n=o/r;return 1e-5>n?!1:(null!==e&&e.set(this.direction).multiplyLocal(n).addLocal(this.origin),!0)},i.prototype.distanceSquared=function(t,e){var i=this.calcVec1;i.set(t).subtractLocal(this.origin);var r=this.direction.dot(i);return r>0?(i.set(this.direction).multiplyLocal(r),i.addLocal(this.origin)):i.set(this.origin),null!==e&&e.set(i),t.subtract(i,i),i.lengthSquared()},i}),define("goo/renderer/Camera",["goo/util/Handy","goo/math/Vector3","goo/math/Vector4","goo/math/Matrix4x4","goo/math/Plane","goo/math/MathUtils","goo/math/Ray","goo/renderer/bounds/BoundingBox","goo/renderer/bounds/BoundingSphere","goo/renderer/bounds/BoundingVolume"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(n,a,s,h){this.translation=new e(0,0,0),this._left=new e(-1,0,0),this._up=new e(0,1,0),this._direction=new e(0,0,-1),t.defineProperty(this,"this._depthRangeNear",0,function(){this._depthRangeDirty=!0}),t.defineProperty(this,"this._depthRangeFar",1,function(){this._depthRangeDirty=!0}),this._depthRangeDirty=!0,this._frustumNear=1,this._frustumFar=2,this._frustumLeft=-.5,this._frustumRight=.5,this._frustumTop=.5,this._frustumBottom=-.5,this._coeffLeft=[],this._coeffRight=[],this._coeffBottom=[],this._coeffTop=[],this._viewPortLeft=0,this._viewPortRight=1,this._viewPortTop=1,this._viewPortBottom=0,this._planeQuantity=6,this._worldPlane=[];for(var c=0;cc;c++)this._corners.push(new e);this._extents=new e,this.vNearPlaneCenter=new e,this.vFarPlaneCenter=new e,this.direction=new e,this.left=new e,this.up=new e,this.planeNormal=new e,this.changedProperties=!0,this.setFrustumPerspective(n,a,s,h),this.onFrameChange()}l.LEFT_PLANE=0,l.RIGHT_PLANE=1,l.BOTTOM_PLANE=2,l.TOP_PLANE=3,l.FAR_PLANE=4,l.NEAR_PLANE=5,l.FRUSTUM_PLANES=6,l.Perspective=0,l.Parallel=1,l.Custom=2,l.Outside=0,l.Inside=1,l.Intersects=2,l.prototype.normalize=function(){this._left.normalize(),this._up.normalize(),this._direction.normalize(),this.onFrameChange()},l.prototype.setProjectionMode=function(t){this.projectionMode=t,this.update()},l.prototype.setFrustumPerspective=function(t,e,i,r){if(void 0!==t&&null!==t&&(this.fov=t),void 0!==e&&null!==e&&(this.aspect=e),void 0!==i&&null!==i&&(this.near=i),void 0!==r&&null!==r&&(this.far=r),void 0!==this.fov){var o=Math.tan(.5*this.fov*n.DEG_TO_RAD)*this.near,a=o*this.aspect;this._frustumLeft=-a,this._frustumRight=a,this._frustumBottom=-o,this._frustumTop=o,this._frustumNear=this.near,this._frustumFar=this.far,this.onFrustumChange()}},l.prototype.setFrustum=function(t,e,i,r,o,n){void 0!==t&&null!==t&&(this.near=t),void 0!==e&&null!==e&&(this.far=e),void 0!==i&&null!==i&&(this.left=i),void 0!==r&&null!==r&&(this.right=r),void 0!==o&&null!==o&&(this.top=o),void 0!==n&&null!==n&&(this.bottom=n),this._frustumNear=this.near,this._frustumFar=this.far,this._frustumLeft=this.left,this._frustumRight=this.right,this._frustumTop=this.top,this._frustumBottom=this.bottom,this.onFrustumChange()},l.prototype.copy=function(t){this.translation.setv(t.translation),this._left.setv(t._left),this._up.setv(t._up),this._direction.setv(t._direction),this.fov=t.fov,this.aspect=t.aspect,this.near=t.near,this.far=t.far,this._frustumLeft=t._frustumLeft,this._frustumRight=t._frustumRight,this._frustumBottom=t._frustumBottom,this._frustumTop=t._frustumTop,this._frustumNear=t._frustumNear,this._frustumFar=t._frustumFar,this.projectionMode=t.projectionMode,this._depthRangeDirty=!0,this.onFrustumChange(),this.onFrameChange()},l.prototype.setFrame=function(t,e,i,r){this._left.copy(e),this._up.copy(i),this._direction.copy(r),this.translation.copy(t),this.onFrameChange()},l.prototype.lookAt=function(t,i){this._newDirection.copy(t).sub(this.translation).normalize(),this._newDirection.equals(this._direction)||(this._direction.copy(this._newDirection),this._up.copy(i).normalize(),this._up.equals(e.ZERO)&&this._up.copy(e.UNIT_Y),this._left.copy(this._up).cross(this._direction).normalize(),this._left.equals(e.ZERO)&&(0!==this._direction.x?this._left.set(this._direction.y,-this._direction.x,0):this._left.set(0,this._direction.z,-this._direction.y)),this._up.copy(this._direction).cross(this._left).normalize(),this.onFrameChange())},l.prototype.makeDirty=function(){this._depthRangeDirty=!0,this._viewPortDirty=!0},l.prototype.update=function(){this._depthRangeDirty=!0,this.onFrustumChange(),this.onFrameChange()},l.prototype.setViewPort=function(){console.warn("Camera.setViewPort() not implemented.")},l.prototype.contains=function(t){if(!t)return l.Inside;for(var e=l.Inside,i=l.FRUSTUM_PLANES-1;i>=0;i--)switch(t.whichSide(this._worldPlane[i])){case c.Inside:return l.Outside;case c.Outside:break;case c.Intersects:e=l.Intersects}return e},l.prototype.onFrustumChange=function(){if(this.projectionMode===l.Perspective){var t=this._frustumNear*this._frustumNear,e=this._frustumLeft*this._frustumLeft,i=this._frustumRight*this._frustumRight,r=this._frustumBottom*this._frustumBottom,o=this._frustumTop*this._frustumTop,n=1/Math.sqrt(t+e);this._coeffLeft[0]=this._frustumNear*n,this._coeffLeft[1]=-this._frustumLeft*n,n=1/Math.sqrt(t+i),this._coeffRight[0]=-this._frustumNear*n,this._coeffRight[1]=this._frustumRight*n,n=1/Math.sqrt(t+r),this._coeffBottom[0]=this._frustumNear*n,this._coeffBottom[1]=-this._frustumBottom*n,n=1/Math.sqrt(t+o),this._coeffTop[0]=-this._frustumNear*n,this._coeffTop[1]=this._frustumTop*n}else this.projectionMode===l.Parallel&&(this._frustumRight>this._frustumLeft?(this._coeffLeft[0]=-1,this._coeffLeft[1]=0,this._coeffRight[0]=1,this._coeffRight[1]=0):(this._coeffLeft[0]=1,this._coeffLeft[1]=0,this._coeffRight[0]=-1,this._coeffRight[1]=0),this._frustumTop>this._frustumBottom?(this._coeffBottom[0]=-1,this._coeffBottom[1]=0,this._coeffTop[0]=1,this._coeffTop[1]=0):(this._coeffBottom[0]=1,this._coeffBottom[1]=0,this._coeffTop[0]=-1,this._coeffTop[1]=0));this._updatePMatrix=!0,this._updateMVPMatrix=!0,this._updateInverseMVMatrix=!0,this._updateInverseMVPMatrix=!0,this.changedProperties=!0},l.prototype.onFrameChange=function(){var t=this._direction.dot(this.translation),e=this.planeNormal;e.x=this._left.x*this._coeffLeft[0],e.y=this._left.y*this._coeffLeft[0],e.z=this._left.z*this._coeffLeft[0],e.add([this._direction.x*this._coeffLeft[1],this._direction.y*this._coeffLeft[1],this._direction.z*this._coeffLeft[1]]),this._worldPlane[l.LEFT_PLANE].normal.copy(e),this._worldPlane[l.LEFT_PLANE].constant=this.translation.dot(e),e.x=this._left.x*this._coeffRight[0],e.y=this._left.y*this._coeffRight[0],e.z=this._left.z*this._coeffRight[0],e.add([this._direction.x*this._coeffRight[1],this._direction.y*this._coeffRight[1],this._direction.z*this._coeffRight[1]]),this._worldPlane[l.RIGHT_PLANE].normal.copy(e),this._worldPlane[l.RIGHT_PLANE].constant=this.translation.dot(e),e.x=this._up.x*this._coeffBottom[0],e.y=this._up.y*this._coeffBottom[0],e.z=this._up.z*this._coeffBottom[0],e.add([this._direction.x*this._coeffBottom[1],this._direction.y*this._coeffBottom[1],this._direction.z*this._coeffBottom[1]]),this._worldPlane[l.BOTTOM_PLANE].normal.copy(e),this._worldPlane[l.BOTTOM_PLANE].constant=this.translation.dot(e),e.x=this._up.x*this._coeffTop[0],e.y=this._up.y*this._coeffTop[0],e.z=this._up.z*this._coeffTop[0],e.add([this._direction.x*this._coeffTop[1],this._direction.y*this._coeffTop[1],this._direction.z*this._coeffTop[1]]),this._worldPlane[l.TOP_PLANE].normal.copy(e),this._worldPlane[l.TOP_PLANE].constant=this.translation.dot(e),this.projectionMode===l.Parallel&&(this._frustumRight>this._frustumLeft?(this._worldPlane[l.LEFT_PLANE].constant=this._worldPlane[l.LEFT_PLANE].contant+this._frustumLeft,this._worldPlane[l.RIGHT_PLANE].constant=this._worldPlane[l.RIGHT_PLANE].contant-this._frustumRight):(this._worldPlane[l.LEFT_PLANE].constant=this._worldPlane[l.LEFT_PLANE].contant-this._frustumLeft,this._worldPlane[l.RIGHT_PLANE].constant=this._worldPlane[l.RIGHT_PLANE].contant+this._frustumRight),this._frustumBottom>this._frustumTop?(this._worldPlane[l.TOP_PLANE].constant=this._worldPlane[l.TOP_PLANE].contant+this._frustumTop,this._worldPlane[l.BOTTOM_PLANE].constant=this._worldPlane[l.BOTTOM_PLANE].contant-this._frustumBottom):(this._worldPlane[l.TOP_PLANE].constant=this._worldPlane[l.TOP_PLANE].contant-this._frustumTop,this._worldPlane[l.BOTTOM_PLANE].constant=this._worldPlane[l.BOTTOM_PLANE].contant+this._frustumBottom)),e.copy(this._direction).invert(),this._worldPlane[l.FAR_PLANE].normal.copy(e),this._worldPlane[l.FAR_PLANE].constant=-(t+this._frustumFar),this._worldPlane[l.NEAR_PLANE].normal.copy(this._direction),this._worldPlane[l.NEAR_PLANE].constant=t+this._frustumNear,this._updateMVMatrix=!0,this._updateMVPMatrix=!0,this._updateInverseMVMatrix=!0,this._updateInverseMVPMatrix=!0},l.prototype.updateProjectionMatrix=function(){if(this.projectionMode===l.Parallel){this.projection.setIdentity();var t=this.projection.data;t[0]=2/(this._frustumRight-this._frustumLeft),t[5]=2/(this._frustumTop-this._frustumBottom),t[10]=-2/(this._frustumFar-this._frustumNear),t[12]=-(this._frustumRight+this._frustumLeft)/(this._frustumRight-this._frustumLeft),t[13]=-(this._frustumTop+this._frustumBottom)/(this._frustumTop-this._frustumBottom),t[14]=-(this._frustumFar+this._frustumNear)/(this._frustumFar-this._frustumNear)}else if(this.projectionMode===l.Perspective){this.projection.setIdentity();var t=this.projection.data;t[0]=2*this._frustumNear/(this._frustumRight-this._frustumLeft),t[5]=2*this._frustumNear/(this._frustumTop-this._frustumBottom),t[8]=(this._frustumRight+this._frustumLeft)/(this._frustumRight-this._frustumLeft),t[9]=(this._frustumTop+this._frustumBottom)/(this._frustumTop-this._frustumBottom),t[10]=-(this._frustumFar+this._frustumNear)/(this._frustumFar-this._frustumNear),t[11]=-1,t[14]=-(2*this._frustumFar*this._frustumNear)/(this._frustumFar-this._frustumNear),t[15]=-0}},l.prototype.updateModelViewMatrix=function(){this.modelView.setIdentity();var t=this.modelView.data;t[0]=-this._left.x,t[4]=-this._left.y,t[8]=-this._left.z,t[1]=this._up.x,t[5]=this._up.y,t[9]=this._up.z,t[2]=-this._direction.x,t[6]=-this._direction.y,t[10]=-this._direction.z,t[12]=this._left.dot(this.translation),t[13]=-this._up.dot(this.translation),t[14]=this._direction.dot(this.translation)},l.prototype.getPickRay=function(t,i,r,o,n){n||(n=new a);var s=new e,h=new e;return this.getWorldCoordinates(t,o-i,r,o,0,s),this.getWorldCoordinates(t,o-i,r,o,.3,h).sub(s).normalize(),n.origin.copy(s),n.direction.copy(h),n},l.prototype.getWorldCoordinates=function(t,r,o,n,a,s){s||(s=new e),this.checkInverseModelViewProjection();var h=new i;return h.set(2*((t/o-this._viewPortLeft)/(this._viewPortRight-this._viewPortLeft))-1,2*((r/n-this._viewPortBottom)/(this._viewPortTop-this._viewPortBottom))-1,2*a-1,1),this.modelViewProjectionInverse.applyPost(h),h.mul(1/h.w),s.x=h.x,s.y=h.y,s.z=h.z,s},l.prototype.getScreenCoordinates=function(t,e,i,r){return r=this.getNormalizedDeviceCoordinates(t,r),r.x=(r.x+1)*(this._viewPortRight-this._viewPortLeft)/2*e,r.y=(r.y+1)*(this._viewPortTop-this._viewPortBottom)/2*i,r.z=(r.z+1)/2,r},l.prototype.getFrustumCoordinates=function(t,e){return e=this.getNormalizedDeviceCoordinates(t,e),e.x=(e.x+1)*(this._frustumRight-this._frustumLeft)/2+this._frustumLeft,e.y=(e.y+1)*(this._frustumTop-this._frustumBottom)/2+this._frustumBottom,e.z=(e.z+1)*(this._frustumFar-this._frustumNear)/2+this._frustumNear,e},l.prototype.getNormalizedDeviceCoordinates=function(t,r){r||(r=new e),this.checkModelViewProjection();var o=new i;return o.set(t.x,t.y,t.z,1),this.modelViewProjection.applyPost(o),o.mul(1/o.w),r.x=o.x,r.y=o.y,r.z=o.z,r},l.prototype.checkModelView=function(){this._updateMVMatrix&&(this.updateModelViewMatrix(),this._updateMVMatrix=!1)},l.prototype.checkProjection=function(){this._updatePMatrix&&(this.updateProjectionMatrix(),this._updatePMatrix=!1)},l.prototype.checkModelViewProjection=function(){this._updateMVPMatrix&&(this.checkModelView(),this.checkProjection(),this.modelViewProjection.copy(this.getProjectionMatrix()).combine(this.getViewMatrix()),this._updateMVPMatrix=!1)},l.prototype.checkInverseModelView=function(){this._updateInverseMVMatrix&&(this.checkModelView(),r.invert(this.modelView,this.modelViewInverse),this._updateInverseMVMatrix=!1)},l.prototype.checkInverseModelViewProjection=function(){this._updateInverseMVPMatrix&&(this.checkModelViewProjection(),r.invert(this.modelViewProjection,this.modelViewProjectionInverse),this._updateInverseMVPMatrix=!1)},l.prototype.getViewMatrix=function(){return this.checkModelView(),this.modelView},l.prototype.getProjectionMatrix=function(){return this.checkProjection(),this.projection},l.prototype.getViewProjectionMatrix=function(){return this.checkModelViewProjection(),this.modelViewProjection},l.prototype.getViewInverseMatrix=function(){return this.checkInverseModelView(),this.modelViewInverse},l.prototype.getViewProjectionInverseMatrix=function(){return this.checkInverseModelViewProjection(),this.modelViewProjectionInverse},l.prototype.pack=function(t){for(var e=t.center,r=this._corners,o=this._extents,n=0;n0?1:0>t?-1:0};return l.prototype.setToObliqueMatrix=function(t,e){e=e||0;var r=this._clipPlane.setv(t);this.getViewMatrix().applyPost(r),r.w=this.translation.y*t.y+e,this._updatePMatrix=!0;var o=this.getProjectionMatrix();this._qCalc.setd((u(r.x)+o[8])/o[0],(u(r.y)+o[9])/o[5],-1,(1+o[10])/o[14]),r.mul(2/i.dot(r,this._qCalc)),o[2]=r.x,o[6]=r.y,o[10]=r.z+1,o[14]=r.w,this._updateMVPMatrix=!0,this._updateInverseMVPMatrix=!0},l}),define("goo/renderer/pass/FullscreenUtil",["goo/shapes/ShapeCreator","goo/renderer/Camera","goo/math/Vector3"],function(t,e,i){"use strict";function r(){}var o=new e;return o.projectionMode=e.Parallel,o.setFrustum(0,1,-1,1,1,-1),o._left.copy(i.UNIT_X).invert(),o._up.copy(i.UNIT_Y),o._direction.copy(i.UNIT_Z),o.onFrameChange(),r.camera=o,r.quad=t.createQuad(2,2),r}),define("goo/renderer/pass/FullscreenPass",["goo/renderer/Material","goo/renderer/pass/FullscreenUtil","goo/renderer/shaders/ShaderLib"],function(t,e,i){"use strict";function r(r){this.material=t.createMaterial(r||i.simple),this.useReadBuffer=!0,this.renderToScreen=!1,this.renderable={meshData:e.quad,materials:[this.material]},this.enabled=!0,this.clear=!1,this.needsSwap=!0}return r.prototype.render=function(t,i,r){this.useReadBuffer&&this.material.setTexture("DIFFUSE_MAP",r),this.renderToScreen?t.render(this.renderable,e.camera,[],null,this.clear):t.render(this.renderable,e.camera,[],i,this.clear)},r}),define("goo/renderer/shadow/ShadowHandler",["goo/math/Vector3","goo/renderer/pass/FullscreenPass","goo/renderer/Camera","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/renderer/pass/RenderTarget","goo/math/Vector4","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(){this.depthMaterial=r.createMaterial(o.lightDepth,"depthMaterial"),this.depthMaterial.cullState.cullFace="Back",this.fullscreenPass=new e,this.downsample=r.createShader(o.downsample,"downsample");var i=2;this.blurfilter=r.createShader(o.convolution,"blurfilter");var n=2*Math.ceil(3*i)+1;this.blurfilter.defines={KERNEL_SIZE_FLOAT:n.toFixed(1),KERNEL_SIZE_INT:n.toFixed(0)},this.blurfilter.uniforms.cKernel=o.convolution.buildKernel(i),this.oldClearColor=new a(0,0,0,0),this.shadowClearColor=new a(1,1,1,1),this.renderList=[],this.shadowList=[],this.tmpVec=new t,this.first=!0}return l.prototype._createShadowData=function(t){var e=t.resolution[0],i=t.resolution[1];t.shadowData=t.shadowData||{},t.shadowData.shadowTarget=new n(e,i,{type:"Float",magFilter:"NearestNeighbor",minFilter:"NearestNeighborNoMipMaps"}),t.shadowData.shadowResult=null,"VSM"===t.shadowType&&(t.shadowData.shadowTargetDown=new n(e/2,i/2,{type:"Float"}),t.shadowData.shadowBlurred=new n(e/2,i/2,{type:"Float"})),t.shadowRecord=t.shadowRecord||{},t.shadowRecord.resolution=t.shadowRecord.resolution||[],t.shadowRecord.resolution[0]=e,t.shadowRecord.resolution[0]=e,t.shadowRecord.shadowType=t.shadowType},l.prototype._testStatesEqual=function(t,e){var i=Object.keys(t),r=Object.keys(e);if(i.length!==r.length)return!1;for(var o=0;o-1&&t.splice(r,1)},t}),define("goo/entities/Bus",["goo/util/ArrayUtil"],function(t){"use strict";function e(){this.trie={name:"",listeners:[],children:{}}}return e.prototype.emit=function(t,e){"string"==typeof t&&(t=[t]);for(var i=0;i=200&&d.status<=299&&window.eval.call(window,d.responseText)},d.send(null),"undefined"==typeof window.WebGLDebugUtils?console.warn("You need to include webgl-debug.js in your script definition to run in debug mode."):(console.log("Running in webgl debug mode."),e.validate?(console.log('Running with "undefined arguments" validation.'),this.context=window.WebGLDebugUtils.makeDebugContext(this.context,this.onDebugError.bind(this),g)):this.context=window.WebGLDebugUtils.makeDebugContext(this.context,this.onDebugError.bind(this)))}this.rendererRecord=new t,this.glExtensionCompressedTextureS3TC=s.SUPPORTS_DDS=h.isSupported(this.context),this.glExtensionTextureFloat=this.context.getExtension("OES_texture_float"),this.glExtensionTextureFloatLinear=this.context.getExtension("OES_texture_float_linear"),this.glExtensionTextureHalfFloat=this.context.getExtension("OES_texture_half_float"),this.glExtensionStandardDerivatives=this.context.getExtension("OES_standard_derivatives"),this.glExtensionTextureFilterAnisotropic=this.context.getExtension("EXT_texture_filter_anisotropic")||this.context.getExtension("MOZ_EXT_texture_filter_anisotropic")||this.context.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.glExtensionDepthTexture=this.context.getExtension("WEBGL_depth_texture")||this.context.getExtension("WEBKIT_WEBGL_depth_texture")||this.context.getExtension("MOZ_WEBGL_depth_texture"),this.glExtensionElementIndexUInt=this.context.getExtension("OES_element_index_uint"),this.glExtensionTextureFloat||console.log("Float textures not supported."),this.glExtensionTextureFloatLinear||console.log("Float textures with linear filtering not supported."),this.glExtensionStandardDerivatives||console.log("Standard derivatives not supported."),this.glExtensionTextureFilterAnisotropic||console.log("Anisotropic texture filtering not supported."),this.glExtensionCompressedTextureS3TC||console.log("S3TC compressed textures not supported."),this.glExtensionDepthTexture||console.log("Depth textures not supported."),this.glExtensionElementIndexUInt||console.log("32 bit indices not supported."),void 0===this.context.getShaderPrecisionFormat&&(this.context.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),this.capabilities={maxTexureSize:this.context.getParameter(v.MAX_TEXTURE_SIZE),maxCubemapSize:this.context.getParameter(v.MAX_CUBE_MAP_TEXTURE_SIZE),maxRenderbufferSize:this.context.getParameter(v.MAX_RENDERBUFFER_SIZE),maxViewPortDims:this.context.getParameter(v.MAX_VIEWPORT_DIMS),maxAnisotropy:this.glExtensionTextureFilterAnisotropic?this.context.getParameter(this.glExtensionTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,maxVertexTextureUnits:this.context.getParameter(v.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxFragmentTextureUnits:this.context.getParameter(v.MAX_TEXTURE_IMAGE_UNITS),maxCombinedTextureUnits:this.context.getParameter(v.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxVertexAttributes:this.context.getParameter(v.MAX_VERTEX_ATTRIBS),maxVertexUniformVectors:this.context.getParameter(v.MAX_VERTEX_UNIFORM_VECTORS),maxFragmentUniformVectors:this.context.getParameter(v.MAX_FRAGMENT_UNIFORM_VECTORS),maxVaryingVectors:this.context.getParameter(v.MAX_VARYING_VECTORS),aliasedPointSizeRange:this.context.getParameter(v.ALIASED_POINT_SIZE_RANGE),aliasedLineWidthRange:this.context.getParameter(v.ALIASED_LINE_WIDTH_RANGE),samples:this.context.getParameter(v.SAMPLES),sampleBuffers:this.context.getParameter(v.SAMPLE_BUFFERS),depthBits:this.context.getParameter(v.DEPTH_BITS),stencilBits:this.context.getParameter(v.STENCIL_BITS),subpixelBits:this.context.getParameter(v.SUBPIXEL_BITS),supportedExtensionsList:this.context.getSupportedExtensions(),renderer:this.context.getParameter(v.RENDERER),vendor:this.context.getParameter(v.VENDOR),version:this.context.getParameter(v.VERSION),shadingLanguageVersion:this.context.getParameter(v.SHADING_LANGUAGE_VERSION),vertexShaderHighpFloat:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.HIGH_FLOAT),vertexShaderMediumpFloat:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.MEDIUM_FLOAT),vertexShaderLowpFloat:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.LOW_FLOAT),fragmentShaderHighpFloat:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.HIGH_FLOAT),fragmentShaderMediumpFloat:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.MEDIUM_FLOAT),fragmentShaderLowpFloat:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.LOW_FLOAT),vertexShaderHighpInt:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.HIGH_INT),vertexShaderMediumpInt:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.MEDIUM_INT),vertexShaderLowpInt:this.context.getShaderPrecisionFormat(this.context.VERTEX_SHADER,this.context.LOW_INT),fragmentShaderHighpInt:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.HIGH_INT),fragmentShaderMediumpInt:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.MEDIUM_INT),fragmentShaderLowpInt:this.context.getShaderPrecisionFormat(this.context.FRAGMENT_SHADER,this.context.LOW_INT)},this.shaderPrecision=e.shaderPrecision||"highp",this.shaderPrecision="highp"===this.shaderPrecision&&this.capabilities.vertexShaderHighpFloat.precision>0&&this.capabilities.fragmentShaderHighpFloat.precision>0?"highp":"lowp"!==this.shaderPrecision&&this.capabilities.vertexShaderMediumpFloat.precision>0&&this.capabilities.fragmentShaderMediumpFloat.precision>0?"mediump":"lowp",this.downScale=e.downScale||1,this.clearColor=new o,this._clearColor=new Float64Array(4),this.setClearColor(.3,.3,.3,1),this.context.clearDepth(1),this.context.clearStencil(0),this.context.stencilMask(0),this.context.enable(v.DEPTH_TEST),this.context.depthFunc(v.LEQUAL),this.viewportX=0,this.viewportY=0,this.viewportWidth=0,this.viewportHeight=0,this.currentWidth=0,this.currentHeight=0,this._overrideMaterials=[],this._mergedMaterial=new c("Merged Material"),this.renderQueue=new u,this.info={calls:0,vertices:0,indices:0,reset:function(){this.calls=0,this.vertices=0,this.indices=0},toString:function(){return"Calls: "+this.calls+" Vertices: "+this.vertices+" Indices: "+this.indices}},this.shadowHandler=new p,this.hardwarePicking=null}function g(t,e){for(var i=0;i0||(this.fillRenderInfo(c,s),this.renderMesh(s))}}else this.fillRenderInfo(t,s),this.renderMesh(s);o&&o.generateMipmaps&&e.isPowerOfTwo(o.width)&&e.isPowerOfTwo(o.height)&&this.updateRenderTargetMipmap(o)}},m.prototype.fillRenderInfo=function(t,e){t instanceof n?(e.meshData=t.meshDataComponent.meshData,e.materials=t.meshRendererComponent.materials,e.transform=t.particleComponent?l.IDENTITY:t.transformComponent.worldTransform,t.meshDataComponent.currentPose?e.currentPose=t.meshDataComponent.currentPose:delete e.currentPose):(e.meshData=t.meshData,e.materials=t.materials,e.transform=t.transform),e.renderable=t},m.prototype._override=function(t,e,i){i.empty();for(var r=Object.keys(i),o=0,n=r.length;n>o;o++){var a=r[o],s=i[a],h=t[a],c=e[a];if(s instanceof Object&&"shader"!==a){for(var l=Object.keys(h),u=0,d=l.length;d>u;u++){var p=l[u];s[p]=h[p]}for(var l=Object.keys(c),u=0,d=l.length;d>u;u++){var p=l[u];void 0===s[p]&&(s[p]=c[p])}}else i[a]=void 0!==h?h:c}},m.prototype.renderMesh=function(t){var e=t.meshData;if(!(null===e.vertexData||null!==e.vertexData&&0===e.vertexData.data.byteLength||null!==e.indexData&&0===e.indexData.data.byteLength)){this.bindData(e.vertexData);var i=t.materials,r=null,o=e,n=0;n=0===this._overrideMaterials.length?i.length:this._overrideMaterials.length;for(var a=0;n>a;a++){var s=null,h=null;if(al;l++){var f=u[l];p.push(f+"_"+c.defines[f])}p.sort();var m=p.join("_")+"_"+c.name,g=this.rendererRecord.shaderCache=this.rendererRecord.shaderCache||{};if(g[m]){if(c=g[m],c!==s.shader){for(var f in s.shader.uniforms)c.uniforms[f]=s.shader.uniforms[f];s.shader=c}}else c.builder&&c.builder(c,t),c=s.shader=c.clone(),g[m]=c}c.apply(t,this),this.updateDepthTest(s),this.updateCulling(s),this.updateBlending(s),this.updateOffset(s),this.updateTextures(s),this.updateLineAndPointSettings(s),this._checkDualTransparency(s,e),this.updateCulling(s),this._drawBuffers(e),this.info.calls++,this.info.vertices+=e.vertexCount,this.info.indices+=e.indexCount}else s.errorOnce||(console.warn("No shader set on material: "+s.name),s.errorOnce=!0)}}},m.prototype._drawBuffers=function(t){null!==t.getIndexBuffer()?(this.bindData(t.getIndexData()),null!==t.getIndexLengths()?this.drawElementsVBO(t.getIndexBuffer(),t.getIndexModes(),t.getIndexLengths()):this.drawElementsVBO(t.getIndexBuffer(),t.getIndexModes(),[t.getIndexBuffer().length])):null!==t.getIndexLengths()?this.drawArraysVBO(t.getIndexModes(),t.getIndexLengths()):this.drawArraysVBO(t.getIndexModes(),[t.vertexCount])},m.prototype._checkDualTransparency=function(t,e){if(t.dualTransparency){var i=t.cullState.cullFace,r="Front"===i?"Back":"Front";t.cullState.cullFace=r,this.updateCulling(t),this._drawBuffers(e),t.cullState.cullFace=i}},m.prototype.readPixels=function(t,e,i,r,o){this.context.readPixels(t,e,i,r,v.RGBA,v.UNSIGNED_BYTE,o)},m.prototype.drawElementsVBO=function(t,e,i){for(var r=0,o=0,n=t.type=t.type||this.getGLArrayType(t),a=this.getGLByteSize(t),s=0;sy;y++){var _=t[y];(!_.meshRendererComponent||_.meshRendererComponent.isPickable)&&g.push(_)}this.render(g,e,[],this.hardwarePicking.pickingTarget,i,l||this.hardwarePicking.pickingMaterial),a&&this.context.disable(v.SCISSOR_TEST)}}},m.prototype.pick=function(t,e,i,r){if(0===this.viewportWidth*this.viewportHeight)return i.id=-1,i.depth=0,void 0;var o=4,n=Math.floor(t/o),a=Math.floor((this.viewportHeight-e)/o);this.readPixels(n,a,1,1,this.hardwarePicking.pickingBuffer);var s=255*this.hardwarePicking.pickingBuffer[0]+this.hardwarePicking.pickingBuffer[1]-1,h=(this.hardwarePicking.pickingBuffer[2]/255+this.hardwarePicking.pickingBuffer[3]/65025)*r.far;i.id=s,i.depth=h},m.prototype.updateLineAndPointSettings=function(t){var e=this.rendererRecord.lineRecord,i=t.lineWidth||1;e.lineWidth!==i&&(this.context.lineWidth(i),e.lineWidth=i)},m.prototype.updateDepthTest=function(t){var e=this.rendererRecord.depthRecord,i=t.depthState;e.enabled!==i.enabled&&(i.enabled?this.context.enable(v.DEPTH_TEST):this.context.disable(v.DEPTH_TEST),e.enabled=i.enabled),e.write!==i.write&&(i.write?this.context.depthMask(!0):this.context.depthMask(!1),e.write=i.write)},m.prototype.updateCulling=function(t){var e=this.rendererRecord.cullRecord,i=t.cullState.cullFace,r=t.cullState.frontFace,o=t.cullState.enabled;if(e.enabled!==o&&(o?this.context.enable(v.CULL_FACE):this.context.disable(v.CULL_FACE),e.enabled=o),e.cullFace!==i){var n="Front"===i?v.FRONT:"Back"===i?v.BACK:v.FRONT_AND_BACK;this.context.cullFace(n),e.cullFace=i}if(e.frontFace!==r){switch(r){case"CCW":this.context.frontFace(v.CCW);break;case"CW":this.context.frontFace(v.CW)}e.frontFace=r}},m.prototype.updateTextures=function(t){for(var o=this.context,n=t.shader.textureSlots,a=0;a1?~~(s/2):1,c=~~(c/2)>1?~~(c/2):1;else for(var d=0;d1?~~(s/2):1,c=~~(c/2)>1?~~(c/2):1,n+=a;var p=1+Math.ceil(Math.log(Math.max(i.image.height,i.image.width))/Math.log(2)),f=o[o.length-1];if(o.lengthd;d++)f=2*~~((s+3)/4)*~~((c+3)/4)*i.image.bpp,t.compressedTexImage2D(e,d,u,s,c,0,new Uint8Array(f)),s=~~(s/2)>1?~~(s/2):1,c=~~(c/2)>1?~~(c/2):1}},m.prototype.updateTexture=function(t,i,r,o){t.activeTexture(v.TEXTURE0+r),t.bindTexture(this.getGLType(i.variant),i.glTexture),o.boundTexture=i.glTexture,t.pixelStorei(v.UNPACK_ALIGNMENT,i.unpackAlignment),t.pixelStorei(v.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),t.pixelStorei(v.UNPACK_FLIP_Y_WEBGL,i.flipY);var n=i.image;if("2D"===i.variant)n?(!n.isCompressed&&(i.generateMipmaps||n.width>this.capabilities.maxTexureSize||n.height>this.capabilities.maxTexureSize)&&(this.checkRescale(i,n,n.width,n.height,this.capabilities.maxTexureSize),n=i.image),n.isData===!0?n.isCompressed?this.loadCompressedTexture(t,v.TEXTURE_2D,i,n.data):t.texImage2D(v.TEXTURE_2D,0,this.getGLInternalFormat(i.format),n.width,n.height,i.hasBorder?1:0,this.getGLInternalFormat(i.format),this.getGLPixelDataType(i.type),n.data):t.texImage2D(v.TEXTURE_2D,0,this.getGLInternalFormat(i.format),this.getGLInternalFormat(i.format),this.getGLPixelDataType(i.type),n),i.generateMipmaps&&!n.isCompressed&&t.generateMipmap(v.TEXTURE_2D)):t.texImage2D(v.TEXTURE_2D,0,this.getGLInternalFormat(i.format),i.width,i.height,0,this.getGLInternalFormat(i.format),this.getGLPixelDataType(i.type),null);else if("CUBE"===i.variant){if(n&&(i.generateMipmaps||n.width>this.capabilities.maxCubemapSize||n.height>this.capabilities.maxCubemapSize)){for(var s=0;s=i?!window.PolyK.ContainsPoint(r.poly,t,e):void 0})},t.prototype.run=function(t){for(var e=t.transformComponent,i=e.transform.translation,r=0;r=i.data[1]&&window.PolyK.ContainsPoint(o.poly,i.data[0],i.data[2])){var n=window.PolyK.ClosestEdge(o.poly,i.data[0],i.data[2]);return i.data[0]=n.point.x,i.data[2]=n.point.y,e.setUpdated(),void 0}}},t}),define("goo/addons/soundmanager2/components/SoundManager2Component",["goo/entities/components/Component"],function(t){"use strict";function e(t){this.type="SoundManager2Component",this.settings=t||{},this.sounds={}}return e.prototype=Object.create(t.prototype),e.prototype.addSound=function(t,e){this.sounds[t]=e},e.prototype.playSound=function(t){this.sounds[t].soundObject.play()},e}),define("goo/addons/soundmanager2/systems/SoundManager2System",["goo/entities/systems/System"],function(t){"use strict";function e(e){t.call(this,"SoundManager2System",["SoundManager2Component","TransformComponent"]),e=e||{},this.isReady=!1,window.soundManager?window.soundManager.bind(this).setup({url:"swf",onready:function(){this.isReady=!0},ontimeout:function(){console.warn("Failed to load soundmanager")}}):console.warn("SoundManager2System: soundManager global not found")}return e.prototype=Object.create(t.prototype),e.prototype.inserted=function(t){for(var e=t.soundManager2Component,i=0;ic;c++){var l=this.createClipmapLevel(t,c,0===c);h.transformComponent.attachChild(l.transformComponent)}}a.prototype.createClipmapLevel=function(t,e,i){var r=t.createEntity(),o=Math.pow(2,e);r.transformComponent.transform.scale.set(o,o,1);var n=(2*Math.pow(-1,e+1)+Math.pow(2,e+1))/6,a=0===e%2?n:-n;return r.transformComponent.transform.translation.set(a,-a,0),r.addToWorld(),this.createQuadEntity(t,r,0,0,3,3),this.createQuadEntity(t,r,3,0,3,3),this.createQuadEntity(t,r,6,0,2,3),this.createQuadEntity(t,r,8,0,3,3),this.createQuadEntity(t,r,11,0,3,3),this.createQuadEntity(t,r,0,3,3,3),this.createQuadEntity(t,r,11,3,3,3),this.createQuadEntity(t,r,0,6,3,2),this.createQuadEntity(t,r,11,6,3,2),this.createQuadEntity(t,r,0,8,3,3),this.createQuadEntity(t,r,11,8,3,3),this.createQuadEntity(t,r,0,11,3,3),this.createQuadEntity(t,r,3,11,3,3),this.createQuadEntity(t,r,6,11,2,3),this.createQuadEntity(t,r,8,11,3,3),this.createQuadEntity(t,r,11,11,3,3),i&&this.createQuadEntity(t,r,3,4,7,7),r},a.prototype.createQuadEntity=function(i,r,o,n,a,s){var h=this.createGrid(o,n,a,s),c=i.createEntity();r.transformComponent.attachChild(c.transformComponent);var l=new t(h);c.setComponent(l);var u=new e;return u.materials.push(this.material2),c.setComponent(u),c.addToWorld(),c},a.prototype.createGrid=function(t,e,r,o){for(var n=i.defaultMap([i.POSITION,i.TEXCOORD0]),a=new i(n,(r+1)*(o+1),6*r*o),s=a.getAttributeBuffer(i.POSITION),h=a.getAttributeBuffer(i.TEXCOORD0),c=a.getIndexBuffer(),l=0;r+1>l;l++)for(var u=0;o+1>u;u++){var d=u*(r+1)+l;s[3*d+0]=l+t-7,s[3*d+1]=u+e-7,s[3*d+2]=0,h[2*d+0]=(l+t)/15,h[2*d+1]=(u+e)/15}for(var l=0;r>l;l++)for(var u=0;o>u;u++){var d=u*(r+1)+l,p=u*r+l;c[6*p+0]=d,c[6*p+1]=d+1,c[6*p+2]=d+r+1,c[6*p+3]=d+1,c[6*p+4]=d+r+1+1,c[6*p+5]=d+r+1}return a};var s={attributes:{vertexPosition:i.POSITION,vertexUV0:i.TEXCOORD0},uniforms:{viewMatrix:o.VIEW_MATRIX,projectionMatrix:o.PROJECTION_MATRIX,worldMatrix:o.WORLD_MATRIX,diffuseMap:"DIFFUSE_MAP",time:o.TIME},vshader:["attribute vec3 vertexPosition;","attribute vec2 vertexUV0;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform float time;","uniform sampler2D diffuseMap;","varying vec4 texCol;","void main(void) {"," texCol = texture2D(diffuseMap, vertexUV0 + vec2(time*0.0));"," float height = length(texCol.rgb);"," gl_Position = projectionMatrix * viewMatrix * worldMatrix * "," vec4(vertexPosition.x,vertexPosition.y,height*5.0, 1.0);","}"].join("\n"),fshader:["precision mediump float;","varying vec4 texCol;","void main(void)","{"," gl_FragColor = texCol;","}"].join("\n")};return a}),define("goo/addons/water/FlatWaterRenderer",["goo/renderer/MeshData","goo/renderer/Shader","goo/renderer/Camera","goo/math/Plane","goo/renderer/pass/RenderTarget","goo/math/Vector3","goo/math/Vector4","goo/renderer/Material","goo/renderer/TextureCreator","goo/renderer/shaders/ShaderFragment"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(t){t=t||{},this.useRefraction=void 0!==t.useRefraction?t.useRefraction:!0,this.waterCamera=new i(45,1,.1,2e3),this.renderList=[],this.waterPlane=new r;var e=Math.floor(window.innerWidth/(t.divider||2)),c=Math.floor(window.innerHeight/(t.divider||2));this.reflectionTarget=new o(e,c),this.useRefraction&&(this.refractionTarget=new o(e,c),this.depthTarget=new o(e,c));var l=s.createMaterial(u,"WaterMaterial");l.shader.defines.REFRACTION=this.useRefraction,l.cullState.enabled=!1;var p=t.normalsUrl||"../resources/water/waternormals3.png";l.setTexture("NORMAL_MAP",(new h).loadTexture2D(p)),l.setTexture("REFLECTION_MAP",this.reflectionTarget),this.useRefraction&&(l.setTexture("REFRACTION_MAP",this.refractionTarget),l.setTexture("DEPTH_MAP",this.depthTarget)),this.waterMaterial=l,this.followCam=!0,this.updateWaterPlaneFromEntity=void 0!==t.updateWaterPlaneFromEntity?this.updateWaterPlaneFromEntity:!0,this.calcVect=new n,this.camReflectDir=new n,this.camReflectUp=new n,this.camReflectLeft=new n,this.camLocation=new n,this.camReflectPos=new n,this.offset=new n,this.clipPlane=new a,this.waterEntity=null,this.depthMaterial=s.createMaterial(d,"depth")}l.prototype.process=function(t,e,i,r,o){e=e.filter(function(t){return t.meshRendererComponent.isReflectable});var n=this.waterPlane;this.waterCamera.copy(r),this.updateWaterPlaneFromEntity&&(n.constant=this.waterEntity.transformComponent.transform.translation.y);var a=r.translation.y>n.constant;if(this.waterEntity.skip=!0,a){this.useRefraction&&(i.process(this.waterCamera,e,this.renderList),this.clipPlane.setd(n.normal.x,-n.normal.y,n.normal.z,n.constant),this.waterCamera.setToObliqueMatrix(this.clipPlane),t.render(this.renderList,this.waterCamera,o,this.depthTarget,!0,this.depthMaterial),t.render(this.renderList,this.waterCamera,o,this.refractionTarget,!0));var s=this.calcVect,h=this.camReflectDir,c=this.camReflectUp,l=this.camReflectLeft,u=this.camLocation,d=this.camReflectPos;u.set(r.translation);var p=n.pseudoDistance(u);if(s.set(n.normal).mul(2*p),d.set(u.sub(s)),u.set(r.translation).add(r._direction),p=n.pseudoDistance(u),s.set(n.normal).mul(2*p),h.set(u.sub(s)).sub(d).normalize(),u.set(r.translation).add(r._up),p=n.pseudoDistance(u),s.set(n.normal).mul(2*p),c.set(u.sub(s)).sub(d).normalize(),l.set(c).cross(h).normalize(),this.waterCamera.translation.set(d),this.waterCamera._direction.set(h),this.waterCamera._up.set(c),this.waterCamera._left.set(l),this.waterCamera.normalize(),this.waterCamera.update(),this.skybox&&this.followCam){var f=this.skybox.transformComponent.worldTransform;f.translation.setv(d),f.update()}}if(this.waterMaterial.shader.uniforms.abovewater=a,i.process(this.waterCamera,e,this.renderList),t.setRenderTarget(this.reflectionTarget),t.clear(),this.skybox)if(this.skybox instanceof Array){this.clipPlane.setd(n.normal.x,n.normal.y,n.normal.z,n.constant),this.waterCamera.setToObliqueMatrix(this.clipPlane,10);for(var m=0;m 0.5) {depthUnpack = 0.0;}"," float depth2 = clamp(depthUnpack * 400.0, 0.0, 1.0);"," vec2 projCoordRefr = vec2(projCoord);"," projCoordRefr += (normalVector.xy * distortionMultiplier) * (depth2);"," projCoordRefr = clamp(projCoordRefr, 0.001, 0.999);"," depthUnpack = unpackDepth(texture2D(depthmap, projCoordRefr));"," float depth = clamp(depthUnpack * 40.0, 0.8, 1.0);","#endif"," projCoord += (normalVector.xy * distortionMultiplier);"," projCoord = clamp(projCoord, 0.001, 0.999);"," if ( abovewater == true ) {"," projCoord.x = 1.0 - projCoord.x;"," }"," vec4 waterColorX = vec4(waterColor, 1.0);"," vec4 reflectionColor = texture2D(reflection, projCoord);"," if ( abovewater == false ) {"," reflectionColor *= vec4(0.8,0.9,1.0,1.0);"," vec4 endColor = mix(reflectionColor,waterColorX,fresnelTerm);"," gl_FragColor = mix(endColor,waterColorX,fogDist);"," }"," else {"," vec3 sunSpecReflection = normalize(reflect(-sunDirection, normalVector));"," float sunSpecDirection = max(0.0, dot(localView, sunSpecReflection));"," vec3 specular = pow(sunSpecDirection, sunShininess) * sunSpecPower * sunColor;"," vec4 endColor = waterColorX;","#ifdef REFRACTION"," vec4 refractionColor = texture2D(refraction, projCoordRefr) * vec4(0.6);"," endColor = mix(refractionColor, waterColorX, depth);","#endif"," endColor = mix(endColor, reflectionColor, fresnelTerm);"," if (doFog) {"," gl_FragColor = (vec4(specular, 1.0) + mix(endColor,reflectionColor,fogDist)) * (1.0-fogDist) + vec4(fogColor, 1.0) * fogDist;"," } else {"," gl_FragColor = vec4(specular, 1.0) + mix(endColor,reflectionColor,fogDist);"," }"," }","}"].join("\n")},d={attributes:{vertexPosition:t.POSITION},uniforms:{viewProjectionMatrix:e.VIEW_PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,farPlane:e.FAR_PLANE},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","varying vec4 vPosition;","void main(void) {"," vPosition = worldMatrix * vec4(vertexPosition, 1.0);"," gl_Position = viewProjectionMatrix * vPosition;","}"].join("\n"),fshader:["uniform float farPlane;",c.methods.packDepth,"varying vec4 vPosition;","void main(void)","{"," float linearDepth = abs(vPosition.y) / farPlane;"," gl_FragColor = packDepth(linearDepth);","}"].join("\n")};return l}),define("goo/addons/water/ProjectedGridWaterRenderer",["goo/renderer/MeshData","goo/renderer/Shader","goo/renderer/Camera","goo/math/Plane","goo/renderer/pass/RenderTarget","goo/renderer/pass/FullscreenPass","goo/math/Vector3","goo/renderer/Material","goo/renderer/TextureCreator","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderFragment"],function(t,e,i,r,o,n,a,s,h,c,l){"use strict";function u(e){this.waterCamera=new i(45,1,.1,2e3),this.renderList=[],this.waterPlane=new r,e=e||{};var l=window.innerWidth/(e.divider||4),u=window.innerHeight/(e.divider||4);this.renderTarget=new o(l,u),l=window.innerWidth/(e.divider||1),u=window.innerHeight/(e.divider||1),this.heightTarget=new o(l,u,{type:"Float"}),this.normalTarget=new o(l,u,{}),this.fullscreenPass=new n(c.normalmap),this.fullscreenPass.material.shader.uniforms.resolution=[l,u];var f=this.waterMaterial=s.createMaterial(d,"WaterMaterial");f.cullState.enabled=!1,f.setTexture("NORMAL_MAP",(new h).loadTexture2D("../resources/water/waternormals3.png")),f.setTexture("REFLECTION_MAP",this.renderTarget),f.setTexture("BUMP_MAP",this.heightTarget),f.setTexture("NORMAL_MAP_COARSE",this.normalTarget);var m=this.materialWire=s.createMaterial(c.simple,"mat");m.wireframe=!0,m.wireframeColor=[0,0,0],this.calcVect=new a,this.camReflectDir=new a,this.camReflectUp=new a,this.camReflectLeft=new a,this.camLocation=new a,this.camReflectPos=new a,this.waterEntity=null;var g=this.projData=new t(t.defaultMap([t.POSITION]),4,6);g.getAttributeBuffer(t.POSITION).set([0,0,0,1,0,0,1,1,0,0,1,0]),g.getIndexBuffer().set([1,3,0,2,3,1]);var v=s.createMaterial(p,"mat");this.projRenderable={meshData:g,materials:[v]}}u.prototype.updateHelper=function(e,i,r,o){var n=this.projData.getAttributeBuffer(t.POSITION);n[0]=e.x/e.w,n[1]=0,n[2]=e.z/e.w,n[3]=i.x/i.w,n[4]=0,n[5]=i.z/i.w,n[6]=r.x/r.w,n[7]=0,n[8]=r.z/r.w,n[9]=o.x/o.w,n[10]=0,n[11]=o.z/o.w,this.projData.setVertexDataUpdated()},u.prototype.process=function(t,e,i,r,o){var n=this.waterEntity.meshDataComponent.meshData;n.update(r),this.waterMaterial.shader.uniforms.intersectBottomLeft=[n.intersectBottomLeft.x,n.intersectBottomLeft.y,n.intersectBottomLeft.z,n.intersectBottomLeft.w],this.waterMaterial.shader.uniforms.intersectBottomRight=[n.intersectBottomRight.x,n.intersectBottomRight.y,n.intersectBottomRight.z,n.intersectBottomRight.w],this.waterMaterial.shader.uniforms.intersectTopLeft=[n.intersectTopLeft.x,n.intersectTopLeft.y,n.intersectTopLeft.z,n.intersectTopLeft.w],this.waterMaterial.shader.uniforms.intersectTopRight=[n.intersectTopRight.x,n.intersectTopRight.y,n.intersectTopRight.z,n.intersectTopRight.w],this.updateHelper(n.intersectBottomLeft,n.intersectBottomRight,n.intersectTopRight,n.intersectTopLeft),t.render(this.projRenderable,r,o,this.heightTarget,!0),this.fullscreenPass.render(t,this.normalTarget,this.heightTarget,0);var a=this.waterPlane;this.waterCamera.copy(r),a.constant=this.waterEntity.transformComponent.transform.translation.y;var s=r.translation.y>a.constant;if(s){var h=this.calcVect,c=this.camReflectDir,l=this.camReflectUp,u=this.camReflectLeft,d=this.camLocation,p=this.camReflectPos;d.set(r.translation);var f=a.pseudoDistance(d);if(h.set(a.normal).mul(2*f),p.set(d.sub(h)),d.set(r.translation).add(r._direction),f=a.pseudoDistance(d),h.set(a.normal).mul(2*f),c.set(d.sub(h)).sub(p).normalize(),d.set(r.translation).add(r._up),f=a.pseudoDistance(d),h.set(a.normal).mul(2*f),l.set(d.sub(h)).sub(p).normalize(),u.set(l).cross(c).normalize(),this.waterCamera.translation.set(p),this.waterCamera._direction.set(c),this.waterCamera._up.set(l),this.waterCamera._left.set(u),this.waterCamera.normalize(),this.waterCamera.update(),this.skybox){var m=this.skybox.transformComponent.worldTransform;m.translation.setv(p),m.update()}}if(this.waterMaterial.shader.uniforms.abovewater=s,this.waterEntity.skip=!0,this.renderList.length=0,i.process(this.waterCamera,e,this.renderList),t.render(this.renderList,this.waterCamera,o,this.renderTarget,!0),this.waterEntity.skip=!1,s&&this.skybox){var g=r.translation,m=this.skybox.transformComponent.worldTransform;m.translation.setv(g),m.update()}},u.prototype.setSkyBox=function(t){this.skybox=t},u.prototype.setWaterEntity=function(t){this.waterEntity=t,this.waterEntity.meshRendererComponent.cullMode="Never",this.waterEntity.meshRendererComponent.materials[0]=this.waterMaterial;var e=this.waterEntity.meshDataComponent.meshData;this.waterMaterial.shader.uniforms.density=[e.densityX,e.densityY]};var d={attributes:{vertexUV0:t.TEXCOORD0},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,cameraPosition:e.CAMERA,normalMap:"NORMAL_MAP",reflection:"REFLECTION_MAP",bump:"BUMP_MAP",normalMapCoarse:"NORMAL_MAP_COARSE",vertexNormal:[0,-1,0],vertexTangent:[1,0,0,1],waterColor:[15,15,15],abovewater:!0,fogColor:[1,1,1,1],sunDirection:[.66,-.1,.66],coarseStrength:.25,detailStrength:2,fogStart:0,camNear:e.NEAR_PLANE,camFar:e.FAR_PLANE,time:e.TIME,intersectBottomLeft:[0,0,0,0],intersectTopLeft:[0,0,0,0],intersectTopRight:[0,0,0,0],intersectBottomRight:[0,0,0,0],grid:!1,heightMultiplier:50,density:[1,1]},vshader:["attribute vec2 vertexUV0;","uniform vec3 vertexNormal;","uniform vec4 vertexTangent;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","uniform vec3 cameraPosition;","uniform float time;","uniform vec3 sunDirection;","uniform float coarseStrength;","uniform float heightMultiplier;","uniform sampler2D bump;","uniform vec4 intersectBottomLeft;","uniform vec4 intersectTopLeft;","uniform vec4 intersectTopRight;","uniform vec4 intersectBottomRight;","varying vec2 texCoord0;","varying vec2 texCoord1;","varying vec3 eyeVec;","varying vec3 sunDir;","varying vec4 viewCoords;","varying vec3 worldPos;","varying vec3 normal;","void main(void) {"," vec4 pointTop = mix(intersectTopLeft, intersectTopRight, vertexUV0.x);"," vec4 pointBottom = mix(intersectBottomLeft, intersectBottomRight, vertexUV0.x);"," vec4 pointFinal = mix(pointTop, pointBottom, 1.0 - vertexUV0.y);"," pointFinal.xz /= pointFinal.w;"," pointFinal.y = 0.0;"," vec4 screenpos = projectionMatrix * viewMatrix * worldMatrix * vec4(pointFinal.xyz, 1.0);"," vec2 projCoord = screenpos.xy / screenpos.q;"," projCoord = (projCoord + 1.0) * 0.5;"," float height = texture2D(bump, projCoord).x;"," pointFinal.y = height * heightMultiplier;"," texCoord1 = vertexUV0;"," vec4 pos = worldMatrix * vec4(pointFinal.xyz, 1.0);"," worldPos = pos.xyz;"," texCoord0 = worldPos.xz * 2.0;"," mat3 normalMatrix = mat3(worldMatrix);"," vec3 n = normalize(normalMatrix * vertexNormal);"," vec3 t = normalize(normalMatrix * vertexTangent.xyz);"," vec3 b = cross(n, t) * vertexTangent.w;"," mat3 rotMat = mat3(t, b, n);"," vec3 eyeDir = worldPos - cameraPosition;"," eyeVec = eyeDir * rotMat;"," sunDir = sunDirection * rotMat;"," viewCoords = projectionMatrix * viewMatrix * pos;"," gl_Position = viewCoords;","}"].join("\n"),fshader:["uniform sampler2D normalMap;","uniform sampler2D reflection;","uniform sampler2D normalMapCoarse;","uniform vec3 waterColor;","uniform bool abovewater;","uniform vec4 fogColor;","uniform float time;","uniform bool grid;","uniform vec2 density;","uniform float camNear;","uniform float camFar;","uniform float fogStart;","uniform float coarseStrength;","uniform float detailStrength;","varying vec2 texCoord0;","varying vec2 texCoord1;","varying vec3 eyeVec;","varying vec3 sunDir;","varying vec4 viewCoords;","varying vec3 worldPos;","varying vec3 normal;","const vec3 sunColor = vec3(1.0, 0.96, 0.96);","vec4 getNoise(vec2 uv) {"," vec2 uv0 = (uv/123.0)+vec2(time/17.0, time/29.0);"," vec2 uv1 = uv/127.0-vec2(time/-19.0, time/31.0);"," vec2 uv2 = uv/vec2(897.0, 983.0)+vec2(time/51.0, time/47.0);"," vec2 uv3 = uv/vec2(991.0, 877.0)-vec2(time/59.0, time/-63.0);"," vec4 noise = (texture2D(normalMap, uv0)) +"," (texture2D(normalMap, uv1)) +"," (texture2D(normalMap, uv2)*3.0) +"," (texture2D(normalMap, uv3)*3.0);"," return noise/4.0-1.0;","}","void sunLight(const vec3 surfaceNormal, const vec3 eyeDirection, float shiny, float spec, float diffuse,"," inout vec3 diffuseColor, inout vec3 specularColor){"," vec3 reflection = normalize(reflect(-sunDir, surfaceNormal));"," float direction = max(0.0, dot(eyeDirection, reflection));"," specularColor += pow(direction, shiny)*sunColor*spec;"," diffuseColor += max(dot(sunDir, surfaceNormal),0.0)*sunColor*diffuse;","}","void main(void)","{"," vec2 projCoord = viewCoords.xy / viewCoords.q;"," projCoord = (projCoord + 1.0) * 0.5;"," float fs = camFar * fogStart;"," float fogDist = clamp(max(viewCoords.z - fs, 0.0)/(camFar - camNear - fs), 0.0, 1.0);"," vec3 coarseNormal = texture2D(normalMapCoarse, projCoord).xyz * 2.0 - 1.0;"," vec2 normCoords = texCoord0;"," vec4 noise = getNoise(normCoords);"," vec3 normalVector = normalize(noise.xyz * vec3(1.8 * detailStrength, 1.8 * detailStrength, 1.0) + coarseNormal.xyz * vec3(1.8 * coarseStrength, 1.8 * coarseStrength, 1.0));"," vec3 localView = normalize(eyeVec);"," float fresnel = dot(normalize(normalVector*vec3(1.0, 1.0, 1.0)), localView);"," if ( abovewater == false ) {"," fresnel = -fresnel;"," }"," float fresnelTerm = 1.0 - fresnel;"," fresnelTerm *= fresnelTerm;"," fresnelTerm *= fresnelTerm;"," fresnelTerm = fresnelTerm * 0.95 + 0.05;"," if ( abovewater == true ) {"," projCoord.x = 1.0 - projCoord.x;"," }"," projCoord += (normalVector.xy * 0.05);"," projCoord = clamp(projCoord, 0.001, 0.999);"," vec4 waterColorX = vec4(waterColor / 255.0, 1.0);"," vec4 reflectionColor = texture2D(reflection, projCoord);"," if ( abovewater == false ) {"," reflectionColor *= vec4(0.8,0.9,1.0,1.0);"," vec4 endColor = mix(reflectionColor,waterColorX,fresnelTerm);"," gl_FragColor = mix(endColor,waterColorX,fogDist);"," }"," else {"," vec3 diffuse = vec3(0.0);"," vec3 specular = vec3(0.0);"," sunLight(normalVector, localView, 100.0, 2.0, 0.4, diffuse, specular);"," vec4 endColor = mix(waterColorX,reflectionColor,fresnelTerm);"," gl_FragColor = mix(vec4(diffuse*0.0 + specular, 1.0) + mix(endColor,reflectionColor,fogDist), fogColor, fogDist);"," }"," if (grid) {"," vec2 low = abs(fract(texCoord1*density)-0.5);"," float dist = 1.0 - step(min(low.x, low.y), 0.05);"," gl_FragColor *= vec4(dist);"," }","}"].join("\n")},p={attributes:{vertexPosition:t.POSITION},uniforms:{viewMatrix:e.VIEW_MATRIX,projectionMatrix:e.PROJECTION_MATRIX,worldMatrix:e.WORLD_MATRIX,time:e.TIME},vshader:["attribute vec3 vertexPosition;","uniform mat4 viewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 worldMatrix;","varying vec4 worldPos;","varying vec4 viewCoords;","void main(void) {"," worldPos = worldMatrix * vec4(vertexPosition, 1.0);"," viewCoords = viewMatrix * worldPos;"," gl_Position = projectionMatrix * viewMatrix * worldPos;","}"].join("\n"),fshader:["precision mediump float;","uniform float time;","varying vec4 worldPos;","varying vec4 viewCoords;",l.noise3d,"vec4 getNoise(sampler2D map, vec2 uv) {"," vec2 uv0 = (uv/223.0)+vec2(time/17.0, time/29.0);"," vec2 uv1 = uv/327.0-vec2(time/-19.0, time/31.0);"," vec2 uv2 = uv/vec2(697.0, 983.0)+vec2(time/151.0, time/147.0);"," vec2 uv3 = uv/vec2(791.0, 877.0)-vec2(time/259.0, time/263.0);"," vec4 noise = (texture2D(map, uv0)*0.0) +"," (texture2D(map, uv1)*0.0) +"," (texture2D(map, uv2)*0.0) +"," (texture2D(map, uv3)*10.0);"," return noise/5.0-1.0;","}","void main(void)","{"," float fogDist = clamp(-viewCoords.z / 1000.0, 0.0, 1.0);"," gl_FragColor = vec4((snoise(vec3(worldPos.xz * 0.008, time * 0.4))+snoise(vec3(worldPos.xz * 0.02, time * 0.8))*0.5)/10.0);","}"].join("\n")};return u}),define("goo/animation/Joint",["goo/math/Transform"],function(t){"use strict";function e(e){this._name=e,this._index=0,this._parentIndex=0,this._inverseBindPose=new t}return e.NO_PARENT=-32768,e}),define("goo/animation/Skeleton",["goo/animation/Joint"],function(t){"use strict";function e(t,e){this._name=t,this._joints=e}return e.prototype.copy=function(){for(var i=this._name,r=this._joints,o=[],n=0,a=r.length;a>n;n++){var s=r[n],h=s._name,c=new t(h);c._index=s._index,c._parentIndex=s._parentIndex,c._inverseBindPose.copy(s._inverseBindPose),c._inverseBindPose.update(),o[n]=c}return new e(i,o)},e}),define("goo/animation/SkeletonPose",["goo/math/Transform","goo/animation/Joint","goo/math/Matrix4x4"],function(t,e,i){"use strict";function r(e){this._skeleton=e,this._localTransforms=[],this._globalTransforms=[],this._matrixPalette=[],this._poseListeners=[];for(var r=this._skeleton._joints.length,o=0;r>o;o++)this._localTransforms[o]=new t;for(var o=0;r>o;o++)this._globalTransforms[o]=new t;for(var o=0;r>o;o++)this._matrixPalette[o]=new i;this.setToBindPose()}return r.prototype.setToBindPose=function(){for(var t=0;t=0;t--)this._poseListeners[t].poseUpdated(this)},r}),define("goo/animation/clip/TransformData",["goo/math/Quaternion","goo/math/Vector3"],function(t,e){"use strict";function i(i){this._rotation=(new t).copy(i?i._rotation:t.IDENTITY),this._scale=(new e).copy(i?i._scale:e.ONE),this._translation=(new e).copy(i?i._translation:e.ZERO)}return i.prototype.applyTo=function(t){t.setIdentity(),t.rotation.copyQuaternion(this._rotation),t.scale.setv(this._scale),t.translation.setv(this._translation),t.update()},i.prototype.set=function(t){this._rotation.copy(t._rotation),this._scale.copy(t._scale),this._translation.copy(t._translation)},i.prototype.blend=function(e,r,o){var n=o?o:new i;return n._translation.setv(this._translation).lerp(e._translation,r),n._scale.setv(this._scale).lerp(e._scale,r),t.slerp(this._rotation,e._rotation,r,n._rotation),n +},i}),define("goo/animation/blendtree/BinaryLERPSource",["goo/math/MathUtils","goo/animation/clip/TransformData"],function(t,e){"use strict";function i(t,e,i){this._sourceA=t?t:null,this._sourceB=e?e:null,this.blendWeight=i?i:null}return i.prototype.getSourceData=function(){var t=this._sourceA?this._sourceA.getSourceData():null,e=this._sourceB?this._sourceB.getSourceData():null;return i.combineSourceData(t,e,this.blendWeight)},i.prototype.setTime=function(t){var e=!1,i=!1;return this._sourceA&&(e=this._sourceA.setTime(t)),this._sourceB&&(i=this._sourceB.setTime(t)),e||i},i.prototype.resetClips=function(t){this._sourceA&&this._sourceA.resetClips(t),this._sourceB&&this._sourceB.resetClips(t)},i.prototype.shiftClipTime=function(t){this._sourceA&&this._sourceA.shiftClipTime(t),this._sourceB&&this._sourceB.shiftClipTime(t)},i.prototype.setTimeScale=function(t){this._sourceA.setTimeScale(t),this._sourceB.setTimeScale(t)},i.prototype.isActive=function(){var t=!1;return this._sourceA&&(t=t||this._sourceA.isActive()),this._sourceB&&(t=t||this._sourceB.isActive()),t},i.combineSourceData=function(t,r,o,n){if(!r)return t;if(!t)return r;var a=n?n:{};for(var s in t){var h=t[s],c=r[s];isNaN(h)?h instanceof e?c?a[s]=h.blend(c,o,a[s]):a[s]?a[s].set(h):a[s]=new h.constructor(h):a[s]=h:i.blendFloatValues(a,s,o,h,c)}for(var s in r)a[s]||(a[s]=r[s]);return a},i.blendFloatValues=function(e,i,r,o,n){e[i]=isNaN(n)?o:t.lerp(r,o[0],n[0])},i}),define("goo/animation/clip/AnimationClipInstance",["goo/entities/World"],function(t){"use strict";function e(){this._active=!0,this._loopCount=0,this._timeScale=1,this._startTime=0,this._prevClockTime=0,this._prevUnscaledClockTime=0,this._clipStateObjects={}}return e.prototype.setTimeScale=function(e,i){var i=i||t.time;if(this._active&&this._timeScale!==e)if(0!==this._timeScale&&0!==e){var r=i,o=r-this._startTime;o*=this._timeScale,o/=e,this._startTime=r-o}else if(0===this._timeScale){var r=i;this._startTime=r-this._prevUnscaledClockTime}this._timeScale=e},e.prototype.getApplyTo=function(t){var e=t._channelName,i=this._clipStateObjects[e];return i||(i=t.createStateDataObject(),this._clipStateObjects[e]=i),i},e}),define("goo/animation/blendtree/ClipSource",["goo/math/MathUtils","goo/animation/clip/AnimationClipInstance"],function(t,e){"use strict";function i(t,i,r){this._clip=t,this._clipInstance=new e,this._filterChannels={},this._filter=null,this.setFilter(i,r),this._startTime=-1/0,this._endTime=1/0}return i.prototype.setFilter=function(t,e){if(t&&e){this._filter=["Exclude","Include"].indexOf(t)>-1?t:null;for(var i=0;ir?(r*=-1,r%=o,r=o-r,r+=a):(r%=o,r+=a):i._loopCount>0&&o*i._loopCount>=Math.abs(r)&&(0>r?(r*=-1,r%=o,r=o-r,r+=a):(r%=o,r+=a)),(r>n||0>r)&&(r=t.clamp(r,0,n),i._active=!1)),this._clip.update(r,i)}return i._active},i.prototype.resetClips=function(t){this._clipInstance._startTime=t,this._clipInstance._active=!0},i.prototype.shiftClipTime=function(t){this._clipInstance._startTime+=t,this._clipInstance._active=!0},i.prototype.setTimeScale=function(t){this._clipInstance.setTimeScale(t)},i.prototype.isActive=function(){return this._clipInstance._active&&-1!==this._clip._maxTime},i.prototype.getSourceData=function(){if(!this._filter||!this._filterChannels)return this._clipInstance._clipStateObjects;var t=this._clipInstance._clipStateObjects,e={},i="Include"===this._filter;for(var r in t)void 0!==this._filterChannels[r]===i&&(e[r]=t[r]);return e},i}),define("goo/animation/clip/AbstractAnimationChannel",[],function(){"use strict";function t(t,e,i){this._blendType=i||"Linear",this._channelName=t,this._times=(e instanceof Array||e instanceof Float32Array)&&e.length?new Float32Array(e):[],this._lastStartFrame=0}return t.prototype.getSampleCount=function(){return this._times.length},t.prototype.getMaxTime=function(){return this._times.length?this._times[this._times.length-1]:0},t.prototype.updateSample=function(t,e){var i=this._times.length;if(i){var r=i-1;if(0>t||1===i)this.setCurrentSample(0,0,e);else if(t>=this._times[r])this.setCurrentSample(r,0,e);else{var o=0;if(t>=this._times[this._lastStartFrame]){o=this._lastStartFrame;for(var n=this._lastStartFrame;i-1>n&&!(this._times[n]>=t);n++)o=n}else for(var n=0;n=t);n++)o=n;var a=(t-this._times[o])/(this._times[o+1]-this._times[o]);this.setCurrentSample(o,a,e),this._lastStartFrame=o}}},t}),define("goo/animation/clip/TransformChannel",["goo/animation/clip/AbstractAnimationChannel","goo/animation/clip/TransformData","goo/math/Quaternion","goo/math/Vector3"],function(t,e,i,r){"use strict";function o(e,o,n,a,s,h){if(t.call(this,e,o,h),n.length/4!==o.length||a.length/3!==o.length||s.length/3!==o.length)throw new Error("All provided arrays must be the same length (accounting for type)! Channel: "+e);this._rotations=new Float32Array(n),this._translations=new Float32Array(a),this._scales=new Float32Array(s),this.tmpVec=new r,this.tmpQuat=new i,this.tmpQuat2=new i}return o.prototype=Object.create(t.prototype),o.prototype.createStateDataObject=function(){return new e},o.prototype.setCurrentSample=function(t,e,r){var o=r,n=4*t,a=3*t,s=4*(t+1),h=3*(t+1);return 0===e?(o._rotation.data[0]=this._rotations[n+0],o._rotation.data[1]=this._rotations[n+1],o._rotation.data[2]=this._rotations[n+2],o._rotation.data[3]=this._rotations[n+3],o._translation.data[0]=this._translations[a+0],o._translation.data[1]=this._translations[a+1],o._translation.data[2]=this._translations[a+2],o._scale.data[0]=this._scales[a+0],o._scale.data[1]=this._scales[a+1],o._scale.data[2]=this._scales[a+2],void 0):1===e?(o._rotation.data[0]=this._rotations[s+0],o._rotation.data[1]=this._rotations[s+1],o._rotation.data[2]=this._rotations[s+2],o._rotation.data[3]=this._rotations[s+3],o._translation.data[0]=this._translations[h+0],o._translation.data[1]=this._translations[h+1],o._translation.data[2]=this._translations[h+2],o._scale.data[0]=this._scales[h+0],o._scale.data[1]=this._scales[h+1],o._scale.data[2]=this._scales[h+2],void 0):(o._rotation.data[0]=this._rotations[n+0],o._rotation.data[1]=this._rotations[n+1],o._rotation.data[2]=this._rotations[n+2],o._rotation.data[3]=this._rotations[n+3],this.tmpQuat.data[0]=this._rotations[s+0],this.tmpQuat.data[1]=this._rotations[s+1],this.tmpQuat.data[2]=this._rotations[s+2],this.tmpQuat.data[3]=this._rotations[s+3],o._rotation.equals(this.tmpQuat)||(i.slerp(o._rotation,this.tmpQuat,e,this.tmpQuat2),o._rotation.setv(this.tmpQuat2)),o._translation.data[0]=(1-e)*this._translations[a+0]+e*this._translations[h+0],o._translation.data[1]=(1-e)*this._translations[a+1]+e*this._translations[h+1],o._translation.data[2]=(1-e)*this._translations[a+2]+e*this._translations[h+2],o._scale.data[0]=(1-e)*this._scales[a+0]+e*this._scales[h+0],o._scale.data[1]=(1-e)*this._scales[a+1]+e*this._scales[h+1],o._scale.data[2]=(1-e)*this._scales[a+2]+e*this._scales[h+2],void 0)},o.prototype.getData=function(t,i){var r=i?i:new e;return this.setCurrentSample(t,0,r),r},o}),define("goo/animation/clip/JointData",["goo/animation/clip/TransformData"],function(t){"use strict";function e(e){t.call(this,e),this._jointIndex=e?e._jointIndex:0}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.prototype.set=function(e){t.prototype.set.call(this,e),this._jointIndex=e._jointIndex},e.prototype.blend=function(i,r,o){var n=o;return n?n instanceof e&&(n._jointIndex=this._jointIndex):(n=new e,n._jointIndex=this._jointIndex),t.prototype.blend.call(this,i,r,n)},e}),define("goo/animation/clip/JointChannel",["goo/animation/clip/TransformChannel","goo/animation/clip/JointData"],function(t,e){"use strict";function i(e,r,o,n,a,s,h){t.call(this,i.JOINT_CHANNEL_NAME+r,o,n,a,s,h),this._jointName=e,this._jointIndex=r}return i.prototype=Object.create(t.prototype),i.JOINT_CHANNEL_NAME="_jnt",i.prototype.createStateDataObject=function(){return new e},i.prototype.setCurrentSample=function(e,i,r){t.prototype.setCurrentSample.call(this,e,i,r),r._jointIndex=this._jointIndex},i.prototype.getData=function(i,r){var o=r?r:new e;return t.prototype.getData.call(this,i,o),o._jointIndex=this._jointIndex,o},i}),define("goo/animation/blendtree/ExclusiveClipSource",["goo/animation/clip/JointChannel","goo/animation/blendtree/ClipSource"],function(t,e){"use strict";function i(t){e.call(this,t),this._disabledChannels={}}return i.prototype=Object.create(e.prototype),i.prototype.clearDisabled=function(){this._disabledChannels={}},i.prototype.addDisabledChannels=function(){if(1===arguments.length&&"object"==typeof arguments[0])for(var t=0;tr;r++){var n=i[r],a=t.findChannelByName(n),s=a.getData(0);this._data[n]=s}else for(var r=0,o=t._channels.length;o>r;r++){var a=t._channels[r],n=a._channelName;if("Exclude"===e&&i&&i.length&&i.indexOf(n)>-1){var s=a.getData(0);this._data[n]=s}}},o.prototype.resetClips=function(){},o.prototype.setTimeScale=function(){},o.prototype.setTime=function(){return!0},o.prototype.isActive=function(){return!0},o.prototype.getChannelData=function(t){return this._data[t]},o.prototype.getSourceData=function(){return this._data},o}),define("goo/animation/clip/AnimationClip",[],function(){"use strict";function t(t,e){this._name=t,this._channels=e||[],this._maxTime=-1,this.updateMaxTimeIndex()}return t.prototype.update=function(t,e){for(var i=0,r=this._channels.length;r>i;++i){var o=this._channels[i],n=e.getApplyTo(o);o.updateSample(t,n)}},t.prototype.addChannel=function(t){this._channels.push(t),this.updateMaxTimeIndex()},t.prototype.removeChannel=function(t){var e=this._channels.indexOf(t);return e>=0?(this._channels.splice(e,1),this.updateMaxTimeIndex(),!0):!1},t.prototype.findChannelByName=function(t){for(var e=0,i=this._channels.length;i>e;++e){var r=this._channels[e];if(t===r._channelName)return r}return null},t.prototype.updateMaxTimeIndex=function(){this._maxTime=-1;for(var t,e=0;ethis._maxTime&&(this._maxTime=t)}},t.prototype.toString=function(){return this._name+this._channels.length},t}),define("goo/animation/clip/InterpolatedFloatChannel",["goo/animation/clip/AbstractAnimationChannel","goo/math/MathUtils"],function(t,e){"use strict";function i(e,i,r,o){t.call(this,e,i,o),this._values=r?r.slice(0):null}return i.prototype=Object.create(t.prototype),i.prototype.createStateDataObject=function(){return[0]},i.prototype.setCurrentSample=function(t,i,r){r[0]=e.lerp(i,this._values[t],this._values[t+1])},i.prototype.getData=function(t,e){var i=e||[];return i[0]=this._values[t],i},i}),define("goo/animation/clip/TriggerData",[],function(){"use strict";function t(){this._currentTriggers=[],this._currentIndex=-1,this.armed=!1}return t.prototype.arm=function(t,e){if(null===e||0===e.length)this._currentTriggers.length=0,this.armed=!1;else if(t!==this._currentIndex){this._currentTriggers.length=0;for(var i=0,r=e.length;r>i;i++)e[i]&&""!==e[i]&&this._currentTriggers.push(e[i]);this.armed=!0}this._currentIndex=t},t}),define("goo/animation/clip/TriggerChannel",["goo/animation/clip/AbstractAnimationChannel","goo/animation/clip/TriggerData"],function(t,e){"use strict";function i(e,i,r,o){t.call(this,e,i,o),this._keys=r?r.slice(0):null,this.guarantee=!1}return i.prototype=Object.create(t.prototype),i.prototype.createStateDataObject=function(){return new e},i.prototype.setCurrentSample=function(t,e,i){var r=i._currentIndex,o=1!==e?t:t+1;if(r!==o&&this.guarantee){var n=[];if(r>o){for(var a=r+1;a=a;a++)n.push(this._keys[a]);i.arm(o,n)}else i.arm(o,[this._keys[o]])},i}),define("goo/animation/state/AbstractState",[],function(){"use strict";function t(){this._globalStartTime=0,this.onFinished=null}return t.prototype.update=function(){},t.prototype.postUpdate=function(){},t.prototype.getCurrentSourceData=function(){},t.prototype.resetClips=function(t){this._globalStartTime=t},t.prototype.shiftClipTime=function(t){this._globalStartTime+=t},t}),define("goo/animation/state/SteadyState",["goo/animation/state/AbstractState"],function(t){"use strict";function e(e){t.call(this),this._name=e,this._transitions={},this._sourceTree=null}return e.prototype=Object.create(t.prototype),e.prototype.update=function(t){this._sourceTree.setTime(t)||this.onFinished&&this.onFinished()},e.prototype.getCurrentSourceData=function(){return this._sourceTree.getSourceData()},e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._sourceTree.resetClips(e)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._sourceTree.shiftClipTime(e)},e.prototype.setTimeScale=function(t){this._sourceTree.setTimeScale(t)},e}),define("goo/animation/layer/AnimationLayer",["goo/animation/state/SteadyState","goo/entities/World"],function(t,e){"use strict";function i(t){this._name=t,this._steadyStates={},this._currentState=null,this._layerBlender=null,this._transitions={},this._transitionStates={}}return i.BASE_LAYER_NAME="-BASE_LAYER-",i.prototype.getStates=function(){return Object.keys(this._steadyStates)},i.prototype.getTransitions=function(){var t;if(t=this._currentState?Object.keys(this._currentState._transitions):[],this._transitions)for(var e in this._transitions)-1===t.indexOf(e)&&t.push(e);return t.sort(),t},i.prototype.update=function(t){this._currentState&&this._currentState.update(t||e.time)},i.prototype.postUpdate=function(){this._currentState&&this._currentState.postUpdate()},i.prototype.transitionTo=function(i,r){r=r||e.time;var o,n=this._currentState;if(this._steadyStates[i]===n)return!1;if(n&&n._transitions&&(o=n._transitions[i]||n._transitions["*"]),!o&&this._transitions&&(o=this._transitions[i]||this._transitions["*"]),n instanceof t&&o){var a=this._transitionStates[o.type];return this._doTransition(a,n,this._steadyStates[i],o,r),!0}if(!n&&(o=this._transitions[i])){var a=this._transitionStates[o.type];if(a)return this._doTransition(a,null,this._steadyStates[i],o,r),!0}return!1},i.prototype._doTransition=function(t,e,i,r,o){if(e){t._sourceState=e;var n=r.timeWindow||[-1,-1];if(!t.isValid(n,o))return console.warn("State not in allowed time window"),void 0;e.onFinished=null}t._targetState=i,t.readFromConfig(r),t.resetClips(o),this.setCurrentState(t)},i.prototype.setCurrentState=function(t,i,r){r=r||e.time,this._currentState=t,t&&(i&&t.resetClips(r),t.onFinished=function(){this.setCurrentState(t._targetState||null),this.update()}.bind(this))},i.prototype.getCurrentState=function(){return this._currentState},i.prototype.setCurrentStateByName=function(t,e,i){if(t){var r=this._steadyStates[t];if(r)return this.setCurrentState(r,e,i),!0;console.warn("unable to find SteadyState named: "+t)}return!1},i.prototype.getCurrentSourceData=function(){return this._layerBlender?this._layerBlender.getBlendedSourceData():this._currentState?this._currentState.getCurrentSourceData():null},i.prototype.updateLayerBlending=function(t){this._layerBlender&&(this._layerBlender._layerA=t,this._layerBlender._layerB=this)},i.prototype.clearCurrentState=function(){this.setCurrentState(null)},i.prototype.resetClips=function(t){this._currentState&&this._currentState.resetClips(t||e.time)},i.prototype.shiftClipTime=function(t){this._currentState&&this._currentState.shiftClipTime(t||0)},i.prototype.setTimeScale=function(t){this._currentState&&this._currentState.setTimeScale(t)},i}),define("goo/animation/layer/LayerLERPBlender",["goo/animation/blendtree/BinaryLERPSource"],function(t){"use strict";function e(){this._blendWeight=null,this._layerA=null,this._layerB=null}return e.prototype.getBlendedSourceData=function(){var e=this._layerA.getCurrentSourceData(),i=this._layerB._currentState?this._layerB._currentState.getCurrentSourceData():null;return t.combineSourceData(e,i,this._blendWeight)},e}),define("goo/animation/state/AbstractTransitionState",["goo/animation/state/AbstractState","goo/animation/blendtree/BinaryLERPSource","goo/math/MathUtils"],function(t,e,i){"use strict";function r(){t.call(this),this._sourceState=null,this._targetState=null,this._percent=0,this._sourceData=null,this._fadeTime=0,this._blendType="Linear"}return r.prototype=Object.create(t.prototype),r.prototype.update=function(t){var e=t-this._globalStartTime;if(e>this._fadeTime&&this.onFinished)return this.onFinished(),void 0;var r=e/this._fadeTime;switch(this._blendType){case"SCurve3":this._percent=i.scurve3(r);break;case"SCurve5":this._percent=i.scurve5(r);break;default:this._percent=r}},r.prototype.readFromConfig=function(t){t&&(void 0!==t.fadeTime&&(this._fadeTime=t.fadeTime),void 0!==t.blendType&&(this._blendType=t.blendType))},r.prototype.getCurrentSourceData=function(){var t=this._sourceState?this._sourceState.getCurrentSourceData():null,i=this._targetState?this._targetState.getCurrentSourceData():null;return this._sourceData||(this._sourceData={}),e.combineSourceData(t,i,this._percent,this._sourceData)},r.prototype.isValid=function(t,e){var i=e-this._sourceState._globalStartTime,r=t[0],o=t[1];return 0>=r?0>=o?!0:o>=i:0>=o?i>=r:o>=r?i>=r&&o>=i:i>=r||o>=i},r.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._percent=0},r.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e)},r.prototype.setTimeScale=function(t){this._sourceState&&this._sourceState.setTimeScale(t),this._targetState&&this._targetState.setTimeScale(t)},r}),define("goo/animation/state/FadeTransitionState",["goo/animation/state/AbstractTransitionState"],function(t){"use strict";function e(){t.call(this)}return e.prototype=Object.create(t.prototype),e.prototype.update=function(e){t.prototype.update.call(this,e),this._sourceState&&this._sourceState.update(e),this._targetState&&this._targetState.update(e)},e.prototype.postUpdate=function(){this._sourceState&&this._sourceState.postUpdate(),this._targetState&&this._targetState.postUpdate()},e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._targetState&&this._targetState.resetClips(e)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._targetState&&this._targetState.shiftClipTime(e),this._sourceState&&this._sourceState.shiftClipTime(e)},e}),define("goo/animation/state/FrozenTransitionState",["goo/animation/state/AbstractTransitionState"],function(t){"use strict";function e(){t.call(this)}return e.prototype=Object.create(t.prototype),e.prototype.update=function(e){t.prototype.update.call(this,e),this._targetState&&this._targetState.update(e)},e.prototype.postUpdate=function(){this._targetState&&this._targetState.postUpdate()},e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._targetState.resetClips(e)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._targetState.shiftClipTime(e)},e}),define("goo/animation/state/SyncFadeTransitionState",["goo/animation/state/FadeTransitionState"],function(t){"use strict";function e(){t.call(this)}return e.prototype=Object.create(t.prototype),e.prototype.resetClips=function(e){t.prototype.resetClips.call(this,e),this._targetState.resetClips(this._sourceState._globalStartTime)},e.prototype.shiftClipTime=function(e){t.prototype.shiftClipTime.call(this,e),this._targetState.shiftClipTime(this._sourceState._globalStartTime+e),this._sourceState.shiftClipTime(e)},e}),define("goo/entities/components/CameraComponent",["goo/entities/components/Component","goo/math/Vector3"],function(t,e){"use strict";function i(t){this.type="CameraComponent",this.camera=t,this.leftVec=new e(-1,0,0),this.upVec=new e(0,1,0),this.dirVec=new e(0,0,-1)}return i.prototype=Object.create(t.prototype),i.prototype.setUpVector=function(t){0===t?(this.leftVec.setd(0,-1,0),this.upVec.setd(1,0,0),this.dirVec.setd(0,0,-1)):2===t?(this.leftVec.setd(-1,0,0),this.upVec.setd(0,0,1),this.dirVec.setd(0,-1,0)):(this.leftVec.setd(-1,0,0),this.upVec.setd(0,1,0),this.dirVec.setd(0,0,-1))},i.prototype.updateCamera=function(t){this.camera._left.setv(this.leftVec),t.matrix.applyPostVector(this.camera._left),this.camera._up.setv(this.upVec),t.matrix.applyPostVector(this.camera._up),this.camera._direction.setv(this.dirVec),t.matrix.applyPostVector(this.camera._direction),t.matrix.getTranslation(this.camera.translation),this.camera.update()},i}),define("goo/entities/components/LightComponent",["goo/entities/components/Component"],function(t){"use strict";function e(t){this.type="LightComponent",this.light=t}return e.prototype=Object.create(t.prototype),e.prototype.updateLight=function(t){this.light.update(t)},e}),define("goo/entities/components/ScriptComponent",["goo/entities/components/Component"],function(t){"use strict";function e(t){this.type="ScriptComponent",this.scripts=t instanceof Array?t:t?[t]:[]}return e.prototype=Object.create(t.prototype),e.prototype.run=function(t,e,i){for(var r,o=0,n=this.scripts.length;n>o;o++)r=this.scripts[o],r&&r.run&&(void 0===r.enabled||r.enabled)&&r.run(t,e,i)},e}),define("goo/entities/components/CSSTransformComponent",["goo/entities/components/Component"],function(t){"use strict";function e(e,i){t.call(this),this.type="CSSTransformComponent",this.domElement=e,this.scale=1,this.faceCamera="undefined"==typeof i?!1:i}return e.prototype=Object.create(t.prototype),e}),define("goo/entities/EntityUtils",["goo/entities/components/TransformComponent","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/entities/components/CameraComponent","goo/entities/components/LightComponent","goo/entities/components/ScriptComponent","goo/renderer/Camera","goo/renderer/light/Light","goo/renderer/Material","goo/renderer/MeshData","goo/math/Transform","goo/entities/components/CSSTransformComponent"],function(t,e,i,r,o,n,a,s,h,c,l,u){"use strict";function d(){}function p(r,o,n){for(var a=r.createEntity(o.name),s=0;s=65536)throw new Error("Maximum number of vertices for a mesh to add is 65535. Got: "+e.vertexCount);this.vertexCounter+e.vertexCount>=65536&&this._generateMesh();var r=e.attributeMap;for(var n in r){var a=r[n],s=this.vertexData[n];s||(this.vertexData[n]={},s=this.vertexData[n],s.array=[],s.map={count:a.count,type:a.type,stride:a.stride,offset:a.offset,normalized:a.normalized});var h=e.getAttributeBuffer(n),c=h.length,l=s.array;if(n===t.POSITION)for(var u=0;c>u;u+=3)o.setd(h[u+0],h[u+1],h[u+2]),i.matrix.applyPostPoint(o),l[this.vertexCounter*a.count+u+0]=o[0],l[this.vertexCounter*a.count+u+1]=o[1],l[this.vertexCounter*a.count+u+2]=o[2];else if(n===t.NORMAL)for(var u=0;c>u;u+=3)o.setd(h[u+0],h[u+1],h[u+2]),i.rotation.applyPost(o),l[this.vertexCounter*a.count+u+0]=o[0],l[this.vertexCounter*a.count+u+1]=o[1],l[this.vertexCounter*a.count+u+2]=o[2];else if(n===t.TANGENT)for(var u=0;c>u;u+=3)o.setd(h[u+0],h[u+1],h[u+2]),i.rotation.applyPost(o),l[this.vertexCounter*a.count+u+0]=o[0],l[this.vertexCounter*a.count+u+1]=o[1],l[this.vertexCounter*a.count+u+2]=o[2];else for(var u=0;c>u;u++)l[this.vertexCounter*a.count+u]=h[u]}for(var d=e.getIndexBuffer(),u=0,p=e.indexCount;p>u;u++)this.indexData[this.indexCounter+u]=d[u]+this.vertexCounter;this.vertexCounter+=e.vertexCount,this.indexCounter+=e.indexCount,this.indexLengths=e.indexLengths?this.indexLengths.concat(e.indexLengths):this.indexLengths.concat(e.getIndexBuffer().length),this.indexModes=this.indexModes.concat(e.indexModes)},r.prototype._generateMesh=function(){var e={};for(var i in this.vertexData){var r=this.vertexData[i];e[i]=r.map}var o=new t(e,this.vertexCounter,this.indexCounter);for(var i in this.vertexData){var r=this.vertexData[i].array;o.getAttributeBuffer(i).set(r)}o.getIndexBuffer().set(this.indexData),o.indexLengths=this.indexLengths,o.indexModes=this.indexModes,this.meshDatas.push(o),this.vertexData={},this.indexData=[],this.vertexCounter=0,this.indexCounter=0,this.indexLengths=[],this.indexModes=[]},r.prototype.build=function(){return this.vertexCounter>0&&this._generateMesh(),this.meshDatas},r}),define("goo/debug/BoundingVolumeMeshBuilder",["goo/renderer/bounds/BoundingBox","goo/renderer/bounds/BoundingSphere","goo/util/MeshBuilder","goo/renderer/MeshData","goo/math/Transform"],function(t,e,i,r,o){"use strict";function n(){}function a(t,e,i){var o=[t,e,i,t,e,-i,t,-e,i,t,-e,-i,-t,e,i,-t,e,-i,-t,-e,i,-t,-e,-i],n=[0,1,0,2,1,3,2,3,4,5,4,6,5,7,6,7,0,4,1,5,2,6,3,7],a=new r(r.defaultMap([r.POSITION]),o.length/3,n.length);return a.getAttributeBuffer(r.POSITION).set(o),a.getIndexBuffer().set(n),a.indexLengths=null,a.indexModes=["Lines"],a}function s(t,e){t=t||1,e=e||8;for(var i=[],o=[],n=2*Math.PI/e,a=0,s=0;e>a;a++,s+=n)i.push(Math.cos(s)*t,Math.sin(s)*t,0),o.push(a,a+1);o[o.length-1]=0;var h=new r(r.defaultMap([r.POSITION]),e,o.length);return h.getAttributeBuffer(r.POSITION).set(i),h.getIndexBuffer().set(o),h.indexLengths=null,h.indexModes=["Lines"],h}function h(t){t=t||1;var e,r=new i,n=128,a=s(t,n);e=new o,r.addMeshData(a,e),e=new o,e.rotation.fromAngles(0,Math.PI/2,0),e.update(),r.addMeshData(a,e),e=new o,e.rotation.fromAngles(Math.PI/2,Math.PI/2,0),e.update(),r.addMeshData(a,e);var h=r.build();return h[0]}return n.buildBox=function(t){var e=a(t.xExtent,t.yExtent,t.zExtent);return e},n.buildSphere=function(t){var e=h(t.radius);return e},n.build=function(i){return i instanceof t?n.buildBox(i):i instanceof e?n.buildSphere(i):void 0},n}),define("goo/shapes/debug/LightDebug",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/ShapeCreator","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight"],function(t,e,i,r,o,n,a){"use strict";function s(){this._ball=r.createSphere(12,12,.3),this._pointLightMesh=s._buildPointLightMesh(),this._spotLightMesh=s._buildSpotLightMesh(),this._directionalLightMesh=s._buildDirectionalLightMesh() +}function h(e,i){e=e||1,i=i||8;for(var r=[],o=[],n=2*Math.PI/i,a=0,s=0;i>a;a++,s+=n)r.push(Math.cos(s)*e,Math.sin(s)*e,0),o.push(a,a+1);o[o.length-1]=0;var h=new t(t.defaultMap([t.POSITION]),i,o.length);return h.getAttributeBuffer(t.POSITION).set(r),h.getIndexBuffer().set(o),h.indexLengths=null,h.indexModes=["Lines"],h}function c(){var t,r=1,o=new e,n=128,a=h(r,n);t=new i,o.addMeshData(a,t),t=new i,t.rotation.fromAngles(0,Math.PI/2,0),t.update(),o.addMeshData(a,t),t=new i,t.rotation.fromAngles(Math.PI/2,Math.PI/2,0),t.update(),o.addMeshData(a,t);var s=o.build();return s[0]}function l(e){e=e||8;for(var i=[0,0,0],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),1),r.push(0,n+1);var s=new t(t.defaultMap([t.POSITION]),e+1,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function u(){for(var t=-1,r=new e,o=64,n=2,a=t/2,s=a,c=1;n>=c;c++){var u=h(s*c,o),d=new i;d.translation.set(0,0,a*c),d.update(),r.addMeshData(u,d)}var p=l(4),d=new i;d.scale.set(s*n,s*n,a*n),d.update(),r.addMeshData(p,d);var f=r.build();return f[0]}function d(e){e=e||8;for(var i=[],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),0),i.push(Math.cos(a),Math.sin(a),1),r.push(2*n,2*n+1);var s=new t(t.defaultMap([t.POSITION]),2*e,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function p(){for(var t=new e,r=64,o=2,n=10/o,a=1,s=0;o>s;s++){var c=h(a,r),l=new i;l.translation.set(0,0,-n*s),l.update(),t.addMeshData(c,l)}var u=d(4),l=new i;l.scale.set(a,a,-n*o),l.update(),t.addMeshData(u,l);var p=t.build();return p[0]}return s.prototype.getMesh=function(t,e){return t instanceof o?e.full?[this._ball,this._pointLightMesh]:[this._ball]:t instanceof a?e.full?[this._ball,this._spotLightMesh]:[this._ball]:t instanceof n?e.full?[this._ball,this._directionalLightMesh]:[this._ball]:void 0},s._buildPointLightMesh=function(){return c()},s._buildSpotLightMesh=function(){return u()},s._buildDirectionalLightMesh=function(){return p()},s}),define("goo/shapes/debug/CameraDebug",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/Box","goo/shapes/Cylinder"],function(t,e,i,r,o){"use strict";function n(){this._camera=n.buildCamera()}return n.prototype.getMesh=function(t,e){var i=t.far/t.near;return e.full?[this._camera,n.buildFrustum(i)]:[this._camera]},n.buildFrustum=function(e){var i,r,o,n,a=Math.PI/4,s=1,h=s/e,c=1,l=Math.tan(a);i={x:-l*s*c,y:l*s,z:-s},r={x:-l*s*c,y:-l*s,z:-s},o={x:l*s*c,y:-l*s,z:-s},n={x:l*s*c,y:l*s,z:-s};var u,d,p,f;u={x:-l*h*c,y:l*h,z:-h},d={x:-l*h*c,y:-l*h,z:-h},p={x:l*h*c,y:-l*h,z:-h},f={x:l*h*c,y:l*h,z:-h};var m=[];m.push(i.x,i.y,i.z),m.push(r.x,r.y,r.z),m.push(o.x,o.y,o.z),m.push(n.x,n.y,n.z),m.push(u.x,u.y,u.z),m.push(d.x,d.y,d.z),m.push(p.x,p.y,p.z),m.push(f.x,f.y,f.z);var g=[];g.push(0,1),g.push(1,2),g.push(2,3),g.push(3,0),g.push(4,5),g.push(5,6),g.push(6,7),g.push(7,4),g.push(0,4),g.push(1,5),g.push(2,6),g.push(3,7);var v=new t(t.defaultMap([t.POSITION]),8,24);return v.getAttributeBuffer(t.POSITION).set(m),v.getIndexBuffer().set(g),v.indexLengths=null,v.indexModes=["Lines"],v},n.buildCamera=function(){var n=new e,a=new i,s=new o(32,.6),h=new o(32,.6),c=new r(.3,1,1.6),l=new r(.2,.15,.7);l.applyFunction(t.POSITION,function(t){return[t.x+t.x/(.3*(t.z+1.1)),t.y+t.y/(.3*(t.z+1.1)),t.z]}),a.translation.setd(0,0,0),a.update(),n.addMeshData(l,a),a.translation.setd(0,0,1.3),a.update(),n.addMeshData(c,a),a.scale.setd(1,1,.5),a.setRotationXYZ(0,Math.PI/2,0),a.translation.setd(0,1.2,.6),a.update(),n.addMeshData(s,a),a.translation.setd(0,1.2,2),a.update(),n.addMeshData(h,a);var u=n.build();return u[0]},n}),define("goo/shapes/debug/MeshRendererDebug",["goo/renderer/MeshData"],function(t){"use strict";function e(){this._meshes=[i(1,1,1),null]}function i(e,i,r){var o=[e,i,r,e,i,-r,e,-i,r,e,-i,-r,-e,i,r,-e,i,-r,-e,-i,r,-e,-i,-r],n=[0,1,0,2,1,3,2,3,4,5,4,6,5,7,6,7,0,4,1,5,2,6,3,7],a=new t(t.defaultMap([t.POSITION]),o.length/3,n.length);return a.getAttributeBuffer(t.POSITION).set(o),a.getIndexBuffer().set(n),a.indexLengths=null,a.indexModes=["Lines"],a}return e.prototype.getMesh=function(){return this._meshes},e}),define("goo/debug/DebugDrawHelper",["goo/entities/components/LightComponent","goo/entities/components/CameraComponent","goo/entities/components/MeshRendererComponent","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight","goo/shapes/debug/LightDebug","goo/shapes/debug/CameraDebug","goo/shapes/debug/MeshRendererDebug","goo/renderer/Material","goo/renderer/Util","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderBuilder","goo/math/Transform"],function(t,e,i,r,o,n,a,s,h,c,l,u,d,p){"use strict";var f={},m=new a,g=new s,v=new h;return f.getRenderablesFor=function(t,e){var i,r;return"LightComponent"===t.type?(i=m.getMesh(t.light,e),r=c.createMaterial(u.simpleColored,"DebugDrawLightMaterial")):"CameraComponent"===t.type?(i=g.getMesh(t.camera,e),r=c.createMaterial(u.simpleLit,"DebugDrawCameraMaterial"),r.uniforms.materialAmbient=[.2,.2,.2,1],r.uniforms.materialDiffuse=[.8,.8,.8,1],r.uniforms.materialSpecular=[0,0,0,1]):"MeshRendererComponent"===t.type&&(i=v.getMesh(),r=c.createMaterial(u.simpleColored,"DebugMeshRendererComponentMaterial")),i.map(function(t){return{meshData:t,transform:new p,materials:[r]}})},f.update=function(t,e,i){if(e.camera&&e.camera.changedProperties){var r=e.camera;t.length>1&&r.far/r.near!==t[1].farNear&&(t[1].meshData=s.buildFrustum(r.far/r.near),t[1].farNear=r.far/r.near),e.camera.changedProperties=!1}f[e.type].updateMaterial(t[0].materials[0],e),t[1]&&f[e.type].updateMaterial(t[1].materials[0],e),t[1]&&f[e.type].updateTransform(t[1].transform,e);var n=t[0].transform.translation.distance(i)/30;t[0].transform.scale.setd(n,n,n),t[0].transform.update(),e.light&&e.light instanceof o&&(t[1]&&t[1].transform.scale.scale(n),t[1]&&t[1].transform.update())},f.LightComponent={},f.CameraComponent={},f.LightComponent.updateMaterial=function(t,e){var i=e.light,r=t.uniforms.color=t.uniforms.color||[];r[0]=i.color.data[0],r[1]=i.color.data[1],r[2]=i.color.data[2]},f.LightComponent.updateTransform=function(t,e){var i=e.light;if(!(i instanceof o)){var r=i.range;if(t.scale.setd(r,r,r),i instanceof n){var a=i.angle*Math.PI/180,s=Math.tan(a/2);t.scale.muld(s,s,1)}}t.update()},f.CameraComponent.updateMaterial=function(t){t.uniforms.color=t.uniforms.color||[1,1,1]},f.CameraComponent.updateTransform=function(t,e){var i=e.camera,r=i.far,o=r*Math.tan(i.fov/2*Math.PI/180),n=o*i.aspect;t.scale.setd(n,o,r),t.update()},f}),define("goo/debug/components/MarkerComponent",["goo/entities/components/Component","goo/shapes/ShapeCreator","goo/debug/BoundingVolumeMeshBuilder"],function(t,e,i){"use strict";function r(t){this.type="MarkerComponent";var e=t.meshDataComponent.modelBound;this.meshData=i.build(e)}return r.prototype=Object.create(t.prototype),r}),define("goo/debug/systems/MarkerSystem",["goo/entities/systems/System","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/shapes/ShapeCreator","goo/debug/components/MarkerComponent","goo/renderer/Renderer"],function(t,e,i,r,o,n){"use strict";function a(r){t.call(this,"MarkerSystem",["MarkerComponent"]),this.material=e.createMaterial(i.simpleColored,""),this.material.depthState.enabled=!1,this.material.shader.uniforms.color=[0,1,0],this.goo=r,this.renderer=this.goo.renderer,this.entities=[],this.goo.callbacks.push(function(){for(var t=0;t0}).map(function(t){return new RegExp(t)})}function stringifyTypedArray(t){if(0===t.length)return"[]";for(var e="["+t[0],i=1;ir)return i+"REACHED MAXIMUM DEPH\n";if(null===t)return i+"null\n";var o=typeof t;if("undefined"===o||"number"===o||"boolean"===o||"string"===o||t instanceof Array&&("string"==typeof t[0]||"number"==typeof t[0]||"boolean"==typeof t[0]))return i+JSON.stringify(t)+"\n";if(-1!==Object.prototype.toString.call(t).indexOf("Array]"))return i+stringifyTypedArray(t)+"\n";var n=[];for(var a in t)if(t.hasOwnProperty(a)){if("function"==typeof t[a])continue;for(var s in e)if(e[s].test(a)){var h=filterProperties(t[a],e,i+" ",r-1);n.push(i+a+"\n"+h);break}}return n.join("")}function updateMarker(t,e){t!==e?(null!==e&&e.hasComponent("MarkerComponent")&&e.clearComponent("MarkerComponent"),null!==t&&t.setComponent(new MarkerComponent(t))):t.hasComponent("MarkerComponent")?t.clearComponent("MarkerComponent"):t.setComponent(new MarkerComponent(t))}function displayInfo(t){var e=getFilterList(document.getElementById("debugparams").value);t&&console.log("==> ",t);var i=filterProperties(t,e,"",20),r=document.getElementById("debugtex");r.value=i}return Debugger.prototype._setUpREPL=function(){var lastCommStr="";document.getElementById("replintex").addEventListener("keyup",function(event){event.stopPropagation();var replinElemHandle=document.getElementById("replintex"),reploutElemHandle=document.getElementById("replouttex");if(13!==event.keyCode||event.shiftKey)38===event.keyCode&&(replinElemHandle.value=lastCommStr);else{var commStr=replinElemHandle.value.substr(0,replinElemHandle.value.length-1);lastCommStr=commStr;var entity=this.picked,goo=this.goo,resultStr="";try{resultStr+=eval(commStr)}catch(err){resultStr+=err}replinElemHandle.value="entity.",reploutElemHandle.value+="\n-------\n"+resultStr,displayInfo(this.picked)}}.bind(this),!1)},Debugger.prototype._setUpPicking=function(){document.addEventListener("mouseup",function(t){t.stopPropagation();var e=t.pageX,i=t.pageY;this.goo.pick(e,i,function(t){var e=this.goo.world.entityManager.getEntityById(t);e&&(this.oldPicked=this.picked,this.picked=e,this.picked===this.oldPicked&&(this.picked=null),this.exportPicked&&(window.picked=this.picked),displayInfo(this.picked),updateMarker(this.picked,this.oldPicked))}.bind(this))}.bind(this),!1)},Debugger.prototype.inject=function(t){return this.goo=t,createPanel(),this.goo.world.getSystem("MarkerSystem")||this.goo.world.setSystem(new MarkerSystem(this.goo)),this._setUpPicking(),document.getElementById("debugparams").addEventListener("keyup",function(){displayInfo(this.picked)}.bind(this)),this._setUpREPL(),this},Debugger}),define("goo/debug/EntityCounter",[],function(){"use strict";function t(t){this.goo=null,this.skipFrames=t||20,this.texHandle=null}function e(){var t=document.createElement("div");t.id="_entitycounterdiv";var e='Counter
';return t.innerHTML=e,t.style.position="absolute",t.style.zIndex="2001",t.style.backgroundColor="#BBBBBB",t.style.left="10px",t.style.bottom="10px",t.style.webkitTouchCallout="none",t.style.webkitUserSelect="none",t.style.khtmlUserSelect="none",t.style.mozUserSelect="none",t.style.msUserSelect="none",t.style.userSelect="none",t.style.padding="3px",t.style.borderRadius="6px",document.body.appendChild(t),document.getElementById("_entitycountertex")}return t.prototype.inject=function(t){this.goo=t,this.texHandle=e();var i=this,r=0;return this.goo.callbacks.push(function(){if(r--,0>=r){r=i.skipFrames;var t="";for(var e in i.goo.world._systems){var o=i.goo.world._systems[e];t+=o.type+": "+o._activeEntities.length+"\n"}i.texHandle.value=t}}),this},t}),define("goo/debug/FrustumViewer",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/ShapeCreator","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/shapes/Box","goo/shapes/Cylinder"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(){}function u(e,i,r,o){var n,a,s,h,c=e*Math.PI/180/2,l=Math.tan(c);n={x:-l*o*i,y:l*o,z:-o},a={x:-l*o*i,y:-l*o,z:-o},s={x:l*o*i,y:-l*o,z:-o},h={x:l*o*i,y:l*o,z:-o};var u,d,p,f;u={x:-l*r*i,y:l*r,z:-r},d={x:-l*r*i,y:-l*r,z:-r},p={x:l*r*i,y:-l*r,z:-r},f={x:l*r*i,y:l*r,z:-r};var m=[];m.push(n.x,n.y,n.z),m.push(a.x,a.y,a.z),m.push(s.x,s.y,s.z),m.push(h.x,h.y,h.z),m.push(u.x,u.y,u.z),m.push(d.x,d.y,d.z),m.push(p.x,p.y,p.z),m.push(f.x,f.y,f.z);var g=[];g.push(0,1),g.push(1,2),g.push(2,3),g.push(3,0),g.push(4,5),g.push(5,6),g.push(6,7),g.push(7,4),g.push(0,4),g.push(1,5),g.push(2,6),g.push(3,7);var v=new t(t.defaultMap([t.POSITION]),8,24);return v.getAttributeBuffer(t.POSITION).set(m),v.getIndexBuffer().set(g),v.indexLengths=null,v.indexModes=["Lines"],v}function d(r){var o=new e,n=new i,a=u(r.fov,r.aspect,r.near,r.far);o.addMeshData(a,n);var s=new c(32,.6),l=new c(32,.6),d=new h(.3,1,1.6),p=new h(.2,.15,.7);p.applyFunction(t.POSITION,function(t){return[t.x+t.x/(.3*(t.z+1.1)),t.y+t.y/(.3*(t.z+1.1)),t.z]}),n.translation.setd(0,0,0),n.update(),o.addMeshData(p,n),n.translation.setd(0,0,1.3),n.update(),o.addMeshData(d,n),n.scale.setd(1,1,.5),n.setRotationXYZ(0,Math.PI/2,0),n.translation.setd(0,1.2,.6),n.update(),o.addMeshData(s,n),n.translation.setd(0,1.2,2),n.update(),o.addMeshData(l,n);var f=o.build();return f[0]}return l.getMeshData=function(t){var e=d(t);return e},l.attachGuide=function(t){var e=t.getComponent("CameraComponent").camera,i=u(e.fov,e.aspect,e.near,e.far-e.far/1e3),r=new o(i);t.setComponent(r);var h=new n,c=a.createMaterial(s.simpleColored,"");return c.uniforms.color=[.5,.7,1],h.materials.push(c),t.setComponent(h),t},l.removeMesh=function(t){return t.hasComponent("cameraComponent")&&(t.clearComponent("meshDataComponent"),t.clearComponent("meshRendererComponent")),t},l}),define("goo/debug/LightPointer",["goo/renderer/MeshData","goo/util/MeshBuilder","goo/math/Transform","goo/shapes/ShapeCreator","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/math/MathUtils","goo/renderer/light/PointLight","goo/renderer/light/DirectionalLight","goo/renderer/light/SpotLight"],function(t,e,i,r,o,n,a,s,h,c,l,u){"use strict";function d(){}function p(e,i){e=e||1,i=i||8;for(var r=[],o=[],n=2*Math.PI/i,a=0,s=0;i>a;a++,s+=n)r.push(Math.cos(s)*e,Math.sin(s)*e,0),o.push(a,a+1);o[o.length-1]=0;var h=new t(t.defaultMap([t.POSITION]),i,o.length);return h.getAttributeBuffer(t.POSITION).set(r),h.getIndexBuffer().set(o),h.indexLengths=null,h.indexModes=["Lines"],h}function f(t){t=t||1;var r,o=new e,n=128,a=p(t,n);r=new i,o.addMeshData(a,r),r=new i,r.rotation.fromAngles(0,Math.PI/2,0),r.update(),o.addMeshData(a,r),r=new i,r.rotation.fromAngles(Math.PI/2,Math.PI/2,0),r.update(),o.addMeshData(a,r);var s=o.build();return s[0]}function m(e){e=e||8;for(var i=[0,0,0],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),1),r.push(0,n+1);var s=new t(t.defaultMap([t.POSITION]),e+1,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function g(t,r){t=t||45,r=r||1;for(var o=new e,n=64,a=2,s=r/2,c=Math.tan(t*h.DEG_TO_RAD/2)*s,l=1;a>=l;l++){var u=p(c*l,n),d=new i;d.translation.set(0,0,s*l),d.update(),o.addMeshData(u,d)}var f=m(4),d=new i;d.scale.set(c*a,c*a,s*a),d.update(),o.addMeshData(f,d);var g=o.build();return g[0]}function v(e){e=e||8;for(var i=[],r=[],o=2*Math.PI/e,n=0,a=0;e>n;n++,a+=o)i.push(Math.cos(a),Math.sin(a),0),i.push(Math.cos(a),Math.sin(a),1),r.push(2*n,2*n+1);var s=new t(t.defaultMap([t.POSITION]),2*e,r.length);return s.getAttributeBuffer(t.POSITION).set(i),s.getIndexBuffer().set(r),s.indexLengths=null,s.indexModes=["Lines"],s}function y(){for(var t=new e,r=64,o=2,n=10,a=2,s=0;o>s;s++){var h=p(a,r),c=new i;c.translation.set(0,0,n*s),c.update(),t.addMeshData(h,c)}var l=v(4),c=new i;c.scale.set(a,a,n*o),c.update(),t.addMeshData(l,c);var u=t.build();return u[0]}function x(t){var o=new e,n=new i,a=f(t.range),s=r.createSphere(8,8,.1);o.addMeshData(a,n),o.addMeshData(s,n);var h=o.build();return h[0]}function _(t){var o=new e,n=new i,a=g(t.angle,t.range),s=r.createSphere(8,8,.1);o.addMeshData(s,n),n.scale.setd(1,1,-1),n.update(),o.addMeshData(a,n);var h=o.build();return h[0]}function w(){var t=new e,o=new i;o.scale.setd(1,1,-1),o.update();var n=y(),a=r.createSphere(8,8,.1);t.addMeshData(n,o),t.addMeshData(a,o);var s=t.build();return s[0]}function b(t){return t instanceof c?x(t):t instanceof l?w(t):t instanceof u?_(t):void 0}return d.getMeshData=function(t){var e=b(t);return e},d.attachPointer=function(t){var e=t.getComponent("lightComponent").light,i=b(e),r=new o(i);t.setComponent(r);var h=new n;t.setComponent(h);var c=a.createMaterial(s.simpleColored,"");return c.uniforms.color=[e.color.data[0],e.color.data[1],e.color.data[2]],t.meshRendererComponent.materials.push(c),t},d.removeMesh=function(t){return t.clearComponent("meshDataComponent"),t.clearComponent("meshRendererComponent"),t},d}),define("goo/entities/systems/TransformSystem",["goo/entities/systems/System"],function(t){"use strict";function e(){t.call(this,"TransformSystem",["TransformComponent"])}return e.prototype=Object.create(t.prototype),e.prototype.process=function(t){var e,i;for(e=0;e0&&this._composersActive)for(var e=0;e1))for(var i=0,r=t.length;r>i;i++){var o=t[i],n=o.particleComponent;n.enabled&&this.updateParticles(o,n,e)}},e.prototype.updateParticles=function(t,e,i){for(var r,o=0,n=-1,a=!1,s=!1;on){if(r=e.emitters[n],r.influences.length)for(var h=0,c=r.influences.length;c>h;h++)r.influences[h].prepare(t,r);if(!r.enabled){r=void 0;continue}if(0!==r.totalParticlesToSpawn&&(r.particlesWaitingToRelease+=r.releaseRatePerSecond*i,r.particlesWaitingToRelease=Math.max(r.particlesWaitingToRelease,0),s=!0),r.particlesWaitingToRelease<1){r=void 0;continue}}else r=null;var l=e.particles[o];if(l.alive&&l.emitter&&l.emitter.influences.length)for(var h=0,c=l.emitter.influences.length;c>h;h++)l.emitter.influences[h].enabled&&l.emitter.influences[h].apply(i,l,o);l.alive&&(l.update(i,t),a=!0,s=!0),!l.alive&&r&&(r.particlesWaitingToRelease--,r.totalParticlesToSpawn>=1&&r.totalParticlesToSpawn--,l.respawnParticle(r),r.getEmissionPoint(l,t),r.getEmissionVelocity(l,t),(r.particlesWaitingToRelease<1||0===r.totalParticlesToSpawn)&&(r=void 0)),o++}a&&(e.meshData.vertexData._dataNeedsRefresh=!0,t.meshDataComponent.autoCompute=!0),s||(e.enabled=!1)},e}),define("goo/util/Stats",[],function(){"use strict";function t(){var t=Date.now(),e=t,i=t,r=0,o=1/0,n=0,a=0,s=1/0,h=0,c=0,l=0,u=document.createElement("div");u.id="stats",u.addEventListener("mousedown",function(t){t.preventDefault(),w(++l%2)},!1),u.style.cssText="width:80px;cursor:pointer;z-index:1000;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;";var d=document.createElement("div");d.id="fps",d.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002",u.appendChild(d);var p=document.createElement("div");p.id="fpsText",p.style.cssText="color:#0ff;font-family:Helvetica,Arial,sans-serif;font-size:8px;font-weight:bold;line-height:13px",p.innerHTML="FPS",d.appendChild(p);var f=document.createElement("div");for(f.id="fpsGraph",f.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff",d.appendChild(f);f.children.length<74;){var m=document.createElement("span");m.style.cssText="width:1px;height:30px;float:left;background-color:#113",f.appendChild(m)}var g=document.createElement("div");g.id="ms",g.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none",u.appendChild(g);var v=document.createElement("div");v.id="msText",v.style.cssText="color:#0f0;font-family:Helvetica,Arial,sans-serif;font-size:8px;font-weight:bold;line-height:13px",v.innerHTML="MS",g.appendChild(v);var y=document.createElement("div");for(y.id="msGraph",y.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0",g.appendChild(y);y.children.length<74;){var m=document.createElement("span");m.style.cssText="width:1px;height:30px;float:left;background-color:#131",y.appendChild(m)}var x=document.createElement("div");x.id="info",x.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#200",u.appendChild(x);var _=document.createElement("div");_.id="infoText",_.style.cssText="color:#f66;font-family:Helvetica,Arial,sans-serif;font-size:8px;font-weight:bold;line-height:13px",_.innerHTML="INFO",x.appendChild(_);var w=function(t){switch(l=t){case 0:d.style.display="block",g.style.display="none";break;case 1:d.style.display="none",g.style.display="block"}},b=function(t,e){var i=t.appendChild(t.firstChild);i.style.height=e+"px"};this.domElement=u,this.setMode=w,this.begin=function(){t=Date.now()},this.end=function(l){var u=Date.now();return u>i+100&&(r=u-t,o=Math.min(o,r),n=Math.max(n,r),v.textContent=r+" MS ("+o+"-"+n+")",b(y,Math.min(30,30-30*(r/200))),i=u,l&&(_.innerHTML="Calls: "+l.calls+"
Vertices: "+l.vertices+"
Indices: "+l.indices)),c++,u>e+1e3&&(a=Math.round(1e3*c/(u-e)),s=Math.min(s,a),h=Math.max(h,a),p.textContent=a+" FPS ("+s+"-"+h+")",b(f,Math.min(30,30-30*(a/(Math.min(500,h)+10)))),e=u,c=0),u},this.update=function(e){t=this.end(e)}}return t}),define("goo/entities/systems/CSSTransformSystem",["goo/entities/systems/System","goo/renderer/Renderer","goo/math/Matrix4x4","goo/math/MathUtils","goo/math/Vector3"],function(t,e,i,r,o){"use strict";function n(e){t.call(this,"CSSTransformSystem",["TransformComponent","CSSTransformComponent"]),this.renderer=e,this.viewDom=document.querySelector("#view"),this.containerDom=document.querySelector("#cam1"),this.containerDom2=document.querySelector("#cam2"),this.tmpMatrix=new i,this.tmpMatrix2=new i,this.tmpVector=new o}n.prototype=Object.create(t.prototype);var a=function(t){return Math.abs(t)<1e-6?0:t},s=["","-webkit-","-moz-","-ms-","-o-"],h=function(t,e,i){for(var r=0;ri||i>1)return this.start=e,this.animationId=window.requestAnimationFrame(this.run),void 0;i=Math.max(Math.min(i,.5),1e-4),y[x]=i,x=(x+1)%this.tpfSmoothingCount;for(var o=0,n=0;n=0;n--)this._takeSnapshots[n](s)}catch(h){console.error("Failed to take snapshot",h.message)}this._takeSnapshots=[]}this.animationId=window.requestAnimationFrame(this.run)},v.prototype._buildLogo=function(t){var e=document.createElement("div"),i=g.getLogo({width:"70px",height:"50px",color:g.blue}),r='Powered by';return e.innerHTML=''+r+i+"",e.style.position="absolute",e.style.zIndex="2000","topright"===t?(e.style.top="10px",e.style.right="10px"):"topleft"===t?(e.style.top="10px",e.style.left="10px"):"bottomright"===t?(e.style.bottom="10px",e.style.right="10px"):"bottomleft"===t?(e.style.bottom="10px",e.style.left="10px"):(e.style.top="10px",e.style.right="10px"),e.id="goologo",e.style.webkitTouchCallout="none",e.style.webkitUserSelect="none",e.style.khtmlUserSelect="none",e.style.mozUserSelect="none",e.style.msUserSelect="none",e.style.userSelect="none",e.ondragstart=function(){return!1},e},v.prototype._addDebugKeys=function(){var t="shiftKey";document.addEventListener("keydown",function(e){32===e.which&&e[t]?m.toggleFullScreen():13===e.which&&e[t]?m.togglePointerLock():49===e.which&&e[t]?this.renderSystem.setDebugMaterial():50!==e.which&&222!==e.which||!e[t]?51===e.which&&e[t]?this.renderSystem.setDebugMaterial("lit"):52===e.which&&e[t]?this.renderSystem.setDebugMaterial("color"):53===e.which&&e[t]?this.renderSystem.setDebugMaterial("wireframe"):54===e.which&&e[t]?this.renderSystem.setDebugMaterial("flat"):55!==e.which&&191!==e.which||!e[t]?56===e.which&&e[t]&&this.renderSystem.setDebugMaterial("+wireframe"):this.renderSystem.setDebugMaterial("texture"):this.renderSystem.setDebugMaterial("normals")}.bind(this),!1),document.addEventListener("mousedown",function(e){if(e[t]){var i=e.clientX,r=e.clientY;this.pick(i,r,function(t,e){var i=this.world.entityManager.getEntityById(t);console.log("Picked entity:",i,"At depth:",e)}.bind(this))}}.bind(this),!1)},v.prototype.addEventListener=function(t,e){!this._eventListeners[t]||this._eventListeners[t].indexOf(e)>-1||"function"==typeof e&&(this._eventListeners[t].push(e),1===this._eventListeners[t].length&&this._enableEvent(t))},v.prototype.removeEventListener=function(t,e){if(this._eventListeners[t]){var i=this._eventListeners[t].indexOf(e);i>-1&&this._eventListeners[t].splice(i,1),0===this._eventListeners[t].length&&this._disableEvent(t)}},v.prototype._dispatchEvent=function(t){for(var e in this._eventTriggered)if(this._eventTriggered[e]&&this._eventListeners[e]){for(var i={entity:t.entity,depth:t.depth,x:t.x,y:t.y,type:e,domEvent:this._eventTriggered[e],id:t.id},r=0;rthis._lastUpdate&&t-this._lastUpdatei;i++)this.layers[i].update(t)}},a.prototype.apply=function(t){var e=this.getCurrentSourceData(),i=this._skeletonPose;if(e){for(var a in e){var s=e[a];if(s instanceof r)i&&s._jointIndex>=0&&s.applyTo(i._localTransforms[s._jointIndex]);else if(s instanceof o)t&&(s.applyTo(t.transform),t.updateTransform(),this._updateWorldTransform(t));else if(s instanceof n){if(s.armed){for(var h=0,c=s._currentTriggers.length;c>h;h++){var l=this._triggerCallbacks[s._currentTriggers[h]];if(l&&l.length)for(var u=0,d=l.length;d>u;u++)l[u]()}s.armed=!1}}else s instanceof Array&&(this.floats[a]=s[0])}i&&i.updateTransforms()}},a.prototype._updateWorldTransform=function(t){t.updateWorldTransform();for(var e=0;et;t++)this.layers[t].postUpdate()},a.prototype.getCurrentSourceData=function(){if(0===this.layers.length)return[];var t=this.layers.length-1;this.layers[0]._layerBlender=null;for(var e=0;t>e;e++)this.layers[e+1].updateLayerBlending(this.layers[e]);return this.layers[t].getCurrentSourceData()},a.prototype.addLayer=function(t,e){isNaN(e)?this.layers.push(t):this.layers.splice(e,0,t)},a.prototype.resetClips=function(t){for(var e=0;eM;M++){var C=e[M];d+=(C.timeOffset?C.timeOffset:0)*r,null===x&&(d>i?void 0!==C.color&&(h=d,x=C):void 0!==C.color&&(o=d,f=C)),null===_&&(d>i?void 0!==C.mass&&(c=d,_=C):void 0!==C.mass&&(n=d,m=C)),i>=d&&void 0!==C.uvIndex&&(y=C),null===w&&(d>i?void 0!==C.size&&(l=d,w=C):void 0!==C.size&&(a=d,g=C)),null===b&&(d>i?void 0!==C.spin&&(u=d,b=C):void 0!==C.spin&&(s=d,v=C))}p=(i-o)/(h-o);var T=null!==f?f.color:[1,1,1,1],E=null!==x?x.color:T;t.color.data[0]=(1-p)*T[0]+p*E[0],t.color.data[1]=(1-p)*T[1]+p*E[1],t.color.data[2]=(1-p)*T[2]+p*E[2],t.color.data[3]=(1-p)*T[3]+p*E[3],p=(i-n)/(c-n);var T=null!==m?m.mass:1,E=null!==_?_.mass:T;t.mass=(1-p)*T+p*E,t.uvIndex=null!==y?y.uvIndex:0,p=(i-a)/(l-a);var T=null!==g?g.size:1,E=null!==w?w.size:T;t.size=(1-p)*T+p*E,p=(i-s)/(u-s);var T=null!==v?v.spin:0,E=null!==b?b.spin:T;t.spin=(1-p)*T+p*E},e}),define("goo/particles/Particle",["goo/particles/ParticleUtils","goo/math/Vector","goo/math/Vector3","goo/math/Vector4","goo/renderer/MeshData"],function(t,e,i,r,o){"use strict";function n(t,e){this.alive=!1,this.position=new i,this.velocity=new i,this.lifeSpan=0,this.parent=t,this.age=0,this.index=e,this.color=new r(1,0,0,1),this.size=0,this.spin=0,this.mass=1,this.emitter=null,this.uvIndex=0,this.lastUVIndex=-1,this.bbX=new i,this.bbY=new i,this.lastColor=new r}var a=new i;return n.prototype.respawnParticle=function(t){this.emitter=t,this.lifeSpan=t.nextParticleLifeSpan(),this.alive=!0,this.age=0},n.prototype.update=function(r,n){if(this.alive){if(this.age+=r,this.age>this.lifeSpan)return this.kill(),void 0;if(this.position.add_d(this.velocity.x*r,this.velocity.y*r,this.velocity.z*r),t.applyTimeline(this,this.emitter&&this.emitter.timeline?this.emitter.timeline:this.parent.timeline),!e.equals(this.lastColor,this.color)){var s=this.parent.meshData.getAttributeBuffer(o.COLOR);s.set(this.color.data,16*this.index+0),s.set(this.color.data,16*this.index+4),s.set(this.color.data,16*this.index+8),s.set(this.color.data,16*this.index+12),this.lastColor.setv(this.color)}if(this.emitter&&this.emitter.getParticleBillboardVectors(this,n),0===this.spin)this.bbX.muld(this.size,this.size,this.size),this.bbY.muld(this.size,this.size,this.size);else{var h=Math.cos(this.spin)*this.size,c=Math.sin(this.spin)*this.size,l=this.bbY.x,u=this.bbY.y,d=this.bbY.z;this.bbY.setv(this.bbX),this.bbX.muld(h,h,h).add_d(l*c,u*c,d*c),this.bbY.muld(-c,-c,-c).add_d(l*h,u*h,d*h)}var p=this.parent.meshData.getAttributeBuffer(o.POSITION);if(i.subv(this.position,this.bbX,a).subv(this.bbY),p.set(a.data,12*this.index+0),i.subv(this.position,this.bbX,a).addv(this.bbY),p.set(a.data,12*this.index+3),i.addv(this.position,this.bbX,a).addv(this.bbY),p.set(a.data,12*this.index+6),i.addv(this.position,this.bbX,a).subv(this.bbY),p.set(a.data,12*this.index+9),this.lastUVIndex!==this.uvIndex){var f=this.parent.meshData.getAttributeBuffer(o.TEXCOORD0),m=this.uvIndex%this.parent.uRange/this.parent.uRange,g=1-Math.floor(this.uvIndex/this.parent.vRange)/this.parent.vRange,v=1/this.parent.uRange,y=1/this.parent.vRange;f.set([m+v,g-y],8*this.index+0),f.set([m+v,g],8*this.index+2),f.set([m,g],8*this.index+4),f.set([m,g-y],8*this.index+6),this.lastUVIndex=this.uvIndex}}},n.prototype.kill=function(){this.alive=!1;var t=this.parent.meshData.getAttributeBuffer(o.POSITION),e=t.subarray(12*this.index,12*this.index+3);t.set(e,12*this.index+3),t.set(e,12*this.index+6),t.set(e,12*this.index+9)},n}),define("goo/particles/ParticleEmitter",["goo/particles/ParticleUtils","goo/renderer/Renderer"],function(t,e){"use strict"; +function i(e){e=e||{},this.totalParticlesToSpawn=isNaN(e.totalParticlesToSpawn)?-1:e.totalParticlesToSpawn,this.maxLifetime=isNaN(e.maxLifetime)?3:e.maxLifetime,this.minLifetime=isNaN(e.minLifetime)?2:e.minLifetime,this.timeline=e.timeline?e.timeline:void 0,this.influences=e.influences?e.influences:[],this.getEmissionPoint=e.getEmissionPoint?e.getEmissionPoint:function(e,i){var r=e.position;return r.setd(0,0,0),t.applyEntityTransformPoint(r,i)},this.getEmissionVelocity=e.getEmissionVelocity?e.getEmissionVelocity:function(e,i){var r=e.velocity;return r.setd(0,1,0),t.applyEntityTransformVector(r,i)},this.getParticleBillboardVectors=e.getParticleBillboardVectors?e.getParticleBillboardVectors:i.CAMERA_BILLBOARD_FUNC,this.releaseRatePerSecond=isNaN(e.releaseRatePerSecond)?10:e.releaseRatePerSecond,this.particlesWaitingToRelease=0,this.enabled=void 0!==e.enabled?e.enabled===!0:!0}return i.CAMERA_BILLBOARD_FUNC=function(t){var i=e.mainCamera;t.bbX.setv(i._left),t.bbY.setv(i._up)},i.prototype.nextParticleLifeSpan=function(){return this.minLifetime+(this.maxLifetime-this.minLifetime)*Math.random()},i}),define("goo/entities/components/ParticleComponent",["goo/entities/components/Component","goo/particles/Particle","goo/particles/ParticleEmitter","goo/renderer/MeshData"],function(t,e,i,r){"use strict";function o(e){if(this.type="ParticleComponent",t.call(this),e=e||{},this.emitters=[],e.emitters)for(var r=0,o=e.emitters.length;o>r;r++)this.emitters.push(new i(e.emitters[r]));this.timeline=e.timeline?e.timeline:[],this.uRange=isNaN(e.uRange)?1:e.uRange,this.vRange=isNaN(e.vRange)?1:e.vRange;var n=isNaN(e.particleCount)?100:e.particleCount;this.recreateParticles(n),this.enabled=!0}return o.prototype=Object.create(t.prototype),o.prototype.generateMeshData=function(){var t=r.defaultMap([r.POSITION,r.COLOR,r.TEXCOORD0]);this.meshData=new r(t,4*this.particleCount,6*this.particleCount);for(var e=this.meshData.getAttributeBuffer(r.TEXCOORD0),i=this.meshData.getIndexBuffer(),o=0,n=this.particleCount;n>o;o++)e.set([1,0],8*o+0),e.set([1,1],8*o+2),e.set([0,1],8*o+4),e.set([0,0],8*o+6),i.set([4*o+0,4*o+3,4*o+1,4*o+1,4*o+3,4*o+2],6*o)},o.prototype.recreateParticles=function(t){this.particleCount=t,this.particles=[];for(var i=0;in;n++){var h=this._interestComponents[n];if("ToolCameraEntity"!==o.name&&o.hasComponent(h)){var c,l=o.getComponent(h),u={full:this.doRender[h]||o.getComponent(h).forceDebug},d=this._renderablesTree[o.id]=this._renderablesTree[o.id]||{};d[h]&&(2===d[h].length&&u.full||1===d[h].length&&!u.full)?c=d[h]:(c=a.getRenderablesFor(l,u),c.forEach(function(t){t.id=o.id}),d[h]=c),c.forEach(function(t){t.transform.copy(o.transformComponent.worldTransform)}),a.update(c,l,this.camera.translation),c.forEach(function(t){this.renderList[i++]=t}.bind(this))}}this.selectionActive&&(this.renderList[i++]=this.selectionRenderable[0]),this.renderList.length=i,this.currentTpf=e},s.prototype.render=function(t){t.checkResize(this.camera),this.camera&&t.render(this.renderList,this.camera,this.lights,null,!1)},s.prototype.renderToPick=function(t,e){t.renderToPick(this.renderList,this.camera,!1,e)},s}),define("goo/util/gizmos/Gizmo",["goo/renderer/shaders/ShaderBuilder","goo/renderer/MeshData","goo/renderer/Shader","goo/renderer/Material","goo/renderer/Renderer","goo/math/Transform","goo/math/Matrix4x4","goo/math/Plane","goo/math/Ray","goo/math/Vector3"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(t,e){this.name=t||"Default Gizmo",this.gizmoRenderSystem=e,this._colors=[[1,.1,.3],[.2,1,.3],[.2,.3,1],[.8,.8,.8]],this._gizmoSize=1/60,this._plane=new s,this._line=new c,this._activeHandle=null,this._mouse={position:[0,0],oldPosition:[0,0]},this.dirty=!1,this.visible=!1,this.transform=new n,this.renderables=[],this.onChange=null,this._oldRay=new h,this._newRay=new h,this._result=new c,this._v0=new c,this._v1=new c,this._v2=new c,this._v3=new c,this._s0=new c,this._s1=new c,this._s2=new c,this._s3=new c}return l.handleStore=[],l.registerHandle=function(t){var e=l.handleStore.length+16e3;return l.handleStore.push(t),e},l.getHandle=function(t){return 16e3>t?null:l.handleStore[t-16e3]},l.prototype.getRenderable=function(t){for(var e=0;e=0;n--)this.renderables[n].transform.update(),a.combine(this.transform.matrix,this.renderables[n].transform.matrix,this.renderables[n].transform.matrix)},l.prototype._setPlane=function(){var t=this._plane.normal,e=this._v0,i=this._v1,r=this._v2,n=this._v3,a=this._s0,s=this._s1,h=this._s2,l=this._s3;"Plane"===this._activeHandle.type?(t.setv([c.UNIT_X,c.UNIT_Y,c.UNIT_Z][this._activeHandle.axis]),this.transform.matrix.applyPostVector(t),t.normalize(),e.setv(c.ZERO),this.transform.matrix.applyPostPoint(e),this._plane.constant=e.dot(t)):(e.setv(c.ZERO),this.transform.matrix.applyPostPoint(e),i.setv(c.UNIT_X),this.transform.matrix.applyPostPoint(i),r.setv(c.UNIT_Y),this.transform.matrix.applyPostPoint(r),n.setv(c.UNIT_Z),this.transform.matrix.applyPostPoint(n),o.mainCamera.getScreenCoordinates(e,1,1,a),o.mainCamera.getScreenCoordinates(i,1,1,s),s.subv(a),o.mainCamera.getScreenCoordinates(r,1,1,h),h.subv(a),o.mainCamera.getScreenCoordinates(n,1,1,l),l.subv(a),0===this._activeHandle.axis?h.cross(s).length()>l.cross(s).length()?t.setv(n).subv(e).normalize():t.setv(r).subv(e).normalize():1===this._activeHandle.axis?l.cross(h).length()>s.cross(h).length()?t.setv(i).subv(e).normalize():t.setv(n).subv(e).normalize():s.cross(l).length()>h.cross(l).length()?t.setv(r).subv(e).normalize():t.setv(i).subv(e).normalize(),this._plane.constant=e.dot(t))},l.prototype._setLine=function(){this._line.setv([c.UNIT_X,c.UNIT_Y,c.UNIT_Z][this._activeHandle.axis]),this.transform.matrix.applyPostVector(this._line),this._line.normalize()},l.prototype.addRenderable=function(t){t.originalColor=t.materials[0].uniforms.color,this.renderables.push(t)},l.prototype._buildMaterialForAxis=function(t,e){var i=r.createMaterial(l._shaderDef,t+"Material");return i.uniforms.color=this._colors[t],void 0!==e&&1>e&&(i.blendState.blending="CustomBlending",i.uniforms.opacity=e,i.renderQueue=3e3),i.cullState.enabled=!1,i},l._shaderDef={attributes:{vertexPosition:e.POSITION,vertexNormal:e.NORMAL},uniforms:{viewProjectionMatrix:i.VIEW_PROJECTION_MATRIX,worldMatrix:i.WORLD_MATRIX,cameraPosition:i.CAMERA,color:[1,1,1],opacity:1,light:[-20,20,20]},vshader:["attribute vec3 vertexPosition;","attribute vec3 vertexNormal;","uniform mat4 viewProjectionMatrix;","uniform mat4 worldMatrix;","uniform vec3 cameraPosition;","varying vec3 normal;","varying vec3 viewPosition;","void main(void) {"," vec4 worldPos = worldMatrix * vec4(vertexPosition, 1.0);"," gl_Position = viewProjectionMatrix * worldPos;"," normal = vertexNormal;"," viewPosition = cameraPosition - worldPos.xyz;","}"].join("\n"),fshader:["varying vec3 normal;","varying vec3 viewPosition;","uniform vec3 color;","uniform float opacity;","uniform vec3 light;","void main(void)","{"," vec3 N = normalize(normal);"," vec4 final_color = vec4(color, 1.0);"," vec3 lVector = normalize(light);"," float dotProduct = dot(N, lVector);"," float diffuse = max(dotProduct, 0.0);"," final_color.rgb *= (0.5*diffuse+0.5);"," final_color.a = opacity;"," gl_FragColor = final_color;","}"].join("\n")},l}),define("goo/shapes/Disk",["goo/renderer/MeshData"],function(t){"use strict";function e(e,i,r){if(1===arguments.length&&arguments[0]instanceof Object){var o=arguments[0];e=o.nSegments,i=o.radius,r=o.pointiness}this.nSegments=e||8,this.radius=i||1,this.pointiness=r||0;var n=t.defaultMap([t.POSITION,t.NORMAL,t.TEXCOORD0]);t.call(this,n,this.nSegments+1,this.nSegments+2),this.indexModes=["TriangleFan"],this.rebuild()}return e.prototype=Object.create(t.prototype),e.prototype.rebuild=function(){var e=[],i=[],r=[],o=[];e.push(0,0,this.pointiness),i.push(0,0,1),r.push(.5,.5),o.push(0);for(var n=Math.atan2(this.radius,this.pointiness),a=2*Math.PI/this.nSegments,s=1,h=0;s<=this.nSegments;s++,h+=a)e.push(Math.cos(h)*this.radius,Math.sin(h)*this.radius,0),i.push(Math.cos(h)*Math.cos(n),Math.sin(h)*Math.cos(n),Math.sin(n)),r.push(.5*Math.cos(h)+.5,.5*Math.sin(h)+.5),o.push(s);return o.push(1),this.getAttributeBuffer(t.POSITION).set(e),this.getAttributeBuffer(t.NORMAL).set(i),this.getAttributeBuffer(t.TEXCOORD0).set(r),this.getIndexBuffer().set(o),this},e}),define("goo/util/gizmos/TranslationGizmo",["goo/util/gizmos/Gizmo","goo/renderer/MeshData","goo/util/MeshBuilder","goo/shapes/Disk","goo/shapes/Quad","goo/math/Transform","goo/renderer/Renderer"],function(t,e,i,r,o,n,a){"use strict";function s(){t.call(this,"TranslationGizmo"),this._quadMesh=new o(2,2),this._arrowMesh=this._buildArrowMesh(),this._buildArrow(0),this._buildArrow(1),this._buildArrow(2)}return s.prototype=Object.create(t.prototype),s.prototype.activate=function(e){t.prototype.activate.call(this,e),this._setPlane(),"Axis"===this._activeHandle.type&&this._setLine()},s.prototype.process=function(){var t=this._mouse.oldPosition,e=this._mouse.position;a.mainCamera.getPickRay(t[0],t[1],1,1,this._oldRay),a.mainCamera.getPickRay(e[0],e[1],1,1,this._newRay),"Plane"===this._activeHandle.type?this._moveOnPlane():"Axis"===this._activeHandle.type&&this._moveOnLine(),t[0]=e[0],t[1]=e[1],this.updateTransforms(),this.dirty=!1,this.onChange instanceof Function&&this.onChange(this.transform.translation)},s.prototype.copyTransform=function(e,i){t.prototype.copyTransform.call(this,e),e&&i&&(this.transform.rotation.setIdentity(),this.updateTransforms())},s.prototype._moveOnPlane=function(){var t=this._v0,e=this._v1,i=this._result;this._plane.rayIntersect(this._oldRay,t),this._plane.rayIntersect(this._newRay,e),i.setv(e).subv(t),this.transform.translation.add(i)},s.prototype._moveOnLine=function(){var t=this._v0,e=this._v1,i=this._result,r=this._line;this._plane.rayIntersect(this._oldRay,t),this._plane.rayIntersect(this._newRay,e),i.setv(e).subv(t);var o=i.dot(r);i.setv(r).muld(o,o,o),this.transform.translation.addv(i)},s.prototype._buildArrow=function(e){var i=new n,r=new n,o=1;r.scale.setd(o,o,o),2===e?r.translation.setd(o,-o,0):0===e?(r.translation.setd(0,-o,o),r.setRotationXYZ(0,Math.PI/2,0),i.setRotationXYZ(0,Math.PI/2,0)):1===e&&(r.translation.setd(o,0,o),r.setRotationXYZ(Math.PI/2,0,0),i.setRotationXYZ(Math.PI/2,0,0)),this.addRenderable({meshData:this._arrowMesh,materials:[this._buildMaterialForAxis(e)],transform:i,id:t.registerHandle({type:"Axis",axis:e}),thickness:.6}),this.addRenderable({meshData:this._quadMesh,materials:[this._buildMaterialForAxis(e,.6)],transform:r,id:t.registerHandle({type:"Plane",axis:e})})},s.prototype._buildArrowMesh=function(){var t=new i,o=new r(32,.6,2.3),a=new r(32,.6),s=new e(e.defaultMap([e.POSITION]),2,2);s.getAttributeBuffer(e.POSITION).set([0,0,0,0,0,7]),s.getIndexBuffer().set([0,1]),s.indexLengths=null,s.indexModes=["Lines"];var h=new n;h.translation.setd(0,0,7),h.update(),t.addMeshData(o,h),h.setRotationXYZ(0,Math.PI,0),h.update(),t.addMeshData(a,h);var h=new n;h.update(),t.addMeshData(s,h);var c=t.build()[0];return c},s}),define("goo/util/gizmos/RotationGizmo",["goo/util/gizmos/Gizmo","goo/shapes/Sphere","goo/shapes/Torus","goo/math/Vector3","goo/math/Matrix3x3","goo/math/Transform","goo/renderer/Renderer","goo/math/Ray"],function(t,e,i,r,o,n,a,s){"use strict";function h(){t.call(this,"RotationGizmo"),this._ballMesh=new e(32,32,1.1),this._torusMesh=new i(64,8,.1,2.5),this._buildBall(),this._buildTorus(0),this._buildTorus(1),this._buildTorus(2),this._rotation=new o,this._rotationScale=4,this._axis=new r,this._direction=new r,this._ray=new s,this._m1=new o,this._m2=new o,this.snap=!1,this.accumulatedRotationX=0,this.accumulatedRotationY=0,this.accumulatedRotationThorX=0,this.accumulatedRotationThorY=0,this.accumulatedRotationThorZ=0,this.oldAngleX=0,this.oldAngleY=0,this.oldAngleZ=0}function c(t){return function(e){return Math.floor(e/t)*t}}function l(t,e){return function(i){var r=i%t;return r+=0>r?t:0,e>r?i-r:r>t-e?i+t-r:i}}h.prototype=Object.create(t.prototype),h.prototype.activate=function(e){t.prototype.activate.call(this,e);var i=this._v0,o=this._v1,n=this._v2,s=this._axis,h=this._ray;if(this._activeHandle.axis<3){s.setv([r.UNIT_X,r.UNIT_Y,r.UNIT_Z][this._activeHandle.axis]),this.transform.rotation.applyPost(s),i.setv(r.ZERO),this.transform.matrix.applyPostPoint(i),a.mainCamera.getPickRay(e.x,e.y,1,1,h),o.setv(h.origin).subv(i);var c=.9*o.length();o.setv(h.direction).muld(c,c,c).addv(h.origin),n.setv(o).subv(i),r.cross(s,n,n),n.addv(o),a.mainCamera.getScreenCoordinates(n,1,1,this._direction),this._direction.sub_d(e.x,1-e.y,0),this._direction.y*=-1,this._direction.z=0,this._direction.normalize()}},h.prototype.process=function(){var t=this._mouse.oldPosition,e=this._mouse.position,i=e[0]-t[0],r=e[1]-t[1];3===this._activeHandle.axis?this._rotateOnScreen(i,r):this._rotateOnAxis(i,r),t[0]=e[0],t[1]=e[1],this.updateTransforms(),this.dirty=!1,this.onChange instanceof Function&&this.onChange(this.transform.rotation)},h.prototype._rotateOnScreen=function(t,e){this._rotation.setIdentity(),this._rotation.rotateY(t*this._rotationScale),this._rotation.rotateX(e*this._rotationScale);var i=a.mainCamera.getViewMatrix().data,r=this._m1,n=this._m2;r.set(i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),n.set(r).invert(),n.combine(this._rotation),n.combine(r),o.combine(n,this.transform.rotation,this.transform.rotation)},c(Math.PI/8);var u=l(Math.PI/4,Math.PI/16),d=u;return h.prototype._rotateOnAxis=function(t,e){this._rotation.setIdentity();var i=t*this._direction.x+e*this._direction.y;if(i*=this._rotationScale,this.snap)switch(this._activeHandle.axis){case 0:this.accumulatedRotationThorX+=i;var r=d(this.accumulatedRotationThorX);this._rotation.rotateX(r-this.oldAngleX),this.oldAngleX=r;break;case 1:this.accumulatedRotationThorY+=i;var n=d(this.accumulatedRotationThorY);this._rotation.rotateY(n-this.oldAngleY),this.oldAngleY=n;break;case 2:this.accumulatedRotationThorZ+=i;var a=d(this.accumulatedRotationThorZ);this._rotation.rotateZ(a-this.oldAngleZ),this.oldAngleZ=a}else switch(this._activeHandle.axis){case 0:this.accumulatedRotationThorX+=i;var r=this.accumulatedRotationThorX;this._rotation.rotateX(r-this.oldAngleX),this.oldAngleX=r;break;case 1:this.accumulatedRotationThorY+=i;var n=this.accumulatedRotationThorY;this._rotation.rotateY(n-this.oldAngleY),this.oldAngleY=n;break;case 2:this.accumulatedRotationThorZ+=i;var a=this.accumulatedRotationThorZ;this._rotation.rotateZ(a-this.oldAngleZ),this.oldAngleZ=a}o.combine(this.transform.rotation,this._rotation,this.transform.rotation)},h.prototype._buildBall=function(){var e=new n;e.scale.setd(1.2,1.2,1.2),this.addRenderable({meshData:this._ballMesh,materials:[this._buildMaterialForAxis(3,.6)],transform:new n,id:t.registerHandle({type:"Rotate",axis:3})})},h.prototype._buildTorus=function(e){var i=new n;i.scale.setd(1.7,1.7,1.7),0===e?i.setRotationXYZ(0,Math.PI/2,0):1===e&&i.setRotationXYZ(Math.PI/2,0,0),this.addRenderable({meshData:this._torusMesh,materials:[this._buildMaterialForAxis(e)],transform:i,id:t.registerHandle({type:"Rotate",axis:e}),thickness:.35})},h}),define("goo/util/gizmos/ScaleGizmo",["goo/util/gizmos/Gizmo","goo/renderer/MeshData","goo/util/MeshBuilder","goo/shapes/Box","goo/math/Transform","goo/renderer/Renderer","goo/math/Vector3","goo/math/MathUtils"],function(t,e,i,r,o,n,a,s){"use strict";function h(e){t.call(this,"ScaleGizmo",e),this._boxMesh=new r(1.4,1.4,1.4),this._arrowMesh=this._buildArrowMesh(),this._scale=1,this._transformScale=new a,this._transformScale.setd(1,1,1),this._buildBox(),this._buildArrow(0),this._buildArrow(1),this._buildArrow(2)}return h.prototype=Object.create(t.prototype),h.prototype.activate=function(e){t.prototype.activate.call(this,e),3!==this._activeHandle.axis&&(this._setPlane(),this._setLine())},h.prototype.copyTransform=function(e){t.prototype.copyTransform.call(this,e),this._transformScale.setv(e.scale)},h.prototype.process=function(){var t=this._mouse.oldPosition,e=this._mouse.position;3===this._activeHandle.axis?this._scaleUniform():this._scaleNonUniform(),t[0]=e[0],t[1]=e[1],this.updateTransforms(),this.dirty=!1,this.onChange instanceof Function&&this.onChange(this._transformScale)},h.prototype._scaleUniform=function(){var t=this._mouse.oldPosition,e=this._mouse.position,i=Math.pow(1+e[0]+t[1]-t[0]-e[1],this._scale),r=this.gizmoRenderSystem.entity.transformComponent.worldTransform.translation,o=n.mainCamera.translation,a=o.distance(r);i+=a/2e5*s.sign(i-1),this._transformScale.muld(i,i,i)},h.prototype._scaleNonUniform=function(){var t=this._mouse.position,e=this._mouse.oldPosition;n.mainCamera.getPickRay(e[0],e[1],1,1,this._oldRay),n.mainCamera.getPickRay(t[0],t[1],1,1,this._newRay);var i=this._v0,r=this._v1,o=this._line,a=this._result;this._plane.rayIntersect(this._oldRay,i),this._plane.rayIntersect(this._newRay,r),a.setv(r).subv(i),a.div(this.transform.scale).scale(.07);var s=a.dot(o);a.setv(o).muld(s,s,s);var h=Math.pow(1+s,this._scale);switch(this._activeHandle.axis){case 0:this._transformScale.data[0]*=h;break;case 1:this._transformScale.data[1]/=h;break;case 2:this._transformScale.data[2]*=h}},h.prototype._buildBox=function(){this.addRenderable({meshData:this._boxMesh,materials:[this._buildMaterialForAxis(3)],transform:new o,id:t.registerHandle({type:"Scale",axis:3})})},h.prototype._buildArrow=function(e){var i=new o;0===e?i.setRotationXYZ(0,Math.PI/2,0):1===e&&i.setRotationXYZ(Math.PI/2,0,0),this.addRenderable({meshData:this._arrowMesh,materials:[this._buildMaterialForAxis(e)],transform:i,id:t.registerHandle({type:"Scale",axis:e})})},h.prototype._buildArrowMesh=function(){var t=new i,n=new r,a=new e(e.defaultMap([e.POSITION]),2,2);a.getAttributeBuffer(e.POSITION).set([0,0,0,0,0,1]),a.getIndexBuffer().set([0,1]),a.indexLengths=null,a.indexModes=["Lines"];var s=new o;s.translation.setd(0,0,8),s.update(),t.addMeshData(n,s);var s=new o;s.scale.setd(1,1,8),s.update(),t.addMeshData(a,s);var h=t.build()[0];return h},h}),define("goo/entities/systems/GizmoRenderSystem",["goo/entities/systems/System","goo/entities/SystemBus","goo/renderer/SimplePartitioner","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderFragment","goo/renderer/Util","goo/math/Matrix3x3","goo/math/Matrix4x4","goo/renderer/MeshData","goo/renderer/Shader","goo/util/gizmos/Gizmo","goo/util/gizmos/TranslationGizmo","goo/util/gizmos/RotationGizmo","goo/util/gizmos/ScaleGizmo"],function(t,e,i,r,o,n,a,s,h,c,l,u,d,p,f){"use strict";function m(i){t.call(this,"GizmoRenderSystem",null),this.renderables=[],this.camera=null,this.gizmos=[new d(this),new p(this),new f(this)],this.active=!1,this.nextGizmo=null,this.setupCallbacks(i),this.activeGizmo=null,this.viewportWidth=0,this.viewportHeight=0,this.domElement=null,this.global=!1,this.pickingMaterial=r.createEmptyMaterial(g,"pickingMaterial"),this.pickingMaterial.blendState={blending:"NoBlending",blendEquation:"AddEquation",blendSrc:"SrcAlphaFactor",blendDst:"OneMinusSrcAlphaFactor"},this.mouseMove=function(t){if(this.activeGizmo){var e=void 0!==t.offsetX?t.offsetX:t.layerX,i=void 0!==t.offsetY?t.offsetY:t.layerY;this.activeGizmo.update([e/this.viewportWidth,i/this.viewportHeight])}}.bind(this);var o=this;e.addListener("goo.setCurrentCamera",function(t){o.camera=t})}m.prototype=Object.create(t.prototype),m.prototype.activate=function(t,e,i){this.active=!0;var r=u.getHandle(t);r&&this.activeGizmo&&(this.activeGizmo.activate({id:t,data:r,x:e/this.viewportWidth,y:i/this.viewportHeight}),this.domElement.addEventListener("mousemove",this.mouseMove))},m.prototype.deactivate=function(){this.activeGizmo.deactivate(),this.active=!1,this.domElement.removeEventListener("mousemove",this.mouseMove),null!==this.nextGizmo&&(this.setActiveGizmo(this.nextGizmo),this.nextGizmo=null)},m.prototype.getGizmo=function(t){return this.gizmos[t]},m.prototype.show=function(t){this.entity=t,this.activeGizmo&&(this.entity?this.showGizmo(this.activeGizmo):this.hideGizmo(this.activeGizmo))},m.prototype.showGizmo=function(t){t.copyTransform(this.entity.transformComponent.worldTransform,this.global),t.visible||(this.renderables=t.renderables,t.visible=!0)},m.prototype.hideGizmo=function(t){t.visible&&(this.renderables=[],t.visible=!1)},m.prototype.setActiveGizmo=function(t){return this.active?(this.nextGizmo=t,void 0):(this.activeGizmo&&this.hideGizmo(this.activeGizmo),this.activeGizmo=this.gizmos[t]||null,this.activeGizmo&&this.entity&&this.showGizmo(this.activeGizmo),void 0)},m.prototype.setGlobal=function(t){this.global!==t&&(this.global=!!t,this.entity&&this.activeGizmo&&this.showGizmo(this.activeGizmo))},m.prototype.setupCallbacks=function(t){if(t&&3===t.length)return this.gizmos[0].onChange=t[0],this.gizmos[1].onChange=t[1],this.gizmos[2].onChange=t[2],void 0;var e=new s,i=new h;this.gizmos[0].onChange=function(t){if(this.entity){var e=this.entity.transformComponent.transform.translation;e.setv(t),this.entity.transformComponent.parent&&(i.copy(this.entity.transformComponent.parent.worldTransform.matrix),i.invert(),i.applyPostPoint(e)),this.entity.transformComponent.setUpdated()}}.bind(this),this.gizmos[1].onChange=function(t){this.entity&&(this.entity.transformComponent.transform.rotation.copy(t),this.entity.transformComponent.parent&&(e.copy(this.entity.transformComponent.parent.worldTransform.rotation),e.invert()),s.combine(e,this.entity.transformComponent.transform.rotation,this.entity.transformComponent.transform.rotation),this.entity.transformComponent.setUpdated())}.bind(this),this.gizmos[2].onChange=function(t){if(this.entity){var e=this.entity.transformComponent.transform.scale;e.setv(t),this.entity.transformComponent.parent&&e.div(this.entity.transformComponent.parent.worldTransform.scale),this.entity.transformComponent.setUpdated()}}.bind(this)},m.prototype.inserted=function(){},m.prototype.deleted=function(){},m.prototype.process=function(){this.activeGizmo&&(this.activeGizmo.dirty?this.activeGizmo.process():this.entity&&this.entity.transformComponent._updated&&this.activeGizmo.copyTransform(this.entity.transformComponent.worldTransform,this.global),this.activeGizmo.updateTransforms())},m.prototype.render=function(t){t.checkResize(this.camera),this.domElement||(this.domElement=t.domElement),this.viewportHeight=t.viewportHeight,this.viewportWidth=t.viewportWidth,this.camera&&t.render(this.renderables,this.camera,this.lights,null,{color:!1,stencil:!0,depth:!0},this.overrideMaterials)},m.prototype.renderToPick=function(t,e){for(var i=0;ii?(this.x0=t.data[0],this.x1=e.data[0],this.y0=i,this.y1=r,this.z0=t.data[2],this.z1=e.data[2]):(this.x0=e.data[0],this.x1=t.data[0],this.y0=r,this.y1=i,this.z0=e.data[2],this.z1=t.data[2]),this.betweenFaces=!1},t.prototype.computeDerivedData=function(){var t=this.x1-this.x0,e=this.y1-this.y0,i=this.z1-this.z0;this.dy=e,this.dx=t,this.dz=i,this.xIncrement=t/e,this.zIncrement=i/e},t.prototype.roundOccludeeCoordinates=function(){this.y0=Math.round(this.y0),this.y1=Math.round(this.y1)},t}),define("goo/renderer/scanline/EdgeData",[],function(){"use strict";function t(){var t=2,e=8,i=t*Int16Array.BYTES_PER_ELEMENT,r=e*Float32Array.BYTES_PER_ELEMENT;this._dataBuffer=new ArrayBuffer(i+r),this.floatData=new Float32Array(this._dataBuffer,0,e),this.integerData=new Int16Array(this._dataBuffer,r,t)}return t.prototype.setData=function(t){this.integerData[0]=t[0],this.integerData[1]=t[1],this.floatData[0]=t[2],this.floatData[1]=t[3],this.floatData[2]=t[4],this.floatData[3]=t[5],this.floatData[4]=t[6],this.floatData[5]=t[7],this.floatData[6]=t[8],this.floatData[7]=t[9]},t.prototype.getStartLine=function(){return this.integerData[0]},t.prototype.getStopLine=function(){return this.integerData[1]},t.prototype.getLongX=function(){return this.floatData[0]},t.prototype.setLongX=function(t){this.floatData[0]=t},t.prototype.getShortX=function(){return this.floatData[1]},t.prototype.setShortX=function(t){this.floatData[1]=t},t.prototype.getLongZ=function(){return this.floatData[2]},t.prototype.getShortZ=function(){return this.floatData[3]},t.prototype.getLongXIncrement=function(){return this.floatData[4]},t.prototype.getShortXIncrement=function(){return this.floatData[5]},t.prototype.getLongZIncrement=function(){return this.floatData[6]},t.prototype.getShortZIncrement=function(){return this.floatData[7]},t}),define("goo/renderer/scanline/OccludeeTriangleData",[],function(){"use strict";function t(t){var e=t.numberOfPositions,i=t.numberOfIndices;this.indexCount=0;var r=e*Float32Array.BYTES_PER_ELEMENT,o=i*Uint8Array.BYTES_PER_ELEMENT;this._dataBuffer=new ArrayBuffer(r+o),this.positions=new Float32Array(this._dataBuffer,0,e),this.indices=new Uint8Array(this._dataBuffer,r,i)}return t.prototype.addIndices=function(t){var e=this.indexCount;this.indices[e]=t[0],e++,this.indices[e]=t[1],e++,this.indices[e]=t[2],e++,this.indexCount=e},t.prototype.clear=function(){this.indexCount=0},t}),define("goo/renderer/scanline/BoundingBoxOcclusionChecker",["goo/math/Matrix4x4","goo/math/Vector4","goo/math/Vector2","goo/renderer/scanline/OccludeeTriangleData"],function(t,e,i,r){"use strict";function o(t){this.renderer=t,this._clipY=t.height-1,this._clipX=t.width-1,this._halfClipX=this._clipX/2,this._halfClipY=this._clipY/2}var n=0,a=1,s=2,h=4,c=8,l=new Uint8Array(8),u=new Float32Array(32),d=new Float32Array(5),p=new Uint8Array([0,3,4,3,7,4,0,4,5,0,5,1,2,1,5,2,5,6,3,2,6,3,6,7,0,1,2,0,2,3,5,4,6,7,6,4]),f=new Uint8Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,0,0,4,1,5,2,6,3,7]),m=new r({numberOfPositions:32,numberOfIndices:18}),g=new e(0,0,0,1),v=new e(0,0,0,1),y=new e(0,0,0,1),x=new Uint8Array(3),_=new t;return o.prototype.occlusionCull=function(t,e){return this._doSSAABBOcclusionTest(t,e)},o.prototype._doRenderedBoundingBoxOcclusionTest=function(t,e){if(this._copyEntityVerticesToPositionArray(t),!this._projectionTransformTriangleData(t,e))return!1;this._addVisibleTrianglesToTriangleData(),this._screenSpaceTransformTriangleData();for(var i=m.indexCount,r=0;i>r;)if(x[0]=m.indices[r++],x[1]=m.indices[r++],x[2]=m.indices[r++],!this.renderer.isRenderedTriangleOccluded(x,m.positions))return!1;return!0},o.prototype._doSSAABBOcclusionTest=function(e,i){this._copyEntityVerticesToPositionArray(e);var r=e.transformComponent.worldTransform.matrix;t.combine(i,r,_);for(var o=0;32>o;){var n=o++,a=o++,s=o++,h=o++;g.data[0]=u[n],g.data[1]=u[a],g.data[2]=u[s],g.data[3]=u[h],_.applyPost(g);var c=g.data[3];if(cm;m++){p=4*m,g.data[0]=t[p],g.data[1]=t[p+1],g.data[3]=t[p+3];var x=this._calculateOutCode(g);if(l[m]=x,x===n){u=Math.max(u,g.data[3]);var _=g.data[0];e=Math.min(e,_),i=Math.max(i,_);var w=g.data[1];r=Math.min(r,w),o=Math.max(o,w)}}for(var b,M,S,C=0;24>C;C++)for(S=f[C],p=4*S,g.data[0]=t[p],g.data[1]=t[p+1],g.data[3]=t[p+3],b=l[S],C++,S=f[C],p=4*S,v.data[0]=t[p],v.data[1]=t[p+1],v.data[3]=t[p+3],M=l[S];b|M&&!(b&M);){var T,E,P=b?b:M;if(P&c){if(T=(this._clipY-g.data[1])/(v.data[1]-g.data[1]),y.data[0]=g.data[0]+(v.data[0]-g.data[0])*T,y.data[1]=this._clipY,E=this._calculateOutCode(y),E===n){o=this._clipY;var _=y.data[0];e=Math.min(e,_),i=Math.max(i,_)}}else if(P&h){if(T=-g.data[1]/(v.data[1]-g.data[1]),y.data[0]=g.data[0]+(v.data[0]-g.data[0])*T,y.data[1]=0,E=this._calculateOutCode(y),E===n){r=0;var _=y.data[0];e=Math.min(e,_),i=Math.max(i,_)}}else if(P&s){if(T=(this._clipX-g.data[0])/(v.data[0]-g.data[0]),y.data[1]=g.data[1]+(v.data[1]-g.data[1])*T,y.data[0]=this._clipX,E=this._calculateOutCode(y),E===n){i=this._clipX;var w=y.data[1];r=Math.min(r,w),o=Math.max(o,w)}}else if(P&a&&(T=-g.data[0]/(v.data[0]-g.data[0]),y.data[1]=g.data[1]+(v.data[1]-g.data[1])*T,y.data[0]=0,E=this._calculateOutCode(y),E===n)){e=0;var w=y.data[1];r=Math.min(r,w),o=Math.max(o,w)}var D;P===b?(b=E,D=(1-T)*g.data[3]+T*v.data[3]):(M=E,D=(1-T)*v.data[3]+T*g.data[3]),u=Math.max(u,D)}d[0]=e,d[1]=i,d[2]=r,d[3]=o,d[4]=u},o.prototype._calculateOutCode=function(t){var e=n;return t.data[0]<0?e|=a:t.data[0]>this._clipX&&(e|=s),t.data[1]<0?e|=h:t.data[1]>this._clipY&&(e|=c),e},o.prototype._isBoundingBoxScanlineOccluded=function(t){for(var e=t[0],i=t[1],r=t[2],o=t[3],n=t[4],a=this.renderer.width,s=o;s>=r;s--)for(var h=s*a+e,c=e;i>=c;c++){if(this.renderer._depthData[h]l;l++){if(o=l+1,n=l+2,a=l+3,g.data[0]=u[l],g.data[1]=u[o],g.data[2]=u[n],g.data[3]=1,_.applyPost(g),s=g.data[3],se;e+=4){m.positions[e]=(m.positions[e]+1)*this._halfClipX;var i=e+1;m.positions[i]=(m.positions[i]+1)*this._halfClipY}},o}),define("goo/renderer/scanline/BoundingSphereOcclusionChecker",["goo/math/Matrix4x4","goo/math/Vector4"],function(t,e){"use strict";function i(t){this.renderer=t,this._clipY=t.height-1,this._clipX=t.width-1,this._halfClipX=this._clipX/2,this._halfClipY=this._clipY/2}var r=new e(0,0,0,1),o=new t,n=new Float32Array(20),a=[0,255,0],s=[0,190,190];return i.prototype.occlusionCull=function(e,i,a,s){var h=e.transformComponent.worldTransform.matrix;t.combine(i,h,o);var c=e.meshDataComponent.modelBound;r.data[0]=0,r.data[1]=0,r.data[2]=0,r.data[3]=1,o.applyPost(r);var l=e.transformComponent.transform.scale,u=l.maxAxis()*c.radius,d=r.data[0],p=r.data[1],f=r.data[2],m=Math.sqrt(d*d+p*p+f*f);if(u>=m)return!1;var g=m*Math.tan(Math.asin(u/m)),v=f+g;if(v>s)return!1;n[0]=d,n[1]=p,n[2]=v,n[4]=d-g,n[5]=p,n[6]=f,n[8]=d+g,n[9]=p,n[10]=f,n[12]=d,n[13]=p+g,n[14]=f,n[16]=d,n[17]=p-g,n[18]=f;for(var y=0;20>y;){var x=y++,_=y++,w=y++,b=y++;r.data[0]=n[x],r.data[1]=n[_],r.data[2]=n[w],r.data[3]=1,a.applyPost(r);var M=1/r.data[3];r.data[0]*=M,r.data[1]*=M,n[x]=(r.data[0]+1)*this._halfClipX,n[_]=(r.data[1]+1)*this._halfClipY,n[b]=M}return this._isSSAABBScanlineOccluded()},i.prototype._isSSAABBScanlineOccluded=function(){var t=n[3],e=n[4],i=n[8],r=n[13],o=n[17];e=Math.floor(e),i=Math.ceil(i),r=Math.ceil(r),o=Math.floor(o),0>e&&(e=0),i>this._clipX&&(i=this._clipX),r>this._clipY&&(r=this._clipY),0>o&&(o=0);for(var s,h=this.renderer.width,c=r;c>=o;c--){s=c*h+e;for(var l=e;i>=l;l++){if(this.renderer._colorData.set(a,4*s),this.renderer._depthData[s]=a&&1>=h||t.y<=0||e.y>=this._clipY){var f;return this._isCoordinateInsideScreen(t)&&(f=t.y*u+t.x,this.renderer._colorData.set(s,4*f)),this._isCoordinateInsideScreen(e)&&(f=e.y*u+e.x,this.renderer._colorData.set(s,4*f)),this._isCoordinateInsideScreen(r)&&(f=r.y*u+r.x,this.renderer._colorData.set(s,4*f)),this._isCoordinateInsideScreen(i)&&(f=i.y*u+i.x,this.renderer._colorData.set(s,4*f)),!0}var m=1;if(i.y>=this._clipY)a=0,p=this._clipY;else{var g=p-this._clipY;g>0&&(a-=g,m+=g,p=this._clipY);var v=-(i.y+1);v>0&&(a-=v)}a-=1;for(var y=0;a>y;y++){var x=c-d*m,_=Math.sqrt(l-x*x),w=Math.ceil(t.x+_),b=Math.floor(t.x-_);0>b&&(b=0),w>this._clipX&&(w=this._clipX);for(var f=p*this.width+b,M=b;w>=M;M++){if(this.renderer._colorData.set(n,4*f),this.renderer._depthData[f]p)return!0;if(a>=-1&&i.y<=this._clipY){var b=r.x+1;0>b&&(b=0);var w=i.x-1;w>this._clipX&&(w=this._clipX);for(var S=p*this.width+b,y=b;w>=y;y++){if(this.renderer._colorData.set(n,4*S),this.renderer._depthData[S]0&&(h-=g,m-=g);var C=-(e.y+1);C>0&&(h-=C),h-=1,c=i.x-e.x;for(var y=0;h>y;y++){var x=c-d*m,_=Math.sqrt(l-x*x),w=Math.ceil(t.x+_),b=Math.floor(t.x-_);0>b&&(b=0),w>this._clipX&&(w=this._clipX);for(var f=p*this.width+b,M=b;w>=M;M++){if(this.renderer._colorData.set(n,4*f),this.renderer._depthData[f]=0&&t.data[0]<=this._clipX&&t.data[1]<=this._clipY&&t.data[1]>=0},i}),define("goo/renderer/scanline/OccluderTriangleData",[],function(){"use strict";function t(t){var e=t.vertCount,i=t.indexCount,r=i/3,o=4*e,n=o+8*r,a=2*i;this.posCount=0,this.largestIndex=-1,this.indexCount=0;var s=n*Float32Array.BYTES_PER_ELEMENT,h=a*Uint8Array.BYTES_PER_ELEMENT;this._dataBuffer=new ArrayBuffer(s+h),this.positions=new Float32Array(this._dataBuffer,0,n),this.indices=new Uint8Array(this._dataBuffer,s,a)}return t.prototype.addVertex=function(t){var e=this.posCount;return this.positions[e]=t[0],e++,this.positions[e]=t[1],e++,this.positions[e]=t[2],e++,this.positions[e]=t[3],e++,this.posCount=e,this.largestIndex++,this.largestIndex},t.prototype.setCountersToNewEntity=function(t){this.indexCount=0;var e=t/3;this.posCount=4*e,this.largestIndex=e-1},t.prototype.addIndices=function(t){var e=this.indexCount;this.indices[e]=t[0],e++,this.indices[e]=t[1],e++,this.indices[e]=t[2],e++,this.indexCount=e},t}),define("goo/renderer/scanline/EdgeMap",["goo/renderer/scanline/Edge"],function(t){"use strict";function e(e){this._edges=new Array(e),this._edgeCount=0;for(var i=0;e>i;i++)this._edges[i]=new t;this._map={},this.numberOfSharedEdges=0}return e.prototype.addEdge=function(t,e,i,r){var o=this._indicesToKey(t,e);if(this._contains(o)){var n=this._map[o];this._edges[n].betweenFaces=!0,this.numberOfSharedEdges++}else{var a=this._indicesToKey(e,t),n=this._edgeCount,s=this._edges[n];s.setData(i,r,t,e),s.computeDerivedData(),this._map[o.toString()]=n,this._map[a.toString()]=n,this._edgeCount++}},e.prototype._contains=function(t){return this._map.hasOwnProperty(t)},e.prototype.getEdge=function(t,e){var i=this._indicesToKey(t,e),r=this._map[i];return this._edges[r]},e.prototype.clear=function(){this._map={},this._edgeCount=0,this.numberOfSharedEdges=0},e.prototype._indicesToKey=function(t,e){return(t<<8)+e},e}),define("goo/renderer/scanline/SoftwareRenderer",["goo/math/Vector4","goo/math/Matrix4x4","goo/renderer/scanline/Edge","goo/renderer/bounds/BoundingSphere","goo/renderer/bounds/BoundingBox","goo/renderer/scanline/EdgeData","goo/renderer/scanline/BoundingBoxOcclusionChecker","goo/renderer/scanline/BoundingSphereOcclusionChecker","goo/renderer/scanline/OccluderTriangleData","goo/renderer/scanline/EdgeMap"],function(t,e,i,r,o,n,a,s,h,c){"use strict";function l(t){t=t||{},this.width=t.width,this.height=t.height,this._clipY=this.height-1,this._clipX=this.width-1,this._halfClipX=this._clipX/2,this._halfClipY=this._clipY/2,this.camera=t.camera;var e=this.width*this.height,i=4*e*Uint8Array.BYTES_PER_ELEMENT,r=e*Float32Array.BYTES_PER_ELEMENT;this._frameBuffer=new ArrayBuffer(i+2*r),this._colorData=new Uint8Array(this._frameBuffer,0,4*e),this._depthData=new Float32Array(this._frameBuffer,i,e),this._depthClear=new Float32Array(this._frameBuffer,i+r,e);for(var o=0;e>o;o++)this._depthClear[o]=0;this._triangleData=new h({vertCount:t.maxVertCount,indexCount:t.maxIndexCount}),this.edgeMap=new c(t.maxVertCount),this.boundingBoxModule=new a(this),this.boundingSphereModule=new s(this),g.data[2]=-this.camera.near}var u=new Uint8Array(4),d=new Uint16Array(3),p=new t(0,0,0,1),f=new t(0,0,0,1),m=new t(0,0,0,1),g=new t(0,0,0,1),v=[p,f,m],y=new Uint8Array(3),x=new Uint8Array(3),_=new Uint8Array(3),w=new e,b=new e,M=new n,S=[new i,new i,new i];return l.prototype._clearDepthData=function(){this._depthData.set(this._depthClear)},l.prototype.render=function(t){this._clearDepthData();for(var e,i=this.camera.getViewMatrix(),r=this.camera.getProjectionMatrix(),o=0;on;n++)u[0]=this._triangleData.indices[n],u[1]=this._triangleData.indices[++n],u[2]=this._triangleData.indices[++n],this._renderTriangle(u)}},l.prototype._fillEdgeMap=function(){this.edgeMap.clear();for(var t=this._triangleData.indexCount,e=0;t>e;e++){var i=this._triangleData.indices[e],r=this._triangleData.indices[++e],o=this._triangleData.indices[++e],n=4*i;p.data[0]=this._triangleData.positions[n],p.data[1]=this._triangleData.positions[n+1],p.data[2]=this._triangleData.positions[n+3],n=4*r,f.data[0]=this._triangleData.positions[n],f.data[1]=this._triangleData.positions[n+1],f.data[2]=this._triangleData.positions[n+3],n=4*o,m.data[0]=this._triangleData.positions[n],m.data[1]=this._triangleData.positions[n+1],m.data[2]=this._triangleData.positions[n+3],this.edgeMap.addEdge(i,r,p,f),this.edgeMap.addEdge(r,o,f,m),this.edgeMap.addEdge(o,i,m,p)}},l.prototype.performOcclusionCulling=function(t){var i=this.camera.getViewMatrix(),n=this.camera.getProjectionMatrix();e.combine(n,i,w);for(var a=-this.camera.near,s=[],h=0;hs;s++)p.data[0]=r[s],s++,p.data[1]=r[s],s++,p.data[2]=r[s],b.applyPost(p),this._triangleData.positions[a]=p.data[0],a++,this._triangleData.positions[a]=p.data[1],a++,this._triangleData.positions[a]=p.data[2],a+=2;this._triangleData.setCountersToNewEntity(n)},l.prototype._nearPlaneClipAndAddTriangle=function(t){var e,i,r,o,n,a,s,h,c=this._categorizeVertices(-t);switch(c){case 0:this._triangleData.addIndices(u);break;case 3:break;case 1:e=y[0],i=v[e],r=i.data[0],o=i.data[1],n=v[x[0]],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(n.data[0]-r),g.data[1]=o+h*(n.data[1]-o),u[e]=this._triangleData.addVertex(g.data),n=v[x[1]],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(n.data[0]-r),g.data[1]=o+h*(n.data[1]-o),u[3]=this._triangleData.addVertex(g.data);var l=x[0],d=u[3];_[0]=u[e],_[1]=u[l],_[2]=d,this._triangleData.addIndices(_),_[0]=d,_[2]=u[x[1]],this._triangleData.addIndices(_);break;case 2:n=v[x[0]],a=n.data[0],s=n.data[1],e=y[0],i=v[e],r=i.data[0],o=i.data[1],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(a-r),g.data[1]=o+h*(s-o),u[e]=this._triangleData.addVertex(g.data),e=y[1],i=v[e],r=i.data[0],o=i.data[1],h=this._calculateIntersectionRatio(i,n,t),g.data[0]=r+h*(a-r),g.data[1]=o+h*(s-o),u[e]=this._triangleData.addVertex(g.data),this._triangleData.addIndices(u)}},l.prototype._screenSpaceTransformTriangleData=function(t){for(var e=this._triangleData.posCount,i=0;e>i;){var r=i++,o=i++,n=i++,a=i++;p.data[0]=this._triangleData.positions[r],p.data[1]=this._triangleData.positions[o],p.data[2]=this._triangleData.positions[n],p.data[3]=1,t.applyPost(p);var s=1/p.data[3],h=p.data[0]*s,c=p.data[1]*s;this._triangleData.positions[r]=(h+1)*this._halfClipX,this._triangleData.positions[o]=(c+1)*this._halfClipY,this._triangleData.positions[a]=s}},l.prototype._setupTriangleDataForEntity=function(t,e,i){this._viewSpaceTransformAndCopyVertices(t,e);for(var r=t.occluderComponent.meshData.indexData.data,o=r.length,n=this.camera.near,a=0;o>a;a++){u[0]=r[a],u[1]=r[++a],u[2]=r[++a],d[0]=4*u[0],d[1]=4*u[1],d[2]=4*u[2];var s=d[0];p.data[0]=this._triangleData.positions[s],p.data[1]=this._triangleData.positions[s+1],p.data[2]=this._triangleData.positions[s+2],s=d[1],f.data[0]=this._triangleData.positions[s],f.data[1]=this._triangleData.positions[s+1],f.data[2]=this._triangleData.positions[s+2],s=d[2],m.data[0]=this._triangleData.positions[s],m.data[1]=this._triangleData.positions[s+1],m.data[2]=this._triangleData.positions[s+2],this._isBackFacingCameraViewSpace(p,f,m)||this._nearPlaneClipAndAddTriangle(n)}this._screenSpaceTransformTriangleData(i)},l.prototype._categorizeVertices=function(t){for(var e=0,i=0,r=0;3>r;r++)v[r].data[2]<=t?(x[i]=r,i++):(y[e]=r,e++);return e},l.prototype._calculateIntersectionRatio=function(t,e,i){var r=t.data[2];return(r+i)/(r-e.data[2])},l.prototype._isBackFacingCameraViewSpace=function(t,e,i){var r=t.data[0],o=t.data[1],n=t.data[2],a=e.data[0]-r,s=e.data[1]-o,h=e.data[2]-n,c=i.data[0]-r,l=i.data[1]-o,u=i.data[2]-n,d=u*s-l*h,p=c*h-u*a,f=l*a-c*s,m=d*r+p*o+f*n;return m>0},l.prototype._isBackFacingProjected=function(t,e,i){var r=t.data[0],o=t.data[1],n=e.data[0]-r,a=e.data[1]-o,s=i.data[0]-r,h=i.data[1]-o,c=h*n-s*a;return 0>c},l.prototype._createOccludeeEdges=function(t,e){var i=4*t[0];p.data[0]=e[i],p.data[1]=e[i+1],p.data[2]=e[i+3],i=4*t[1],f.data[0]=e[i],f.data[1]=e[i+1],f.data[2]=e[i+3],i=4*t[2],m.data[0]=e[i],m.data[1]=e[i+1],m.data[2]=e[i+3],S[0].setData(p,f),S[1].setData(f,m),S[2].setData(m,p),S[0].roundOccludeeCoordinates(),S[1].roundOccludeeCoordinates(),S[2].roundOccludeeCoordinates(),S[0].computeDerivedData(),S[1].computeDerivedData(),S[2].computeDerivedData()},l.prototype._getLongEdgeAndShortEdgeIndices=function(){for(var t=S[0].dy,e=0,i=1;3>i;i++){var r=S[i].dy;r>t&&(t=r,e=i)}var o=(e+1)%3,n=(e+2)%3;return[e,o,n]},l.prototype._calculateOrientationData=function(t,e){var i=M.getShortX(),r=M.getLongX();return[r>i,e.z1this._clipY},l.prototype._horizontalLongEdgeCull=function(t,e){return e[0]?t.x1<0&&t.x0<0:t.x1>this._clipX&&t.x0>this._clipX},l.prototype._isEdgeOccluded=function(t,e){var i,r,o,n,a,s,h,c,l,u=t.getStartLine(),d=t.getStopLine(),p=t.getLongXIncrement(),f=t.getShortXIncrement(),m=t.getLongZIncrement(),g=t.getShortZIncrement();if(e[0])if(e[1])for(c=u;d>=c;c++){if(i=t.getShortX(),r=t.getLongX(),a=Math.floor(i),s=Math.ceil(r),o=t.getShortZ(),n=t.getLongZ(),h=s-a,l=.5/(h+1),n=(1-l)*n+l*o,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}else for(c=u;d>=c;c++){if(i=t.getShortX(),r=t.getLongX(),a=Math.floor(i),s=Math.ceil(r),o=t.getShortZ(),n=t.getLongZ(),h=s-a,l=.5/(h+1),o=(1-l)*o+l*n,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}else if(e[1])for(c=u;d>=c;c++){if(i=t.getLongX(),r=t.getShortX(),a=Math.floor(i),s=Math.ceil(r),o=t.getLongZ(),n=t.getShortZ(),h=s-a,l=.5/(h+1),n=(1-l)*n+l*o,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}else for(c=u;d>=c;c++){if(i=t.getLongX(),r=t.getShortX(),a=Math.floor(i),s=Math.ceil(r),o=t.getLongZ(),n=t.getShortZ(),h=s-a,l=.5/(h+1),o=(1-l)*o+l*n,!this._isScanlineOccluded(a,s,c,o,n))return!1;t.floatData[0]+=p,t.floatData[1]+=f,t.floatData[2]+=m,t.floatData[3]+=g}return!0},l.prototype._drawEdges=function(t,e,i){var r,o,n,a,s,h,c,l,u,d,p,f,m,g,v,y=t.getStartLine(),x=t.getStopLine(),_=t.getLongXIncrement(),w=t.getShortXIncrement(),b=t.getLongZIncrement(),M=t.getShortZIncrement(),S=i[0],C=i[1],T=.5,E=T,P=.5;if(e[0])if(e[1])for(p=S,r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),u=w,d=_,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setLongX(h+d),t.setShortX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[3]+=M,t.floatData[2]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),s=Math.ceil(r),h=Math.floor(o),m=s-r,g=o-r,v=m/g,n=(1-v)*n+v*a,g=h-s+1,v=.5/g,n=(1-v)*n+v*a,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M;else for(p=S,r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),u=w,d=_,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setLongX(h+d),t.setShortX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[3]+=M,t.floatData[2]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getShortX(),o=t.getLongX(),n=t.getShortZ(),a=t.getLongZ(),s=Math.ceil(r),h=Math.floor(o),m=o-h,g=o-r,v=m/g,a=(1-v)*a+v*n,g=h-s+1,v=.5/g,a=(1-v)*a+v*n,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M;else if(e[1])for(p=C,r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),u=_,d=w,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setShortX(h+d),t.setLongX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[2]+=M,t.floatData[3]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),s=Math.ceil(r),h=Math.floor(o),m=s-r,g=o-r,v=m/g,n=(1-v)*n+v*a,g=h-s+1,v=.5/g,n=(1-v)*n+v*a,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M;else for(p=C,r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),u=_,d=w,c=r+Math.abs(.5*u),p?(l=o+Math.abs(P*d),E=-T):l=o-Math.abs(.5*d),s=c+T,h=l-E,t.setShortX(h+d),t.setLongX(s+u),s=Math.ceil(s),h=Math.floor(h),t.floatData[2]+=M,t.floatData[3]+=b,this._fillPixels(s,h,y,n,a),y++,f=y;x>=f;f++)r=t.getLongX(),o=t.getShortX(),n=t.getLongZ(),a=t.getShortZ(),s=Math.ceil(r),h=Math.floor(o),m=o-h,g=o-r,v=m/g,a=(1-v)*a+v*n,g=h-s+1,v=.5/g,a=(1-v)*a+v*n,this._fillPixels(s,h,f,n,a),t.floatData[0]+=_,t.floatData[1]+=w,t.floatData[2]+=b,t.floatData[3]+=M},l.prototype._createEdgeData=function(t,e){var i=Math.ceil(e.y0),r=Math.floor(e.y1),o=t.zIncrement,n=e.zIncrement,a=e.xIncrement,s=t.xIncrement;if(i>r)return!1;if(i===r){if(!e.betweenFaces)return!1;a=0,s=0}var h=(e.y0-t.y0)/t.dy,c=t.x0+t.dx*h,l=t.z0+t.dz*h,u=e.x0,d=e.z0,p=i-e.y0;return c+=p*s,u+=p*a,l+=p*o,d+=p*n,0>i&&(c+=-i*s,u+=-i*a,l+=-i*o,d+=-i*n,i=0),r=Math.min(this._clipY,r),M.setData([i,r,c,u,l,d,s,a,o,n]),!0},l.prototype._isScanlineOccluded=function(t,e,i,r,o){if(t>e||0>e||t>this._clipX)return!0;var n;0>t&&(n=-t/(e-t+1),r=(1-n)*r+n*o,t=0);var a=e-this._clipX+1;a>0&&(n=a/(e-t+1),o=(1-n)*o+n*r,e=this._clipX);for(var s=i*this.width+t,h=r,c=(o-r)/(e-t),l=t;e>=l;l++){if(this._colorData.set([Math.min(255*h+50,255),0,0],4*s),h>this._depthData[s])return!1;s++,h+=c}return!0},l.prototype._fillPixels=function(t,e,i,r,o){if(!(0>e||t>this._clipX||t>e)){var n;0>t&&(n=-t/(e-t+1),r=(1-n)*r+n*o,t=0);var a=e-this._clipX+1;a>0&&(n=a/(e-t+1),o=(1-n)*o+n*r,e=this._clipX);for(var s=i*this.width+t,h=r,c=(o-r)/(e-t),l=t;e>=l;l++)h>this._depthData[s]&&(this._depthData[s]=h),s++,h+=c}},l.prototype.copyDepthToColor=function(){for(var t=0,e=0;e0?(i*=255,this._colorData[t]=i,this._colorData[++t]=i,this._colorData[++t]=i,this._colorData[++t]=255):(this._colorData[t]=0,this._colorData[++t]=0,this._colorData[++t]=0,this._colorData[++t]=0),t++}},l.prototype.getColorData=function(){return this._colorData},l.prototype.getDepthData=function(){return this._depthData},l.prototype.calculateDifference=function(t,e){for(var i=0;i0&&!(n>256*e[0]||a>256*e[1]||s>256*e[2]||h>256*e[3])&&(this._colorData[o]=255,this._colorData[o+1]=0,this._colorData[o+2]=0,this._colorData[o+3]=255)}},l}),define("goo/entities/systems/OcclusionCullingSystem",["goo/entities/systems/System","goo/renderer/SimplePartitioner","goo/renderer/scanline/SoftwareRenderer"],function(t,e,i){"use strict";function r(r){t.call(this,"OcclusionCullingSystem",["MeshRendererComponent"]),r=r||{},this.partitioner=new e,this.renderList=[],this.occluderList=[],this.camera=r.camera,this.renderer=new i({width:r.width,height:r.height,camera:r.camera})}return r.prototype=Object.create(t.prototype),r.prototype.inserted=function(t){this.partitioner&&this.partitioner.added(t)},r.prototype.deleted=function(t){this.partitioner&&this.partitioner.removed(t)},r.prototype.process=function(t){this.renderList.length=0,this.partitioner.process(this.camera,t,this.renderList),this._addVisibleOccluders(),this.renderer.render(this.occluderList),this.renderer.copyDepthToColor(),this.renderer.performOcclusionCulling(this.renderList)},r.prototype._addVisibleOccluders=function(){this.occluderList.length=0;for(var t=0;t0)for(var o=0;o1&&s[1]){var h=parseInt(s[1].substring(i.length),10);h>=n&&(n=h+1)}else n=1}return t+i+n},t.getUniqueName=function(e,i,r){return-1===i.indexOf(e)?e:t.getIndexedName(e,i,r)},t.toAscii=function(t){return t.replace(/([^\x00-\x7F])/g,"x")},t.hashCode=function(t){var e=0;if(0===t.length)return e;for(var i=0;in;n++)if(i.call(o,e[n],n,e)===r)return}else for(var s in e)if(t.has(e,s)&&i.call(o,e[s],s,e)===r)return};return t.deepClone=function(e){if(!e)return e;var i,r=[Number,String,Boolean];if(r.forEach(function(t){e instanceof t&&(i=t(e))}),"undefined"==typeof i)if("[object Array]"===Object.prototype.toString.call(e))i=[],e.forEach(function(e,r){i[r]=t.deepClone(e)});else if("object"==typeof e)if(e.nodeType&&"function"==typeof e.cloneNode)var i=e.cloneNode(!0);else if(e.prototype)i=e;else if(e instanceof Date)i=new Date(e);else{i={};for(var o in e)i[o]=t.deepClone(e[o])}else i=e;return i},t.indexOf=function(t,e){for(var i=0;il;l++)if(0===r[l])return;for(l=0;d>l;l++)for(n=0,c=0;p>c;c++){s=t.charCodeAt(c+l*p),h=c*d+l,n+=a.unzip(s);var f=(n+o[l])*r[l];u[h]=f}},a.fillAttributeBuffer=function(t,e,i){for(var r=e.getAttributeBuffer(i),o=0;oe&&(e+=s),e},a.getIntBufferFromCompressedString=function(e,i){for(var r=0,o=t.createIndexBuffer(e.length,i),n=0;n=57344&&(t-=2048),t-=35,t=t>>1^-(1&t)},a.parseTransform=function(t){var i=new e;return i.translation=a.parseVector3(t.translation),i.scale=a.parseVector3(t.scale),i.rotation=a.parseMatrix3(t.rotation),i},a.parseTransformQuat=function(t){var i=new e;return i.translation=a.parseVector3(t.translation),i.scale=a.parseVector3(t.scale),i.rotation=a.parseQuaternion(t.rotation).toRotationMatrix(),i},a.parseTransformEuler=function(t){var i=new e;i.translation=a.parseVector3(t.translation),i.scale=a.parseVector3(t.scale);var r=a.parseVector3(t.rotation);return i.setRotationXYZ(r.x,r.y,r.z),i},a.parseTransformMatrix=function(t){var i=new e;return i.matrix=a.parseMatrix4(t.matrix),i},a.parseMatrix3=function(t){var e=new i;return e.e00=t[0],e.e01=t[1],e.e02=t[2],e.e10=t[3],e.e11=t[4],e.e12=t[5],e.e20=t[6],e.e21=t[7],e.e22=t[8],e},a.parseMatrix4=function(t){var e=new r;return e.e00=t[0],e.e01=t[1],e.e02=t[2],e.e03=t[3],e.e10=t[4],e.e11=t[5],e.e12=t[6],e.e13=t[7],e.e20=t[8],e.e21=t[9],e.e22=t[10],e.e23=t[11],e.e30=t[12],e.e31=t[13],e.e32=t[14],e.e33=t[15],e},a.parseQuaternion=function(t){var e=new n;return e.x=t[0],e.y=t[1],e.z=t[2],e.w=t[3],e},a.parseVector3=function(t){return new o(t[0],t[1],t[2])},a.parseChannelTimes=function(t,e){var i=t.times;if(i){if(e){var r=t.timeOffsetScale,o=r[0],n=r[1];return a.parseFloatArrayFromCompressedString(i,[n],[o])}return i}return null},a.parseFloatLERPValues=function(t,e){var i=t.values;if(i){if(e){var r=t.offsetScale,o=r[0],n=r[1];return a.parseFloatArrayFromCompressedString(i,[n],[o])}return i}return null},a.parseRotationSamples=function(t,e,i){var r=t.rotationSamples;if(r){if(i){var o=1-(e+1>>1),n=1/-o;return a.parseFloatArrayFromCompressedString(r,[n,n,n,n],[o,o,o,o])}return a.parseQuaternionSamples(r)}return null},a.parseTranslationSamples=function(t,e,i){var r=t.uniformTranslation;if(r){for(var o=r,n=o[0],s=o[1],h=o[2],c=[],l=0;e>l;l++)c[3*l+0]=n,c[3*l+1]=s,c[3*l+2]=h;return c}var u=t.translationSamples;if(u){if(i){var d=t.translationOffsetScale,p=d[0],f=d[1],m=d[2],g=d[3];return a.parseFloatArrayFromCompressedString(u,[g,g,g],[p,f,m])}return a.parseVector3Samples(u)}return null},a.parseScaleSamples=function(t,e,i){var r=t.uniformScale;if(r){for(var o=r,n=o[0],s=o[1],h=o[2],c=[],l=0;e>l;l++)c[3*l+0]=n,c[3*l+1]=s,c[3*l+2]=h;return c}var u=t.scaleSamples;if(u){if(i){var d=t.scaleOffsetScale,p=d[0],f=d[1],m=d[2],o=d[3];return a.parseFloatArrayFromCompressedString(u,[o,o,o],[p,f,m])}return a.parseVector3Samples(u)}return null},a.parseQuaternionSamples=function(t){var e=t;if(!e)return null;for(var i=[],r=new n,o=0,a=e.length;a>o;o++){var s=e[o];if("*"===s)i[4*o+0]=r.x,i[4*o+1]=r.y,i[4*o+2]=r.z,i[4*o+3]=r.w;else if(s instanceof Array&&4===s.length){var h=s[0],c=s[1],l=s[2],u=s[3];r.set(h,c,l,u),i[4*o+0]=r.x,i[4*o+1]=r.y,i[4*o+2]=r.z,i[4*o+3]=r.w}}return i},a.parseVector3Samples=function(t){var e=t;if(!e)return null;for(var i=[],r=new o,n=0,a=e.length;a>n;n++){var s=e[n];if("*"===s)i[3*n+0]=r.x,i[3*n+1]=r.y,i[3*n+2]=r.z;else if(s instanceof Array&&3===s.length){var h=s[0],c=s[1],l=s[2];r.set(h,c,l),i[3*n+0]=r.x,i[3*n+1]=r.y,i[3*n+2]=r.z}}return i},a.parseFloatArrayFromCompressedString=function(t,e,i){var r,o,n,s,h,c=t,l=[],u=e.length,d=c.length/e.length;for(h=0;u>h;h++)for(r=0,s=0;d>s;s++){o=c.charCodeAt(s+h*d),n=s*u+h,r+=a.unzip(o);var p=(r+i[h])*e[h];l[n]=p}return l},a}),define("goo/loaders/handlers/MeshDataHandler",["goo/loaders/handlers/ConfigHandler","goo/renderer/MeshData","goo/animation/SkeletonPose","goo/loaders/JsonUtils","goo/util/PromiseUtil","goo/util/ArrayUtil"],function(t,e,i,r,o,n){"use strict";function a(){t.apply(this,arguments),this._objects={}}return a.prototype=Object.create(t.prototype),t._registerClass("mesh",a),a.prototype.update=function(t,e){var i=this;return this._objects[t]?o.createDummyPromise(this._objects[t]):e.binaryRef?this.getConfig(e.binaryRef).then(function(r){if(!r)throw new Error("Binary mesh data was empty");return i._createMeshData(e,r).then(function(e){return i._objects[t]=e})}):this._createMeshData(e,null).then(function(e){return i._objects[t]=e})},a.prototype.remove=function(){},a.prototype._createMeshData=function(t,e){var i;t.compression&&t.compression.compressed&&(i={compressedVertsRange:t.compression.compressedVertsRange||16383,compressedColorsRange:t.compression.compressedColorsRange||255,compressedUnitVectorRange:t.compression.compressedUnitVectorRange||1023});var r=this._createMeshDataObject(t);return this._fillMeshData(r,t,e,i),o.createDummyPromise(r)},a.prototype._createMeshDataObject=function(t){var i,r,o,n,a,s,h=t.data||t;if("SkinnedMesh"===t.type?(s=4,n=e.SKINMESH):(s=0,n=e.MESH),a=h.vertexCount,0===a)return null;if(r=null!=h.indexLengths?h.indexLengths[0]:null!=h.indices?h.indices.length:0,i={},h.vertices&&h.vertices.length>0&&(i.POSITION=e.createAttribute(3,"Float")),h.normals&&h.normals.length>0&&(i.NORMAL=e.createAttribute(3,"Float")),h.tangents&&h.tangents.length>0&&(i.TANGENT=e.createAttribute(4,"Float")),h.colors&&h.colors.length>0&&(i.COLOR=e.createAttribute(4,"Float")),s>0&&h.weights&&(i.WEIGHTS=e.createAttribute(4,"Float")),s>0&&h.joints&&(i.JOINTIDS=e.createAttribute(4,"Short")),h.textureCoords&&h.textureCoords.length>0)for(var c=0;c0)for(var u=c.textureCoords,d=0;d0&&null!=c.joints&&c.joints.length>0){var m=t.getAttributeBuffer(e.JOINTIDS),g=this._getIntBuffer(c.joints,32767,o,a);if(t.type===e.SKINMESH){for(var v=[],y=0,x=0;x>1),s=1/-o,a={offset:[o,o,o],scale:[s,s,s]};else if(t===e.TANGENT)o=1-(r.compressedUnitVectorRange+1>>1),s=1/-o,a={offset:[o,o,o,o],scale:[s,s,s,s]};else if(t===e.COLOR)o=0,s=1/(r.compressedColorsRange+1),a={offset:[o,o,o,o],scale:[s,s,s,s]};else if("TEXCOORD"===t.substr(0,8)){var c=parseInt(t.substr(8),10),l=h.textureCoords[c];a={offset:l.UVOffsets,scale:l.UVScales}}return a},a}),define("goo/loaders/handlers/MeshRendererComponentHandler",["goo/loaders/handlers/ComponentHandler","goo/entities/components/MeshRendererComponent","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/util/rsvp","goo/util/PromiseUtil","goo/util/ObjectUtil"],function(t,e,i,r,o,n,a){"use strict";function s(){t.apply(this,arguments)}return s.prototype=Object.create(t.prototype),t._registerClass("meshRenderer",s),s.prototype.constructor=s,s.prototype._prepare=function(t){return a.defaults(t,{materialRefs:[],cullMode:"Dynamic",castShadows:!0,receiveShadows:!0,hidden:!1})},s.prototype._create=function(t){var i=new e;return t.setComponent(i),i},s.prototype.update=function(e,s){var h,c=this,l=t.prototype.update.call(this,e,s),u=s.materialRefs;if(u&&0!==u.length){for(var d=[],p=function(t){return d.push(c._getMaterial(t))},f=0;fa;a++)if(n=this.passes[a],n.enabled&&(n.render(t,this.writeBuffer,this.readBuffer,e,s,i,r,this._clearColor),n.needsSwap)){if(s){var c=this.renderer.context;c.stencilFunc(o.NOTEQUAL,1,4294967295),this.copyPass.render(t,this.writeBuffer,this.readBuffer,e,i,r),c.stencilFunc(o.EQUAL,1,4294967295)}this.swapBuffers()}},r}),define("goo/renderer/pass/RenderPass",["goo/renderer/Renderer","goo/math/Vector4"],function(t,e){"use strict";function i(t,i){this.renderList=t,this.filter=i,this.clearColor=new e(0,0,0,0),this.oldClearColor=new e,this.renderToScreen=!1,this.overrideMaterial=null,this.enabled=!0,this.clear=!0,this.needsSwap=!1}return i.prototype.render=function(e,i,r,o,n,a,s,h){a=a||t.mainCamera,s=s||[],h&&(this.oldClearColor.setv(e.clearColor),e.setClearColor(h[0],h[1],h[2],h[3]));var c;if(c=this.filter?this.renderList.filter(this.filter):this.renderList,this.renderToScreen?e.render(c,a,s):e.render(c,a,s,r,this.clear,this.overrideMaterial),this.clearColor){var l=this.oldClearColor.data;e.setClearColor(l[0],l[1],l[2],l[3])}},i}),define("goo/loaders/handlers/ProjectHandler",["goo/loaders/handlers/ConfigHandler","goo/util/rsvp","goo/util/PromiseUtil","goo/util/Skybox","goo/math/MathUtils","goo/shapes/Sphere","goo/renderer/Renderer","goo/renderer/pass/Composer","goo/renderer/pass/RenderPass","goo/math/Vector4","goo/renderer/shaders/ShaderLib","goo/renderer/shaders/ShaderBuilder","goo/renderer/pass/FullscreenPass","goo/renderer/Util","goo/renderer/Texture","goo/entities/EntityUtils","goo/entities/SystemBus","goo/util/ArrayUtil","goo/util/ObjectUtil"],function(t,e,i,r,o,n,a,s,h,c,l,u,d,p,f,m,g,v,y){"use strict";function x(){t.apply(this,arguments),this._skybox=null,this._skyboxTexture=null,this._skyboxGeographic=!1,this._composer=null,this._passes=[]}return x.prototype=Object.create(t.prototype),t._registerClass("project",x),x.prototype._prepare=function(t){t.skybox=t.skybox||{},y.defaults(t.skybox,{shape:"Box",imageUrls:["","","","","",""],rotation:0,environmentType:1}),t.backgroundColor=t.backgroundColor||[.75,.76,.78,1],t.globalAmbient=t.globalAmbient||[0,0,0],t.useFog=t.useFog||!1,t.fogColor=t.fogColor||[1,1,1],t.fogNear=t.fogNear||0,t.fogFar=null==t.fogFar?1e3:t.fogFar},x.prototype._create=function(){},x.prototype._createSkybox=function(t,e,i,o,a){var a=a?n.TextureModes.Projected:n.TextureModes.Chromeball,s=new r(e,[],a,o),h=this._skybox=m.createTypicalEntity(t.world,s.meshData,s.materials[0],s.transform);h.name="Skybox_"+e,h.isSkybox=!0,h.transformComponent.updateWorldTransform(),h.meshRendererComponent.hidden=!0,t.world.getSystem("RenderSystem").added(h)},x.prototype._updateSkybox=function(t,n){if(t){var a=t.shape.toLowerCase(),s=t.rotation*o.DEG_TO_RAD,h=t.imageUrls,c=this._skybox?this._skybox.name.split("_")[1]:null;(!a||c!==a||"sphere"===c&&t.environmentType!==this._skyboxGeographic)&&(this._skybox&&this.world.getSystem("RenderSystem").removed(this._skybox),this._createSkybox(this.world.gooRunner,a,h,s,t.environmentType),this._skyboxTexture=null,c=a,this._skyboxGeographic=t.environmentType);var l=0;c===r.SPHERE&&(l=t.environmentType?Math.PI/2:Math.PI),this._skybox.transformComponent.transform.rotation.fromAngles(l,s,0),this._skybox.transformComponent.updateTransform(),this._skybox.transformComponent.updateWorldTransform();var d=this._skybox,p=d.meshRendererComponent.materials[0],m=this._skyboxTexture,v=!m;if(!v&&n&&n.skybox&&n.skybox.reload&&(v=!0),!v)if(m.image.data)for(var y=0;yn;n++){var a=e[n];if(i!==a.width||o!==a.height)return g.emit("goo.error.skybox",{type:"Box",message:"The skybox needs six images of the same size to display"}),d.meshRendererComponent.hidden=!0,p.setTexture("DIFFUSE_MAP",null),u.SKYBOX=null,u.SKYSPHERE=null,void 0;a.setAttribute("data-ref",h[n])}}m||(m=w._skyboxTexture=new f(null,{flipY:!1}),c===r.BOX&&(m.variant="CUBE")),m.setImage(e),c===r.BOX&&e.length&&(m.image.width=e[0].width,m.image.height=e[0].height,m.image.dataReady=!0),m.setNeedsUpdate(),(c===r.BOX&&e.length||e)&&(p.setTexture("DIFFUSE_MAP",m),c===r.BOX?(u.SKYBOX=m,u.SKYSPHERE=null):(u.SKYBOX=null,u.SKYSPHERE=m,u.ENVIRONMENT_TYPE=t.environmentType?1:0),d.meshRendererComponent.hidden=!1)})}},x.prototype._updateEntities=function(t){var r=this,o=[];if(t.entityRefs&&Array.isArray(t.entityRefs)&&t.entityRefs.length>0){for(var n=function(t){return o.push(r.getConfig(t).then(function(e){return r.updateObject(t,e,r.options)}))},a=0;a0||i.addToWorld()}}).then(null,function(t){return console.error("Error updating entities: "+t)})}return console.warn("No entity refs in project"),i.createDummyPromise(t)},x.prototype._updatePosteffects=function(t){var r=this,o=[],n=r.world.getSystem("RenderSystem");if(t.posteffectRefs&&Array.isArray(t.posteffectRefs)&&t.posteffectRefs.length>0){for(var a=function(t){return r.getConfig(t).then(function(e){return r.updateObject(t,e,r.options)})},c=0;c0?i.all(s).then(function(t){h.scripts=t[0]?t:[]}):r.createDummyPromise(h)},o}),define("goo/scripts/OrbitCamControlScript",["goo/math/Vector2","goo/math/Vector3","goo/math/MathUtils"],function(t,e,i){"use strict";function r(i){i=i||{};for(var r in n)this[r]="boolean"==typeof n[r]?void 0!==i[r]?i[r]===!0:n[r]:isNaN(n[r])?n[r]instanceof e?i[r]?new e(i[r]):(new e).set(n[r]):i[r]||n[r]:isNaN(i[r])?n[r]:i[r];this.name="OrbitCamControlScript",this.timeSamples=[0,0,0,0,0],this.xSamples=[0,0,0,0,0],this.ySamples=[0,0,0,0,0],this.sample=0,this.velocity=new t(0,0),this.targetSpherical=new e(this.spherical),this.cartesian=new e,this.dirty=!0,this.mouseState={buttonDown:!1,lastX:0/0,lastY:0/0},this.domElement&&this.setupMouseControls(),i.demoMode&&(this.demoMode=!0,this.moveInterval=i.moveInterval,this.lastTimeMoved=Date.now()+(i.moveInitialDelay-this.moveInterval))}function o(t,e,r){var o=(e+r)/2+(r>e?Math.PI:0),n=i.moduloPositive(t-o,i.TWO_PI),a=i.moduloPositive(e-o,i.TWO_PI),s=i.moduloPositive(r-o,i.TWO_PI);return 0>t&&e>0?e-=i.TWO_PI:t>0&&0>e&&(e+=i.TWO_PI),t>i.TWO_PI&&rn?e:n>s?r:t}var n={domElement:null,turnSpeedHorizontal:.005,turnSpeedVertical:.005,zoomSpeed:.2,dragOnly:!0,dragButton:-1,worldUpVector:new e(0,1,0),baseDistance:15,minZoomDistance:1,maxZoomDistance:1e3,minAscent:-89.95*i.DEG_TO_RAD,maxAscent:89.95*i.DEG_TO_RAD,clampAzimuth:!1,minAzimuth:90*i.DEG_TO_RAD,maxAzimuth:270*i.DEG_TO_RAD,releaseVelocity:!0,invertedX:!1,invertedY:!1,invertedWheel:!0,drag:5,maxSampleTimeMS:200,lookAtPoint:new e(0,0,0),spherical:new e(15,0,0),interpolationSpeed:7,onRun:null};return r.prototype.updateButtonState=function(t,e){this.domElement!==document&&this.domElement.focus(),!this.dragOnly||-1!==this.dragButton&&this.dragButton!==t||(this.mouseState.buttonDown=e,e?(this.mouseState.lastX=0/0,this.mouseState.lastY=0/0,this.velocity.set(0,0),this.spherical.y=i.moduloPositive(this.spherical.y,i.TWO_PI),this.targetSpherical.copy(this.spherical)):this.applyReleaseDrift())},r.prototype.updateDeltas=function(t,e){var i=0,r=0;isNaN(this.mouseState.lastX)||isNaN(this.mouseState.lastY)?(this.mouseState.lastX=t,this.mouseState.lastY=e):(i=-(t-this.mouseState.lastX),r=e-this.mouseState.lastY,this.mouseState.lastX=t,this.mouseState.lastY=e),this.dragOnly&&!this.mouseState.buttonDown||0===i&&0===r||(this.timeSamples[this.sample]=Date.now(),this.xSamples[this.sample]=i,this.ySamples[this.sample]=r,this.sample++,this.sample>this.timeSamples.length-1&&(this.sample=0),this.velocity.set(0,0),this.move(this.turnSpeedHorizontal*i,this.turnSpeedVertical*r))},r.prototype.move=function(t,e){var r=this.invertedX?-t:t,n=this.invertedY?-e:e;this.targetSpherical.y=this.clampAzimuth?o(this.targetSpherical.y-r,this.minAzimuth,this.maxAzimuth):this.targetSpherical.y-r,this.targetSpherical.z=i.clamp(this.targetSpherical.z+n,this.minAscent,this.maxAscent),this.dirty=!0},r.prototype.applyWheel=function(t){var e=(this.invertedWheel?-1:1)*Math.max(-1,Math.min(1,t.wheelDelta||-t.detail));this.zoom(this.zoomSpeed*e)},r.prototype.zoom=function(t){var e=t*this.baseDistance;this.targetSpherical.x=i.clamp(this.targetSpherical.x+e,this.minZoomDistance,this.maxZoomDistance),this.dirty=!0},r.prototype.applyReleaseDrift=function(){for(var t=Date.now(),e=0,i=0,r=!1,o=0,n=this.timeSamples.length;n>o;o++)t-this.timeSamples[o]i?t.zoom(1*t.zoomSpeed):i>1&&t.zoom(-1*t.zoomSpeed);break;case"touch":t.updateButtonState(0,!0);break;case"release":t.updateButtonState(0,!1);break;case"drag":t.updateDeltas(e.gesture.center.pageX,e.gesture.center.pageY),t.lastTimeMoved=Date.now()}})}this.domElement.oncontextmenu=function(){return!1}},r.prototype.updateVelocity=function(t){this.velocity.lengthSquared()>1e-6?(this.move(this.velocity.x,this.velocity.y),this.velocity.mul(i.clamp(i.lerp(t,1,1-this.drag),0,1)),this.dirty=!0):this.velocity.set(0,0,0)},r.prototype.run=function(t,e,r){if(this.demoMode){var o=Date.now();o-this.lastTimeMoved>this.moveInterval&&(this.lastTimeMoved=o,this.move(Math.round(Math.random())-.5,Math.round(Math.random())-.5))}r&&!this.domElement&&r.domElement&&(this.domElement=r.domElement,this.setupMouseControls());var n=t.transformComponent;if(n){var a=n.transform;if(this.releaseVelocity&&this.updateVelocity(t._world.tpf),this.dirty){var s=i.clamp(this.interpolationSpeed*t._world.tpf,0,1);this.spherical.y=this.clampAzimuth?i.lerp(s,this.spherical.y,this.targetSpherical.y):i.lerp(s,this.spherical.y,this.targetSpherical.y),this.spherical.x=i.lerp(s,this.spherical.x,this.targetSpherical.x),this.spherical.z=i.lerp(s,this.spherical.z,this.targetSpherical.z),i.sphericalToCartesian(this.spherical.x,this.spherical.y,this.spherical.z,this.cartesian),a.translation.set(this.cartesian.add(this.lookAtPoint)),a.translation.equals(this.lookAtPoint)||a.lookAt(this.lookAtPoint,this.worldUpVector),this.spherical.distanceSquared(this.targetSpherical)<1e-6&&(this.dirty=!1,this.spherical.y=i.moduloPositive(this.spherical.y,i.TWO_PI),this.targetSpherical.copy(this.spherical)),n.setUpdated()}}},r}),define("goo/scripts/OrbitNPanControlScript",["goo/scripts/OrbitCamControlScript","goo/renderer/Renderer","goo/math/Vector3","goo/math/MathUtils"],function(t,e,i,r){"use strict";function o(e){e=e||{},this.detailZoom=e.detailZoom||.15,this.zoomDistanceFactor=e.zoomDistanceFactor||.035,t.call(this,e),this.panState={buttonDown:!1,lastX:0/0,lastY:0/0,lastPos:new i},this.viewportWidth=0,this.viewportHeight=0,this.shiftKey=!1,this.altKey=!1,this.goingToLookAt=(new i).setv(this.lookAtPoint)}return o.prototype=Object.create(t.prototype),o.prototype.setupMouseControls=function(){var t=this;if(this.domElement.addEventListener("mousedown",function(e){t.shiftKey=e.shiftKey,t.altKey=e.altKey,t.updateButtonState(e.button,!0,e)},!1),document.addEventListener("mouseup",function(e){t.updateButtonState(e.button,!1,e)},!1),document.addEventListener("mousemove",function(e){t.updateDeltas(e.clientX,e.clientY)},!1),this.domElement.addEventListener("mousewheel",function(e){t.shiftKey=e.shiftKey,t.applyWheel(e.wheelDelta||-e.detail)},!1),this.domElement.addEventListener("DOMMouseScroll",function(e){t.shiftKey=e.shiftKey,t.applyWheel(e.wheelDelta||-e.detail)},!1),this.domElement.addEventListener("dragstart",function(t){t.preventDefault()},!1),this.domElement.oncontextmenu=function(){return!1},"undefined"!=typeof window.Hammer){var e=window.Hammer(this.domElement,{transform_always_block:!0,transform_min_scale:1});e.on("touch drag transform release",function(e){if(e.gesture&&"mouse"!==e.gesture.pointerType)switch(e.type){case"transform":var i=e.gesture.scale;1>i?t.applyWheel(1*t.zoomSpeed):i>1&&t.applyWheel(-1*t.zoomSpeed);break;case"touch":t.updateButtonState(2,!0);break;case"release":t.updateButtonState(2,!1);break;case"drag":t.updateDeltas(e.gesture.center.pageX,e.gesture.center.pageY)}})}},o.prototype.updateButtonState=function(e,i){2===e||0===e&&this.altKey?t.prototype.updateButtonState.call(this,0,i):(1===e||0===e&&this.shiftKey)&&(this.panState.buttonDown=i,i&&(this.panState.lastX=0/0,this.panState.lastY=0/0,this.panState.lastPos.setv(this.lookAtPoint)))},o.prototype.resetLookAt=function(t,e,i,o){this.goingToLookAt.setv(t),this.lookAtPoint.setv(t),this.panState.lastX=0/0,this.panState.lastY=0/0,this.panState.lastPos.setv(t),this.velocity.set(0),r.cartesianToSpherical(e,i,o,this.spherical),this.targetSpherical.setv(this.spherical),r.sphericalToCartesian(this.spherical.x,this.spherical.y,this.spherical.z,this.cartesian)},o.prototype.updateDeltas=function(r,o){t.prototype.updateDeltas.call(this,r,o);var n=new i,a=new i;if((isNaN(this.panState.lastX)||isNaN(this.panState.lastY))&&(this.panState.lastX=r,this.panState.lastY=o),this.panState.buttonDown){var s=e.mainCamera;s.getScreenCoordinates(this.panState.lastPos,1,1,a),a.x-=(r-this.panState.lastX)/this.viewportWidth,a.y+=(o-this.panState.lastY)/this.viewportHeight,s.getWorldCoordinates(a.x,a.y,1,1,a.z,n),this.lookAtPoint.setv(n),this.goingToLookAt.setv(this.lookAtPoint),this.dirty=!0 }},o.prototype.applyWheel=function(t){var t=(this.invertedWheel?-1:1)*r.clamp(t,-1,1);this.shiftKey&&(t*=this.detailZoom),t*=this.zoomDistanceFactor*this.targetSpherical.x,this.zoom(this.zoomSpeed*t)},o.prototype.run=function(e,i,r){if(!this.goingToLookAt.equals(this.lookAtPoint)){var o=7*i;this.lookAtPoint.lerp(this.goingToLookAt,o),this.dirty=!0}t.prototype.run.call(this,e,i,r),r&&(this.viewportWidth=r.viewportWidth,this.viewportHeight=r.viewportHeight)},o}),define("goo/scripts/WASDControlScript",["goo/math/Vector","goo/math/Vector3"],function(t,e){"use strict";function i(t){t=t||{},this.name="WASDControlScript",this.domElement=t.domElement||null,this.walkSpeed=isNaN(t.walkSpeed)?100:t.walkSpeed,this.crawlSpeed=isNaN(t.crawlSpeed)?10:t.crawlSpeed,this.fwdVector=t.fwdVector||new e(0,0,-1),this.leftVector=t.leftVector||new e(-1,0,0),this.crawlKey=isNaN(t.crawlKey)?16:t.crawlKey,this.forwardKey=isNaN(t.forwardKey)?87:t.forwardKey,this.backKey=isNaN(t.backKey)?83:t.backKey,this.strafeLeftKey=isNaN(t.strafeLeftKey)?65:t.strafeLeftKey,this.strafeRightKey=isNaN(t.strafeRightKey)?68:t.strafeRightKey,this.XZ=t.XZ||!1,this.onRun=t.onRun,this.moveState={strafeLeft:0,strafeRight:0,forward:0,back:0,crawling:!1},this.moveVector=new e(0,0,0),this.calcVector=new e,this.domElement&&this.setupKeyControls()}return i.prototype.updateMovementVector=function(){this.moveVector.x=this.moveState.strafeLeft-this.moveState.strafeRight,this.moveVector.z=this.moveState.forward-this.moveState.back},i.prototype.updateKeys=function(t,e){if(!t.altKey){var i=!1;switch(t.keyCode){case this.crawlKey:this.moveState.crawling=e;break;case this.forwardKey:this.moveState.forward=e?1:0,i=!0;break;case this.backKey:this.moveState.back=e?1:0,i=!0;break;case this.strafeLeftKey:this.moveState.strafeLeft=e?1:0,i=!0;break;case this.strafeRightKey:this.moveState.strafeRight=e?1:0,i=!0}i&&this.updateMovementVector()}},i.prototype.setupKeyControls=function(){var t=this;this.domElement.setAttribute("tabindex",-1),this.domElement.addEventListener("keydown",function(e){t.updateKeys(e,!0)},!1),this.domElement.addEventListener("keyup",function(e){t.updateKeys(e,!1)},!1)},i.prototype.run=function(i,r,o){o&&!this.domElement&&o.domElement&&(this.domElement=o.domElement,this.setupKeyControls());var n=i.transformComponent,a=n.transform;if(!t.equals(this.moveVector,e.ZERO)){this.calcVector.set(this.fwdVector.x*this.moveVector.z+this.leftVector.x*this.moveVector.x,this.fwdVector.y*this.moveVector.z+this.leftVector.y*this.moveVector.x,this.fwdVector.z*this.moveVector.z+this.leftVector.z*this.moveVector.x),this.calcVector.normalize();var s=i._world.tpf*(this.moveState.crawling?this.crawlSpeed:this.walkSpeed);this.calcVector.mul(s);var h=a.rotation;h.applyPost(this.calcVector),this.XZ&&(this.calcVector.data[1]=0),a.translation.add(this.calcVector),n.setUpdated()}},i}),define("goo/scripts/BasicControlScript",["goo/math/Vector3","goo/math/Matrix3x3"],function(t,e){"use strict";function i(i){i=i||{},this.domElement=void 0===i.domElement?null:i.domElement.domElement||i.domElement,this.name="BasicControlScript",this.movementSpeed=10,this.rollSpeed=2,this.movementSpeedMultiplier=1,this.mouseStatus=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new t(0,0,0),this.rotationVector=new t(0,0,0),this.multiplier=new t(1,1,1),this.rotationMatrix=new e,this.tmpVec=new t,this.handleEvent=function(t){"function"==typeof this[t.type]&&this[t.type](t)},this.keydown=function(t){if(!t.altKey){switch(t.keyCode){case 16:this.movementSpeedMultiplier=.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(t){switch(t.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;case 69:this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()},this.mousedown=function(t){this.domElement!==document&&this.domElement.focus(),t.preventDefault(),t=t.touches&&1===t.touches.length?t.touches[0]:t,this.mouseDownX=t.pageX,this.mouseDownY=t.pageY,this.mouseStatus=1,document.addEventListener("mousemove",this.mousemove,!1),document.addEventListener("mouseup",this.mouseup,!1),document.addEventListener("touchmove",this.mousemove,!1),document.addEventListener("touchend",this.mouseup,!1)}.bind(this),this.mousemove=function(t){this.mouseStatus>0&&(t=t.touches&&1===t.touches.length?t.touches[0]:t,this.moveState.yawLeft=t.pageX-this.mouseDownX,this.moveState.pitchDown=t.pageY-this.mouseDownY,this.updateRotationVector(),this.mouseDownX=t.pageX,this.mouseDownY=t.pageY)}.bind(this),this.mouseup=function(t){this.mouseStatus&&(t.preventDefault(),this.mouseStatus=0,this.moveState.yawLeft=this.moveState.pitchDown=0,this.updateRotationVector(),document.removeEventListener("mousemove",this.mousemove),document.removeEventListener("mouseup",this.mouseup),document.removeEventListener("touchmove",this.mousemove),document.removeEventListener("touchend",this.mouseup))}.bind(this),this.updateMovementVector=function(){var t=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-t+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!==document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.domElement&&this.setupMouseControls(),this.updateMovementVector(),this.updateRotationVector()}return i.prototype.setupMouseControls=function(){this.domElement.setAttribute("tabindex",-1),this.domElement.addEventListener("mousedown",this.mousedown,!1),this.domElement.addEventListener("touchstart",this.mousedown,!1),this.domElement.addEventListener("keydown",this.keydown.bind(this),!1),this.domElement.addEventListener("keyup",this.keyup.bind(this),!1)},i.prototype.externals=function(){return[{variable:"movementSpeed",type:"number"},{variable:"rollSpeed",type:"number"}]},i.prototype.run=function(e,i,r){r&&!this.domElement&&r.domElement&&(this.domElement=r.domElement,this.setupMouseControls());var o=e.transformComponent,n=o.transform,a=e._world.tpf,s=a*this.movementSpeed*this.movementSpeedMultiplier,h=a*this.rollSpeed*this.movementSpeedMultiplier;(!this.moveVector.equals(t.ZERO)||!this.rotationVector.equals(t.ZERO)||this.mouseStatus>0)&&(n.translation.x+=this.moveVector.x*s,n.translation.y+=this.moveVector.y*s,n.translation.z+=this.moveVector.z*s,this.tmpVec.x+=-this.rotationVector.x*h*this.multiplier.x,this.tmpVec.y+=this.rotationVector.y*h*this.multiplier.y,this.tmpVec.z+=this.rotationVector.z*h*this.multiplier.z,n.rotation.fromAngles(this.tmpVec.x,this.tmpVec.y,this.tmpVec.z),this.mouseStatus>0&&(this.moveState.yawLeft=0,this.moveState.pitchDown=0,this.updateRotationVector()),o.setUpdated())},i}),define("goo/loaders/handlers/ScriptHandler",["goo/loaders/handlers/ConfigHandler","goo/util/rsvp","goo/scripts/OrbitCamControlScript","goo/scripts/OrbitNPanControlScript","goo/scripts/WASDControlScript","goo/scripts/BasicControlScript","goo/util/PromiseUtil"],function(t,e,i,r,o,n,a){"use strict";function s(){t.apply(this,arguments)}return s.scripts={OrbitCamControlScript:i,OrbitNPanControlScript:r,WASDControlScript:o,BasicControlScript:n},s.prototype=Object.create(t.prototype),s.prototype.constructor=s,t._registerClass("script",s),s.prototype._prepare=function(){},s.prototype._create=function(){},s.prototype.update=function(t,e){var i=e.className,r=null;return s.scripts[i]instanceof Function&&(r=new s.scripts[i](e.options)),a.createDummyPromise(r)},s}),define("goo/statemachine/FSMComponent",["goo/entities/components/Component","goo/util/ArrayUtil","goo/entities/SystemBus"],function(t,e,i){"use strict";function r(){this.type="FSMComponent",this._machines=[],this.entity=null,this.vars={},this.system=null,this.time=0,this.active=!0}return r.prototype=Object.create(t.prototype),r.vars={},r.getVariable=function(t){return r.vars[t]},r.prototype.getVariable=function(t){return void 0!==this.vars[t]?this.vars[t]:r.getVariable(t)},r.applyOnVariable=function(t,e){r.vars[t]=e(r.vars[t])},r.prototype.applyOnVariable=function(t,e){void 0!==this.vars[t]?this.vars[t]=e(this.vars[t]):r.applyOnVariable(t,e)},r.prototype.defineVariable=function(t,e){this.vars[t]=e},r.prototype.removeVariable=function(t){delete this.vars[t]},r.applyOnVariable=function(t,e){this.vars[t]?this.vars[t]=e(this.vars[t]):r.vars[t]&&r.applyOnVariable(t,e)},r.prototype.addMachine=function(t){t._fsm=this,t.parent=this,this._machines.push(t)},r.prototype.removeMachine=function(t){t.recursiveRemove(),e.remove(this._machines,t)},r.prototype.init=function(){for(var t=0;t0?i.all(h).then(function(t){var e=c._machines;c._machines=[];for(var i=0;ii){if(e>t&&t>i)return!0}else if(i>e){if(i>t&&t>e)return!0}else if(t===i)return!0;return!1},n=o(t[0],e[0],i[0]),a=o(t[1],e[1],i[1]),s=o(t[2],e[2],i[2]);return n&&a&&s&&(r=!0),r}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"In Box",description:"Performs a transition based on whether an entity is inside a user defined box or not",canTransition:!0,parameters:[{name:"Point1",key:"point1",type:"position",description:"First box point","default":[-1,-1,-1]},{name:"Point2",key:"point2",type:"position",description:"Second box point","default":[1,1,1]},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!0}],transitions:[{key:"inside",name:"Inside",description:"State to transition to if the entity is inside the box"},{key:"outside",name:"Outside",description:"State to transition to if the entity is outside the box"}]},e.prototype._run=function(t){var e=t.getOwnerEntity(),r=e.transformComponent.worldTransform.translation,o=i(r.data,this.point1,this.point2);o?t.send(this.transitions.inside):t.send(this.transitions.outside)},e}),define("goo/statemachine/actions/CompareDistanceAction",["goo/statemachine/actions/Action","goo/math/Vector3","goo/renderer/Renderer"],function(t,e,i){"use strict";function r(){t.apply(this,arguments)}return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.external={name:"Compare Distance",description:"Performs a transition based on the distance to the main camera or to a location",canTransition:!0,parameters:[{name:"Current camera",key:"camera",type:"boolean",description:"Measure the distance to the current camera or to an arbitrary point","default":!0},{name:"Position",key:"position",type:"position",description:"Position to measure the distance to; Will be ignored if previous option is selected","default":[0,0,0]},{name:"Value",key:"value",type:"number",description:"Value to compare to","default":0},{name:"Tolerance",key:"tolerance",type:"number","default":.1},{name:"Type",key:"distanceType",type:"dropdown",description:"The type of distance","default":"Euclidean",options:["Euclidean","Manhattan"]},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!0}],transitions:[{key:"less",name:"Less",description:"State to transition to if the measured distance is smaller than the specified value"},{key:"equal",name:"Equal",description:"State to transition to if the measured distance is about the same as the specified value"},{key:"greater",name:"Greater",description:"State to transition to if the measured distance is greater than the specified value"}]},r.prototype._run=function(t){var r,o=t.getOwnerEntity(),n=o.transformComponent.worldTransform.translation;r=this.camera?e.sub(n,i.mainCamera.translation):e.sub(n,new e(this.position));var a;a="Euclidean"===this.type?r.length():Math.abs(r.x)+Math.abs(r.y)+Math.abs(r.z);var s=this.value-a;Math.abs(s)<=this.tolerance?t.send(this.transitions.equal):s>0?t.send(this.transitions.less):t.send(this.transitions.greater)},r}),define("goo/statemachine/actions/SetClearColorAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Set Clear Color",description:"Sets the clear color",parameters:[{name:"Color",key:"color",type:"color",description:"Color","default":[1,1,1]}],transitions:[]},e.prototype._run=function(t){var e=t.getOwnerEntity(),i=e._world.gooRunner;i.renderer.setClearColor(this.color[0],this.color[1],this.color[2],1)},e}),define("goo/statemachine/actions/InFrustumAction",["goo/statemachine/actions/Action","goo/renderer/Camera","goo/renderer/bounds/BoundingSphere"],function(t,e,i){"use strict";function r(){t.apply(this,arguments)}return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.external={name:"In Frustum",description:"Performs a transition based on whether the entity is in a camera's frustum or not",canTransition:!0,parameters:[{name:"Current camera",key:"current",type:"boolean",description:"Check this to always use the current camera","default":!0},{name:"Camera",key:"cameraEntityRef",type:"cameraEntity",description:"Other camera; Will be ignored if the previous option is checked","default":null},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!0}],transitions:[{key:"inside",name:"Inside",description:"State to transition to if entity is in the frustum"},{key:"outside",name:"Outside",description:"State to transition to if entity is outside the frustum"}]},r.prototype._setup=function(t){if(!this.current){var e=t.getOwnerEntity()._world,i=e.entityManager.getEntityByName(this.cameraEntityRef);this.camera=i.cameraComponent.camera}},r.prototype._run=function(t){var r=t.getOwnerEntity();if(this.current)r.isVisible?t.send(this.transitions.inside):t.send(this.transitions.outside);else{var o=r.meshRendererComponent?r.meshRendererComponent.worldBound:new i(r.transformComponent.worldTransform.translation,.001);this.camera.contains(o)===e.Outside?t.send(this.transitions.outside):t.send(this.transitions.inside)}},r}),define("goo/statemachine/actions/TransitionAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Transition",description:"Performs a transition",canTransition:!0,parameters:[],transitions:[{key:"transition",name:"To",description:"State to transition to"}]},e.prototype._run=function(t){t.send(this.transitions.transition)},e}),define("goo/statemachine/actions/EmitAction",["goo/statemachine/actions/Action","goo/entities/SystemBus"],function(t,e){"use strict";function i(){t.apply(this,arguments)}return i.prototype=Object.create(t.prototype),i.prototype.constructor=i,i.external={name:"Emit message",description:"Emits a message on the bus",parameters:[{name:"Channel",key:"channel",type:"string",description:"Channel to transmit on","default":""}],transitions:[]},i.prototype._run=function(){e.emit(this.channel,this.data)},i}),define("goo/statemachine/actions/EvalAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.expressionFunction=null}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Eval",description:"Evaluates a JS expression",parameters:[{name:"expression",key:"expression",type:"string",description:"JavaScript expression to evaluate","default":""}],transitions:[]},e.prototype._setup=function(){this.expressionFunction=new Function("goo",this.expression)},e.prototype._run=function(t){if(this.expressionFunction)try{this.expressionFunction(t.getEvalProxy())}catch(e){console.warn("Eval code error: "+e.message)}},e}),define("goo/statemachine/actions/SwitchCameraAction",["goo/statemachine/actions/Action","goo/entities/SystemBus","goo/renderer/Renderer"],function(t,e,i){"use strict";function r(){t.apply(this,arguments),this._camera=null}return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.external={name:"Switch Camera",description:"Switches between cameras",parameters:[{name:"Camera",key:"cameraEntityRef",type:"cameraEntity",description:"Camera to switch to","default":null}],transitions:[]},r.prototype.ready=function(){this._camera=i.mainCamera},r.prototype._run=function(t){var i=t.getOwnerEntity()._world,r=i.entityManager.getEntityByName(this.cameraEntityRef);r&&r.cameraComponent&&e.emit("goo.setCurrentCamera",r.cameraComponent.camera)},r.prototype.cleanup=function(){e.emit("goo.setCurrentCamera",this._camera)},r}),define("goo/statemachine/actions/LogMessageAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Log Message",description:"Prints a message in the debug console of your browser",parameters:[{name:"Message",key:"message",type:"string",description:"Message to print","default":"hello"},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!1}],transitions:[]},e.prototype._run=function(){console.log(this.message)},e}),define("goo/statemachine/actions/PauseAnimationAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Pause Animation",description:"Pauses animations",parameters:[{name:"On all",key:"onAll",type:"boolean",description:"Pause animation on all entities or just one","default":!1}],transitions:[]},e.prototype._run=function(t){if(this.onAll){var e=t.getWorld(),i=e.getSystem("AnimationSystem");i.pause()}else{var r=t.getOwnerEntity();r.animationComponent&&r.animationComponent.pause()}},e}),define("goo/statemachine/actions/ResumeAnimationAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Resume Animation",description:"Continues playing an animation",parameters:[{name:"On all",key:"onAll",type:"boolean",description:"Resume animation on all entities or just one","default":!1}],transitions:[]},e.prototype._run=function(t){if(this.onAll){var e=t.getWorld(),i=e.getSystem("AnimationSystem");i.resume()}else{var r=t.getOwnerEntity();r.animationComponent&&r.animationComponent.resume()}},e}),define("goo/statemachine/actions/SetAnimationAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.everyFrame=!1}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Set Animation",description:"Transitions between animations",parameters:[{name:"Animation",key:"animation",type:"animstate"}],transitions:[]},e.prototype._run=function(t){var e=t.getOwnerEntity();"string"==typeof this.animation&&e.animationComponent&&e.animationComponent.transitionTo(this.animation)},e}),define("goo/statemachine/actions/MouseUpAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.everyFrame=!0,this.updated=!1,this.eventListener=function(t){this.button=t.button,this.updated=!0}.bind(this)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Mouse Up",description:"Listens for a mouse button release and performs a transition",canTransition:!0,parameters:[],transitions:[{key:"mouseLeftUp",name:"Left mouse up",description:"State to transition to when the left mouse button is released"},{key:"middleMouseUp",name:"Middle mouse up",description:"State to transition to when the middle mouse button is released"},{key:"rightMouseUp",name:"Right mouse up",description:"State to transition to when the right mouse button is released"}]},e.prototype._setup=function(){document.addEventListener("mouseup",this.eventListener)},e.prototype._run=function(t){this.updated&&(this.updated=!1,t.send([this.transitions.mouseLeftUp,this.transitions.middleMouseUp,this.transitions.rightMouseUp][this.button]))},e.prototype.exit=function(){document.removeEventListener("mouseup",this.eventListener)},e}),define("goo/statemachine/actions/MouseDownAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.everyFrame=!0,this.updated=!1,this.eventListener=function(t){this.button=t.button,this.updated=!0}.bind(this)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Mouse Down",description:"Listens for a mouse button press and performs a transition",canTransition:!0,parameters:[],transitions:[{key:"mouseLeftDown",name:"Left mouse down",description:"State to transition to when the left mouse button is pressed"},{key:"middleMouseDown",name:"Middle mouse down",description:"State to transition to when the middle mouse button is pressed"},{key:"rightMouseDown",name:"Right mouse down",description:"State to transition to when the right mouse button is pressed"}]},e.prototype._setup=function(){document.addEventListener("mousedown",this.eventListener)},e.prototype._run=function(t){this.updated&&(this.updated=!1,t.send([this.transitions.mouseLeftDown,this.transitions.middleMouseDown,this.transitions.rightMouseDown][this.button]))},e.prototype.exit=function(){document.removeEventListener("mousedown",this.eventListener)},e}),define("goo/statemachine/actions/MouseMoveAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.everyFrame=!0,this.updated=!1,this.eventListener=function(){this.updated=!0}.bind(this)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Mouse Move",description:"Listens for mouse movement and performs a transition",canTransition:!0,parameters:[],transitions:[{key:"mousemove",name:"Mouse move",description:"State to transition to on mouse movement"}]},e.prototype._setup=function(){document.addEventListener("mousemove",this.eventListener)},e.prototype._run=function(t){this.updated&&(this.updated=!1,t.send(this.transitions.mousemove))},e.prototype.exit=function(){document.removeEventListener("mousemove",this.eventListener)},e}),define("goo/statemachine/actions/KeyUpAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments),this.everyFrame=!0,this.updated=!1,this.eventListener=function(t){this.key&&t.which!==+this.key||(this.updated=!0)}.bind(this)}return i.prototype=Object.create(t.prototype),i.prototype.constructor=i,i.external={name:"Key Up",description:"Listens for a key release and performs a transition",canTransition:!0,parameters:[{name:"Key",key:"key",type:"key",description:"Key to listen for","default":"A"}],transitions:[{key:"keyup",name:"Key up",description:"State to transition to when the key is released"}]},i.prototype.configure=function(t){this.key=t.key?e.getKey(t.key):null,this.transitions={keyup:t.transitions.keyup}},i.prototype._setup=function(){document.addEventListener("keyup",this.eventListener)},i.prototype._run=function(t){this.updated&&(this.updated=!1,t.send(this.transitions.keyup))},i.prototype.exit=function(){document.removeEventListener("keyup",this.eventListener)},i}),define("goo/statemachine/actions/KeyDownAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments),this.everyFrame=!0,this.updated=!1,this.eventListener=function(t){this.key&&t.which===+this.key&&(this.updated=!0)}.bind(this)}return i.prototype=Object.create(t.prototype),i.prototype.constructor=i,i.external={name:"Key Down",description:"Listens for a key press and performs a transition",canTransition:!0,parameters:[{name:"Key",key:"key",type:"key",description:"Key to listen for","default":"A"}],transitions:[{key:"keydown",name:"Key down",description:"State to transition to when the key is pressed"}]},i.prototype.configure=function(t){this.key=t.key?e.getKey(t.key):null,this.transitions={keydown:t.transitions.keydown}},i.prototype._setup=function(){document.addEventListener("keydown",this.eventListener)},i.prototype._run=function(t){this.updated&&(this.updated=!1,t.send(this.transitions.keydown))},i.prototype.exit=function(){document.removeEventListener("keydown",this.eventListener)},i}),define("goo/statemachine/actions/KeyPressedAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments),this.everyFrame=!0,this.keyIsDown=!1,this.eventListenerDown=function(t){t.which===+this.key&&(this.keyIsDown=!0)}.bind(this),this.eventListenerUp=function(t){t.which===+this.key&&(document.removeEventListener("keydown",this.eventListenerUp),this.keyIsDown=!1)}.bind(this)}return i.prototype=Object.create(t.prototype),i.prototype.constructor=i,i.external={name:"Key Pressed",description:"Listens for a key press and performs a transition. Works over transition boundaries.",canTransition:!0,parameters:[{name:"Key",key:"key",type:"key",description:"Key to listen for"}],transitions:[{key:"keydown",name:"Key pressed",description:"State to transition to when the key is pressed"}]},i.prototype.configure=function(t){this.key=t.key?e.getKey(t.key):null,this.transitions={keydown:t.transitions.keydown}},i.prototype._setup=function(){document.addEventListener("keydown",this.eventListenerDown),document.addEventListener("keyup",this.eventListenerUp)},i.prototype._run=function(t){this.keyIsDown&&t.send(this.transitions.keydown)},i.prototype.exit=function(){document.removeEventListener("keydown",this.eventListenerDown)},i}),define("goo/statemachine/actions/WASDAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.updated=!1,this.keysPressed={},this.eventListener=function(t){var i=e._keys[t.which];void 0!==i&&(this.updated=!0,this.keysPressed[i]=!0)}.bind(this)}return e.prototype=Object.create(t.prototype),e.prototype.configure=function(t){this.everyFrame=!0,this.targets=t.transitions},e._keys={87:"w",65:"a",83:"s",68:"d"},e.external=function(){var t=[];for(var i in e._keys){var r=e._keys[i];t.push({key:r,name:"Key "+r.toUpperCase(),description:"Key '"+r+"' pressed"})}return{name:"WASD Keys Listener",description:"A 4-in-1 key down listener",canTransition:!0,parameters:[],transitions:t}}(),e.prototype._setup=function(){document.addEventListener("keydown",this.eventListener)},e.prototype._run=function(t){if(this.updated){this.updated=!1;for(var e in this.keysPressed){var i=this.targets[e];"string"==typeof i&&t.send(i)}this.keysPressed=[]}},e.prototype.exit=function(){document.removeEventListener("keydown",this.eventListener)},e}),define("goo/statemachine/actions/ArrowsAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.updated=!1,this.keysPressed={},this.eventListener=function(t){var i=e._keys[t.which];void 0!==i&&(this.updated=!0,this.keysPressed[i]=!0)}.bind(this)}return e.prototype=Object.create(t.prototype),e.prototype.configure=function(t){this.everyFrame=!0,this.targets=t.transitions},e._keys={38:"up",37:"left",40:"down",39:"right"},e.external=function(){var t=[];for(var i in e._keys){var r=e._keys[i];t.push({name:"Key "+r.toUpperCase(),key:r,description:"Key '"+r+"' pressed"})}return{name:"Arrow Keys Listener",description:"A 4-in-1 key down listener",canTransition:!0,parameters:[],transitions:t}}(),e.prototype._setup=function(){document.addEventListener("keydown",this.eventListener)},e.prototype._run=function(t){if(this.updated){this.updated=!1;for(var e in this.keysPressed){var i=this.targets[e];"string"==typeof i&&t.send(i)}this.keysPressed=[]}},e.prototype.exit=function(){document.removeEventListener("keydown",this.eventListener)},e}),define("goo/statemachine/actions/SetRenderTargetAction",["goo/statemachine/actions/Action","goo/entities/components/PortalComponent","goo/entities/systems/PortalSystem","goo/math/Vector3","goo/entities/components/CameraComponent","goo/renderer/Camera","goo/renderer/Material","goo/renderer/shaders/ShaderLib"],function(t,e,i,r,o,n,a,s){"use strict";function h(){t.apply(this,arguments)}return h.prototype=Object.create(t.prototype),h.prototype.constructor=h,h.external={name:"Set Render Target",description:"Renders what a camera sees on the current entity's texture",parameters:[{name:"Camera",key:"cameraEntityRef",type:"cameraEntity",description:"Camera to use as source","default":null}],transitions:[]},h.prototype._run=function(t){var r=t.getOwnerEntity(),o=r._world;if(!o.getSystem("PortalSystem")){var n=o.getSystem("RenderSystem"),h=o.gooRunner.renderer;o.setSystem(new i(h,n))}var c=o.entityManager.getEntityByName(this.cameraEntityRef),l=c.cameraComponent.camera,u=a.createMaterial(s.textured,"");this.oldMaterials=r.meshRendererComponent.materials,r.meshRendererComponent.materials=[u];var d=new e(l,500,{preciseRecursion:!0});r.setComponent(d)},h.prototype.cleanup=function(t){var e=t.getOwnerEntity();e.meshRendererComponent.materials=this.oldMaterials},h}),define("goo/statemachine/actions/WaitAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.everyFrame=!0,this.currentTime=0,this.totalWait=0}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Wait",description:"Performs a transition after a specified amount of time",canTransition:!0,parameters:[{name:"Base Time",key:"waitTime",type:"number",description:"Base time in seconds before transition fires","default":5},{name:"Random Time",key:"randomTime",type:"number",description:"Add up to this much Random time to the base time","default":0}],transitions:[{key:"timeUp",name:"Time up",description:"State to transition to when time up"}]},e.prototype._setup=function(){this.currentTime=0,this.totalWait=parseFloat(this.waitTime)+Math.random()*parseFloat(this.randomTime)},e.prototype._run=function(t){this.currentTime+=t.getTpf(),this.currentTime>=this.totalWait&&t.send(this.transitions.timeUp)},e}),define("goo/statemachine/actions/RandomTransitionAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Random Transition",description:"Performs a random transition",canTransition:!0,parameters:[{name:"Skewness",key:"skewness",type:"float",control:"slider",min:0,max:1,description:"Determines the chance that the first destination is picked over the second","default":1}],transitions:[{key:"transition1",name:"Destination 1",description:"First choice"},{key:"transition2",name:"Destination 2",description:"Second choice"}]},e.prototype._run=function(t){Math.random()<+this.skewness?t.send(this.transitions.transition1):t.send(this.transitions.transition2)},e}),define("goo/statemachine/actions/ShakeAction",["goo/statemachine/actions/Action","goo/math/Vector3"],function(t,e){"use strict";function i(){t.apply(this,arguments)}return i.prototype=Object.create(t.prototype),i.prototype.constructor=i,i.external={name:"Shake",description:"Shakes the entity",canTransition:!0,parameters:[{name:"Start level",key:"startLevel",type:"number",description:"Shake amount at start","default":0},{name:"End level",key:"endLevel",type:"number",description:"Shake amount at the end","default":10},{name:"Time",key:"time",type:"number",description:"Shake time amount","default":1e3},{name:"Speed",key:"speed",type:"dropdown",description:"Speed of shaking","default":"Fast",options:["Fast","Medium","Slow"]}],transitions:[{key:"complete",name:"On Completion",description:"State to transition to when the shake completes"}]},i.prototype.configure=function(t){this.startLevel=t.startLevel,this.endLevel=t.endLevel,this.time=t.time,this.speed={Fast:1,Medium:2,Slow:4}[t.speed],this.easing=window.TWEEN.Easing.Quadratic.InOut,this.eventToEmit={channel:t.transitions.complete}},i.prototype._setup=function(){this.tween=new window.TWEEN.Tween},i.prototype.cleanup=function(){this.tween&&this.tween.stop()},i.prototype._run=function(t){var i=t.getOwnerEntity(),r=i.transformComponent,o=r.transform.translation,n=new e,a=new e,s=new e,h=this,c=0;this.tween.from({level:+this.startLevel}).to({level:+this.endLevel},+this.time).easing(this.easing).onUpdate(function(){c++,c>h.speed&&(c=0,a.setd(-n.data[0]+2*(Math.random()-.5)*this.level,-n.data[1]+2*(Math.random()-.5)*this.level,-n.data[2]+2*(Math.random()-.5)*this.level)),s.setd(.98*s.data[0]+.1*a.data[0],.98*s.data[1]+.1*a.data[1],.98*s.data[2]+.1*a.data[2]),o.add(s).sub(n),n.copy(s),r.setUpdated()}).onComplete(function(){o.sub(n),r.setUpdated(),t.send(this.eventToEmit.channel)}.bind(this)).start(1e3*t.getTime())},i}),define("goo/particles/ParticleLib",["goo/particles/ParticleUtils"],function(){"use strict";var t={};return t.getSmoke=function(t){return t=t||{},t.scale="undefined"!=typeof t.scale?t.scale:1,t.spread="undefined"!=typeof t.spread?t.speed:2,t.velocity="undefined"!=typeof t.velocity?t.velocity:2,t.color=t.color||[0,0,0],{totalParticlesToSpawn:-1,releaseRatePerSecond:25,minLifetime:.5,maxLifetime:4,getEmissionVelocity:function(e){var i=e.velocity;return i.data[0]=2*(Math.random()-.5)*t.spread*t.scale,i.data[1]=(Math.random()+4)*t.velocity*t.scale,i.data[2]=2*(Math.random()-.5)*t.spread*t.scale,i},timeline:[{timeOffset:0,spin:0,mass:1,size:3*t.scale,color:[t.color[0],t.color[1],t.color[2],1]},{timeOffset:1,size:6*t.scale,color:[t.color[0],t.color[1],t.color[2],0]}]}},t.getFire=function(t){return t=t||{},t.scale="undefined"!=typeof t.scale?t.scale:1,t.spread="undefined"!=typeof t.spread?t.spread:2,t.velocity="undefined"!=typeof t.velocity?t.velocity:10,t.startColor=t.startColor||[1,1,0],t.endColor=t.endColor||[1,0,0],{totalParticlesToSpawn:-1,releaseRatePerSecond:30,minLifetime:.5,maxLifetime:2,getEmissionVelocity:function(e){var i=e.velocity;return i.data[0]=2*(Math.random()-.5)*t.spread*t.scale,i.data[1]=(Math.random()+1)*t.velocity*t.scale,i.data[2]=2*(Math.random()-.5)*t.spread*t.scale,i},timeline:[{timeOffset:0,spin:0,mass:1,size:2*t.scale,color:[t.startColor[0],t.startColor[1],t.startColor[2],1]},{timeOffset:.25,color:[t.endColor[0],t.endColor[1],t.endColor[2],1]},{timeOffset:.25,color:[0,0,0,1]},{timeOffset:.5,size:3,color:[0,0,0,0]}]}},t}),define("goo/util/ParticleSystemUtils",["goo/entities/components/ParticleComponent","goo/entities/components/MeshRendererComponent","goo/entities/components/MeshDataComponent","goo/renderer/Texture","goo/particles/ParticleEmitter"],function(t,e,i,r,o){"use strict";function n(){}return n.createParticleSystemEntity=function(r,n,a){var s=r.world.createEntity(),h=new t({particleCount:500});h.emitters.push(new o(n)),s.setComponent(h);var c=new i(h.meshData);s.setComponent(c);var l=new e;return l.materials.push(a),l.cullMode="Never",s.setComponent(l),s},n.createFlareTexture=function(t,e){t=t||64,e=e||{},e.startRadius="undefined"!=typeof e.startRadius?e.startRadius:0,e.endRadius="undefined"!=typeof e.endRadius?e.endRadius:t/2,e.steps=e.steps||[{fraction:0,value:1},{fraction:1,value:0}];var i=document.createElement("canvas");document.body.appendChild(i),i.width=t,i.height=t;for(var o=i.getContext("2d"),n=o.createRadialGradient(t/2,t/2,e.startRadius,t/2,t/2,e.endRadius),a=0;au;u++,d+=s,p+=c,f+=l)i(d,p,f)}function n(t,e,i,r,n,a,s){for(var h=0;s>h;h++){var c=2*Math.random()*Math.PI,l=4*Math.random()+i,u=4*Math.random()-r;o(t+Math.cos(c)*l,e+Math.sin(c)*l,t+Math.cos(c)*u,e+Math.sin(c)*u,n,a)}}t=t||64,e=e||{},e.nTrails="undefined"!=typeof e.nTrails?e.nTrails:8,e.trailStartRadius="undefined"!=typeof e.trailStartRadius?e.trailStartRadius:1,e.trailEndRadius="undefined"!=typeof e.trailEndRadius?e.trailEndRadius:4;var a=document.createElement("canvas");document.body.appendChild(a),a.width=t,a.height=t;var s=a.getContext("2d"),h=30;n(t/2,t/2,1*(t/2/10),9*(t/2/10),e.trailStartRadius,e.trailEndRadius,e.nTrails);var c=s.getImageData(0,0,t,t).data;c=new Uint8Array(c);var l=new r(c,null,t,t);return l},n.createPlanktonTexture=function(t,e){function i(t,e,i){var r=a.createRadialGradient(t,e,0,t,e,i);r.addColorStop(0,"rgba(255, 255, 255, 1)"),r.addColorStop(.3,"rgba(255, 255, 255, 1)"),r.addColorStop(1,"rgba(255, 255, 255, 0)"),a.fillStyle=r,a.fillRect(t-i,e-i,2*i,2*i)}function o(r){for(var o=0;r>o;o++){var n=Math.random()*(t-2*e.maxRadius)+e.maxRadius,a=Math.random()*(t-2*e.maxRadius)+e.maxRadius;i(n,a,Math.random()*(e.maxRadius-e.minRadius)+e.minRadius)}}t=t||64,console.log(t),e=e||{},e.nPoints="undefined"!=typeof e.nPoints?e.nPoints:10,e.minRadius="undefined"!=typeof e.minRadius?e.minRadius:2,e.maxRadius="undefined"!=typeof e.maxRadius?e.maxRadius:5; var n=document.createElement("canvas");document.body.appendChild(n),n.width=t,n.height=t;var a=n.getContext("2d");o(e.nPoints);var s=a.getImageData(0,0,t,t).data;s=new Uint8Array(s);var h=new r(s,null,t,t);return h},n}),define("goo/statemachine/actions/SmokeAction",["goo/statemachine/actions/Action","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/renderer/TextureCreator","goo/particles/ParticleLib","goo/util/ParticleSystemUtils","goo/entities/EntityUtils"],function(t,e,i,r,o,n,a){"use strict";function s(){t.apply(this,arguments)}return s.material=null,s.prototype=Object.create(t.prototype),s.prototype.constructor=s,s.external={name:"Smoke",description:"Makes the entity emit smoke",parameters:[{name:"Color",key:"color",type:"color",description:"Smoke color","default":[0,0,0]}],transitions:[]},s.prototype._run=function(t){var r=t.getOwnerEntity(),a=r._world.gooRunner;if(!s.material){s.material=e.createMaterial(i.particles);var h=n.createFlareTexture();h.generateMipmaps=!0,s.material.setTexture("DIFFUSE_MAP",h),s.material.blendState.blending="AlphaBlending",s.material.cullState.enabled=!1,s.material.depthState.write=!1,s.material.renderQueue=2001}var c=r.transformComponent.worldTransform.scale,l=(c.data[0]+c.data[1]+c.data[2])/3,u=n.createParticleSystemEntity(a,o.getSmoke({scale:l,color:this.color}),s.material);u.name="_ParticleSystemSmoke",r.transformComponent.attachChild(u.transformComponent),u.addToWorld()},s.prototype.cleanup=function(t){for(var e=t.getOwnerEntity(),i=a.getChildren(e),r=0;r0){var i=e.meshRendererComponent,r=i.materials[0],o=r.getTexture("DIFFUSE_MAP"),n=o.offset,a={x:n.x,y:n.y},s={x:this.toX,y:this.toY};this.tween.from(a).to(s,this.time).easing(this.easing).onUpdate(function(){o.offset.setd(this.x,this.y)}).onComplete(function(){t.send(this.eventToEmit.channel)}.bind(this)).start(1e3*t.getTime())}},e}),define("goo/statemachine/actions/PickAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments),this.everyFrame=!0,this.updated=!1,this.eventListener=function(t){t.entity===this.ownerEntity&&(this.updated=!0)}.bind(this)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Pick",description:"Listens for a picking event and performs a transition",canTransition:!0,parameters:[],transitions:[{key:"pick",name:"Pick",description:"State to transition to when entity is picked"}]},e.prototype._setup=function(t){this.ownerEntity=t.getOwnerEntity(),this.goo=this.ownerEntity._world.gooRunner,this.goo.addEventListener("click",this.eventListener)},e.prototype._run=function(t){this.updated&&(this.updated=!1,t.send(this.transitions.pick))},e.prototype.exit=function(){this.goo&&this.goo.removeEventListener("click",this.eventListener)},e}),define("goo/statemachine/actions/SoundFadeInAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Sound Fade In",descriptions:"Starts playing a sound",canTransition:!0,parameters:[{name:"Sound",key:"sound",type:"sound",description:"Sound","default":0},{name:"Time",key:"time",type:"number",description:"Time it takes for the fading to complete","default":1e3}],transitions:[{key:"complete",name:"On Completion",description:"State to transition to when the movement completes"}]},e.prototype._run=function(t){var e=t.getOwnerEntity();if(e.hasComponent("HowlerComponent")){var i=e.howlerComponent.sounds[this.sound];i&&i.fadeIn(i.volume(),this.time,function(){t.send(this.transitions.complete)}.bind(this))}},e}),define("goo/statemachine/actions/SoundFadeOutAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Sound Fade Out",descriptions:"Fades out a sound and stops it",canTransition:!0,parameters:[{name:"Sound",key:"sound",type:"sound",description:"Sound","default":0},{name:"Time",key:"time",type:"number",description:"Time it takes for the fading to complete","default":1e3}],transitions:[{key:"complete",name:"On Completion",description:"State to transition to when the movement completes"}]},e.prototype._run=function(t){var e=t.getOwnerEntity();if(e.hasComponent("HowlerComponent")){var i=e.howlerComponent.sounds[this.sound];i&&i.fadeOut(0,this.time,function(){t.send(this.transitions.complete)}.bind(this))}},e}),define("goo/statemachine/actions/TransitionOnMessageAction",["goo/statemachine/actions/Action","goo/entities/SystemBus"],function(t,e){"use strict";function i(){t.apply(this,arguments),this.everyFrame=!0,this.updated=!1,this.eventListener=function(){this.updated=!0}.bind(this)}return i.prototype=Object.create(t.prototype),i.prototype.constructor=i,i.external={name:"Transition on Message",description:"Performs a transition on receiving a message",canTransition:!0,parameters:[{name:"Message channel",key:"channel",type:"string",description:"Channel to listen to","default":""}],transitions:[{key:"transition",name:"To",description:"State to transition to"}]},i.prototype._setup=function(){e.addListener(this.channel,this.eventListener)},i.prototype._run=function(t){this.updated&&(this.updated=!1,t.send(this.transitions.transition))},i.prototype.exit=function(){e.removeListener(this.channel,this.eventListener)},i}),define("goo/statemachine/actions/TweenLightColorAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Tween Light Color",description:"Tweens the color of the light",parameters:[{name:"Color",key:"to",type:"color",description:"Color of the light","default":[1,1,1]},{name:"Time",key:"time",type:"number",description:"Time it takes for the transition to complete","default":1e3},{name:"Easing type",key:"easing1",type:"dropdown",description:"Easing type","default":"Linear",options:["Linear","Quadratic","Exponential","Circular","Elastic","Back","Bounce"]},{name:"Direction",key:"easing2",type:"dropdown",description:"Easing direction","default":"In",options:["In","Out","InOut"]}],transitions:[{key:"complete",name:"On Completion",description:"State to transition to when the transition completes"}]},e.prototype.configure=function(t){this.to=t.to,this.time=t.time,this.easing="Linear"===t.easing1?window.TWEEN.Easing.Linear.None:window.TWEEN.Easing[t.easing1][t.easing2],this.eventToEmit={channel:t.transitions.complete}},e.prototype._setup=function(){this.tween=new window.TWEEN.Tween},e.prototype.cleanup=function(){this.tween&&this.tween.stop()},e.prototype._run=function(t){var e=t.getOwnerEntity();if(e.lightComponent){var i=e.lightComponent,r=i.light.color,o={x:r.x,y:r.y,z:r.z},n={x:this.to[0],y:this.to[1],z:this.to[2]},a={x:o.x,y:o.y,z:o.z};this.tween.from(o).to(n,+this.time).easing(this.easing).onUpdate(function(){r.data[0]+=this.x-a.x,r.data[1]+=this.y-a.y,r.data[2]+=this.z-a.z,a.x=this.x,a.y=this.y,a.z=this.z}).onComplete(function(){t.send(this.eventToEmit.channel)}.bind(this)).start(1e3*t.getTime())}},e}),define("goo/statemachine/actions/CollidesAction",["goo/statemachine/actions/Action","goo/entities/systems/ProximitySystem","goo/entities/EntityUtils"],function(t,e,i){"use strict";function r(){t.apply(this,arguments),this.everyFrame=!0}return r.prototype=Object.create(t.prototype),r.prototype.constructor=r,r.external={name:"Collides",description:"Checks for collisions with other entities; Collisions are based on the entities' bounding volumes",canTransition:!0,parameters:[{name:"Tag",key:"tag",type:"dropdown",description:"Checks for collisions with other objects having this tag","default":"red",options:["red","blue","green","yellow"]}],transitions:[{key:"collides",name:"On Collision",description:"States to transition to when a collision occurs"},{key:"notCollides",name:"On Divergence",description:"States to transition to when a collision is not occurring"}]},r.prototype.ready=function(t){var i=t.getOwnerEntity(),r=i._world;r.getSystem("ProximitySystem")||r.setSystem(new e)},r.prototype._run=function(t){var e=t.getOwnerEntity(),r=e._world,o=r.getSystem("ProximitySystem"),n=o.getFor(this.tag),a=!1;i.traverse(e,function(t){var e;if(t.meshRendererComponent){e=t.meshRendererComponent.worldBound;for(var r=0;r0?h.all(s).then(function(t){t.forEach(function(t){r.addMachine(t)})}):o.createDummyPromise(r)},c.prototype.update=function(t,e){var i=this._objects[t];if(i||(i=this._objects[t]=new a(e.name)),i.setInitialState(e.initialState),i._states)for(var r=Object.keys(i._states),o=0;o=0},h.isImageRef=function(t){var e=h.getTypeForRef(t);return s.indexOf(u,e)>=0},h.isBinaryRef=function(t){var e=h.getTypeForRef(t);return s.indexOf(l,e)>=0||s.indexOf(d,e)>=0},h.isUrlRef=function(t){var e=h.getTypeForRef(t);return s.indexOf(p,e)>=0},h.prototype.getCachedObjectForRef=function(t){return this._objects?this._objects[t]:void 0},h.prototype.setRootPath=function(t){this._rootPath=t,t.length>1&&"/"!==t.charAt(t.length-1)&&(this._rootPath+="/")},h}),define("goo/math/Matrix2x2",["goo/math/MathUtils","goo/math/Matrix"],function(t,e){"use strict";function i(){e.call(this,2,2),0===arguments.length?this.setIdentity():this.set(arguments)}return i.prototype=Object.create(e.prototype),i.prototype.setupAliases([["e00"],["e10"],["e01"],["e11"]]),i.IDENTITY=new i(1,0,0,1),i.add=function(t,e,r){return r||(r=new i),e instanceof i?(r.e00=t.e00+e.e00,r.e10=t.e10+e.e10,r.e01=t.e01+e.e01,r.e11=t.e11+e.e11):(r.e00=t.e00+e,r.e10=t.e10+e,r.e01=t.e01+e,r.e11=t.e11+e),r},i.prototype.add=function(t){return i.add(this,t,this)},i.sub=function(t,e,r){return r||(r=new i),e instanceof i?(r.e00=t.e00-e.e00,r.e10=t.e10-e.e10,r.e01=t.e01-e.e01,r.e11=t.e11-e.e11):(r.e00=t.e00-e,r.e10=t.e10-e,r.e01=t.e01-e,r.e11=t.e11-e),r},i.prototype.sub=function(t){return i.sub(this,t,this)},i.mul=function(t,e,r){return r||(r=new i),e instanceof i?(r.e00=t.e00*e.e00,r.e10=t.e10*e.e10,r.e01=t.e01*e.e01,r.e11=t.e11*e.e11):(r.e00=t.e00*e,r.e10=t.e10*e,r.e01=t.e01*e,r.e11=t.e11*e),r},i.prototype.mul=function(t){return i.mul(this,t,this)},i.div=function(t,e,r){return r||(r=new i),e instanceof i?(r.e00=t.e00/e.e00,r.e10=t.e10/e.e10,r.e01=t.e01/e.e01,r.e11=t.e11/e.e11):(e=1/e,r.e00=t.e00*e,r.e10=t.e10*e,r.e01=t.e01*e,r.e11=t.e11*e),r},i.prototype.div=function(t){return i.div(this,t,this)},i.combine=function(t,r,o){return o||(o=new i),o===t||o===r?e.copy(i.combine(t,r),o):(o.e00=t.e00*r.e00+t.e01*r.e10,o.e10=t.e10*r.e00+t.e11*r.e10,o.e01=t.e00*r.e01+t.e01*r.e11,o.e11=t.e10*r.e01+t.e11*r.e11,o)},i.prototype.combine=function(t){return i.combine(this,t,this)},i.transpose=function(t,r){return r||(r=new i),r===t?e.copy(i.transpose(t),r):(r.e00=t.e00,r.e10=t.e01,r.e01=t.e10,r.e11=t.e11,r)},i.prototype.transpose=function(){return i.transpose(this,this)},i.invert=function(r,o){if(o||(o=new i),o===r)return e.copy(i.invert(r),o);var n=r.determinant();if(Math.abs(n)t.EPSILON?!1:!0},i.prototype.isNormal=function(){var e;return e=this.e00*this.e00+this.e10*this.e10,Math.abs(e-1)>t.EPSILON?!1:(e=this.e01*this.e01+this.e11*this.e11,Math.abs(e-1)>t.EPSILON?!1:!0)},i.prototype.isOrthonormal=function(){return this.isOrthogonal()&&this.isNormal()},i.prototype.determinant=function(){return this.e00*this.e11-this.e01*this.e10},i.prototype.setIdentity=function(){return this.set(i.IDENTITY),this},i}),define("goo/noise/Noise",["goo/math/MathUtils"],function(t){"use strict";function e(){}return e.shifter=[37,91,12,128,216,96,51,153,39,231,223,180,160,157,135,179,74,50,205,151,4,213,196,58,212,120,53,45,10,195,137,159,103,144,109,170,202,48,121,13,245,68,232,28,210,174,197,80,107,206,156,116,155,240,162,79,41,59,147,117,0,242,118,164,129,101,98,126,214,105,89,26,130,254,85,199,8,165,76,75,187,166,64,143,217,149,78,7,172,230,87,119,42,247,84,139,16,141,134,86,154,71,253,60,99,235,168,30,34,55,113,140,191,69,31,106,40,82,73,33,81,14,234,131,255,88,169,136,248,148,220,138,219,102,44,127,36,200,95,208,54,152,47,20,23,15,52,123,177,224,122,171,215,173,211,188,190,133,244,167,236,35,63,145,221,104,65,24,70,100,56,150,49,77,110,228,112,209,198,1,237,185,250,225,93,201,124,108,218,72,243,21,22,6,114,38,125,29,66,249,222,111,241,11,186,61,176,183,17,163,229,161,57,238,227,132,67,83,207,226,46,189,115,193,194,233,182,192,18,27,25,2,3,252,97,62,184,239,175,92,246,142,251,204,203,32,146,90,19,9,178,158,181,94,43,5],e.split=function(e){var i=Math.floor(e),r=t.scurve5(e-i);return{i0:i+0,i1:i+1,f0:1-r,f1:0+r}},e.fractal1d=function(t,e,i,r,o,n){for(var a=0,s=1,h=0,c=0;i>c;c++)a+=s*n.evaluate1d(t,e),h+=s,s*=r,t*=o;return a/h},e.fractal2d=function(t,e,i,r,o,n,a){for(var s=0,h=1,c=0,l=0;r>l;l++)s+=h*a.evaluate2d(t,e,i),c+=h,h*=o,t*=n,e*=n;return s/c},e.fractal3d=function(t,e,i,r,o,n,a,s){for(var h=0,c=1,l=0,u=0;o>u;u++)h+=c*s.evaluate3d(t,e,i,r),l+=c,c*=n,t*=a,e*=a,i*=a;return h/l},e.fractal4d=function(t,e,i,r,o,n,a,s,h){for(var c=0,l=1,u=0,d=0;n>d;d++)c+=l*h.evaluate4d(t,e,i,r,o),u+=l,l*=a,t*=s,e*=s,i*=s,r*=s;return c/u},e}),define("goo/noise/ValueNoise",["goo/noise/Noise"],function(t){"use strict";function e(){t.call(this)}return e.prototype=Object.create(t.prototype),e.sources=[0,1/15,2/15,.2,4/15,5/15,.4,7/15,8/15,.6,10/15,11/15,.8,13/15,14/15,1],e.evaluate1d=function(i,r){var o=t.split(i/r),n=15&t.shifter[255&o.i0],a=15&t.shifter[255&o.i1],s=0;return s+=o.f0*e.sources[n],s+=o.f1*e.sources[a]},e.evaluate2d=function(i,r,o){var n=t.split(i/o),a=t.split(r/o),s=15&t.shifter[255&t.shifter[255&a.i0]+n.i0],h=15&t.shifter[255&t.shifter[255&a.i0]+n.i1],c=15&t.shifter[255&t.shifter[255&a.i1]+n.i0],l=15&t.shifter[255&t.shifter[255&a.i1]+n.i1],u=0;return u+=a.f0*n.f0*e.sources[s],u+=a.f0*n.f1*e.sources[h],u+=a.f1*n.f0*e.sources[c],u+=a.f1*n.f1*e.sources[l]},e.evaluate3d=function(i,r,o,n){var a=t.split(i/n),s=t.split(r/n),h=t.split(o/n),c=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i0]+s.i0]+a.i0],l=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i0]+s.i0]+a.i1],u=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i0]+s.i1]+a.i0],d=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i0]+s.i1]+a.i1],p=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i1]+s.i0]+a.i0],f=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i1]+s.i0]+a.i1],m=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i1]+s.i1]+a.i0],g=15&t.shifter[255&t.shifter[255&t.shifter[255&h.i1]+s.i1]+a.i1],v=0;return v+=h.f0*s.f0*a.f0*e.sources[c],v+=h.f0*s.f0*a.f1*e.sources[l],v+=h.f0*s.f1*a.f0*e.sources[u],v+=h.f0*s.f1*a.f1*e.sources[d],v+=h.f1*s.f0*a.f0*e.sources[p],v+=h.f1*s.f0*a.f1*e.sources[f],v+=h.f1*s.f1*a.f0*e.sources[m],v+=h.f1*s.f1*a.f1*e.sources[g]},e.evaluate4d=function(i,r,o,n,a){var s=t.split(i/a),h=t.split(r/a),c=t.split(o/a),l=t.split(n/a),u=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i0]+h.i0]+s.i0],d=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i0]+h.i0]+s.i1],p=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i0]+h.i1]+s.i0],f=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i0]+h.i1]+s.i1],m=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i1]+h.i0]+s.i0],g=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i1]+h.i0]+s.i1],v=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i1]+h.i1]+s.i0],y=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i0]+c.i1]+h.i1]+s.i1],x=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i0]+h.i0]+s.i0],_=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i0]+h.i0]+s.i1],w=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i0]+h.i1]+s.i0],b=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i0]+h.i1]+s.i1],M=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i1]+h.i0]+s.i0],S=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i1]+h.i0]+s.i1],C=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i1]+h.i1]+s.i0],T=15&t.shifter[255&t.shifter[255&t.shifter[255&t.shifter[255&l.i1]+c.i1]+h.i1]+s.i1],E=0;return E+=l.f0*c.f0*h.f0*s.f0*e.sources[u],E+=l.f0*c.f0*h.f0*s.f1*e.sources[d],E+=l.f0*c.f0*h.f1*s.f0*e.sources[p],E+=l.f0*c.f0*h.f1*s.f1*e.sources[f],E+=l.f0*c.f1*h.f0*s.f0*e.sources[m],E+=l.f0*c.f1*h.f0*s.f1*e.sources[g],E+=l.f0*c.f1*h.f1*s.f0*e.sources[v],E+=l.f0*c.f1*h.f1*s.f1*e.sources[y],E+=l.f1*c.f0*h.f0*s.f0*e.sources[x],E+=l.f1*c.f0*h.f0*s.f1*e.sources[_],E+=l.f1*c.f0*h.f1*s.f0*e.sources[w],E+=l.f1*c.f0*h.f1*s.f1*e.sources[b],E+=l.f1*c.f1*h.f0*s.f0*e.sources[M],E+=l.f1*c.f1*h.f0*s.f1*e.sources[S],E+=l.f1*c.f1*h.f1*s.f0*e.sources[C],E+=l.f1*c.f1*h.f1*s.f1*e.sources[T]},e}),define("goo/particles/ParticleInfluence",[],function(){"use strict";function t(t){t=t||{},this.prepare=t.prepare?t.prepare:function(){},this.apply=t.apply?t.apply:function(){},this.enabled=void 0!==t.enabled?t.enabled===!0:!0}return t}),define("goo/picking/BoundingTree",["goo/renderer/bounds/BoundingBox","goo/renderer/bounds/BoundingSphere","goo/math/Vector3"],function(t,e,i){"use strict";function r(t){this.leftTree=null,this.rightTree=null,this.localBound=null,this.worldBound=null,this.boundType=t?t:r.BOUNDTYPE_BOX}return r.BOUNDTYPE_SPHERE="sphere",r.BOUNDTYPE_BOX="box",r.MAX_PRIMITIVES_PER_LEAF=16,r.prototype.construct=function(t){if(!t.meshRendererComponent||!t.meshDataComponent||!t.transformComponent)return console.warn("Entity missing required components for boundingtree construction: ",t),void 0;var e=t.meshDataComponent.meshData;if(e.updatePrimitiveCounts(),1===e.getSectionCount()){this.primitiveIndices=[];for(var i=0,r=e.getPrimitiveCount(0);r>i;i++)this.primitiveIndices.push(i);this.createTree(t,0,0,this.primitiveIndices.length)}else this.split(t,0,e.getSectionCount())},r.prototype.createTree=function(t,e,i,o){var n=t.meshDataComponent.meshData;this.section=e,this.start=i,this.end=o,this.primitiveIndices&&(this.createBounds(),this.localBound.computeFromPrimitives(n,e,this.primitiveIndices,i,o),o-i+1<=r.MAX_PRIMITIVES_PER_LEAF||(this.leftTree||(this.leftTree=new r(this.boundType)),this.leftTree.primitiveIndices=this.primitiveIndices,this.leftTree.createTree(t,e,i,Math.floor((i+o)/2)),this.rightTree||(this.rightTree=new r(this.boundType)),this.rightTree.primitiveIndices=this.primitiveIndices,this.rightTree.createTree(t,e,Math.floor((i+o)/2),o)))},r.prototype.split=function(t,e,i){var o=i-e,n=Math.floor(o/2);if(1===n){var a=e;this.leftTree=new r(this.boundType),this.leftTree.primitiveIndices=[];for(var s=0;s2.5&&(h=2.5),this.renderTargetX=new i(a,s),this.gaussian1=new i(a,s),this.gaussian2=new i(a,s),this.renderable={meshData:e.quad,materials:[]},this.convolutionShader1=r.clone(o.convolution),this.convolutionShader2=r.clone(o.convolution),this.differenceShader=r.clone(o.differenceOfGaussians),this.differenceShader.uniforms.threshold=c,this.differenceMaterial=t.createMaterial(this.differenceShader);var l=this.convolutionShader1.buildKernel(h),u=this.convolutionShader2.buildKernel(1.6*h),d=l.length;this.convolutionShader1.defines={KERNEL_SIZE_FLOAT:d.toFixed(1),KERNEL_SIZE_INT:d.toFixed(0)},d=u.length,this.convolutionShader2.defines={KERNEL_SIZE_FLOAT:d.toFixed(1),KERNEL_SIZE_INT:d.toFixed(0)},this.convolutionShader1.uniforms.cKernel=l,this.convolutionShader2.uniforms.cKernel=u,this.blurX=[.5/a,0],this.blurY=[0,.5/s],this.convolutionMaterial1=t.createMaterial(this.convolutionShader1),this.convolutionMaterial2=t.createMaterial(this.convolutionShader2),this.enabled=!0,this.clear=!1,this.needsSwap=!1}return n.prototype.render=function(t,i,r){this.renderable.materials[0]=this.convolutionMaterial1,this.convolutionMaterial1.setTexture("DIFFUSE_MAP",r),this.convolutionShader1.uniforms.uImageIncrement=this.blurX,t.render(this.renderable,e.camera,[],this.renderTargetX,!0),this.convolutionMaterial1.setTexture("DIFFUSE_MAP",this.renderTargetX),this.convolutionShader1.uniforms.uImageIncrement=this.blurY,t.render(this.renderable,e.camera,[],this.gaussian1,!0),this.renderable.materials[0]=this.convolutionMaterial2,this.convolutionMaterial2.setTexture("DIFFUSE_MAP",r),this.convolutionShader2.uniforms.uImageIncrement=this.blurX,t.render(this.renderable,e.camera,[],this.renderTargetX,!0),this.convolutionMaterial2.setTexture("DIFFUSE_MAP",this.renderTargetX),this.convolutionShader2.uniforms.uImageIncrement=this.blurY,t.render(this.renderable,e.camera,[],this.gaussian2,!0),this.renderable.materials[0]=this.differenceMaterial,this.differenceMaterial.setTexture("BLUR1",this.gaussian1),this.differenceMaterial.setTexture("BLUR2",this.gaussian2),this.differenceMaterial.setTexture("ORIGINAL",r),null!==this.target?t.render(this.renderable,e.camera,[],this.target,this.clear):t.render(this.renderable,e.camera,[],r,this.clear)},n}),define("goo/renderer/pass/NesPass",["goo/renderer/TextureCreator","goo/renderer/Material","goo/renderer/pass/FullscreenUtil","goo/renderer/shaders/ShaderLib"],function(t,e,i,r){"use strict";function o(r){this.material=e.createMaterial(n),this.renderToScreen=!1,this.renderable={meshData:i.quad,materials:[this.material]},this.mapping=(new t).loadTexture2D(r),this.mapping.minFilter="NearestNeighborNoMipMaps",this.mapping.magFilter="NearestNeighbor",this.mapping.generateMipmaps=!1,this.enabled=!0,this.clear=!1,this.needsSwap=!0}o.prototype.render=function(t,e,r){this.material.setTexture("DIFFUSE_MAP",r),this.material.setTexture("COLOR_MAPPING",this.mapping),this.renderToScreen?t.render(this.renderable,i.camera,[],null,this.clear):t.render(this.renderable,i.camera,[],e,this.clear)};var n={attributes:r.copy.attributes,uniforms:{diffuse:"DIFFUSE_MAP",mapping:"COLOR_MAPPING",$link:r.copy.uniforms},vshader:r.copy.vshader,fshader:["precision mediump float;","uniform sampler2D diffuse;","uniform sampler2D mapping;","varying vec2 texCoord0;","void main() {"," vec4 texCol = texture2D( diffuse, texCoord0 );"," float r = floor(texCol.r * 31.0);"," float g = floor(texCol.g * 31.0);"," float b = floor(texCol.b * 31.0);"," vec4 texPalette = texture2D( mapping, vec2((r * 32.0 + g)/1024.0, b / 32.0) );"," gl_FragColor = vec4( texPalette.rgb, 1.0 );","}"].join("\n")};return o}),define("goo/scripts/FlyControlScript",["goo/math/Vector3","goo/math/Matrix3x3","goo/math/MathUtils"],function(t,e,i){"use strict";function r(r){r=r||{},this.name="FlyControlScript",this.domElement=r.domElement||null,this.turnSpeedHorizontal=isNaN(r.turnSpeedHorizontal)?.005:r.turnSpeed,this.turnSpeedVertical=isNaN(r.turnSpeedVertical)?.005:r.turnSpeed,this.dragOnly=void 0!==r.dragOnly?r.dragOnly===!0:!0,this.dragButton=isNaN(r.dragButton)?2:r.dragButton,this.worldUpVector=new t(r.worldUpVector)||new t(0,1,0),this.localLeftVector=new t(r.localLeftVector)||new t(-1,0,0),this.onRun=r.onRun,this.maxAscent=void 0!==r.maxAscent?r.maxAscent:89.95*i.DEG_TO_RAD,this.minAscent=void 0!==r.minAscent?r.minAscent:-89.95*i.DEG_TO_RAD,this.calcVector=new t,this.calcMat1=new e,this.calcMat2=new e,this.rotX=0,this.rotY=0,this.walkSpeed=isNaN(r.walkSpeed)?400:r.walkSpeed,this.crawlSpeed=isNaN(r.crawlSpeed)?40:r.crawlSpeed,this.fwdVector=r.fwdVector||new t(0,0,-1),this.leftVector=r.leftVector||new t(-1,0,0),this.crawlKey=isNaN(r.crawlKey)?16:r.crawlKey,this.forwardKey=isNaN(r.forwardKey)?87:r.forwardKey,this.backKey=isNaN(r.backKey)?83:r.backKey,this.strafeLeftKey=isNaN(r.strafeLeftKey)?65:r.strafeLeftKey,this.strafeRightKey=isNaN(r.strafeRightKey)?68:r.strafeRightKey,this.XZ=r.XZ||!1,this.maxSpeed=r.maxSpeed||30,this.onRun=r.onRun,this.moveState={strafeLeft:0,strafeRight:0,forward:0,back:0,crawling:!1},this.moveVector=new t(0,0,0),this.calcVector=new t,this.baseMultiplier=1,this.movementMultiplier=this.baseMultiplier,this.domElement&&this.setupKeyControls(),this.resetMouseState(),this.domElement&&this.setupMouseControls()}r.prototype.updateMovementVector=function(){this.moveVector.x=this.moveState.strafeLeft-this.moveState.strafeRight,this.moveVector.z=this.moveState.forward-this.moveState.back},r.prototype.updateKeys=function(t,e){if(!t.altKey){if(this.dragOnly&&!this.mouseState.buttonDown)return this.movementMultiplier=this.baseMultiplier,this.moveState.forward=0,this.moveState.back=0,this.moveState.strafeLeft=0,this.moveState.strafeRight=0,this.updateMovementVector(),void 0; -var i=!1;switch(t.keyCode){case this.crawlKey:this.moveState.crawling=e;break;case this.forwardKey:this.moveState.forward=e?1:0,i=!0;break;case this.backKey:this.moveState.back=e?1:0,i=!0;break;case this.strafeLeftKey:this.moveState.strafeLeft=e?1:0,i=!0;break;case this.strafeRightKey:this.moveState.strafeRight=e?1:0,i=!0}i&&this.updateMovementVector()}},r.prototype.setupKeyControls=function(){var t=this;this.domElement.setAttribute("tabindex",-1),this.domElement.addEventListener("keydown",function(e){t.updateKeys(e,!0)},!1),this.domElement.addEventListener("keyup",function(e){t.updateKeys(e,!1)},!1)},r.prototype.resetMouseState=function(){this.mouseState={buttonDown:!1,lastX:0/0,lastY:0/0,dX:0,dY:0}},r.prototype.updateButtonState=function(t,e){this.domElement!==document&&this.domElement.focus(),!this.dragOnly||-1!==this.dragButton&&this.dragButton!==t.button||(this.mouseState.buttonDown=e,t.preventDefault())},r.prototype.updateDeltas=function(t){isNaN(this.mouseState.lastX)||isNaN(this.mouseState.lastY)?(this.mouseState.dX=0,this.mouseState.dY=0,this.mouseState.lastX=t.clientX,this.mouseState.lastY=t.clientY):(this.mouseState.dX=t.clientX-this.mouseState.lastX,this.mouseState.dY=t.clientY-this.mouseState.lastY,this.mouseState.lastX=t.clientX,this.mouseState.lastY=t.clientY)};var o=function(t){this.resetMouseState(),this.updateButtonState(t,!0)},n=function(t){this.updateDeltas(t)},a=function(t){this.updateButtonState(t,!1)};return r.prototype.setupMouseControls=function(){var t=o.bind(this),e=n.bind(this),i=a.bind(this);this.domElement.addEventListener("mousedown",t,!1),document.addEventListener("mousemove",e,!1),document.addEventListener("mouseup",i,!1),this.domElement.addEventListener("dragstart",function(t){t.preventDefault()},!1),this.domElement.oncontextmenu=function(){return!1}},r.prototype.run=function(t,e,i){i&&!this.domElement&&i.domElement&&(this.domElement=i.domElement,this.setupMouseControls(),this.setupKeyControls());var r=t.transformComponent;if(r){var o=r.transform,n=o.rotation;if(n.toAngles(this.calcVector),this.rotY=this.calcVector.x,this.rotX=this.calcVector.y,this.dragOnly&&!this.mouseState.buttonDown)return this.mouseState.dX=0,this.mouseState.dY=0,this.movementMultiplier=this.baseMultiplier,this.moveState.forward=0,this.moveState.back=0,this.moveState.strafeLeft=0,this.moveState.strafeRight=0,this.updateMovementVector(),void 0;0!==this.moveVector.x||0!==this.moveVector.z?(this.movementMultiplier+=1*e*this.movementMultiplier,this.movementMultiplier=Math.min(this.movementMultiplier,this.maxSpeed)):this.movementMultiplier=this.baseMultiplier;var a=this.turnSpeedHorizontal,s=this.turnSpeedVertical;0!==this.mouseState.dX&&(this.rotX-=a*this.mouseState.dX),0!==this.mouseState.dY&&(this.rotY-=s*this.mouseState.dY,this.rotY>this.maxAscent?this.rotY=this.maxAscent:this.rotY0?this.modForward:this.modBack,[t,this.applyJumpImpulse(e),i]},i.prototype.applyTorqueModulation=function(t,e,i){return[t+this.groundInfluence.pitch,e*this.modTurn,i+this.groundInfluence.roll]},i.prototype.updateTargetVectors=function(){this.targetVelocity.set(this.applyDirectionalModulation(this.controlState.strafe,this.gravity,this.controlState.run)),this.targetHeading.set(this.applyTorqueModulation(this.controlState.pitch,this.controlState.yaw,this.controlState.roll))},i.prototype.computeAcceleration=function(t,e){return r.set(e),r.sub(t),r.lerp(e,this.accLerp),r.data[1]=e.data[1],r},i.prototype.computeTorque=function(t,e){return r.set(e),r.sub(t),r.lerp(e,this.rotLerp),r},i.prototype.updateVelocities=function(t){var e=t.movementComponent.getVelocity(),i=t.movementComponent.getRotationVelocity();this.acceleration.set(this.computeAcceleration(e,this.targetVelocity)),this.torque.set(this.computeTorque(i,this.targetHeading))},i.prototype.applyAccelerations=function(t){t.movementComponent.addVelocity(this.acceleration),t.movementComponent.addRotationVelocity(this.torque)},i.prototype.applyGroundVectorToControlState=function(t,e,i){var r=this.getTerrainNormal(i.translation),n=i.rotation.toAngles();o.fromAngles(r.data[1],r.data[2],r.data[0]),i.rotation.rotateX(t*(r.data[0]-n.data[0])),i.rotation.rotateZ(e*(r.data[2]-n.data[2]))},i.prototype.checkGroundContact=function(t,e){this.groundHeight=this.getTerrainHeight(e.translation),e.translation.data[1]<=this.groundHeight?(this.groundContact=1,(this.groundRoll||this.groundPitch)&&this.applyGroundVectorToControlState(this.groundRoll,this.groundPitch,e)):this.groundContact=0},i.prototype.applyGroundContact=function(t,e){this.groundHeight>=e.translation.data[1]&&(e.translation.data[1]=this.groundHeight,t.movementComponent.velocity.data[1]<0&&(t.movementComponent.velocity.data[1]=0))},i.prototype.run=function(t){var e=t.transformComponent.transform;this.checkGroundContact(t,e),this.updateTargetVectors(),this.updateVelocities(t),this.applyAccelerations(t),this.applyGroundContact(t,e)},i}),define("goo/scripts/HeightMapBoundingScript",["goo/math/MathUtils"],function(t){"use strict";function e(t){this.matrixData=t,this.width=t.length-1}return e.prototype.getMatrixData=function(){return this.matrixData},e.prototype.getPointInMatrix=function(t,e){return this.matrixData[t][e]},e.prototype.getAt=function(t,e){return 0>t||t>this.width||0>e||e>this.width?0:this.getPointInMatrix(t,e)},e.prototype.getInterpolated=function(t,e){var i=this.getAt(Math.ceil(t),Math.ceil(e)),r=this.getAt(Math.ceil(t),Math.floor(e)),o=this.getAt(Math.floor(t),Math.ceil(e)),n=this.getAt(Math.floor(t),Math.floor(e)),a=t-Math.floor(t),s=e-Math.floor(e),h=i*a+o*(1-a),c=r*a+n*(1-a),l=h*s+c*(1-s);return l},e.prototype.getTriangleAt=function(t,e){var i,r=Math.ceil(t),o=Math.floor(t),n=Math.ceil(e),a=Math.floor(e),s=t-o,h=e-a,c={x:o,y:n,z:this.getAt(o,n)},l={x:r,y:a,z:this.getAt(r,a)};return i=1-h>s?{x:o,y:a,z:this.getAt(o,a)}:{x:r,y:n,z:this.getAt(r,n)},[c,l,i]},e.prototype.getPreciseHeight=function(e,i){var r=this.getTriangleAt(e,i),o=t.barycentricInterpolation(r[0],r[1],r[2],{x:e,y:i,z:0});return o.z},e.prototype.run=function(t){var e=t.transformComponent.transform.translation;e.data[1]=this.getInterpolated(e.data[0],e.data[2])},e}),define("goo/scripts/MouseLookControlScript",["goo/math/Vector3","goo/math/Matrix3x3","goo/math/MathUtils"],function(t,e,i){"use strict";function r(r){r=r||{},this.name="MouseLookControlScript",this.domElement=r.domElement||null,this.turnSpeedHorizontal=isNaN(r.turnSpeedHorizontal)?.01:r.turnSpeed,this.turnSpeedVertical=isNaN(r.turnSpeedVertical)?.01:r.turnSpeed,this.dragOnly=void 0!==r.dragOnly?r.dragOnly===!0:!0,this.dragButton=isNaN(r.dragButton)?-1:r.dragButton,this.worldUpVector=new t(r.worldUpVector)||new t(0,1,0),this.localLeftVector=new t(r.localLeftVector)||new t(-1,0,0),this.onRun=r.onRun,this.maxAscent=void 0!==r.maxAscent?r.maxAscent:89.95*i.DEG_TO_RAD,this.minAscent=void 0!==r.minAscent?r.minAscent:-89.95*i.DEG_TO_RAD,this.calcVector=new t,this.calcMat1=new e,this.calcMat2=new e,this.rotX=0,this.rotY=0,this.resetMouseState(),this.domElement&&this.setupMouseControls()}r.prototype.resetMouseState=function(){this.mouseState={buttonDown:!1,lastX:0/0,lastY:0/0,dX:0,dY:0}},r.prototype.updateButtonState=function(t,e){this.domElement!==document&&this.domElement.focus(),!this.dragOnly||-1!==this.dragButton&&this.dragButton!==t.button||(this.mouseState.buttonDown=e,t.preventDefault())},r.prototype.updateDeltas=function(t){isNaN(this.mouseState.lastX)||isNaN(this.mouseState.lastY)?(this.mouseState.dX=0,this.mouseState.dY=0,this.mouseState.lastX=t.clientX,this.mouseState.lastY=t.clientY):(this.mouseState.dX=t.clientX-this.mouseState.lastX,this.mouseState.dY=t.clientY-this.mouseState.lastY,this.mouseState.lastX=t.clientX,this.mouseState.lastY=t.clientY)};var o,n,a,s=function(t){this.resetMouseState(),this.updateButtonState(t,!0),n=h.bind(this),a=c.bind(this),document.addEventListener("mousemove",n,!1),document.addEventListener("mouseup",a,!1),document.addEventListener("mouseout",a,!1)},h=function(t){this.updateDeltas(t)},c=function(t){this.updateButtonState(t,!1),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",a),document.removeEventListener("mouseout",a)};return r.prototype.setupMouseControls=function(){o=s.bind(this),this.domElement.addEventListener("mousedown",o,!1)},r.prototype.run=function(t,e,i){i&&!this.domElement&&i.domElement&&(this.domElement=i.domElement,this.setupMouseControls());var r=t.transformComponent;if(r){var o=r.transform,n=o.rotation;if(n.toAngles(this.calcVector),this.rotY=this.calcVector.x,this.rotX=this.calcVector.y,this.dragOnly&&!this.mouseState.buttonDown||0===this.mouseState.dX&&0===this.mouseState.dY)return this.mouseState.dX=0,this.mouseState.dY=0,void 0;var a=this.turnSpeedHorizontal,s=this.turnSpeedVertical;0!==this.mouseState.dX&&(this.rotX-=a*this.mouseState.dX),0!==this.mouseState.dY&&(this.rotY-=s*this.mouseState.dY,this.rotY>this.maxAscent?this.rotY=this.maxAscent:this.rotYn&&(i=n,r=o)}return this.elevationData[r+1]},t.prototype.run=function(t){var e=t.transformComponent.transform.translation,i=this.getClosest(e.data[0],e.data[2]),r=e.data[1]-i;e.data[1]-=.1*r},t}),define("goo/scripts/SplineInterpolator",["goo/math/Matrix4x4","goo/math/Vector4"],function(t,e){"use strict";function i(t){t=t||{},this.controlPoint=0,this.controlPoints=t.controlPoints||[],this.elapsedTime=0,this.enabled=t.enabled||!0,this.firstIteration=!0,this.tolerance=t.tolerance||.01,this.beforeFunction=t.beforeFunction||function(t){return t.transformComponent.transform.translation.clone().data},this.updateFunction=t.updateFunction||function(t,e){t.transformComponent.transform.translation.set(e),t.transformComponent.setUpdated()},this.afterFunction=t.afterFunction||function(){}}var r=function(t,e,i){return Math.min(Math.max(t,e),i)};return i.CATMULL_ROM=new t(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0),i.UNIFORM_CUBIC=new t(-.16667,.5,-.5,.16667,.5,-1,0,.66667,-.5,.5,.5,.16667,.16667,0,0,0),i.prototype.run=function(t,o){if(this.firstIteration){this.firstIteration=!1;try{this.controlPoints.unshift({time:0,value:this.beforeFunction(t)})}catch(n){return this.enabled=!1,void 0}}for(var a=r(this.controlPoint-1,0,this.controlPoints.length-1),s=r(this.controlPoint+0,0,this.controlPoints.length-1),h=r(this.controlPoint+1,0,this.controlPoints.length-1),c=r(this.controlPoint+2,0,this.controlPoints.length-1),l=this.controlPoints[h].time>this.controlPoints[s].time?(this.elapsedTime-this.controlPoints[s].time)/(this.controlPoints[h].time-this.controlPoints[s].time):0,u=i.CATMULL_ROM.applyPre(new e(l*l*l,l*l,l,1)),d=new Array(this.controlPoints[0].value.length),p=0,f=0;f=this.controlPoints[h].time&&this.controlPoint++,this.controlPoint>=this.controlPoints.length||pt.maxX)throw{name:"Terrain Exception",message:"minX is larger than maxX"};if(t.minY>t.maxY)throw{name:"Terrain Exception",message:"minY is larger than maxY"};if(t.minZ>t.maxZ)throw{name:"Terrain Exception",message:"minZ is larger than maxZ"};if(!e)throw{name:"Terrain Exception",message:"No heightmap data specified"};if(e.length!==e[0].length)throw{name:"Terrain Exception",message:"Heightmap data is not a square"};return!0}function r(e,r,o){r=r||s,i(r,e,o);var n={dimensions:r,sideQuadCount:e.length-1,script:new t(e)};return n}function o(){this.heightMapData=[],this.yMargin=1}var n=new e,a=new e,s={minX:0,maxX:100,minY:0,maxY:50,minZ:0,maxZ:100};return o.prototype.addHeightData=function(t,e){var i=r(t,e,this.heightMapData);return this.heightMapData.push(i),i},o.prototype.getHeightDataForPosition=function(t){for(var e=0;e=i.minX&&t[1]i.minY-this.yMargin&&t[2]<=i.maxZ&&t[2]>=i.minZ)return this.heightMapData[e]}return null},o.prototype.displaceAxisDimensions=function(t,e,i,r){var o=t-e;return r*o/(i-e)},o.prototype.returnToWorldDimensions=function(t,e,i,r){var o=(i-e)/r,n=t*o;return e+n},o.prototype.getTerrainHeightAt=function(t){var e=this.getHeightDataForPosition(t);if(null===e)return null;var i=e.dimensions,r=this.displaceAxisDimensions(t[0],i.minX,i.maxX,e.sideQuadCount),o=this.displaceAxisDimensions(t[2],i.minZ,i.maxZ,e.sideQuadCount),n=e.script.getPreciseHeight(r,o);return n*(i.maxY-i.minY)+i.minY},o.prototype.getTerrainNormalAt=function(t){var e=this.getHeightDataForPosition(t);if(!e)return null;for(var i=e.dimensions,r=this.displaceAxisDimensions(t[0],i.minX,i.maxX,e.sideQuadCount),o=this.displaceAxisDimensions(t[2],i.minZ,i.maxZ,e.sideQuadCount),s=e.script.getTriangleAt(r,o),h=0;he)return[];for(var i=[],r=[],a=0;e>a;a++)r.push(a);for(var a=0,s=e;s>3;){var h=r[(a+0)%s],c=r[(a+1)%s],l=r[(a+2)%s],u=t[3*h],d=t[3*h+1],p=t[3*c],f=t[3*c+1],m=t[3*l],g=t[3*l+1],v=!1;if(n(u,d,p,f,m,g)){v=!0;for(var y=0;s>y;y++){var x=r[y];if(x!==h&&x!==c&&x!==l&&o(t[3*x],t[3*x+1],u,d,p,f,m,g)){v=!1;break}}}if(v)i.push(h,c,l),r.splice((a+1)%s,1),s--,a=0;else if(a++>3*s)break}return i.push(r[0],r[1],r[2]),i}function o(t,e,i,r,o,n,a,s){var h=a-i,c=s-r,l=o-i,u=n-r,d=t-i,p=e-r,f=h*h+c*c,m=h*l+c*u,g=h*d+c*p,v=l*l+u*u,y=l*d+u*p,x=1/(f*v-m*m),_=(v*g-m*y)*x,w=(f*y-m*g)*x;return _>=0&&w>=0&&1>_+w}function n(t,e,i,r,o,n){return(e-r)*(o-i)+(i-t)*(n-r)>=0}function a(t){for(var e=t[0],i=t[0],r=t[1],o=t[1],n=3;nt[n+0]?i:t[n+0],r=rt[n+1]?o:t[n+1];return{minX:e,maxX:i,minY:r,maxY:o}}return i.prototype=Object.create(t.prototype),i.prototype.rebuild=function(){this.getAttributeBuffer(t.POSITION).set(this.verts);for(var i=[],r=0;rt[n+0]?i:t[n+0],r=rt[n+1]?o:t[n+1];return{minX:e,maxX:i,minY:r,maxY:o}}return i.prototype=Object.create(t.prototype),i.prototype.rebuild=function(){this.getAttributeBuffer(t.POSITION).set(this.verts);for(var i=[],o=[],n=[],a=this.verts.length/3,s=a/this.vertsPerLine,h=0;s-1>h;h++){for(var c=0;ca;a++)for(var s=0;o>s;s++)n.push(a*t/r-.5*t,s*e/o-.5*e,0);var h=new i(n,r);return h},i}),define("goo/shapes/PolyLine",["goo/renderer/MeshData","goo/shapes/Surface"],function(t,e){"use strict";function i(e,i){this.verts=e,this.closed=!!i;var r=t.defaultMap([t.POSITION]);t.call(this,r,this.verts.length/3,this.verts.length/3),this.indexModes=this.closed?["LineLoop"]:["LineStrip"],this.rebuild()}function r(t,e,i,r){var o=Math.sqrt(t*t+e*e),n=t/o,a=e/o,s=Math.sqrt(i*i+r*r),h=i/s,c=r/s;return Math.atan2(a+c,n+h)-Math.PI/2}function o(t,e){var i,o,n,a,s,h,c=t.length/3;return 0===e?(n=t[0],a=t[2],s=t[3],h=t[5],Math.atan2(h-a,s-n)-Math.PI/2):e===c-1?(i=t[3*(c-2)+0],o=t[3*(c-2)+2],n=t[3*(c-1)+0],a=t[3*(c-1)+2],Math.atan2(a-o,n-i)-Math.PI/2):(i=t[3*(e-1)+0],o=t[3*(e-1)+2],n=t[3*e+0],a=t[3*e+2],s=t[3*(e+1)+0],h=t[3*(e+1)+2],r(n-i,a-o,s-n,h-a))}return i.prototype=Object.create(t.prototype),i.prototype.rebuild=function(){this.getAttributeBuffer(t.POSITION).set(this.verts);for(var e=[],i=this.verts.length/3,r=0;i>r;r++)e.push(r);return this.getIndexBuffer().set(e),this},i.prototype.mul=function(t){if(t instanceof i){for(var r=t.verts.length/3,o=[],n=0;n=n;n++,a+=i)r.push(Math.cos(a)*this.verts[o+0],this.verts[o+1],Math.sin(a)*this.verts[o+0]);return new e(r,t+1,!0)},i.prototype.concat=function(t,e){return t instanceof i?new i(this.verts.concat(t.verts),e):(console.error("concat operation can only be applied to PolyLines"),void 0)},i.fromCubicBezier=function(t,e,r){if(12!==t.length)return console.error("PolyLine.fromCubicBezier takes an array of exactly 12 coordinates"),void 0;e=e||16,r=r||0;for(var o=[],n=[],a=[],s=[],h=[],c=[],l=[],u=r;e>=u;u++){var d=u/e;n[0]=t[0]+(t[3]-t[0])*d,n[1]=t[1]+(t[4]-t[1])*d,n[2]=t[2]+(t[5]-t[2])*d,a[0]=t[3]+(t[6]-t[3])*d,a[1]=t[4]+(t[7]-t[4])*d,a[2]=t[5]+(t[8]-t[5])*d,s[0]=t[6]+(t[9]-t[6])*d,s[1]=t[7]+(t[10]-t[7])*d,s[2]=t[8]+(t[11]-t[8])*d,h[0]=n[0]+(a[0]-n[0])*d,h[1]=n[1]+(a[1]-n[1])*d,h[2]=n[2]+(a[2]-n[2])*d,c[0]=a[0]+(s[0]-a[0])*d,c[1]=a[1]+(s[1]-a[1])*d,c[2]=a[2]+(s[2]-a[2])*d,l[0]=h[0]+(c[0]-h[0])*d,l[1]=h[1]+(c[1]-h[1])*d,l[2]=h[2]+(c[2]-h[2])*d,o.push(l[0],l[1],l[2])}return new i(o)},i.fromCubicSpline=function(t,e,r){if(r){if(0!==t.length%3&&0!==t.length/3%3)return console.error("Wrong number of coordinates supplied in first argument to PolyLine.fromCubicSpline"),void 0;for(var o=t.length/3,n=o/3,a=i.fromCubicBezier(t.slice(0,12),e,1),s=1;n-1>s;s++){var h=i.fromCubicBezier(t.slice(3*3*s,3*3*s+12),e,1);a=a.concat(h)}var h=i.fromCubicBezier(t.slice(3*3*s,3*3*s+9).concat(t.slice(0,3)),e,1);return a=a.concat(h)}if(0!==t.length%3&&1!==t.length/3%3)return console.error("Wrong number of coordinates supplied in first argument to PolyLine.fromCubicSpline"),void 0;for(var o=t.length/3,n=(o-1)/3,a=i.fromCubicBezier(t.slice(0,12),e,1),s=1;n>s;s++){var h=i.fromCubicBezier(t.slice(3*3*s,3*3*s+12),e,1);a=a.concat(h)}return a},i}),define("goo/shapes/ProjectedGrid",["goo/renderer/MeshData","goo/math/Vector2","goo/math/Vector3","goo/math/Vector4","goo/math/Matrix4x4","goo/renderer/Camera","goo/math/MathUtils"],function(t,e,i,r,o,n,a){"use strict";function s(a,s){this.densityX=void 0!==a?a:20,this.densityY=void 0!==s?s:20,this.projectorCamera=new n(45,1,.1,2e3),this.mainCamera=new n(45,1,.1,2e3),this.freezeProjector=!1,this.upperBound=20,this.origin=new r,this.direction=new r,this.source=new e,this.rangeMatrix=new o,this.intersectBottomLeft=new r,this.intersectTopLeft=new r,this.intersectTopRight=new r,this.intersectBottomRight=new r,this.planeIntersection=new i,this.freezeProjector=!1,this.projectorMinHeight=50,this.intersections=[];for(var h=0;24>h;h++)this.intersections.push(new i);this.connections=[0,3,1,2,0,4,1,5,2,6,3,7,4,7,5,6];var c=this.densityX*this.densityY,l=6*(this.densityX-1)*(this.densityY-1),u=t.defaultMap([t.POSITION,t.TEXCOORD0]);t.call(this,u,c,l),this.rebuild()}return s.prototype=Object.create(t.prototype),s.prototype.update=function(t){var e=this.upperBound,n=this.mainCamera;this.freezeProjector||n.copy(t);var s=n.translation;s.y>0&&s.y-e-n.near&&n.translation.setd(s.x,-e-n.near,s.z);for(var h=n.calculateFrustumCorners(),c=0,l=new i,u=0;8>u;u++){var d=this.connections[2*u],p=this.connections[2*u+1];(h[d].y>e&&h[p].ye)&&this.getWorldIntersectionSimple(e,h[d],h[p],this.intersections[c++],l),(h[d].y>-e&&h[p].y<-e||h[d].y<-e&&h[p].y>-e)&&this.getWorldIntersectionSimple(-e,h[d],h[p],this.intersections[c++],l)}for(var u=0;8>u;u++)h[u].y-e&&this.intersections[c++].set(h[u]);if(0===c)return!1;var f=this.projectorCamera;if(f.copy(n),f.translation.y>0&&f._direction.y>0||f.translation.y<0&&f._direction.y<0){f._direction.y=-f._direction.y;var m=new i;m.setv(f._direction).cross(f._left).normalize(),f._up.setv(m)}var d=this.source,g=this.planeIntersection;d.set(.5,.5),this.getWorldIntersection(0,d,f.getViewProjectionInverseMatrix(),g);var v=f.translation;if(v.y>0&&v.y<2*this.projectorMinHeight){var y=(2*this.projectorMinHeight-v.y)/(2*this.projectorMinHeight);f.translation.setd(v.x,2*this.projectorMinHeight-this.projectorMinHeight*y,v.z)}else if(v.y<0&&v.y>2*-this.projectorMinHeight){var y=(2*-this.projectorMinHeight-v.y)/(2*-this.projectorMinHeight);f.translation.setd(v.x,2*-this.projectorMinHeight+this.projectorMinHeight*y,v.z)}g.subv(f.translation),g.y=0;var x=g.length();x>Math.abs(f.translation.y)?(g.normalize(),g.mul(Math.abs(f.translation.y))):xu;u++)w.set(b[u].x,0,this.intersections[u].z,1),_.applyPost(w),b[u].set(w.x,w.y,0),b[u].div(w.w);for(var M=Number.MAX_VALUE,S=-Number.MAX_VALUE,C=Number.MAX_VALUE,T=-Number.MAX_VALUE,u=0;c>u;u++)b[u].xS&&(S=b[u].x),b[u].yT&&(T=b[u].y);var E=this.rangeMatrix;E.setIdentity(),E.e00=S-M,E.e11=T-C,E.e03=M,E.e13=C;var P=f.getViewProjectionInverseMatrix();return o.combine(P,E,E),d.set(.5,.5),this.getWorldIntersectionHomogenous(0,d,E,this.intersectBottomLeft),d.set(.5,1),this.getWorldIntersectionHomogenous(0,d,E,this.intersectTopLeft),d.set(1,1),this.getWorldIntersectionHomogenous(0,d,E,this.intersectTopRight),d.set(1,.5),this.getWorldIntersectionHomogenous(0,d,E,this.intersectBottomRight),!0},s.prototype.getWorldIntersectionHomogenous=function(t,e,i,r){this.calculateIntersection(t,e,i),r.setv(this.origin)},s.prototype.getWorldIntersection=function(t,e,i,r){this.calculateIntersection(t,e,i),r.setd(this.origin.x,this.origin.y,this.origin.z).div(this.origin.w)},s.prototype.getWorldIntersectionSimple=function(t,e,i,r,o){var n=r.setv(e),a=o.setv(i).sub(n),s=(t-n.y)/a.y;return a.mul(s),n.addv(a),s>=0&&1>=s},s.prototype.calculateIntersection=function(t,e,i){if(this.origin.setd(2*e.x-1,2*e.y-1,-1,1),this.direction.setd(2*e.x-1,2*e.y-1,1,1),i.applyPost(this.origin),i.applyPost(this.direction),this.direction.sub(this.origin),Math.abs(this.direction.y)>a.EPSILON){var r=(t-this.origin.y)/this.direction.y;this.direction.mul(r)}else this.direction.normalize(),this.direction.mul(this.mainCamera._frustumFar);this.origin.add(this.direction)},s.prototype.rebuild=function(){for(var e=this.getAttributeBuffer(t.POSITION),i=this.getAttributeBuffer(t.TEXCOORD0),r=this.getIndexBuffer(),o=this.densityX,n=this.densityY,a=0;o>a;a++)for(var s=0;n>s;s++)e[3*(a+s*o)+0]=a,e[3*(a+s*o)+1]=0,e[3*(a+s*o)+2]=s,i[2*(a+s*o)+0]=a/(o-1),i[2*(a+s*o)+1]=s/(n-1);for(var h=0,c=0;o*(n-1)>c;c++)(0!==c%(o*(Math.floor(c/o)+1)-1)||0===c)&&(r[h++]=c,r[h++]=1+o+c,r[h++]=1+c,r[h++]=c,r[h++]=o+c,r[h++]=1+o+c);return this},s}),define("goo/shapes/RegularPolygon",["goo/renderer/MeshData","goo/shapes/PolyLine"],function(t,e){"use strict";function i(t,i){this.nSegments=t||5,this.radius=i||1;for(var r=[],o=2*Math.PI/t,n=0,a=0;nthis.maxAscent?this.rotY=this.maxAscent:this.rotY0?this.modForward:this.modBack,[t,this.applyJumpImpulse(e),i]},e.prototype.applyTorqueModulation=function(t,e,i){return[t,e*this.modTurn,i]},e.prototype.applyGroundNormalInfluence=function(){var t=Math.abs(Math.cos(this.groundNormal.data[0])),e=Math.abs(Math.cos(this.groundNormal.data[2]));this.targetVelocity.data[0]*=t,this.targetVelocity.data[2]*=e},e.prototype.updateTargetVectors=function(t){this.targetVelocity.set(this.applyDirectionalModulation(this.controlState.strafe,this.gravity,this.controlState.run)),t.rotation.applyPost(this.targetVelocity),this.applyGroundNormalInfluence(),this.targetHeading.set(this.applyTorqueModulation(this.controlState.pitch,this.controlState.yaw,this.controlState.roll))},e.prototype.computeAcceleration=function(t,e,r){return i.set(r),t.transformComponent.transform.rotation.applyPost(i),i.sub(e),i.lerp(r,this.accLerp),i.data[1]=r.data[1],i},e.prototype.computeTorque=function(t,e){return i.set(e),i.sub(t),i.lerp(e,this.rotLerp),i},e.prototype.updateVelocities=function(t){var e=t.movementComponent.getVelocity(),i=t.movementComponent.getRotationVelocity();this.acceleration.set(this.computeAcceleration(t,e,this.targetVelocity)),this.torque.set(this.computeTorque(i,this.targetHeading))},e.prototype.applyAccelerations=function(t){t.movementComponent.addVelocity(this.acceleration),t.movementComponent.addRotationVelocity(this.torque)},e.prototype.updateGroundNormal=function(t){this.groundNormal.set(this.getTerrainNormal(t.translation))},e.prototype.checkGroundContact=function(t,e){this.groundHeight=this.getTerrainHeight(e.translation),e.translation.data[1]<=this.groundHeight?(this.groundContact=1,this.updateGroundNormal(e)):this.groundContact=0},e.prototype.applyGroundContact=function(t,e){this.groundHeight>=e.translation.data[1]&&(e.translation.data[1]=this.groundHeight,t.movementComponent.velocity.data[1]<0&&(t.movementComponent.velocity.data[1]=0))},e.prototype.run=function(t){var e=t.transformComponent.transform;this.checkGroundContact(t,e),this.updateTargetVectors(e),this.updateVelocities(t),this.applyAccelerations(t),this.applyGroundContact(t,e)},e}),define("goo/scripts/HeightMapBoundingScript",["goo/math/MathUtils"],function(t){"use strict";function e(t){this.matrixData=t,this.width=t.length-1}return e.prototype.getMatrixData=function(){return this.matrixData},e.prototype.getPointInMatrix=function(t,e){return this.matrixData[t][e]},e.prototype.getAt=function(t,e){return 0>t||t>this.width||0>e||e>this.width?0:this.getPointInMatrix(t,e)},e.prototype.getInterpolated=function(t,e){var i=this.getAt(Math.ceil(t),Math.ceil(e)),r=this.getAt(Math.ceil(t),Math.floor(e)),o=this.getAt(Math.floor(t),Math.ceil(e)),n=this.getAt(Math.floor(t),Math.floor(e)),a=t-Math.floor(t),s=e-Math.floor(e),h=i*a+o*(1-a),c=r*a+n*(1-a),l=h*s+c*(1-s);return l},e.prototype.getTriangleAt=function(t,e){var i,r=Math.ceil(t),o=Math.floor(t),n=Math.ceil(e),a=Math.floor(e),s=t-o,h=e-a,c={x:o,y:n,z:this.getAt(o,n)},l={x:r,y:a,z:this.getAt(r,a)};return i=1-h>s?{x:o,y:a,z:this.getAt(o,a)}:{x:r,y:n,z:this.getAt(r,n)},[c,l,i]},e.prototype.getPreciseHeight=function(e,i){var r=this.getTriangleAt(e,i),o=t.barycentricInterpolation(r[0],r[1],r[2],{x:e,y:i,z:0});return o.z},e.prototype.run=function(t){var e=t.transformComponent.transform.translation;e.data[1]=this.getInterpolated(e.data[0],e.data[2])},e}),define("goo/scripts/MouseLookControlScript",["goo/math/Vector3","goo/math/Matrix3x3","goo/math/MathUtils"],function(t,e,i){"use strict";function r(r){r=r||{},this.name="MouseLookControlScript",this.domElement=r.domElement||null,this.turnSpeedHorizontal=isNaN(r.turnSpeedHorizontal)?.01:r.turnSpeed,this.turnSpeedVertical=isNaN(r.turnSpeedVertical)?.01:r.turnSpeed,this.dragOnly=void 0!==r.dragOnly?r.dragOnly===!0:!0,this.dragButton=isNaN(r.dragButton)?-1:r.dragButton,this.worldUpVector=new t(r.worldUpVector)||new t(0,1,0),this.localLeftVector=new t(r.localLeftVector)||new t(-1,0,0),this.onRun=r.onRun,this.maxAscent=void 0!==r.maxAscent?r.maxAscent:89.95*i.DEG_TO_RAD,this.minAscent=void 0!==r.minAscent?r.minAscent:-89.95*i.DEG_TO_RAD,this.calcVector=new t,this.calcMat1=new e,this.calcMat2=new e,this.rotX=0,this.rotY=0,this.resetMouseState(),this.domElement&&this.setupMouseControls()}r.prototype.resetMouseState=function(){this.mouseState={buttonDown:!1,lastX:0/0,lastY:0/0,dX:0,dY:0}},r.prototype.updateButtonState=function(t,e){this.domElement!==document&&this.domElement.focus(),!this.dragOnly||-1!==this.dragButton&&this.dragButton!==t.button||(this.mouseState.buttonDown=e,t.preventDefault())},r.prototype.updateDeltas=function(t){isNaN(this.mouseState.lastX)||isNaN(this.mouseState.lastY)?(this.mouseState.dX=0,this.mouseState.dY=0,this.mouseState.lastX=t.clientX,this.mouseState.lastY=t.clientY):(this.mouseState.dX=t.clientX-this.mouseState.lastX,this.mouseState.dY=t.clientY-this.mouseState.lastY,this.mouseState.lastX=t.clientX,this.mouseState.lastY=t.clientY)};var o,n,a,s=function(t){this.resetMouseState(),this.updateButtonState(t,!0),n=h.bind(this),a=c.bind(this),document.addEventListener("mousemove",n,!1),document.addEventListener("mouseup",a,!1),document.addEventListener("mouseout",a,!1)},h=function(t){this.updateDeltas(t)},c=function(t){this.updateButtonState(t,!1),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",a),document.removeEventListener("mouseout",a)};return r.prototype.setupMouseControls=function(){o=s.bind(this),this.domElement.addEventListener("mousedown",o,!1)},r.prototype.run=function(t,e,i){i&&!this.domElement&&i.domElement&&(this.domElement=i.domElement,this.setupMouseControls());var r=t.transformComponent;if(r){var o=r.transform,n=o.rotation;if(n.toAngles(this.calcVector),this.rotY=this.calcVector.x,this.rotX=this.calcVector.y,this.dragOnly&&!this.mouseState.buttonDown||0===this.mouseState.dX&&0===this.mouseState.dY)return this.mouseState.dX=0,this.mouseState.dY=0,void 0;var a=this.turnSpeedHorizontal,s=this.turnSpeedVertical;0!==this.mouseState.dX&&(this.rotX-=a*this.mouseState.dX),0!==this.mouseState.dY&&(this.rotY-=s*this.mouseState.dY,this.rotY>this.maxAscent?this.rotY=this.maxAscent:this.rotYn&&(i=n,r=o)}return this.elevationData[r+1]},t.prototype.run=function(t){var e=t.transformComponent.transform.translation,i=this.getClosest(e.data[0],e.data[2]),r=e.data[1]-i;e.data[1]-=.1*r},t}),define("goo/scripts/SplineInterpolator",["goo/math/Matrix4x4","goo/math/Vector4"],function(t,e){"use strict";function i(t){t=t||{},this.controlPoint=0,this.controlPoints=t.controlPoints||[],this.elapsedTime=0,this.enabled=t.enabled||!0,this.firstIteration=!0,this.tolerance=t.tolerance||.01,this.beforeFunction=t.beforeFunction||function(t){return t.transformComponent.transform.translation.clone().data},this.updateFunction=t.updateFunction||function(t,e){t.transformComponent.transform.translation.set(e),t.transformComponent.setUpdated()},this.afterFunction=t.afterFunction||function(){}}var r=function(t,e,i){return Math.min(Math.max(t,e),i)};return i.CATMULL_ROM=new t(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0),i.UNIFORM_CUBIC=new t(-.16667,.5,-.5,.16667,.5,-1,0,.66667,-.5,.5,.5,.16667,.16667,0,0,0),i.prototype.run=function(t,o){if(this.firstIteration){this.firstIteration=!1;try{this.controlPoints.unshift({time:0,value:this.beforeFunction(t)})}catch(n){return this.enabled=!1,void 0}}for(var a=r(this.controlPoint-1,0,this.controlPoints.length-1),s=r(this.controlPoint+0,0,this.controlPoints.length-1),h=r(this.controlPoint+1,0,this.controlPoints.length-1),c=r(this.controlPoint+2,0,this.controlPoints.length-1),l=this.controlPoints[h].time>this.controlPoints[s].time?(this.elapsedTime-this.controlPoints[s].time)/(this.controlPoints[h].time-this.controlPoints[s].time):0,u=i.CATMULL_ROM.applyPre(new e(l*l*l,l*l,l,1)),d=new Array(this.controlPoints[0].value.length),p=0,f=0;f=this.controlPoints[h].time&&this.controlPoint++,this.controlPoint>=this.controlPoints.length||pt.maxX)throw{name:"Terrain Exception",message:"minX is larger than maxX"};if(t.minY>t.maxY)throw{name:"Terrain Exception",message:"minY is larger than maxY"};if(t.minZ>t.maxZ)throw{name:"Terrain Exception",message:"minZ is larger than maxZ"};if(!e)throw{name:"Terrain Exception",message:"No heightmap data specified"};if(e.length!==e[0].length)throw{name:"Terrain Exception",message:"Heightmap data is not a square"};return!0}function r(e,r,o){r=r||s,i(r,e,o);var n={dimensions:r,sideQuadCount:e.length-1,script:new t(e)};return n}function o(){this.heightMapData=[],this.yMargin=1}var n=new e,a=new e,s={minX:0,maxX:100,minY:0,maxY:50,minZ:0,maxZ:100};return o.prototype.addHeightData=function(t,e){var i=r(t,e,this.heightMapData);return this.heightMapData.push(i),i},o.prototype.getHeightDataForPosition=function(t){for(var e=0;e=i.minX&&t[1]i.minY-this.yMargin&&t[2]<=i.maxZ&&t[2]>=i.minZ)return this.heightMapData[e]}return null},o.prototype.displaceAxisDimensions=function(t,e,i,r){var o=t-e;return r*o/(i-e)},o.prototype.returnToWorldDimensions=function(t,e,i,r){var o=(i-e)/r,n=t*o;return e+n},o.prototype.getTerrainHeightAt=function(t){var e=this.getHeightDataForPosition(t);if(null===e)return null;var i=e.dimensions,r=this.displaceAxisDimensions(t[0],i.minX,i.maxX,e.sideQuadCount),o=this.displaceAxisDimensions(t[2],i.minZ,i.maxZ,e.sideQuadCount),n=e.script.getPreciseHeight(r,o);return n*(i.maxY-i.minY)+i.minY},o.prototype.getTerrainNormalAt=function(t){var e=this.getHeightDataForPosition(t);if(!e)return null;for(var i=e.dimensions,r=this.displaceAxisDimensions(t[0],i.minX,i.maxX,e.sideQuadCount),o=this.displaceAxisDimensions(t[2],i.minZ,i.maxZ,e.sideQuadCount),s=e.script.getTriangleAt(r,o),h=0;he)return[];for(var i=[],r=[],a=0;e>a;a++)r.push(a);for(var a=0,s=e;s>3;){var h=r[(a+0)%s],c=r[(a+1)%s],l=r[(a+2)%s],u=t[3*h],d=t[3*h+1],p=t[3*c],f=t[3*c+1],m=t[3*l],g=t[3*l+1],v=!1;if(n(u,d,p,f,m,g)){v=!0;for(var y=0;s>y;y++){var x=r[y];if(x!==h&&x!==c&&x!==l&&o(t[3*x],t[3*x+1],u,d,p,f,m,g)){v=!1;break}}}if(v)i.push(h,c,l),r.splice((a+1)%s,1),s--,a=0;else if(a++>3*s)break}return i.push(r[0],r[1],r[2]),i}function o(t,e,i,r,o,n,a,s){var h=a-i,c=s-r,l=o-i,u=n-r,d=t-i,p=e-r,f=h*h+c*c,m=h*l+c*u,g=h*d+c*p,v=l*l+u*u,y=l*d+u*p,x=1/(f*v-m*m),_=(v*g-m*y)*x,w=(f*y-m*g)*x;return _>=0&&w>=0&&1>_+w}function n(t,e,i,r,o,n){return(e-r)*(o-i)+(i-t)*(n-r)>=0}function a(t){for(var e=t[0],i=t[0],r=t[1],o=t[1],n=3;nt[n+0]?i:t[n+0],r=rt[n+1]?o:t[n+1];return{minX:e,maxX:i,minY:r,maxY:o}}return i.prototype=Object.create(t.prototype),i.prototype.rebuild=function(){this.getAttributeBuffer(t.POSITION).set(this.verts);for(var i=[],r=0;rt[n+0]?i:t[n+0],r=rt[n+1]?o:t[n+1];return{minX:e,maxX:i,minY:r,maxY:o}}return i.prototype=Object.create(t.prototype),i.prototype.rebuild=function(){this.getAttributeBuffer(t.POSITION).set(this.verts);for(var i=[],o=[],n=[],a=this.verts.length/3,s=a/this.vertsPerLine,h=0;s-1>h;h++){for(var c=0;ca;a++)for(var s=0;o>s;s++)n.push(a*t/r-.5*t,s*e/o-.5*e,0);var h=new i(n,r);return h},i}),define("goo/shapes/PolyLine",["goo/renderer/MeshData","goo/shapes/Surface"],function(t,e){"use strict";function i(e,i){this.verts=e,this.closed=!!i;var r=t.defaultMap([t.POSITION]);t.call(this,r,this.verts.length/3,this.verts.length/3),this.indexModes=this.closed?["LineLoop"]:["LineStrip"],this.rebuild()}function r(t,e,i,r){var o=Math.sqrt(t*t+e*e),n=t/o,a=e/o,s=Math.sqrt(i*i+r*r),h=i/s,c=r/s;return Math.atan2(a+c,n+h)-Math.PI/2}function o(t,e){var i,o,n,a,s,h,c=t.length/3;return 0===e?(n=t[0],a=t[2],s=t[3],h=t[5],Math.atan2(h-a,s-n)-Math.PI/2):e===c-1?(i=t[3*(c-2)+0],o=t[3*(c-2)+2],n=t[3*(c-1)+0],a=t[3*(c-1)+2],Math.atan2(a-o,n-i)-Math.PI/2):(i=t[3*(e-1)+0],o=t[3*(e-1)+2],n=t[3*e+0],a=t[3*e+2],s=t[3*(e+1)+0],h=t[3*(e+1)+2],r(n-i,a-o,s-n,h-a))}return i.prototype=Object.create(t.prototype),i.prototype.rebuild=function(){this.getAttributeBuffer(t.POSITION).set(this.verts);for(var e=[],i=this.verts.length/3,r=0;i>r;r++)e.push(r);return this.getIndexBuffer().set(e),this},i.prototype.mul=function(t){if(t instanceof i){for(var r=t.verts.length/3,o=[],n=0;n=n;n++,a+=i)r.push(Math.cos(a)*this.verts[o+0],this.verts[o+1],Math.sin(a)*this.verts[o+0]);return new e(r,t+1,!0)},i.prototype.concat=function(t,e){return t instanceof i?new i(this.verts.concat(t.verts),e):(console.error("concat operation can only be applied to PolyLines"),void 0)},i.fromCubicBezier=function(t,e,r){if(12!==t.length)return console.error("PolyLine.fromCubicBezier takes an array of exactly 12 coordinates"),void 0;e=e||16,r=r||0;for(var o=[],n=[],a=[],s=[],h=[],c=[],l=[],u=r;e>=u;u++){var d=u/e;n[0]=t[0]+(t[3]-t[0])*d,n[1]=t[1]+(t[4]-t[1])*d,n[2]=t[2]+(t[5]-t[2])*d,a[0]=t[3]+(t[6]-t[3])*d,a[1]=t[4]+(t[7]-t[4])*d,a[2]=t[5]+(t[8]-t[5])*d,s[0]=t[6]+(t[9]-t[6])*d,s[1]=t[7]+(t[10]-t[7])*d,s[2]=t[8]+(t[11]-t[8])*d,h[0]=n[0]+(a[0]-n[0])*d,h[1]=n[1]+(a[1]-n[1])*d,h[2]=n[2]+(a[2]-n[2])*d,c[0]=a[0]+(s[0]-a[0])*d,c[1]=a[1]+(s[1]-a[1])*d,c[2]=a[2]+(s[2]-a[2])*d,l[0]=h[0]+(c[0]-h[0])*d,l[1]=h[1]+(c[1]-h[1])*d,l[2]=h[2]+(c[2]-h[2])*d,o.push(l[0],l[1],l[2])}return new i(o)},i.fromCubicSpline=function(t,e,r){if(r){if(0!==t.length%3&&0!==t.length/3%3)return console.error("Wrong number of coordinates supplied in first argument to PolyLine.fromCubicSpline"),void 0;for(var o=t.length/3,n=o/3,a=i.fromCubicBezier(t.slice(0,12),e,1),s=1;n-1>s;s++){var h=i.fromCubicBezier(t.slice(9*s,9*s+12),e,1);a=a.concat(h)}var h=i.fromCubicBezier(t.slice(9*s,9*s+9).concat(t.slice(0,3)),e,1);return a=a.concat(h)}if(0!==t.length%3&&1!==t.length/3%3)return console.error("Wrong number of coordinates supplied in first argument to PolyLine.fromCubicSpline"),void 0;for(var o=t.length/3,n=(o-1)/3,a=i.fromCubicBezier(t.slice(0,12),e,1),s=1;n>s;s++){var h=i.fromCubicBezier(t.slice(9*s,9*s+12),e,1);a=a.concat(h)}return a},i}),define("goo/shapes/ProjectedGrid",["goo/renderer/MeshData","goo/math/Vector2","goo/math/Vector3","goo/math/Vector4","goo/math/Matrix4x4","goo/renderer/Camera","goo/math/MathUtils"],function(t,e,i,r,o,n,a){"use strict";function s(a,s){this.densityX=void 0!==a?a:20,this.densityY=void 0!==s?s:20,this.projectorCamera=new n(45,1,.1,2e3),this.mainCamera=new n(45,1,.1,2e3),this.freezeProjector=!1,this.upperBound=20,this.origin=new r,this.direction=new r,this.source=new e,this.rangeMatrix=new o,this.intersectBottomLeft=new r,this.intersectTopLeft=new r,this.intersectTopRight=new r,this.intersectBottomRight=new r,this.planeIntersection=new i,this.freezeProjector=!1,this.projectorMinHeight=50,this.intersections=[];for(var h=0;24>h;h++)this.intersections.push(new i);this.connections=[0,3,1,2,0,4,1,5,2,6,3,7,4,7,5,6];var c=this.densityX*this.densityY,l=6*(this.densityX-1)*(this.densityY-1),u=t.defaultMap([t.POSITION,t.TEXCOORD0]);t.call(this,u,c,l),this.rebuild()}return s.prototype=Object.create(t.prototype),s.prototype.update=function(t){var e=this.upperBound,n=this.mainCamera;this.freezeProjector||n.copy(t);var s=n.translation;s.y>0&&s.y-e-n.near&&n.translation.setd(s.x,-e-n.near,s.z);for(var h=n.calculateFrustumCorners(),c=0,l=new i,u=0;8>u;u++){var d=this.connections[2*u],p=this.connections[2*u+1];(h[d].y>e&&h[p].ye)&&this.getWorldIntersectionSimple(e,h[d],h[p],this.intersections[c++],l),(h[d].y>-e&&h[p].y<-e||h[d].y<-e&&h[p].y>-e)&&this.getWorldIntersectionSimple(-e,h[d],h[p],this.intersections[c++],l)}for(var u=0;8>u;u++)h[u].y-e&&this.intersections[c++].set(h[u]);if(0===c)return!1;var f=this.projectorCamera;if(f.copy(n),f.translation.y>0&&f._direction.y>0||f.translation.y<0&&f._direction.y<0){f._direction.y=-f._direction.y;var m=new i;m.setv(f._direction).cross(f._left).normalize(),f._up.setv(m)}var d=this.source,g=this.planeIntersection;d.set(.5,.5),this.getWorldIntersection(0,d,f.getViewProjectionInverseMatrix(),g);var v=f.translation;if(v.y>0&&v.y<2*this.projectorMinHeight){var y=(2*this.projectorMinHeight-v.y)/(2*this.projectorMinHeight);f.translation.setd(v.x,2*this.projectorMinHeight-this.projectorMinHeight*y,v.z)}else if(v.y<0&&v.y>2*-this.projectorMinHeight){var y=(2*-this.projectorMinHeight-v.y)/(2*-this.projectorMinHeight);f.translation.setd(v.x,2*-this.projectorMinHeight+this.projectorMinHeight*y,v.z)}g.subv(f.translation),g.y=0;var x=g.length();x>Math.abs(f.translation.y)?(g.normalize(),g.mul(Math.abs(f.translation.y))):xu;u++)w.set(b[u].x,0,this.intersections[u].z,1),_.applyPost(w),b[u].set(w.x,w.y,0),b[u].div(w.w);for(var M=Number.MAX_VALUE,S=-Number.MAX_VALUE,C=Number.MAX_VALUE,T=-Number.MAX_VALUE,u=0;c>u;u++)b[u].xS&&(S=b[u].x),b[u].yT&&(T=b[u].y);var E=this.rangeMatrix;E.setIdentity(),E.e00=S-M,E.e11=T-C,E.e03=M,E.e13=C;var P=f.getViewProjectionInverseMatrix();return o.combine(P,E,E),d.set(.5,.5),this.getWorldIntersectionHomogenous(0,d,E,this.intersectBottomLeft),d.set(.5,1),this.getWorldIntersectionHomogenous(0,d,E,this.intersectTopLeft),d.set(1,1),this.getWorldIntersectionHomogenous(0,d,E,this.intersectTopRight),d.set(1,.5),this.getWorldIntersectionHomogenous(0,d,E,this.intersectBottomRight),!0},s.prototype.getWorldIntersectionHomogenous=function(t,e,i,r){this.calculateIntersection(t,e,i),r.setv(this.origin)},s.prototype.getWorldIntersection=function(t,e,i,r){this.calculateIntersection(t,e,i),r.setd(this.origin.x,this.origin.y,this.origin.z).div(this.origin.w)},s.prototype.getWorldIntersectionSimple=function(t,e,i,r,o){var n=r.setv(e),a=o.setv(i).sub(n),s=(t-n.y)/a.y;return a.mul(s),n.addv(a),s>=0&&1>=s},s.prototype.calculateIntersection=function(t,e,i){if(this.origin.setd(2*e.x-1,2*e.y-1,-1,1),this.direction.setd(2*e.x-1,2*e.y-1,1,1),i.applyPost(this.origin),i.applyPost(this.direction),this.direction.sub(this.origin),Math.abs(this.direction.y)>a.EPSILON){var r=(t-this.origin.y)/this.direction.y;this.direction.mul(r)}else this.direction.normalize(),this.direction.mul(this.mainCamera._frustumFar);this.origin.add(this.direction)},s.prototype.rebuild=function(){for(var e=this.getAttributeBuffer(t.POSITION),i=this.getAttributeBuffer(t.TEXCOORD0),r=this.getIndexBuffer(),o=this.densityX,n=this.densityY,a=0;o>a;a++)for(var s=0;n>s;s++)e[3*(a+s*o)+0]=a,e[3*(a+s*o)+1]=0,e[3*(a+s*o)+2]=s,i[2*(a+s*o)+0]=a/(o-1),i[2*(a+s*o)+1]=s/(n-1);for(var h=0,c=0;o*(n-1)>c;c++)(0!==c%(o*(Math.floor(c/o)+1)-1)||0===c)&&(r[h++]=c,r[h++]=1+o+c,r[h++]=1+c,r[h++]=c,r[h++]=o+c,r[h++]=1+o+c);return this},s}),define("goo/shapes/RegularPolygon",["goo/renderer/MeshData","goo/shapes/PolyLine"],function(t,e){"use strict";function i(t,i){this.nSegments=t||5,this.radius=i||1;for(var r=[],o=2*Math.PI/t,n=0,a=0;ns;s++){for(var h=0;h",{text:this.name,css:{position:"relative","z-index":1e4},click:function(){t.send(this.event)}.bind(this)}).appendTo($("body"))},e.prototype.exit=function(){this.button&&this.button.remove()},e}),define("goo/statemachine/actions/MultiplyVariableAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments)}return i.prototype=Object.create(t.prototype),i.prototype.configure=function(t){this.everyFrame=!!t.everyFrame,this.variable=t.variable||null,this.amount=t.amount||1},i.external={parameters:[{name:"Variable",key:"variable",type:"identifier"},{name:"Amount",key:"amount",type:"float"},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!1}],transitions:[]},i.prototype._run=function(t){t.applyOnVariable(this.variable,function(i){return i*e.getValue(this.amount,t)}.bind(this))},i}),define("goo/statemachine/actions/NumberCompareAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments)}return i.prototype=Object.create(t.prototype),i.prototype.configure=function(t){this.everyFrame=t.everyFrame!==!1,this.leftHand=t.leftHand||0,this.rightHand=t.rightHand||0,this.tolerance=t.tolerance||1e-4,this.lessThanEvent={channel:t.transitions.less},this.equalEvent={channel:t.transitions.equal},this.greaterThanEvent={channel:t.transitions.greater}},i.external={parameters:[{name:"Left hand value",key:"leftHand",type:"float"},{name:"Right hand value",key:"rightHand",type:"float"},{name:"Tolerance",key:"tolerance",type:"float","default":.001},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!0}],transitions:[{name:"less",description:"Event fired if left hand argument is smaller than right hand argument"},{name:"equal",description:"Event fired if both sides are approximately equal"},{name:"greater",description:"Event fired if left hand argument is greater than right hand argument"}]},i.prototype._run=function(t){var i=e.getValue(this.leftHand,t),r=e.getValue(this.rightHand,t),o=r-i;Math.abs(o)<=this.tolerance?this.equalEvent.channel&&t.send(this.equalEvent.channel):o>0?this.lessThanEvent.channel&&t.send(this.lessThanEvent.channel):this.greaterThanEvent.channel&&t.send(this.greaterThanEvent.channel)},i}),define("goo/statemachine/actions/ResumeFSMAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Resume FSM",description:"Continue running a suspended state machine",parameters:[{name:"Entity",key:"entity",type:"entity",description:"Entity to resume its FSM","default":null}],transitions:[]},e.prototype._run=function(){this.entity&&this.entity.fSMComponent&&this.entity.fSMComponent.resume()},e}),define("goo/statemachine/actions/SetCssPropertyAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(t){t=t||{},this.everyFrame=t.everyFrame||!1,this.selector=t.selector||"body",this.property=t.property||"background-color",this.value=t.value||"black"}return e.prototype=Object.create(t.prototype),e.external=[{selector:["string","Selector"],property:["string","Property"],value:["string","Value"]}],e.prototype.onCreate=function(){$(this.selector).css(this.property,this.value)},e}),define("goo/statemachine/actions/SetLightRangeAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.configure=function(t){this.everyFrame=!!t.everyFrame,this.entity=t.entity||null,this.range=t.range||100},e.external={name:"Set Light Range",description:"Sets the range of a light",parameters:[{name:"Entity",key:"entity",type:"entity",description:"Light entity"},{name:"Range",key:"range",type:"real",description:"Light range","default":100,min:0},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!0}],transitions:[]},e.prototype._run=function(){this.entity&&this.entity.lightComponent&&this.entity.lightComponent.light&&(this.entity.lightComponent.light.range=this.range)},e}),define("goo/statemachine/actions/SetPositionAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments)}return i.prototype=Object.create(t.prototype),i.prototype.configure=function(t){this.everyFrame=!!t.everyFrame,this.entity=t.entity||null,this.amountX=t.amountX||0,this.amountY=t.amountY||0,this.amountZ=t.amountZ||0},i.external={parameters:[{name:"Entity",key:"entity",type:"entity",description:"Entity to move"},{name:"Amount X",key:"amountX",type:"float",description:"Position on the X axis","default":0},{name:"Amount Y",key:"amountY",type:"float",description:"Position on the Y axis","default":0},{name:"Amount Z",key:"amountZ",type:"float",description:"Position on the Z axis","default":0},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!0}],transitions:[]},i.prototype._run=function(t){null!==this.entity&&(this.entity.transformComponent.transform.translation.setd(e.getValue(this.amountX,t),e.getValue(this.amountY,t),e.getValue(this.amountZ,t)),this.entity.transformComponent.setUpdated())},i}),define("goo/statemachine/actions/SetRotationAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments)}return i.prototype=Object.create(t.prototype),i.prototype.configure=function(t){this.everyFrame=!!t.everyFrame,this.entity=t.entity||null,this.amountX=t.amountX||0,this.amountY=t.amountY||0,this.amountZ=t.amountZ||0},i.external={parameters:[{name:"Entity",key:"entity",type:"entity",description:"Entity to move"},{name:"Amount X",key:"amountX",type:"float",description:"Amount to rotate on the X axis","default":0},{name:"Amount Y",key:"amountY",type:"float",description:"Amount to rotate on the Y axis","default":0},{name:"Amount Z",key:"amountZ",type:"float",description:"Amount to rotate on the Z axis","default":0},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!0}],transitions:[]},i.prototype._run=function(t){null!==this.entity&&(this.entity.transformComponent.transform.setRotationXYZ(e.getValue(this.amountX,t),e.getValue(this.amountY,t),e.getValue(this.amountZ,t)),this.entity.transformComponent.setUpdated())},i}),define("goo/statemachine/actions/SetVariableAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(t,e){"use strict";function i(){t.apply(this,arguments)}return i.prototype=Object.create(t.prototype),i.prototype.configure=function(t){this.everyFrame=t.everyFrame!==!1,this.variable=t.variable||null,this.amount=t.amount||0},i.external={parameters:[{name:"Variable",key:"variable",type:"identifier"},{name:"Amount",key:"amount",type:"float"},{name:"On every frame",key:"everyFrame",type:"boolean",description:"Repeat this action every frame","default":!1}],transitions:[]},i.prototype._run=function(t){this.variable&&t.applyOnVariable(this.variable,function(){return e.getValue(this.amount,t)}.bind(this))},i}),define("goo/statemachine/actions/SnowAction",["goo/statemachine/actions/Action","goo/renderer/Material","goo/renderer/shaders/ShaderLib","goo/renderer/TextureCreator","goo/particles/ParticleLib","goo/util/ParticleSystemUtils","goo/entities/EntityUtils"],function(t,e,i,r,o,n){"use strict";function a(){t.apply(this,arguments)}return a.material=null,a.prototype=Object.create(t.prototype),a.prototype.constructor=a,a.external={name:"Snow",description:"Makes the entity emit snow",parameters:[],transitions:[]},a.prototype._run=function(t){var r=t.getOwnerEntity(),s=r._world.gooRunner;if(!SmokeAction.material){a.material=e.createMaterial(i.particles);var h=n.createFlareTexture();h.generateMipmaps=!0,a.material.setTexture("DIFFUSE_MAP",h),a.material.blendState.blending="AlphaBlending",a.material.cullState.enabled=!1,a.material.depthState.write=!1,a.material.renderQueue=2001}var c=n.createParticleSystemEntity(s,o.getSmoke(),SmokeAction.material);c.name="_ParticleSystemSmoke",r.transformComponent.attachChild(c.transformComponent),c.addToWorld()},a}),define("goo/statemachine/actions/SuspendFSMAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.external={name:"Suspend FSM",description:"Suspends the state machine of another entity",parameters:[{name:"Entity",key:"entity",type:"entity",description:"Entity to suspend its FSM","default":null}],transitions:[]},e.prototype._run=function(){this.entity&&this.entity.fSMComponent&&this.entity.fSMComponent.pause()},e}),define("goo/statemachine/actions/TestAngleAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(t){t=t||{},this.everyFrame=t.everyFrame||!0,this.entity=t.entity||null,this.rangeMin=t.rangeMin||0,this.rangeMax=t.rangeMax||Math.PI,this.eventInRange=t.eventInRange||"inRange",this.eventOutRange=t.eventOutRange||"outRange"}return e.prototype=Object.create(t.prototype),e.external=[{name:"Entity",key:"entity",type:"entity"},{name:"RangeMin",key:"rangeMin",type:"spinner"},{name:"RangeMax",key:"rangeMax",type:"spinner"},{name:"Event In Range",key:"eventInRange",type:"event"},{name:"Event Out Of Range",key:"eventOutRange",type:"event"}],e.prototype.onUpdate=function(t){if(null!==this.entity&&this.entity.body){var e=this.entity.body.GetAngle()%(2*Math.PI);0>e&&(e=2*Math.PI+e),e>=this.rangeMin&&e<=this.rangeMax?t.handle(this.eventInRange):t.handle(this.eventOutRange)}},e}),define("goo/statemachine/actions/TestSpeedAction",["goo/statemachine/actions/Action"],function(t){"use strict";function e(t){this.type="TestSpeedAction",this.everyFrame=t.everyFrame||!0,t=t||{},this.entity=t.entity||null,this.rangeMin=t.rangeMin||0,this.rangeMax=t.rangeMax||Math.PI,this.eventInRange=t.eventInRange||"inRange",this.eventOutRange=t.eventOutRange||"outRange"}return e.prototype=Object.create(t.prototype),e.external=[{name:"Entity",key:"entity",type:"entity"},{name:"RangeMin",key:"rangeMin",type:"spinner"},{name:"RangeMax",key:"rangeMax",type:"spinner"},{name:"Event In Range",key:"eventInRange",type:"event"},{name:"Event Out Of Range",key:"eventOutRange",type:"event"}],e.prototype.onUpdate=function(t){if(null!==this.entity&&this.entity.body){var e=this.entity.body.GetLinearVelocity().Length();e>=this.rangeMin&&e<=this.rangeMax?t.handle(this.eventInRange):t.handle(this.eventOutRange)}},e}),define("goo/statemachine/actions/TweenAction",["goo/statemachine/actions/Action","goo/statemachine/FSMUtil"],function(Action,FSMUtil){"use strict";function TweenAction(){Action.apply(this,arguments)}return TweenAction.prototype=Object.create(Action.prototype),TweenAction.prototype.constructor=TweenAction,TweenAction.external={name:"Tween",description:"Tween anything",canTransition:!0,parameters:[{name:"To",key:"to",type:"number",description:"Value to tween to","default":0},{name:"Object",key:"objectName",type:"string",description:"Object","default":""},{name:"Property",key:"propertyName",type:"string",description:"Property","default":""},{name:"Time",key:"time",type:"number",description:"Time it takes for this tween to complete","default":1e3},{name:"Easing type",key:"easing1",type:"dropdown",description:"Easing type","default":"Linear",options:["Linear","Quadratic","Exponential","Circular","Elastic","Back","Bounce"]},{name:"Direction",key:"easing2",type:"dropdown",description:"Easing direction","default":"In",options:["In","Out","InOut"]}],transitions:[{key:"complete",name:"On Completion",description:"State to transition to when the tween completes"}]},TweenAction.prototype.configure=function(t){this.to=t.to,this.objectName=t.objectName,this.propertyName=t.propertyName,this.time=t.time,this.easing="Linear"===t.easing1?window.TWEEN.Easing.Linear.None:window.TWEEN.Easing[t.easing1][t.easing2],this.eventToEmit={channel:t.transitions.complete}},TweenAction.prototype._run=function(fsm){var entity=fsm.getOwnerEntity(),object=eval("entity."+this.objectName),from=object[this.propertyName];FSMUtil.createComposableTween(entity,this.propertyName,from,this.to,this.time)},TweenAction}),define("goo/util/CanvasUtils",[],function(){"use strict";function t(){}return t.prototype.loadCanvasFromPath=function(t,e){var i=new Image;i.src=t;var r=document.createElement("canvas"),o=r.getContext("2d");i.onload=function(){r.width=i.width,r.height=i.height,o.drawImage(i,0,0),e(r)}},t.prototype.getMatrixFromCanvas=function(t){for(var e=t.getContext("2d"),i=function(i,r){return 0>i||i>t.width||0>r||r>t.height?0:e.getImageData(i,r,1,1).data[0]/255},r=[],o=0;o>16)/255,e[1]=(255&t>>8)/255,e[2]=(255&t)/255,e},e.arrayToHex=function(t){return 255*t[0]<<16^255*t[1]<<8^255*t[2]<<0},e.arrayToHexString=function(t){return("000000"+e.arrayToHex(t).toString(16)).slice(-6)};var i=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i,r=/^rgb\(\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*\)$/i,o=/^\#([0-9a-f])([0-9a-f])([0-9a-f])$/i,n=/^\#([0-9a-f]{6})$/i,a=/^(\w+)$/i;return e.cssToArray=function(t,s){if(s=s||[],i.test(t)){var h=i.exec(t);return s[0]=Math.min(255,parseInt(h[1],10))/255,s[1]=Math.min(255,parseInt(h[2],10))/255,s[2]=Math.min(255,parseInt(h[3],10))/255,s}if(r.test(t)){var h=r.exec(t);return s[0]=Math.min(100,parseInt(h[1],10))/100,s[1]=Math.min(100,parseInt(h[2],10))/100,s[2]=Math.min(100,parseInt(h[3],10))/100,s}if(n.test(t)){var h=n.exec(t);return this.hexToArray(parseInt(h[1],16),s)}if(o.test(t)){var h=o.exec(t);return this.hexToArray(parseInt(h[1]+h[1]+h[2]+h[2]+h[3]+h[3],16),s)}return a.test(t)?this.hexToArray(e.color[t],s):(console.warn("No matching style found"),s[0]=s[1]=s[2]=0,s)},e.HSLToArray=function(t,e,i,r){if(r=r||[],0===e)r[0]=r[1]=r[2]=i;else{var o=function(t,e,i){return 0>i&&(i+=1),i>1&&(i-=1),1/6>i?t+6*(e-t)*i:.5>i?e:2/3>i?t+6*(e-t)*(2/3-i):t},n=.5>=i?i*(1+e):i+e-i*e,a=2*i-n;r[0]=o(a,n,t+1/3),r[1]=o(a,n,t),r[2]=o(a,n,t-1/3)}return r},e.arrayToHSL=function(t,e){e=e||[];var i,r,o=t[0],n=t[1],a=t[2],s=Math.max(o,n,a),h=Math.min(o,n,a),c=(h+s)/2;if(h===s)i=0,r=0;else{var l=s-h;switch(r=.5>=c?l/(s+h):l/(2-s-h),s){case o:i=(n-a)/l+(a>n?6:0);break;case n:i=(a-o)/l+2;break;case a:i=(o-n)/l+4}i/=6}return e[0]=i,e[1]=r,e[2]=c,e},e.HSBToArray=function(t,e,i,r){r=r||[];var o=0,n=0,a=0;if(0===e)o=n=a=i;else{var s=6*(t-Math.floor(t)),h=s-Math.floor(s),c=i*(1-e),l=i*(1-e*h),u=i*(1-e*(1-h));switch(s){case 0:o=i,n=u,a=c;break;case 1:o=l,n=i,a=c;break;case 2:o=c,n=i,a=u;break;case 3:o=c,n=l,a=i;break;case 4:o=u,n=c,a=i;break;case 5:o=i,n=c,a=l}}return r[0]=o,r[1]=n,r[2]=a,r},e.arrayToHSB=function(t,e){e=e||[];var i,r,o,n=t[0],a=t[1],s=t[2],h=n>a?n:a;s>h&&(h=s);var c=a>n?n:a;if(c>s&&(c=s),o=h/255,r=0!==h?(h-c)/h:0,0===r)i=0;else{var l=(h-n)/(h-c),u=(h-a)/(h-c),d=(h-s)/(h-c);i=n===h?d-u:a===h?2+l-d:4+u-l,i/=6,0>i&&(i+=1)}return e[0]=i,e[1]=r,e[2]=o,e},e.arrayToCSS=function(t){return"rgb("+(0|255*t[0])+","+(0|255*t[1])+","+(0|255*t[2])+")"},e.color={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},e}),define("goo/util/Grid",["goo/entities/EntityUtils","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/renderer/MeshData","goo/renderer/Material","goo/renderer/Shader","goo/shapes/ShapeCreator","goo/renderer/shaders/ShaderLib","goo/renderer/Util"],function(t,e,i,r,o,n,a,s,h){"use strict";function c(r,n){if(n=n||{},this.topEntity=r.createEntity(this.name),n.floor&&this.topEntity.transformComponent.transform.rotation.rotateX(-Math.PI/2),n.surface){var c=a.createQuad(n.width,n.height),u=t.createTypicalEntity(r,c),d=o.createMaterial(s.simpleLit);d.uniforms.materialDiffuse=n.surfaceColor||[1,1,1,1],d.depthState={writable:!1,enabled:!1},d.renderQueue=9,u.meshRendererComponent.materials.push(d),this.topEntity.transformComponent.attachChild(u.transformComponent)}this.gridShader=this._buildGridShader(n),n.grids||(n.grids=[]),0===n.grids.length&&n.grids.push(h.clone(l)),this.grids=n.grids;for(var p,f,m,g=0;gc;c++)h=t.stepX*c,this._collides(t,h,"X")||(h-=o,a.push(h,-n,0,h,n,0));for(var l,c=1;i>c;c++)l=t.stepY*c,this._collides(t,l,"Y")||(l-=n,a.push(-o,l,0,o,l,0));for(var c=s.length/2;c svg {margin-top: 5px;}#unsupportedBrowser > .logo {background-image: -moz-radial-gradient(50% 250px, circle farthest-corner, #6b7aff, #2a3276 100%);background-image: -webkit-radial-gradient(50% 250px, circle farthest-corner, #6b7aff, #2a3276 100%);background-image: -o-radial-gradient(50% 250px, circle farthest-corner, #6b7aff, #2a3276 100%);background-image: -ms-radial-gradient(50% 250px, circle farthest-corner, #6b7aff, #2a3276 100%);background-image: radial-gradient(50% 250px, circle farthest-corner, #6b7aff, #2a3276 100%);}#unsupportedBrowser > .content {color: #9f9f9f;max-width: 700px;margin-left: 120px;margin-right: 20px;padding-top: 1em;}#unsupportedBrowser p {margin: 0 0 25px 0;}#unsupportedBrowser h1 {display: inline-block;max-width: 600px;margin: 13px 0 25px 20px;color: #f1eee5;vertical-align: top;font-weight: normal}",e.templates.standard.html='

"+'
'+"

Your browser doesn't seem to support HTML5 and WebGL. The best thing to do is upgrade to a modern browser that supports all the awesome things the web has to offer.

"+'

Upgrade my browser!'+'Not now

'+"
",e.prototype.show=function(){var t=document.createElement("div"); t.innerHTML=this.template.html,t.setAttribute("id","unsupportedBrowser");var e=document.createElement("style");e.type="text/css",e.setAttribute("id","unsupportedBrowserStyles"),e.stylesheet?e.stylesheet.cssText=this.template.css:e.appendChild(document.createTextNode(this.template.css)),document.head.appendChild(e),document.body.appendChild(t);var i=t.querySelector("[data-close]"),r=function(t){t.preventDefault(),t.stopPropagation(),document.location.href=this.gooLocation,document.body.removeChild(document.querySelector("div#unsupportedBrowser")),document.head.removeChild(document.querySelector("#unsupportedBrowserStyles"))}.bind(this);i.addEventListener("click",r);var o=t.querySelector("[data-upgrade]"),n=function(t){t.preventDefault(),t.stopPropagation(),document.location.href=this.upgradeLocation}.bind(this);o.addEventListener("click",n)},e.prototype.addTemplate=function(t,i){e.templates[t]?console.error("Template "+t+" already exists"):e.templates[t]=i},e}),define("goo/util/Rc4Random",[],function(){"use strict";function t(t){function e(t){for(var e=0;256>e;e++)r[e]=e;for(var i=0,e=0;256>e;e++){i=(i+r[e]+t.charCodeAt(e%t.length))%256;var o=r[e];r[e]=r[i],r[i]=o}}function i(){o=(o+1)%256,n=(n+r[o])%256;var t=r[o];return r[o]=r[n],r[n]=t,r[(r[o]+r[n])%256]}var r=[],o=0,n=0;e(t),this.getRandomNumber=function(){for(var t=0,e=1,r=0;8>r;r++)t+=i()*e,e*=256;return t/0x10000000000000000}}return t}),define("goo",["goo/addons/box2d/components/Box2DComponent","goo/addons/box2d/systems/Box2DSystem","goo/addons/cannon/components/CannonjsComponent","goo/addons/cannon/systems/CannonjsSystem","goo/addons/howler/components/HowlerComponent","goo/addons/howler/systems/HowlerSystem","goo/addons/scripts/PolyBoundingScript","goo/addons/soundmanager2/components/SoundManager2Component","goo/addons/soundmanager2/systems/SoundManager2System","goo/addons/terrain/Terrain","goo/addons/water/FlatWaterRenderer","goo/addons/water/ProjectedGridWaterRenderer","goo/animation/Joint","goo/animation/Skeleton","goo/animation/SkeletonPose","goo/animation/blendtree/BinaryLERPSource","goo/animation/blendtree/ClipSource","goo/animation/blendtree/ExclusiveClipSource","goo/animation/blendtree/FrozenClipSource","goo/animation/blendtree/InclusiveClipSource","goo/animation/blendtree/ManagedTransformSource","goo/animation/clip/AbstractAnimationChannel","goo/animation/clip/AnimationClip","goo/animation/clip/AnimationClipInstance","goo/animation/clip/InterpolatedFloatChannel","goo/animation/clip/JointChannel","goo/animation/clip/JointData","goo/animation/clip/TransformChannel","goo/animation/clip/TransformData","goo/animation/clip/TriggerChannel","goo/animation/clip/TriggerData","goo/animation/layer/AnimationLayer","goo/animation/layer/LayerLERPBlender","goo/animation/state/AbstractState","goo/animation/state/AbstractTransitionState","goo/animation/state/FadeTransitionState","goo/animation/state/FrozenTransitionState","goo/animation/state/SteadyState","goo/animation/state/SyncFadeTransitionState","goo/debug/BoundingVolumeMeshBuilder","goo/debug/DebugDrawHelper","goo/debug/Debugger","goo/debug/EntityCounter","goo/debug/FrustumViewer","goo/debug/LightPointer","goo/debug/components/MarkerComponent","goo/debug/systems/MarkerSystem","goo/entities/Bus","goo/entities/Entity","goo/entities/EntityUtils","goo/entities/GooRunner","goo/entities/SystemBus","goo/entities/World","goo/entities/components/AnimationComponent","goo/entities/components/CSSTransformComponent","goo/entities/components/CameraComponent","goo/entities/components/CameraDebugComponent","goo/entities/components/Component","goo/entities/components/LightComponent","goo/entities/components/LightDebugComponent","goo/entities/components/MeshDataComponent","goo/entities/components/MeshRendererComponent","goo/entities/components/MovementComponent","goo/entities/components/OccludeeComponent","goo/entities/components/OccluderComponent","goo/entities/components/ParticleComponent","goo/entities/components/PortalComponent","goo/entities/components/ProximityComponent","goo/entities/components/ScriptComponent","goo/entities/components/TextComponent","goo/entities/components/TransformComponent","goo/entities/managers/EntityManager","goo/entities/systems/AnimationSystem","goo/entities/systems/BoundingUpdateSystem","goo/entities/systems/CSSTransformSystem","goo/entities/systems/CameraDebugSystem","goo/entities/systems/CameraSystem","goo/entities/systems/DebugRenderSystem","goo/entities/systems/GizmoRenderSystem","goo/entities/systems/GridRenderSystem","goo/entities/systems/LightDebugSystem","goo/entities/systems/LightingSystem","goo/entities/systems/MovementSystem","goo/entities/systems/OcclusionCullingSystem","goo/entities/systems/ParticlesSystem","goo/entities/systems/PickingSystem","goo/entities/systems/PortalSystem","goo/entities/systems/ProximitySystem","goo/entities/systems/RenderSystem","goo/entities/systems/ScriptSystem","goo/entities/systems/System","goo/entities/systems/TextSystem","goo/entities/systems/TransformSystem","goo/loaders/DynamicLoader","goo/loaders/JsonUtils","goo/loaders/Loader","goo/loaders/crunch/CrunchLoader","goo/loaders/dds/DdsLoader","goo/loaders/dds/DdsUtils","goo/loaders/handlers/AnimationClipHandler","goo/loaders/handlers/AnimationComponentHandler","goo/loaders/handlers/AnimationLayersHandler","goo/loaders/handlers/AnimationStateHandler","goo/loaders/handlers/CameraComponentHandler","goo/loaders/handlers/ComponentHandler","goo/loaders/handlers/ConfigHandler","goo/loaders/handlers/EntityHandler","goo/loaders/handlers/FSMComponentHandler","goo/loaders/handlers/LightComponentHandler","goo/loaders/handlers/MachineHandler","goo/loaders/handlers/MaterialHandler","goo/loaders/handlers/MeshDataComponentHandler","goo/loaders/handlers/MeshDataHandler","goo/loaders/handlers/MeshRendererComponentHandler","goo/loaders/handlers/PosteffectHandler","goo/loaders/handlers/ProjectHandler","goo/loaders/handlers/SceneHandler","goo/loaders/handlers/ScriptComponentHandler","goo/loaders/handlers/ScriptHandler","goo/loaders/handlers/ShaderHandler","goo/loaders/handlers/SkeletonHandler","goo/loaders/handlers/SoundComponentHandler","goo/loaders/handlers/SoundHandler","goo/loaders/handlers/TextureHandler","goo/loaders/handlers/TransformComponentHandler","goo/loaders/tga/TgaLoader","goo/math/MathUtils","goo/math/Matrix","goo/math/Matrix2x2","goo/math/Matrix3x3","goo/math/Matrix4x4","goo/math/Plane","goo/math/Quaternion","goo/math/Ray","goo/math/Transform","goo/math/Vector","goo/math/Vector2","goo/math/Vector3","goo/math/Vector4","goo/noise/Noise","goo/noise/ValueNoise","goo/particles/Particle","goo/particles/ParticleEmitter","goo/particles/ParticleInfluence","goo/particles/ParticleLib","goo/particles/ParticleUtils","goo/picking/BoundingTree","goo/picking/PrimitivePickLogic","goo/renderer/BufferData","goo/renderer/BufferUtils","goo/renderer/Camera","goo/renderer/Material","goo/renderer/MeshData","goo/renderer/OcclusionPartitioner","goo/renderer/RenderQueue","goo/renderer/Renderer","goo/renderer/RendererRecord","goo/renderer/Shader","goo/renderer/ShaderCall","goo/renderer/SimplePartitioner","goo/renderer/Texture","goo/renderer/TextureCreator","goo/renderer/Util","goo/renderer/bounds/BoundingBox","goo/renderer/bounds/BoundingSphere","goo/renderer/bounds/BoundingVolume","goo/renderer/light/DirectionalLight","goo/renderer/light/Light","goo/renderer/light/PointLight","goo/renderer/light/SpotLight","goo/renderer/pass/BloomPass","goo/renderer/pass/BlurPass","goo/renderer/pass/Composer","goo/renderer/pass/DOFPass","goo/renderer/pass/DepthPass","goo/renderer/pass/DoGPass","goo/renderer/pass/FullscreenPass","goo/renderer/pass/FullscreenUtil","goo/renderer/pass/NesPass","goo/renderer/pass/PassLib","goo/renderer/pass/RenderPass","goo/renderer/pass/RenderTarget","goo/renderer/pass/SSAOPass","goo/renderer/scanline/BoundingBoxOcclusionChecker","goo/renderer/scanline/BoundingSphereOcclusionChecker","goo/renderer/scanline/Edge","goo/renderer/scanline/EdgeData","goo/renderer/scanline/EdgeMap","goo/renderer/scanline/OccludeeTriangleData","goo/renderer/scanline/OccluderTriangleData","goo/renderer/scanline/SoftwareRenderer","goo/renderer/shaders/ShaderBuilder","goo/renderer/shaders/ShaderFragment","goo/renderer/shaders/ShaderLib","goo/renderer/shadow/ShadowHandler","goo/scripts/BasicControlScript","goo/scripts/FlyControlScript","goo/scripts/GroundBoundMovementScript","goo/scripts/HeightMapBoundingScript","goo/scripts/MouseLookControlScript","goo/scripts/OrbitCamControlScript","goo/scripts/OrbitNPanControlScript","goo/scripts/RotationControlScript","goo/scripts/SparseHeightMapBoundingScript","goo/scripts/SplineInterpolator","goo/scripts/WASDControlScript","goo/scripts/WorldFittedTerrainScript","goo/shapes/Box","goo/shapes/Cone","goo/shapes/Cylinder","goo/shapes/Disk","goo/shapes/FilledPolygon","goo/shapes/Grid","goo/shapes/PolyLine","goo/shapes/ProjectedGrid","goo/shapes/Quad","goo/shapes/RegularPolygon","goo/shapes/ShapeCreator","goo/shapes/SimpleBox","goo/shapes/Sphere","goo/shapes/Surface","goo/shapes/TerrainSurface","goo/shapes/TextureGrid","goo/shapes/Torus","goo/shapes/Triangle","goo/shapes/debug/CameraDebug","goo/shapes/debug/LightDebug","goo/shapes/debug/MeshRendererDebug","goo/statemachine/FSMComponent","goo/statemachine/FSMSystem","goo/statemachine/FSMUtil","goo/statemachine/Machine","goo/statemachine/State","goo/statemachine/actions/Action","goo/statemachine/actions/Actions","goo/statemachine/actions/AddLightAction","goo/statemachine/actions/AddPositionAction","goo/statemachine/actions/AddVariableAction","goo/statemachine/actions/ArrowsAction","goo/statemachine/actions/CollidesAction","goo/statemachine/actions/CompareDistanceAction","goo/statemachine/actions/DollyZoomAction","goo/statemachine/actions/EmitAction","goo/statemachine/actions/EvalAction","goo/statemachine/actions/FireAction","goo/statemachine/actions/GetPositionAction","goo/statemachine/actions/GuiButtonAction","goo/statemachine/actions/HideAction","goo/statemachine/actions/InBoxAction","goo/statemachine/actions/InFrustumAction","goo/statemachine/actions/KeyDownAction","goo/statemachine/actions/KeyPressedAction","goo/statemachine/actions/KeyUpAction","goo/statemachine/actions/LogMessageAction","goo/statemachine/actions/LookAtAction","goo/statemachine/actions/MouseDownAction","goo/statemachine/actions/MouseMoveAction","goo/statemachine/actions/MouseUpAction","goo/statemachine/actions/MoveAction","goo/statemachine/actions/MultiplyVariableAction","goo/statemachine/actions/NumberCompareAction","goo/statemachine/actions/PauseAnimationAction","goo/statemachine/actions/PickAction","goo/statemachine/actions/RandomTransitionAction","goo/statemachine/actions/RemoveAction","goo/statemachine/actions/RemoveLightAction","goo/statemachine/actions/RemoveParticlesAction","goo/statemachine/actions/ResumeAnimationAction","goo/statemachine/actions/ResumeFSMAction","goo/statemachine/actions/RotateAction","goo/statemachine/actions/ScaleAction","goo/statemachine/actions/SetAnimationAction","goo/statemachine/actions/SetClearColorAction","goo/statemachine/actions/SetCssPropertyAction","goo/statemachine/actions/SetLightRangeAction","goo/statemachine/actions/SetPositionAction","goo/statemachine/actions/SetRenderTargetAction","goo/statemachine/actions/SetRotationAction","goo/statemachine/actions/SetVariableAction","goo/statemachine/actions/ShakeAction","goo/statemachine/actions/ShowAction","goo/statemachine/actions/SmokeAction","goo/statemachine/actions/SnowAction","goo/statemachine/actions/SoundFadeInAction","goo/statemachine/actions/SoundFadeOutAction","goo/statemachine/actions/SuspendFSMAction","goo/statemachine/actions/SwitchCameraAction","goo/statemachine/actions/TagAction","goo/statemachine/actions/TestAngleAction","goo/statemachine/actions/TestSpeedAction","goo/statemachine/actions/TransitionAction","goo/statemachine/actions/TransitionOnMessageAction","goo/statemachine/actions/TweenAction","goo/statemachine/actions/TweenLightColorAction","goo/statemachine/actions/TweenLookAtAction","goo/statemachine/actions/TweenMoveAction","goo/statemachine/actions/TweenRotationAction","goo/statemachine/actions/TweenScaleAction","goo/statemachine/actions/TweenTextureOffsetAction","goo/statemachine/actions/WASDAction","goo/statemachine/actions/WaitAction","goo/util/Ajax","goo/util/ArrayUtil","goo/util/CanvasUtils","goo/util/ColorUtil","goo/util/Enum","goo/util/GameUtils","goo/util/Grid","goo/util/Handy","goo/util/Latch","goo/util/Logo","goo/util/MeshBuilder","goo/util/NoWebGL","goo/util/ObjectUtil","goo/util/ParticleSystemUtils","goo/util/PromiseUtil","goo/util/Rc4Random","goo/util/ShapeCreatorMemoized","goo/util/Skybox","goo/util/Stats","goo/util/StringUtil","goo/util/TangentGenerator","goo/util/gizmos/Gizmo","goo/util/gizmos/RotationGizmo","goo/util/gizmos/ScaleGizmo","goo/util/gizmos/TranslationGizmo","goo/util/rsvp"],function(){}); window.requirejs=requirejs;window.require=require;window.define=define;})(window,undefined) \ No newline at end of file diff --git a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negx.jpg b/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negx.jpg deleted file mode 100644 index ced7672..0000000 Binary files a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negx.jpg and /dev/null differ diff --git a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negy.jpg b/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negy.jpg deleted file mode 100644 index 8439d06..0000000 Binary files a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negy.jpg and /dev/null differ diff --git a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negz.jpg b/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negz.jpg deleted file mode 100644 index e40f759..0000000 Binary files a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/negz.jpg and /dev/null differ diff --git a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posx.jpg b/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posx.jpg deleted file mode 100644 index ee4e0d7..0000000 Binary files a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posx.jpg and /dev/null differ diff --git a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posy.jpg b/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posy.jpg deleted file mode 100644 index 55ec4d2..0000000 Binary files a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posy.jpg and /dev/null differ diff --git a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posz.jpg b/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posz.jpg deleted file mode 100644 index d384c00..0000000 Binary files a/res/GOO_ASSET_LIBRARY/images/humus/Nalovardo/posz.jpg and /dev/null differ diff --git a/res/Geometry/binaries/1385030448_data.bin b/res/Geometry/binaries/1385030448_data.bin deleted file mode 100644 index eecbdae..0000000 Binary files a/res/Geometry/binaries/1385030448_data.bin and /dev/null differ diff --git a/res/Geometry/binaries/1385038942_data.bin b/res/Geometry/binaries/1385038942_data.bin deleted file mode 100644 index 1050856..0000000 Binary files a/res/Geometry/binaries/1385038942_data.bin and /dev/null differ diff --git a/res/Geometry/binaries/1385086209_data.bin b/res/Geometry/binaries/1385086209_data.bin deleted file mode 100644 index 1050856..0000000 Binary files a/res/Geometry/binaries/1385086209_data.bin and /dev/null differ diff --git a/res/Geometry/binaries/1385113754_data.bin b/res/Geometry/binaries/1385113754_data.bin deleted file mode 100644 index 1050856..0000000 Binary files a/res/Geometry/binaries/1385113754_data.bin and /dev/null differ diff --git a/res/Geometry/images/Seamless ground sand dirt crack texture.jpg b/res/Geometry/images/Seamless ground sand dirt crack texture.jpg deleted file mode 100644 index 4410f00..0000000 Binary files a/res/Geometry/images/Seamless ground sand dirt crack texture.jpg and /dev/null differ diff --git a/res/Geometry/images/Seamless ground sand texture.jpg b/res/Geometry/images/Seamless ground sand texture.jpg deleted file mode 100644 index c18eff3..0000000 Binary files a/res/Geometry/images/Seamless ground sand texture.jpg and /dev/null differ diff --git a/res/Geometry/images/concrete_nobiax_smooth_01_diff.png b/res/Geometry/images/concrete_nobiax_smooth_01_diff.png deleted file mode 100644 index 44906ea..0000000 Binary files a/res/Geometry/images/concrete_nobiax_smooth_01_diff.png and /dev/null differ diff --git a/res/Geometry/images/whitewall_dirty_01_decay_diff.png b/res/Geometry/images/whitewall_dirty_01_decay_diff.png deleted file mode 100644 index 985334e..0000000 Binary files a/res/Geometry/images/whitewall_dirty_01_decay_diff.png and /dev/null differ diff --git a/res/Geometry/images/whitewall_dirty_01_full_diff.png b/res/Geometry/images/whitewall_dirty_01_full_diff.png deleted file mode 100644 index 9b13fc1..0000000 Binary files a/res/Geometry/images/whitewall_dirty_01_full_diff.png and /dev/null differ diff --git a/res/GroundPhys/binaries/1385047867_data.bin b/res/GroundPhys/binaries/1385047867_data.bin deleted file mode 100644 index 61de1de..0000000 Binary files a/res/GroundPhys/binaries/1385047867_data.bin and /dev/null differ diff --git a/res/GroundPhys/binaries/1385086129_data.bin b/res/GroundPhys/binaries/1385086129_data.bin deleted file mode 100644 index 498877d..0000000 Binary files a/res/GroundPhys/binaries/1385086129_data.bin and /dev/null differ diff --git a/res/GroundPhys/binaries/1385113865_data.bin b/res/GroundPhys/binaries/1385113865_data.bin deleted file mode 100644 index 498877d..0000000 Binary files a/res/GroundPhys/binaries/1385113865_data.bin and /dev/null differ diff --git a/res/GroundPhys/binaries/1385113866_data.bin b/res/GroundPhys/binaries/1385113866_data.bin deleted file mode 100644 index 498877d..0000000 Binary files a/res/GroundPhys/binaries/1385113866_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385030655_data.bin b/res/NavMesh/binaries/1385030655_data.bin deleted file mode 100644 index f74c8f8..0000000 Binary files a/res/NavMesh/binaries/1385030655_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385039972_data.bin b/res/NavMesh/binaries/1385039972_data.bin deleted file mode 100644 index 2752284..0000000 Binary files a/res/NavMesh/binaries/1385039972_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385041461_data.bin b/res/NavMesh/binaries/1385041461_data.bin deleted file mode 100644 index 4c9edd4..0000000 Binary files a/res/NavMesh/binaries/1385041461_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385044528_data.bin b/res/NavMesh/binaries/1385044528_data.bin deleted file mode 100644 index 9ef4976..0000000 Binary files a/res/NavMesh/binaries/1385044528_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385084232_data.bin b/res/NavMesh/binaries/1385084232_data.bin deleted file mode 100644 index 62c1870..0000000 Binary files a/res/NavMesh/binaries/1385084232_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385086104_data.bin b/res/NavMesh/binaries/1385086104_data.bin deleted file mode 100644 index 62c1870..0000000 Binary files a/res/NavMesh/binaries/1385086104_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385113128_data.bin b/res/NavMesh/binaries/1385113128_data.bin deleted file mode 100644 index 59048c1..0000000 Binary files a/res/NavMesh/binaries/1385113128_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385113503_data.bin b/res/NavMesh/binaries/1385113503_data.bin deleted file mode 100644 index 59048c1..0000000 Binary files a/res/NavMesh/binaries/1385113503_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385113671_data.bin b/res/NavMesh/binaries/1385113671_data.bin deleted file mode 100644 index 46a4c80..0000000 Binary files a/res/NavMesh/binaries/1385113671_data.bin and /dev/null differ diff --git a/res/NavMesh/binaries/1385126587_data.bin b/res/NavMesh/binaries/1385126587_data.bin deleted file mode 100644 index 8bc091e..0000000 Binary files a/res/NavMesh/binaries/1385126587_data.bin and /dev/null differ diff --git a/res/PhysicsHull/binaries/1385030730_data.bin b/res/PhysicsHull/binaries/1385030730_data.bin deleted file mode 100644 index 38aad32..0000000 Binary files a/res/PhysicsHull/binaries/1385030730_data.bin and /dev/null differ diff --git a/res/PhysicsHull/binaries/1385040092_data.bin b/res/PhysicsHull/binaries/1385040092_data.bin deleted file mode 100644 index a9a73dc..0000000 Binary files a/res/PhysicsHull/binaries/1385040092_data.bin and /dev/null differ diff --git a/res/PhysicsHull/binaries/1385047858_data.bin b/res/PhysicsHull/binaries/1385047858_data.bin deleted file mode 100644 index a9a73dc..0000000 Binary files a/res/PhysicsHull/binaries/1385047858_data.bin and /dev/null differ diff --git a/res/PhysicsHull/binaries/1385084263_data.bin b/res/PhysicsHull/binaries/1385084263_data.bin deleted file mode 100644 index 8943c8c..0000000 Binary files a/res/PhysicsHull/binaries/1385084263_data.bin and /dev/null differ diff --git a/res/PhysicsHull/binaries/1385086121_data.bin b/res/PhysicsHull/binaries/1385086121_data.bin deleted file mode 100644 index 9c30d5d..0000000 Binary files a/res/PhysicsHull/binaries/1385086121_data.bin and /dev/null differ diff --git a/res/PhysicsHull/binaries/1385113934_data.bin b/res/PhysicsHull/binaries/1385113934_data.bin deleted file mode 100644 index 9c30d5d..0000000 Binary files a/res/PhysicsHull/binaries/1385113934_data.bin and /dev/null differ diff --git a/res/Point.bundle b/res/Point.bundle deleted file mode 100644 index 4c0eeed..0000000 --- a/res/Point.bundle +++ /dev/null @@ -1,270 +0,0 @@ -{ - "Point/Point.group": { - "libraryRefs": [ - "Point/materials/DefaultMaterial.material", - "Point/entities/RootNode.entity", - "Point/entities/Plane01_0.entity", - "Point/meshes/Plane01_0.mesh", - "Point/binaries/1384939524_data.bin" - ], - "name": "Point", - "ref": "Point/Point.group" - }, - "Point/entities/Plane01_0.entity": { - "components": { - "meshData": { - "meshRef": "Point/meshes/Plane01_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "Point/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "Point/entities/RootNode.entity", - "rotation": [ - -90.0, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 9.41476059779234e-07 - ] - } - }, - "name": "Plane01", - "nodeType": "Mesh" - }, - "Point/entities/RootNode.entity": { - "components": { - "transform": { - "rotation": [ - 0.0, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Point", - "nodeType": "Null" - }, - "Point/materials/DefaultMaterial.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "NoBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": false, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "DefaultMaterial", - "ref": "Point/materials/DefaultMaterial.material", - "renderQueue": 1000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": {}, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 1, - 0, - 0, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 20 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 1 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "Point/meshes/Plane01_0.mesh": { - "binaryRef": "Point/binaries/1384939524_data.bin", - "boundingVolume": { - "max": [ - 1.0, - 1.0, - 20.0 - ], - "min": [ - -1.0, - -1.0, - 0.0 - ], - "type": "BoundingBox" - }, - "colors": [ - 504, - 48, - "float32" - ], - "indexLengths": [ - 24 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 0, - 24, - "uint8" - ], - "name": "Plane01", - "normals": [ - 168, - 36, - "float32" - ], - "tangents": [ - 312, - 48, - "float32" - ], - "textureCoords": [ - [ - 696, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 24, - 36, - "float32" - ] - }, - "project.project": { - "backgroundColor": [ - 0.75, - 0.76, - 0.78, - 1 - ], - "created": "2013-11-20T09:24:41.286330", - "deleted": false, - "edit": [], - "entityRefs": [ - "Point/entities/Plane01_0.entity", - "Point/entities/RootNode.entity" - ], - "fogColor": [ - 0.08429752066115702, - 0.10739594290007513, - 0.13636363636363635 - ], - "fogFar": 50, - "fogNear": 0, - "globalAmbient": [ - 0, - 0, - 0 - ], - "groupRefs": [ - "Point/Point.group" - ], - "id": "tScQnIhhS6q1hODgjS2U6w", - "licenseType": "CC0", - "modified": "2013-11-20T09:24:41.286330", - "name": "Default Goo Project", - "originalLicenseType": null, - "own": [ - "h9AeW1X3S1WZYADWuViCyw" - ], - "parent": null, - "public": true, - "ref": "project.project", - "skybox": { - "environmentType": 1, - "imageUrls": [ - "", - "", - "", - "", - "", - "" - ], - "rotation": 0, - "shape": "Box" - }, - "useFog": true, - "view": [] - } -} \ No newline at end of file diff --git a/res/Point/binaries/1384567624_data.bin b/res/Point/binaries/1384567624_data.bin deleted file mode 100644 index 3569451..0000000 Binary files a/res/Point/binaries/1384567624_data.bin and /dev/null differ diff --git a/res/Point/binaries/1384590785_data.bin b/res/Point/binaries/1384590785_data.bin deleted file mode 100644 index 3569451..0000000 Binary files a/res/Point/binaries/1384590785_data.bin and /dev/null differ diff --git a/res/Point/binaries/1384939524_data.bin b/res/Point/binaries/1384939524_data.bin deleted file mode 100644 index 3569451..0000000 Binary files a/res/Point/binaries/1384939524_data.bin and /dev/null differ diff --git a/res/images/Night_NegX.jpg b/res/images/Night_NegX.jpg deleted file mode 100644 index 023ca75..0000000 Binary files a/res/images/Night_NegX.jpg and /dev/null differ diff --git a/res/images/Night_NegY.jpg b/res/images/Night_NegY.jpg deleted file mode 100644 index c03c60c..0000000 Binary files a/res/images/Night_NegY.jpg and /dev/null differ diff --git a/res/images/Night_NegZ.jpg b/res/images/Night_NegZ.jpg deleted file mode 100644 index 6d2440c..0000000 Binary files a/res/images/Night_NegZ.jpg and /dev/null differ diff --git a/res/images/Night_PosX.jpg b/res/images/Night_PosX.jpg deleted file mode 100644 index de57fe9..0000000 Binary files a/res/images/Night_PosX.jpg and /dev/null differ diff --git a/res/images/Night_PosY.jpg b/res/images/Night_PosY.jpg deleted file mode 100644 index 9c514cd..0000000 Binary files a/res/images/Night_PosY.jpg and /dev/null differ diff --git a/res/images/Night_PosZ.jpg b/res/images/Night_PosZ.jpg deleted file mode 100644 index 6f5e4ff..0000000 Binary files a/res/images/Night_PosZ.jpg and /dev/null differ diff --git a/res/level.bundle b/res/level.bundle new file mode 100644 index 0000000..40324c2 --- /dev/null +++ b/res/level.bundle @@ -0,0 +1,366 @@ +{ + "entities/DirectionalLight.entity": { + "components": { + "light": { + "attenuate": true, + "color": [ + 1, + 1, + 1, + 1 + ], + "direction": [ + 0, + 0, + 0 + ], + "intensity": 1, + "lightCookie": null, + "shadowCaster": true, + "shadowSettings": { + "darkness": 0, + "far": 1000, + "fov": 55, + "near": 1, + "projection": "Parallel", + "resolution": [ + 512, + 512 + ], + "shadowType": "VSM", + "size": 400, + "type": "Blur", + "upVector": [ + 0, + 1, + 0 + ] + }, + "specularIntensity": 1, + "type": "DirectionalLight" + }, + "transform": { + "rotation": [ + -38.46926465091261, + 0, + 0 + ], + "scale": [ + 1, + 1, + 1 + ], + "translation": [ + 7.895118713378906, + 21.684419631958008, + 26.26848030090332 + ] + } + }, + "name": "DirectionalLight", + "ref": "entities/DirectionalLight.entity" + }, + "level_v03/entities/RootNode.entity": { + "components": { + "transform": { + "rotation": [ + 0.0, + -0.0, + 0.0 + ], + "scale": [ + 1.0, + 1.0, + 1.0 + ], + "translation": [ + 0.0, + 0.0, + 0.0 + ] + } + }, + "name": "level_v03", + "nodeType": "Null" + }, + "level_v03/entities/polySurface24_0.entity": { + "components": { + "meshData": { + "meshRef": "level_v03/meshes/polySurface24_0.mesh" + }, + "meshRenderer": { + "castShadows": true, + "cullMode": "Dynamic", + "hidden": false, + "materialRefs": [ + "level_v03/materials/lambert7.material" + ], + "receiveShadows": true, + "reflectable": false + }, + "transform": { + "parentRef": "level_v03/entities/RootNode.entity", + "rotation": [ + 0, + 0, + 0 + ], + "scale": [ + 1, + 1, + 1 + ], + "translation": [ + 0, + 0, + 0 + ] + } + }, + "name": "polySurface24", + "nodeType": "Mesh", + "ref": "level_v03/entities/polySurface24_0.entity" + }, + "level_v03/level_v03.group": { + "libraryRefs": [ + "level_v03/entities/RootNode.entity", + "level_v03/meshes/polySurface24_0.mesh", + "level_v03/textures/level_color.texture", + "level_v03/materials/lambert7.material", + "level_v03/entities/polySurface24_0.entity", + "level_v03/binaries/1385654412_data.bin", + "level_v03/images/level_color.png" + ], + "name": "level_v03", + "ref": "level_v03/level_v03.group" + }, + "level_v03/materials/lambert7.material": { + "blendState": { + "blendDst": "OneMinusSrcAlphaFactor", + "blendEquation": "AddEquation", + "blendSrc": "SrcAlphaFactor", + "blending": "NoBlending" + }, + "cullState": { + "cullFace": "Back", + "enabled": true, + "frontFace": "CCW" + }, + "depthState": { + "enabled": true, + "write": true + }, + "name": "lambert7", + "ref": "level_v03/materials/lambert7.material", + "renderQueue": 1000, + "shaderRef": "GOO_ENGINE_SHADERS/uber", + "texturesMapping": { + "DIFFUSE_MAP": { + "enabled": true, + "textureRef": "level_v03/textures/level_color.texture" + } + }, + "type": "Lambert", + "uniforms": { + "discardThreshold": { + "enabled": false, + "value": 0 + }, + "fresnel": { + "enabled": true, + "value": 0 + }, + "materialAmbient": { + "enabled": true, + "value": [ + 1, + 1, + 1, + 1 + ] + }, + "materialDiffuse": { + "enabled": true, + "value": [ + 1, + 1, + 1, + 1 + ] + }, + "materialEmissive": { + "enabled": true, + "value": [ + 0, + 0, + 0, + 1 + ] + }, + "materialSpecular": { + "enabled": true, + "value": [ + 0, + 0, + 0, + 1 + ] + }, + "materialSpecularPower": { + "enabled": true, + "value": 1 + }, + "normalMultiplier": { + "enabled": true, + "value": 1 + }, + "opacity": { + "enabled": true, + "value": 1 + }, + "reflectivity": { + "enabled": true, + "value": 0 + } + } + }, + "level_v03/meshes/polySurface24_0.mesh": { + "binaryRef": "level_v03/binaries/1385654412_data.bin", + "boundingVolume": { + "max": [ + 38.0, + 8.0, + 29.0 + ], + "min": [ + -17.0, + 0.0, + -29.0 + ], + "type": "BoundingBox" + }, + "colors": [], + "indexLengths": [ + 3150 + ], + "indexModes": [ + "Triangles" + ], + "indices": [ + 0, + 3150, + "uint16" + ], + "name": "polySurface24", + "normals": [ + 20460, + 3540, + "float32" + ], + "tangents": [ + 34620, + 4720, + "float32" + ], + "textureCoords": [ + [ + 53500, + 2360, + "float32" + ] + ], + "type": "Mesh", + "vertexCount": 1180, + "vertices": [ + 6300, + 3540, + "float32" + ] + }, + "level_v03/textures/level_color.texture": { + "anisotropy": 1, + "fileName": "level_color.png", + "flipY": true, + "magFilter": "Bilinear", + "minFilter": "Trilinear", + "name": "level_color", + "offset": [ + 0, + 0 + ], + "realUrl": "/Users/joakimareschoug/Goo/010_Zombie/texture/level_color.png", + "ref": "level_v03/textures/level_color.texture", + "repeat": [ + 1, + 1 + ], + "url": "level_v03/images/level_color.png", + "wrapU": "Repeat", + "wrapV": "Repeat" + }, + "project.project": { + "backgroundColor": [ + 0.75, + 0.76, + 0.78, + 1 + ], + "created": "2013-11-28T16:00:04.307000", + "deleted": false, + "edit": [], + "entityRefs": [ + "level_v03/entities/RootNode.entity", + "level_v03/entities/polySurface24_0.entity", + "entities/DirectionalLight.entity" + ], + "fogColor": [ + 0, + 0, + 0 + ], + "fogFar": 30, + "fogNear": 0, + "globalAmbient": [ + 0, + 0, + 0 + ], + "groupRefs": [ + "level_v03/level_v03.group", + "root.group" + ], + "id": "GERwy220Sv6S4LMudmfFZg", + "licenseType": "CC0", + "modified": "2013-11-28T16:00:04.307000", + "name": "Default Goo Project", + "originalLicenseType": null, + "own": [ + "BVvp5-QhTIaPFFbuEBmqKg" + ], + "parent": null, + "public": true, + "ref": "project.project", + "skybox": { + "environmentType": 1, + "imageUrls": [ + "", + "", + "", + "", + "", + "" + ], + "rotation": 0, + "shape": "Box" + }, + "useFog": true, + "view": [] + }, + "root.group": { + "libraryRefs": [ + "entities/DirectionalLight.entity" + ], + "name": "root", + "ref": "root.group" + } +} \ No newline at end of file diff --git a/res/level_v03/binaries/1385654412_data.bin b/res/level_v03/binaries/1385654412_data.bin new file mode 100644 index 0000000..34dc9bb Binary files /dev/null and b/res/level_v03/binaries/1385654412_data.bin differ diff --git a/res/level_v03/images/level_color.png b/res/level_v03/images/level_color.png new file mode 100644 index 0000000..8f870ae Binary files /dev/null and b/res/level_v03/images/level_color.png differ diff --git a/res/root.bundle b/res/root.bundle deleted file mode 100644 index baae23c..0000000 --- a/res/root.bundle +++ /dev/null @@ -1,14775 +0,0 @@ -{ - "Geometry/Geometry.group": { - "libraryRefs": [ - "Geometry/entities/Geometry_Material0_0.entity", - "Geometry/meshes/Geometry_Material0_0.mesh", - "Geometry/textures/concrete_nobiax_smooth_01_diff.texture", - "Geometry/materials/Inside_Wall.material", - "Geometry/meshes/Geometry_Material2_0.mesh", - "Geometry/materials/Plaster.material", - "Geometry/entities/Geometry_Material3_0.entity", - "Geometry/textures/whitewall_dirty_01_full_diff.texture", - "Geometry/textures/whitewall_dirty_01_decay_diff.texture", - "Geometry/materials/Outside_Wall.material", - "Geometry/entities/Geometry_Material2_0.entity", - "Geometry/materials/Ground.material", - "Geometry/entities/Geometry_Material1_0.entity", - "Geometry/entities/RootNode.entity", - "Geometry/meshes/Geometry_Material1_0.mesh", - "Geometry/textures/Seamless_ground_sand_texture.texture", - "Geometry/meshes/Geometry_Material3_0.mesh", - "Geometry/binaries/1385113754_data.bin", - "Geometry/images/concrete_nobiax_smooth_01_diff.png", - "Geometry/images/whitewall_dirty_01_decay_diff.png", - "Geometry/images/whitewall_dirty_01_full_diff.png", - "Geometry/images/Seamless ground sand texture.jpg" - ], - "name": "Geometry", - "ref": "Geometry/Geometry.group" - }, - "Geometry/entities/Geometry_Material0_0.entity": { - "components": { - "meshData": { - "meshRef": "Geometry/meshes/Geometry_Material0_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "Geometry/materials/Ground.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "Geometry/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Geometry_Material0", - "nodeType": "Mesh" - }, - "Geometry/entities/Geometry_Material1_0.entity": { - "components": { - "meshData": { - "meshRef": "Geometry/meshes/Geometry_Material1_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "Geometry/materials/Outside_Wall.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "Geometry/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Geometry_Material1", - "nodeType": "Mesh" - }, - "Geometry/entities/Geometry_Material2_0.entity": { - "components": { - "meshData": { - "meshRef": "Geometry/meshes/Geometry_Material2_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "Geometry/materials/Plaster.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "Geometry/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Geometry_Material2", - "nodeType": "Mesh" - }, - "Geometry/entities/Geometry_Material3_0.entity": { - "components": { - "meshData": { - "meshRef": "Geometry/meshes/Geometry_Material3_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "Geometry/materials/Inside_Wall.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "Geometry/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Geometry_Material3", - "nodeType": "Mesh" - }, - "Geometry/entities/RootNode.entity": { - "components": { - "transform": { - "rotation": [ - 0.0, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Geometry", - "nodeType": "Null" - }, - "Geometry/materials/Ground.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "NoBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "Ground", - "ref": "Geometry/materials/Ground.material", - "renderQueue": 1000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": { - "DIFFUSE_MAP": { - "enabled": true, - "textureRef": "Geometry/textures/Seamless_ground_sand_texture.texture" - }, - "SPECULAR_MAP": null - }, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0.19607843137254902, - 0.19607843137254902, - 0.2, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0.19607843137254902, - 0.19607843137254902, - 0.2, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0.17272727272727273, - 0.1621352366641623, - 0.11776859504132232, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 2.000000020657396 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 1 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "Geometry/materials/Inside_Wall.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "NoBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "Inside Wall", - "ref": "Geometry/materials/Inside_Wall.material", - "renderQueue": 1000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": { - "DIFFUSE_MAP": { - "enabled": true, - "textureRef": "Geometry/textures/whitewall_dirty_01_full_diff.texture" - } - }, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0.19607843137254902, - 0.19607843137254902, - 0.2, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0.19607843137254902, - 0.19607843137254902, - 0.2, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0.17254901960784313, - 0.1607843137254902, - 0.11764705882352941, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 2.000000020657396 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 1 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "Geometry/materials/Outside_Wall.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "NoBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "Outside Wall", - "ref": "Geometry/materials/Outside_Wall.material", - "renderQueue": 1000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": { - "DIFFUSE_MAP": { - "enabled": true, - "textureRef": "Geometry/textures/whitewall_dirty_01_decay_diff.texture" - } - }, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0.19607843137254902, - 0.19607843137254902, - 0.2, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0.19607843137254902, - 0.19607843137254902, - 0.2, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0.17254901960784313, - 0.1607843137254902, - 0.11764705882352941, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 2.000000020657396 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 1 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "Geometry/materials/Plaster.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "NoBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "Plaster", - "ref": "Geometry/materials/Plaster.material", - "renderQueue": 1000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": { - "DIFFUSE_MAP": { - "enabled": true, - "textureRef": "Geometry/textures/concrete_nobiax_smooth_01_diff.texture" - } - }, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0.19607843137254902, - 0.19607843137254902, - 0.2, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0.19999999999999996, - 0.19999999999999996, - 0.19999999999999996, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0.17254901960784313, - 0.1607843137254902, - 0.11764705882352941, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 2.000000020657396 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 1 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "Geometry/meshes/Geometry_Material0_0.mesh": { - "binaryRef": "Geometry/binaries/1385113754_data.bin", - "boundingVolume": { - "max": [ - 57.01251983642578, - 54.4425163269043, - 3.0 - ], - "min": [ - -57.79948043823242, - -61.17415237426758, - 0.0 - ], - "type": "BoundingBox" - }, - "colors": [ - 832, - 80, - "float32" - ], - "indexLengths": [ - 30 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 0, - 30, - "uint8" - ], - "name": "Geometry_Material0", - "normals": [ - 272, - 60, - "float32" - ], - "tangents": [ - 512, - 80, - "float32" - ], - "textureCoords": [ - [ - 1152, - 40, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 20, - "vertices": [ - 32, - 60, - "float32" - ] - }, - "Geometry/meshes/Geometry_Material1_0.mesh": { - "binaryRef": "Geometry/binaries/1385113754_data.bin", - "boundingVolume": { - "max": [ - 32.815025329589844, - 45.135772705078125, - 8.793532371520996 - ], - "min": [ - -31.89691734313965, - -34.454978942871094, - 0.03756070137023926 - ], - "type": "BoundingBox" - }, - "colors": [ - 44916, - 3716, - "float32" - ], - "indexLengths": [ - 1518 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 4720, - 1518, - "uint16" - ], - "name": "Geometry_Material1", - "normals": [ - 18904, - 2787, - "float32" - ], - "tangents": [ - 30052, - 3716, - "float32" - ], - "textureCoords": [ - [ - 59780, - 1858, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 929, - "vertices": [ - 7756, - 2787, - "float32" - ] - }, - "Geometry/meshes/Geometry_Material2_0.mesh": { - "binaryRef": "Geometry/binaries/1385113754_data.bin", - "boundingVolume": { - "max": [ - 32.26777648925781, - 44.588523864746094, - 8.246282577514648 - ], - "min": [ - -31.349672317504883, - -33.90773010253906, - 0.03756070137023926 - ], - "type": "BoundingBox" - }, - "colors": [ - 3472, - 208, - "float32" - ], - "indexLengths": [ - 78 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 1312, - 78, - "uint8" - ], - "name": "Geometry_Material2", - "normals": [ - 2016, - 156, - "float32" - ], - "tangents": [ - 2640, - 208, - "float32" - ], - "textureCoords": [ - [ - 4304, - 104, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 52, - "vertices": [ - 1392, - 156, - "float32" - ] - }, - "Geometry/meshes/Geometry_Material3_0.mesh": { - "binaryRef": "Geometry/binaries/1385113754_data.bin", - "boundingVolume": { - "max": [ - 32.26777648925781, - 44.58852767944336, - 7.699036598205566 - ], - "min": [ - -31.896915435791016, - -33.90773010253906, - 0.03756070137023926 - ], - "type": "BoundingBox" - }, - "colors": [ - 118416, - 4728, - "float32" - ], - "indexLengths": [ - 1962 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 67212, - 1962, - "uint16" - ], - "name": "Geometry_Material3", - "normals": [ - 85320, - 3546, - "float32" - ], - "tangents": [ - 99504, - 4728, - "float32" - ], - "textureCoords": [ - [ - 137328, - 2364, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 1182, - "vertices": [ - 71136, - 3546, - "float32" - ] - }, - "Geometry/textures/Seamless_ground_sand_texture.texture": { - "anisotropy": 1, - "fileName": "D:\\(Stuff from 2013)\\(_Brett_)\\[Dungeon]\\Seamless ground sand texture.jpg", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Seamless ground sand texture", - "offset": [ - 0, - 0 - ], - "realUrl": "D:/(Stuff from 2013)/(_Brett_)/[Dungeon]/Seamless ground sand texture.jpg", - "ref": "Geometry/textures/Seamless_ground_sand_texture.texture", - "repeat": [ - 1, - 1 - ], - "url": "Geometry/images/Seamless ground sand texture.jpg", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "Geometry/textures/concrete_nobiax_smooth_01_diff.texture": { - "anisotropy": 1, - "fileName": "D:\\_Goobuzz\\Pathfinding\\duions_uglyklotzhouses_raw\\concrete_nobiax_smooth_01_diff.png", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "concrete_nobiax_smooth_01_diff", - "offset": [ - 0, - 0 - ], - "realUrl": "D:/_Goobuzz/Pathfinding/duions_uglyklotzhouses_raw/concrete_nobiax_smooth_01_diff.png", - "ref": "Geometry/textures/concrete_nobiax_smooth_01_diff.texture", - "repeat": [ - 1, - 1 - ], - "url": "Geometry/images/concrete_nobiax_smooth_01_diff.png", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "Geometry/textures/whitewall_dirty_01_decay_diff.texture": { - "anisotropy": 1, - "fileName": "D:\\_Goobuzz\\Pathfinding\\duions_uglyklotzhouses_raw\\whitewall_dirty_01_decay_diff.png", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "whitewall_dirty_01_decay_diff", - "offset": [ - 0, - 0 - ], - "realUrl": "D:/_Goobuzz/Pathfinding/duions_uglyklotzhouses_raw/whitewall_dirty_01_decay_diff.png", - "ref": "Geometry/textures/whitewall_dirty_01_decay_diff.texture", - "repeat": [ - 1, - 1 - ], - "url": "Geometry/images/whitewall_dirty_01_decay_diff.png", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "Geometry/textures/whitewall_dirty_01_full_diff.texture": { - "anisotropy": 1, - "fileName": "D:\\_Goobuzz\\Pathfinding\\duions_uglyklotzhouses_raw\\whitewall_dirty_01_full_diff.png", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "whitewall_dirty_01_full_diff", - "offset": [ - 0, - 0 - ], - "realUrl": "D:/_Goobuzz/Pathfinding/duions_uglyklotzhouses_raw/whitewall_dirty_01_full_diff.png", - "ref": "Geometry/textures/whitewall_dirty_01_full_diff.texture", - "repeat": [ - 1, - 1 - ], - "url": "Geometry/images/whitewall_dirty_01_full_diff.png", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "GroundPhys/GroundPhys.group": { - "libraryRefs": [ - "GroundPhys/entities/RootNode.entity", - "GroundPhys/materials/DefaultMaterial.material", - "GroundPhys/entities/Ground1_0.entity", - "GroundPhys/meshes/Ground1_0.mesh", - "GroundPhys/binaries/1385113865_data.bin", - "GroundPhys/binaries/1385113866_data.bin" - ], - "name": "GroundPhys" - }, - "GroundPhys/entities/Ground1_0.entity": { - "components": { - "meshData": { - "meshRef": "GroundPhys/meshes/Ground1_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "GroundPhys/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "GroundPhys/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - -6.98187250236515e-07 - ] - } - }, - "name": "Ground1", - "nodeType": "Mesh" - }, - "GroundPhys/entities/RootNode.entity": { - "components": { - "transform": { - "rotation": [ - 0.0, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "GroundPhys", - "nodeType": "Null" - }, - "GroundPhys/materials/DefaultMaterial.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "CustomBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "DefaultMaterial", - "ref": "GroundPhys/materials/DefaultMaterial.material", - "renderQueue": 2000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": {}, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 20 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 0 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "GroundPhys/meshes/Ground1_0.mesh": { - "binaryRef": "GroundPhys/binaries/1385113866_data.bin", - "boundingVolume": { - "max": [ - 57.29619598388672, - 56.371986389160156, - 1.0336161851882935 - ], - "min": [ - -59.386329650878906, - -61.392189025878906, - -1.2316999435424805 - ], - "type": "BoundingBox" - }, - "colors": [ - 4980, - 480, - "float32" - ], - "indexLengths": [ - 180 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 0, - 180, - "uint8" - ], - "name": "Ground1", - "normals": [ - 1620, - 360, - "float32" - ], - "tangents": [ - 3060, - 480, - "float32" - ], - "textureCoords": [ - [ - 6900, - 240, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 120, - "vertices": [ - 180, - 360, - "float32" - ] - }, - "NavMesh/NavMesh.group": { - "libraryRefs": [ - "NavMesh/entities/Object10_0.entity", - "NavMesh/entities/Object08_0.entity", - "NavMesh/meshes/Object07_0.mesh", - "NavMesh/entities/Object19_0.entity", - "NavMesh/entities/Object17_0.entity", - "NavMesh/meshes/Object13_0.mesh", - "NavMesh/meshes/Object14_0.mesh", - "NavMesh/entities/Object12_0.entity", - "NavMesh/entities/Object20_0.entity", - "NavMesh/meshes/Object01_0.mesh", - "NavMesh/meshes/Object17_0.mesh", - "NavMesh/entities/Object07_0.entity", - "NavMesh/entities/RootNode.entity", - "NavMesh/materials/NavMesh.material", - "NavMesh/meshes/Object18_0.mesh", - "NavMesh/entities/Object05_0.entity", - "NavMesh/entities/Object02_0.entity", - "NavMesh/entities/Object09_0.entity", - "NavMesh/meshes/Object22_0.mesh", - "NavMesh/meshes/Object19_0.mesh", - "NavMesh/entities/Object06_0.entity", - "NavMesh/meshes/Object15_0.mesh", - "NavMesh/meshes/Object12_0.mesh", - "NavMesh/meshes/Object11_0.mesh", - "NavMesh/entities/Object22_0.entity", - "NavMesh/entities/Object13_0.entity", - "NavMesh/entities/Object03_0.entity", - "NavMesh/meshes/Object10_0.mesh", - "NavMesh/entities/Object04_0.entity", - "NavMesh/meshes/Object04_0.mesh", - "NavMesh/meshes/Object08_0.mesh", - "NavMesh/meshes/Object03_0.mesh", - "NavMesh/entities/Object01_0.entity", - "NavMesh/meshes/Object16_0.mesh", - "NavMesh/meshes/Object05_0.mesh", - "NavMesh/meshes/Object21_0.mesh", - "NavMesh/entities/Object16_0.entity", - "NavMesh/entities/Object11_0.entity", - "NavMesh/meshes/Object20_0.mesh", - "NavMesh/entities/Object18_0.entity", - "NavMesh/meshes/Object02_0.mesh", - "NavMesh/entities/Object21_0.entity", - "NavMesh/meshes/Object06_0.mesh", - "NavMesh/meshes/Object09_0.mesh", - "NavMesh/entities/Object14_0.entity", - "NavMesh/entities/Object15_0.entity", - "NavMesh/binaries/1385113503_data.bin", - "NavMesh/meshes/Object37_0.mesh", - "NavMesh/meshes/Object25_0.mesh", - "NavMesh/meshes/Object35_0.mesh", - "NavMesh/meshes/Object23_0.mesh", - "NavMesh/entities/Object29_0.entity", - "NavMesh/meshes/Object32_0.mesh", - "NavMesh/entities/Object24_0.entity", - "NavMesh/meshes/Object29_0.mesh", - "NavMesh/meshes/Object33_0.mesh", - "NavMesh/entities/Object34_0.entity", - "NavMesh/entities/Object32_0.entity", - "NavMesh/entities/Object33_0.entity", - "NavMesh/meshes/Object34_0.mesh", - "NavMesh/entities/Object35_0.entity", - "NavMesh/meshes/Object38_0.mesh", - "NavMesh/entities/Object39_0.entity", - "NavMesh/entities/Object25_0.entity", - "NavMesh/meshes/Object24_0.mesh", - "NavMesh/entities/Object31_0.entity", - "NavMesh/meshes/Object36_0.mesh", - "NavMesh/entities/Object36_0.entity", - "NavMesh/entities/Object28_0.entity", - "NavMesh/meshes/Object40_0.mesh", - "NavMesh/meshes/Object30_0.mesh", - "NavMesh/entities/Object23_0.entity", - "NavMesh/meshes/Object31_0.mesh", - "NavMesh/meshes/Object26_0.mesh", - "NavMesh/meshes/Object39_0.mesh", - "NavMesh/meshes/Object28_0.mesh", - "NavMesh/meshes/Object27_0.mesh", - "NavMesh/entities/Object40_0.entity", - "NavMesh/entities/Object38_0.entity", - "NavMesh/entities/Object37_0.entity", - "NavMesh/entities/Object30_0.entity", - "NavMesh/entities/Object27_0.entity", - "NavMesh/entities/Object26_0.entity", - "NavMesh/binaries/1385113671_data.bin", - "NavMesh/meshes/Object80_0.mesh", - "NavMesh/meshes/Object88_0.mesh", - "NavMesh/meshes/Object59_0.mesh", - "NavMesh/entities/Object81_0.entity", - "NavMesh/meshes/Object87_0.mesh", - "NavMesh/meshes/Object52_0.mesh", - "NavMesh/entities/Object66_0.entity", - "NavMesh/meshes/Object54_0.mesh", - "NavMesh/meshes/Object77_0.mesh", - "NavMesh/meshes/Object61_0.mesh", - "NavMesh/meshes/Object49_0.mesh", - "NavMesh/entities/Object70_0.entity", - "NavMesh/meshes/Object89_0.mesh", - "NavMesh/meshes/Object44_0.mesh", - "NavMesh/entities/Object76_0.entity", - "NavMesh/entities/Object71_0.entity", - "NavMesh/entities/Object69_0.entity", - "NavMesh/meshes/Object42_0.mesh", - "NavMesh/entities/Object79_0.entity", - "NavMesh/meshes/Object72_0.mesh", - "NavMesh/meshes/Object51_0.mesh", - "NavMesh/entities/Object74_0.entity", - "NavMesh/meshes/Object74_0.mesh", - "NavMesh/meshes/Object53_0.mesh", - "NavMesh/meshes/Object58_0.mesh", - "NavMesh/entities/Object60_0.entity", - "NavMesh/entities/Object43_0.entity", - "NavMesh/meshes/Object83_0.mesh", - "NavMesh/entities/Object56_0.entity", - "NavMesh/meshes/Object79_0.mesh", - "NavMesh/entities/Object89_0.entity", - "NavMesh/meshes/Object71_0.mesh", - "NavMesh/meshes/Object50_0.mesh", - "NavMesh/meshes/Object41_0.mesh", - "NavMesh/entities/Object88_0.entity", - "NavMesh/entities/Object53_0.entity", - "NavMesh/meshes/Object48_0.mesh", - "NavMesh/entities/Object42_0.entity", - "NavMesh/entities/Object77_0.entity", - "NavMesh/meshes/Object73_0.mesh", - "NavMesh/meshes/Object66_0.mesh", - "NavMesh/meshes/Object78_0.mesh", - "NavMesh/meshes/Object57_0.mesh", - "NavMesh/meshes/Object70_0.mesh", - "NavMesh/entities/Object54_0.entity", - "NavMesh/entities/Object67_0.entity", - "NavMesh/meshes/Object68_0.mesh", - "NavMesh/meshes/Object86_0.mesh", - "NavMesh/entities/Object85_0.entity", - "NavMesh/meshes/Object46_0.mesh", - "NavMesh/entities/Object51_0.entity", - "NavMesh/entities/Object65_0.entity", - "NavMesh/meshes/Object64_0.mesh", - "NavMesh/meshes/Object81_0.mesh", - "NavMesh/entities/Object63_0.entity", - "NavMesh/meshes/Object45_0.mesh", - "NavMesh/meshes/Object67_0.mesh", - "NavMesh/entities/Object62_0.entity", - "NavMesh/entities/Object58_0.entity", - "NavMesh/entities/Object61_0.entity", - "NavMesh/entities/Object80_0.entity", - "NavMesh/meshes/Object76_0.mesh", - "NavMesh/entities/Object82_0.entity", - "NavMesh/entities/Object44_0.entity", - "NavMesh/entities/Object86_0.entity", - "NavMesh/entities/Object52_0.entity", - "NavMesh/meshes/Object62_0.mesh", - "NavMesh/entities/Object75_0.entity", - "NavMesh/meshes/Object82_0.mesh", - "NavMesh/meshes/Object43_0.mesh", - "NavMesh/entities/Object68_0.entity", - "NavMesh/entities/Object45_0.entity", - "NavMesh/entities/Object72_0.entity", - "NavMesh/entities/Object64_0.entity", - "NavMesh/entities/Object49_0.entity", - "NavMesh/meshes/Object47_0.mesh", - "NavMesh/meshes/Object85_0.mesh", - "NavMesh/entities/Object57_0.entity", - "NavMesh/entities/Object87_0.entity", - "NavMesh/meshes/Object55_0.mesh", - "NavMesh/entities/Object41_0.entity", - "NavMesh/entities/Object47_0.entity", - "NavMesh/meshes/Object63_0.mesh", - "NavMesh/entities/Object78_0.entity", - "NavMesh/meshes/Object60_0.mesh", - "NavMesh/entities/Object55_0.entity", - "NavMesh/entities/Object73_0.entity", - "NavMesh/entities/Object84_0.entity", - "NavMesh/entities/Object83_0.entity", - "NavMesh/meshes/Object65_0.mesh", - "NavMesh/entities/Object48_0.entity", - "NavMesh/entities/Object46_0.entity", - "NavMesh/entities/Object59_0.entity", - "NavMesh/meshes/Object84_0.mesh", - "NavMesh/entities/Object50_0.entity", - "NavMesh/meshes/Object69_0.mesh", - "NavMesh/meshes/Object75_0.mesh", - "NavMesh/meshes/Object56_0.mesh", - "NavMesh/binaries/1385126587_data.bin" - ], - "name": "NavMesh", - "ref": "NavMesh/NavMesh.group" - }, - "NavMesh/entities/Object01_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object01_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object01", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object02_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object02_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object02", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object03_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object03_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object03", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object04_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object04_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object04", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object05_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object05_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object05", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object06_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object06_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object06", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object07_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object07_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object07", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object08_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object08_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object08", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object09_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object09_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object09", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object10_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object10_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object10", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object11_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object11_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object11", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object12_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object12_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object12", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object13_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object13_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object13", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object14_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object14_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object14", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object15_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object15_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object15", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object16_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object16_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object16", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object17_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object17_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object17", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object18_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object18_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object18", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object19_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object19_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object19", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object20_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object20_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object20", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object21_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object21_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object21", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object22_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object22_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object22", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object23_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object23_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object23", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object24_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object24_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object24", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object25_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object25_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object25", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object26_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object26_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object26", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object27_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object27_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object27", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object28_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object28_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object28", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object29_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object29_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object29", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object30_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object30_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object30", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object31_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object31_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object31", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object32_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object32_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object32", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object33_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object33_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object33", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object34_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object34_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object34", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object35_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object35_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object35", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object36_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object36_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object36", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object37_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object37_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object37", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object38_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object38_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object38", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object39_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object39_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object39", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object40_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object40_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object40", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object41_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object41_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object41", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object42_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object42_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object42", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object43_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object43_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object43", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object44_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object44_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object44", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object45_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object45_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object45", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object46_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object46_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object46", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object47_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object47_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object47", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object48_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object48_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object48", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object49_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object49_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object49", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object50_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object50_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object50", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object51_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object51_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object51", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object52_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object52_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object52", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object53_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object53_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object53", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object54_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object54_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object54", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object55_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object55_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object55", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object56_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object56_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object56", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object57_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object57_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object57", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object58_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object58_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object58", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object59_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object59_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object59", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object60_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object60_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object60", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object61_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object61_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object61", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object62_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object62_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object62", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object63_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object63_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object63", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object64_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object64_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object64", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object65_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object65_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object65", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object66_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object66_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object66", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object67_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object67_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object67", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object68_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object68_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object68", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object69_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object69_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object69", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object70_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object70_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object70", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object71_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object71_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object71", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object72_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object72_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object72", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object73_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object73_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object73", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object74_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object74_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object74", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object75_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object75_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object75", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object76_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object76_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object76", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object77_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object77_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object77", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object78_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object78_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object78", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object79_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object79_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object79", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object80_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object80_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object80", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object81_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object81_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object81", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object82_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object82_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object82", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object83_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object83_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object83", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object84_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object84_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object84", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object85_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object85_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object85", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object86_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object86_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object86", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object87_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object87_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object87", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object88_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object88_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object88", - "nodeType": "Mesh" - }, - "NavMesh/entities/Object89_0.entity": { - "components": { - "meshData": { - "meshRef": "NavMesh/meshes/Object89_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "NavMesh/materials/NavMesh.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "NavMesh/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Object89", - "nodeType": "Mesh" - }, - "NavMesh/entities/RootNode.entity": { - "components": { - "transform": { - "rotation": [ - 0.0, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "NavMesh", - "nodeType": "Null" - }, - "NavMesh/materials/NavMesh.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "CustomBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "NavMesh", - "ref": "NavMesh/materials/NavMesh.material", - "renderQueue": 2000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": {}, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 2.000000020657396 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 0 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "NavMesh/meshes/Object01_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 57.0185546875, - -36.574317932128906, - -5.0525879487395287e-05 - ], - "min": [ - 32.81049346923828, - -61.17765808105469, - -5.160132423043251e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 25504, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 25256, - 6, - "uint8" - ], - "name": "Object01", - "normals": [ - 25336, - 18, - "float32" - ], - "tangents": [ - 25408, - 24, - "float32" - ], - "textureCoords": [ - [ - 25600, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 25264, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object02_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -33.467926025390625, - -35.77601623535156, - -5.04904892295599e-05 - ], - "min": [ - -57.802703857421875, - -61.17765808105469, - -5.160132423043251e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 20092, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 19844, - 6, - "uint8" - ], - "name": "Object02", - "normals": [ - 19924, - 18, - "float32" - ], - "tangents": [ - 19996, - 24, - "float32" - ], - "textureCoords": [ - [ - 20188, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 19852, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object03_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 57.0185546875, - 54.44654083251953, - -4.654703661799431e-05 - ], - "min": [ - 34.29576110839844, - 30.882781982421875, - -4.7576846554875374e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 32228, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 31980, - 6, - "uint8" - ], - "name": "Object03", - "normals": [ - 32060, - 18, - "float32" - ], - "tangents": [ - 32132, - 24, - "float32" - ], - "textureCoords": [ - [ - 32324, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 31988, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object04_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -33.467926025390625, - 54.44654083251953, - -4.654703661799431e-05 - ], - "min": [ - -57.802703857421875, - 46.788726806640625, - -4.688161425292492e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 31836, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 31588, - 6, - "uint8" - ], - "name": "Object04", - "normals": [ - 31668, - 18, - "float32" - ], - "tangents": [ - 31740, - 24, - "float32" - ], - "textureCoords": [ - [ - 31932, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 31596, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object05_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -33.68232727050781, - 47.050750732421875, - -4.687020555138588e-05 - ], - "min": [ - -57.802703857421875, - 9.237152099609375, - -4.85230702906847e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 33524, - 36, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 33152, - 9, - "uint8" - ], - "name": "Object05", - "normals": [ - 33272, - 27, - "float32" - ], - "tangents": [ - 33380, - 36, - "float32" - ], - "textureCoords": [ - [ - 33668, - 18, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 9, - "vertices": [ - 33164, - 27, - "float32" - ] - }, - "NavMesh/meshes/Object06_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -33.770442962646484, - -9.686752319335938, - -4.93503175675869e-05 - ], - "min": [ - -57.802703857421875, - -36.397762298583984, - -5.0517963245511055e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 20484, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 20236, - 6, - "uint8" - ], - "name": "Object06", - "normals": [ - 20316, - 18, - "float32" - ], - "tangents": [ - 20388, - 24, - "float32" - ], - "textureCoords": [ - [ - 20580, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 20244, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object07_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -33.770442962646484, - 9.427955627441406, - -4.851468838751316e-05 - ], - "min": [ - -57.802703857421875, - -13.174026489257812, - -4.9502821639180183e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 13560, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 13312, - 6, - "uint8" - ], - "name": "Object07", - "normals": [ - 13392, - 18, - "float32" - ], - "tangents": [ - 13464, - 24, - "float32" - ], - "textureCoords": [ - [ - 13656, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 13320, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object08_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 33.461090087890625, - -36.519405364990234, - -5.052308551967144e-05 - ], - "min": [ - 6.7989654541015625, - -61.17765808105469, - -5.160132423043251e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 9116, - 36, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 8744, - 9, - "uint8" - ], - "name": "Object08", - "normals": [ - 8864, - 27, - "float32" - ], - "tangents": [ - 8972, - 36, - "float32" - ], - "textureCoords": [ - [ - 9260, - 18, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 9, - "vertices": [ - 8756, - 27, - "float32" - ] - }, - "NavMesh/meshes/Object09_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.944538116455078, - -36.36244201660156, - -5.051633343100548e-05 - ], - "min": [ - -34.02071762084961, - -61.17765808105469, - -5.160132423043251e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 42916, - 36, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 42544, - 9, - "uint8" - ], - "name": "Object09", - "normals": [ - 42664, - 27, - "float32" - ], - "tangents": [ - 42772, - 36, - "float32" - ], - "textureCoords": [ - [ - 43060, - 18, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 9, - "vertices": [ - 42556, - 27, - "float32" - ] - }, - "NavMesh/meshes/Object10_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 7.667087554931641, - -36.36244201660156, - -5.051633343100548e-05 - ], - "min": [ - -8.020153045654297, - -61.17765808105469, - -5.160132423043251e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 39856, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 39608, - 6, - "uint8" - ], - "name": "Object10", - "normals": [ - 39688, - 18, - "float32" - ], - "tangents": [ - 39760, - 24, - "float32" - ], - "textureCoords": [ - [ - 39952, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 39616, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object11_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 57.0185546875, - -9.705116271972656, - -4.935101605951786e-05 - ], - "min": [ - 33.461090087890625, - -36.635189056396484, - -5.0528207793831825e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 29420, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 29172, - 6, - "uint8" - ], - "name": "Object11", - "normals": [ - 29252, - 18, - "float32" - ], - "tangents": [ - 29324, - 24, - "float32" - ], - "textureCoords": [ - [ - 29516, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 29180, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object12_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 57.0185546875, - 5.742794036865234, - -4.867580719292164e-05 - ], - "min": [ - 33.579139709472656, - -10.013816833496094, - -4.9364520236849785e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 38096, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 37848, - 6, - "uint8" - ], - "name": "Object12", - "normals": [ - 37928, - 18, - "float32" - ], - "tangents": [ - 38000, - 24, - "float32" - ], - "textureCoords": [ - [ - 38192, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 37856, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object13_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -16.652172088623047, - 31.49629783630371, - 1.1317275762557983 - ], - "min": [ - -20.193727493286133, - 20.192264556884766, - 1.1317273378372192 - ], - "type": "BoundingBox" - }, - "colors": [ - 35820, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 35696, - 3, - "uint8" - ], - "name": "Object13", - "normals": [ - 35736, - 9, - "float32" - ], - "tangents": [ - 35772, - 12, - "float32" - ], - "textureCoords": [ - [ - 35868, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 35700, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object14_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 57.0185546875, - 32.06681823730469, - -4.7525158151984215e-05 - ], - "min": [ - 34.53754806518555, - 4.887641906738281, - -4.8713525757193565e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 36140, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 35892, - 6, - "uint8" - ], - "name": "Object14", - "normals": [ - 35972, - 18, - "float32" - ], - "tangents": [ - 36044, - 24, - "float32" - ], - "textureCoords": [ - [ - 36236, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 35900, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object15_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 35.08671951293945, - 54.44654083251953, - -4.654703661799431e-05 - ], - "min": [ - 7.668964385986328, - 31.83917236328125, - -4.753516986966133e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 28956, - 36, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 28584, - 9, - "uint8" - ], - "name": "Object15", - "normals": [ - 28704, - 27, - "float32" - ], - "tangents": [ - 28812, - 36, - "float32" - ], - "textureCoords": [ - [ - 29100, - 18, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 9, - "vertices": [ - 28596, - 27, - "float32" - ] - }, - "NavMesh/meshes/Object16_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 8.900352478027344, - 54.44654083251953, - -4.654703661799431e-05 - ], - "min": [ - -6.9772796630859375, - 31.83917236328125, - -4.753516986966133e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 9704, - 36, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 9332, - 9, - "uint8" - ], - "name": "Object16", - "normals": [ - 9452, - 27, - "float32" - ], - "tangents": [ - 9560, - 36, - "float32" - ], - "textureCoords": [ - [ - 9848, - 18, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 9, - "vertices": [ - 9344, - 27, - "float32" - ] - }, - "NavMesh/meshes/Object17_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.811058044433594, - 54.44654083251953, - -4.654703661799431e-05 - ], - "min": [ - -33.68232727050781, - 47.050750732421875, - -4.687020555138588e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 25896, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 25648, - 6, - "uint8" - ], - "name": "Object17", - "normals": [ - 25728, - 18, - "float32" - ], - "tangents": [ - 25800, - 24, - "float32" - ], - "textureCoords": [ - [ - 25992, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 25656, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object18_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 6.813549041748047, - -9.621566772460938, - -4.93472907692194e-05 - ], - "min": [ - -6.973289489746094, - -36.519405364990234, - -5.052308551967144e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 26412, - 36, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 26040, - 9, - "uint8" - ], - "name": "Object18", - "normals": [ - 26160, - 27, - "float32" - ], - "tangents": [ - 26268, - 36, - "float32" - ], - "textureCoords": [ - [ - 26556, - 18, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 9, - "vertices": [ - 26052, - 27, - "float32" - ] - }, - "NavMesh/meshes/Object19_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.916984558105469, - 9.27435302734375, - -4.852144047617912e-05 - ], - "min": [ - -33.881690979003906, - -9.686752319335938, - -4.93503175675869e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 15392, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 15144, - 6, - "uint8" - ], - "name": "Object19", - "normals": [ - 15224, - 18, - "float32" - ], - "tangents": [ - 15296, - 24, - "float32" - ], - "textureCoords": [ - [ - 15488, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 15152, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object20_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 34.53754806518555, - 4.887641906738281, - -4.8713525757193565e-05 - ], - "min": [ - 6.813549041748047, - -9.705116271972656, - -4.935101605951786e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 42328, - 36, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 41956, - 9, - "uint8" - ], - "name": "Object20", - "normals": [ - 42076, - 27, - "float32" - ], - "tangents": [ - 42184, - 36, - "float32" - ], - "textureCoords": [ - [ - 42472, - 18, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 9, - "vertices": [ - 41968, - 27, - "float32" - ] - }, - "NavMesh/meshes/Object21_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 7.71697998046875, - 38.512237548828125, - -4.724343307316303e-05 - ], - "min": [ - -6.9635467529296875, - 4.871795654296875, - -4.871399141848087e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 10168, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 9920, - 6, - "uint8" - ], - "name": "Object21", - "normals": [ - 10000, - 18, - "float32" - ], - "tangents": [ - 10072, - 24, - "float32" - ], - "textureCoords": [ - [ - 10264, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 9928, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object22_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 7.71697998046875, - 9.27435302734375, - -4.852144047617912e-05 - ], - "min": [ - -6.973289489746094, - -9.679679870605469, - -4.9350084736943245e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 28244, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 27996, - 6, - "uint8" - ], - "name": "Object22", - "normals": [ - 28076, - 18, - "float32" - ], - "tangents": [ - 28148, - 24, - "float32" - ], - "textureCoords": [ - [ - 28340, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 28004, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object23_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 23.10231590270996, - -26.161367416381836, - 1.1317253112792969 - ], - "min": [ - 17.780330657958984, - -33.44281768798828, - 1.1317250728607178 - ], - "type": "BoundingBox" - }, - "colors": [ - 24088, - 32, - "float32" - ], - "indexLengths": [ - 9 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 23756, - 9, - "uint8" - ], - "name": "Object23", - "normals": [ - 23864, - 24, - "float32" - ], - "tangents": [ - 23960, - 32, - "float32" - ], - "textureCoords": [ - [ - 24216, - 16, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 8, - "vertices": [ - 23768, - 24, - "float32" - ] - }, - "NavMesh/meshes/Object24_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 22.320907592773438, - -20.69161605834961, - 1.131725549697876 - ], - "min": [ - 17.780364990234375, - -27.398212432861328, - 1.1317253112792969 - ], - "type": "BoundingBox" - }, - "colors": [ - 39320, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 38828, - 12, - "uint8" - ], - "name": "Object24", - "normals": [ - 38984, - 36, - "float32" - ], - "tangents": [ - 39128, - 48, - "float32" - ], - "textureCoords": [ - [ - 39512, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 38840, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object25_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 22.705074310302734, - -20.69163703918457, - 1.131725549697876 - ], - "min": [ - 22.320907592773438, - -24.139522552490234, - 1.1317254304885864 - ], - "type": "BoundingBox" - }, - "colors": [ - 1424, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 1176, - 6, - "uint8" - ], - "name": "Object25", - "normals": [ - 1256, - 18, - "float32" - ], - "tangents": [ - 1328, - 24, - "float32" - ], - "textureCoords": [ - [ - 1520, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 1184, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object26_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 17.780364990234375, - -23.98560333251953, - 1.131725549697876 - ], - "min": [ - 17.427759170532227, - -27.40776252746582, - 1.1317253112792969 - ], - "type": "BoundingBox" - }, - "colors": [ - 18328, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 18080, - 6, - "uint8" - ], - "name": "Object26", - "normals": [ - 18160, - 18, - "float32" - ], - "tangents": [ - 18232, - 24, - "float32" - ], - "textureCoords": [ - [ - 18424, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 18088, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object27_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 30.555789947509766, - -20.691574096679688, - 1.131725549697876 - ], - "min": [ - 22.705074310302734, - -25.78832244873047, - 1.1317250728607178 - ], - "type": "BoundingBox" - }, - "colors": [ - 11976, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 11484, - 12, - "uint8" - ], - "name": "Object27", - "normals": [ - 11640, - 36, - "float32" - ], - "tangents": [ - 11784, - 48, - "float32" - ], - "textureCoords": [ - [ - 12168, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 11496, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object28_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 30.555789947509766, - -12.458867073059082, - 1.1317259073257446 - ], - "min": [ - 25.441823959350586, - -20.867570877075195, - 1.131725549697876 - ], - "type": "BoundingBox" - }, - "colors": [ - 34232, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 33740, - 12, - "uint8" - ], - "name": "Object28", - "normals": [ - 33896, - 36, - "float32" - ], - "tangents": [ - 34040, - 48, - "float32" - ], - "textureCoords": [ - [ - 34424, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 33752, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object29_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 25.441823959350586, - -15.017541885375977, - 1.131725788116455 - ], - "min": [ - 25.053449630737305, - -18.317806243896484, - 1.1317256689071655 - ], - "type": "BoundingBox" - }, - "colors": [ - 23072, - 16, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 22904, - 6, - "uint8" - ], - "name": "Object29", - "normals": [ - 22960, - 12, - "float32" - ], - "tangents": [ - 23008, - 16, - "float32" - ], - "textureCoords": [ - [ - 23136, - 8, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 4, - "vertices": [ - 22912, - 12, - "float32" - ] - }, - "NavMesh/meshes/Object30_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 25.053449630737305, - -12.459019660949707, - 1.1317259073257446 - ], - "min": [ - 17.802717208862305, - -20.319705963134766, - 1.1317253112792969 - ], - "type": "BoundingBox" - }, - "colors": [ - 32864, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 32372, - 12, - "uint8" - ], - "name": "Object30", - "normals": [ - 32528, - 36, - "float32" - ], - "tangents": [ - 32672, - 48, - "float32" - ], - "textureCoords": [ - [ - 33056, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 32384, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object31_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 17.427759170532227, - -12.4589262008667, - 1.1317259073257446 - ], - "min": [ - 9.583291053771973, - -33.44273376464844, - 1.1317250728607178 - ], - "type": "BoundingBox" - }, - "colors": [ - 11196, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 10704, - 12, - "uint8" - ], - "name": "Object31", - "normals": [ - 10860, - 36, - "float32" - ], - "tangents": [ - 11004, - 48, - "float32" - ], - "textureCoords": [ - [ - 11388, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 10716, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object32_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 23.10231590270996, - -33.44281768798828, - 1.1317250728607178 - ], - "min": [ - 18.838356018066406, - -33.804134368896484, - -5.040504038333893e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 36924, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 36676, - 6, - "uint8" - ], - "name": "Object32", - "normals": [ - 36756, - 18, - "float32" - ], - "tangents": [ - 36828, - 24, - "float32" - ], - "textureCoords": [ - [ - 37020, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 36684, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object33_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 23.102087020874023, - -33.804115295410156, - -5.040504038333893e-05 - ], - "min": [ - 18.838382720947266, - -36.57728576660156, - -5.052564665675163e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 28512, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 28388, - 3, - "uint8" - ], - "name": "Object33", - "normals": [ - 28428, - 9, - "float32" - ], - "tangents": [ - 28464, - 12, - "float32" - ], - "textureCoords": [ - [ - 28560, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 28392, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object34_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 33.461090087890625, - -33.804134368896484, - -5.040504038333893e-05 - ], - "min": [ - 20.127182006835938, - -36.635189056396484, - -5.0528207793831825e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 38488, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 38240, - 6, - "uint8" - ], - "name": "Object34", - "normals": [ - 38320, - 18, - "float32" - ], - "tangents": [ - 38392, - 24, - "float32" - ], - "textureCoords": [ - [ - 38584, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 38248, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object35_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 20.127182006835938, - -33.80377197265625, - -5.0404807552695274e-05 - ], - "min": [ - 6.7989654541015625, - -36.57728576660156, - -5.052564665675163e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 2860, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 2612, - 6, - "uint8" - ], - "name": "Object35", - "normals": [ - 2692, - 18, - "float32" - ], - "tangents": [ - 2764, - 24, - "float32" - ], - "textureCoords": [ - [ - 2956, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 2620, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object36_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 9.21615982055664, - -9.679679870605469, - -4.9350084736943245e-05 - ], - "min": [ - 6.7989654541015625, - -36.519405364990234, - -5.052308551967144e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 8600, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 8352, - 6, - "uint8" - ], - "name": "Object36", - "normals": [ - 8432, - 18, - "float32" - ], - "tangents": [ - 8504, - 24, - "float32" - ], - "textureCoords": [ - [ - 8696, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 8360, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object37_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 33.579139709472656, - -9.679679870605469, - -4.9350084736943245e-05 - ], - "min": [ - 6.813549041748047, - -12.086894989013672, - -4.9454858526587486e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 640, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 392, - 6, - "uint8" - ], - "name": "Object37", - "normals": [ - 472, - 18, - "float32" - ], - "tangents": [ - 544, - 24, - "float32" - ], - "textureCoords": [ - [ - 736, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 400, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object38_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 33.579139709472656, - -9.705116271972656, - -4.935101605951786e-05 - ], - "min": [ - 30.90521240234375, - -36.635189056396484, - -5.0528207793831825e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 3252, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 3004, - 6, - "uint8" - ], - "name": "Object38", - "normals": [ - 3084, - 18, - "float32" - ], - "tangents": [ - 3156, - 24, - "float32" - ], - "textureCoords": [ - [ - 3348, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 3012, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object39_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 30.555805206298828, - -26.161367416381836, - 1.1317253112792969 - ], - "min": [ - 22.32034683227539, - -33.44281768798828, - 1.1317250728607178 - ], - "type": "BoundingBox" - }, - "colors": [ - 1736, - 16, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 1568, - 6, - "uint8" - ], - "name": "Object39", - "normals": [ - 1624, - 12, - "float32" - ], - "tangents": [ - 1672, - 16, - "float32" - ], - "textureCoords": [ - [ - 1800, - 8, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 4, - "vertices": [ - 1576, - 12, - "float32" - ] - }, - "NavMesh/meshes/Object40_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.973289489746094, - -9.621566772460938, - -4.93472907692194e-05 - ], - "min": [ - -33.770442962646484, - -12.126541137695312, - -4.945672117173672e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 5668, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 5420, - 6, - "uint8" - ], - "name": "Object40", - "normals": [ - 5500, - 18, - "float32" - ], - "tangents": [ - 5572, - 24, - "float32" - ], - "textureCoords": [ - [ - 5764, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 5428, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object41_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -31.233993530273438, - -9.686752319335938, - -4.93503175675869e-05 - ], - "min": [ - -34.02071762084961, - -36.397762298583984, - -5.0517963245511055e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 17936, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 17688, - 6, - "uint8" - ], - "name": "Object41", - "normals": [ - 17768, - 18, - "float32" - ], - "tangents": [ - 17840, - 24, - "float32" - ], - "textureCoords": [ - [ - 18032, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 17696, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object42_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -15.330879211425781, - -33.810394287109375, - -5.040504038333893e-05 - ], - "min": [ - -34.02071762084961, - -36.397762298583984, - -5.0517963245511055e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 15000, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 14752, - 6, - "uint8" - ], - "name": "Object42", - "normals": [ - 14832, - 18, - "float32" - ], - "tangents": [ - 14904, - 24, - "float32" - ], - "textureCoords": [ - [ - 15096, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 14760, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object43_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.944538116455078, - -33.810394287109375, - -5.040504038333893e-05 - ], - "min": [ - -15.330879211425781, - -36.372901916503906, - -5.051656626164913e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 35160, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 34912, - 6, - "uint8" - ], - "name": "Object43", - "normals": [ - 34992, - 18, - "float32" - ], - "tangents": [ - 35064, - 24, - "float32" - ], - "textureCoords": [ - [ - 35256, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 34920, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object44_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -13.996772766113281, - -33.810394287109375, - -5.040504038333893e-05 - ], - "min": [ - -17.029029846191406, - -36.372901916503906, - -5.051656626164913e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 23684, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 23560, - 3, - "uint8" - ], - "name": "Object44", - "normals": [ - 23600, - 9, - "float32" - ], - "tangents": [ - 23636, - 12, - "float32" - ], - "textureCoords": [ - [ - 23732, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 23564, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object45_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -13.99250602722168, - -33.52833557128906, - 1.1317250728607178 - ], - "min": [ - -17.03469467163086, - -33.810394287109375, - -5.040504038333893e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 31100, - 16, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 30932, - 6, - "uint8" - ], - "name": "Object45", - "normals": [ - 30988, - 12, - "float32" - ], - "tangents": [ - 31036, - 16, - "float32" - ], - "textureCoords": [ - [ - 31164, - 8, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 4, - "vertices": [ - 30940, - 12, - "float32" - ] - }, - "NavMesh/meshes/Object46_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.944538116455078, - -17.907384872436523, - -4.970957525074482e-05 - ], - "min": [ - -9.5606689453125, - -36.36244201660156, - -5.051633343100548e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 15784, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 15536, - 6, - "uint8" - ], - "name": "Object46", - "normals": [ - 15616, - 18, - "float32" - ], - "tangents": [ - 15688, - 24, - "float32" - ], - "textureCoords": [ - [ - 15880, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 15544, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object47_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.964576721191406, - -16.415699005126953, - -4.9644382670521736e-05 - ], - "min": [ - -9.558414459228516, - -19.70224380493164, - -4.978710785508156e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 38756, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 38632, - 3, - "uint8" - ], - "name": "Object47", - "normals": [ - 38672, - 9, - "float32" - ], - "tangents": [ - 38708, - 12, - "float32" - ], - "textureCoords": [ - [ - 38804, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 38636, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object48_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.964576721191406, - -9.621566772460938, - -4.93472907692194e-05 - ], - "min": [ - -9.558021545410156, - -17.907384872436523, - -4.970957525074482e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 18720, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 18472, - 6, - "uint8" - ], - "name": "Object48", - "normals": [ - 18552, - 18, - "float32" - ], - "tangents": [ - 18624, - 24, - "float32" - ], - "textureCoords": [ - [ - 18816, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 18480, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object49_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -9.930793762207031, - -12.464359283447266, - 1.131725549697876 - ], - "min": [ - -17.750057220458984, - -33.52833557128906, - 1.1317250728607178 - ], - "type": "BoundingBox" - }, - "colors": [ - 6996, - 96, - "float32" - ], - "indexLengths": [ - 27 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 6008, - 27, - "uint8" - ], - "name": "Object49", - "normals": [ - 6324, - 72, - "float32" - ], - "tangents": [ - 6612, - 96, - "float32" - ], - "textureCoords": [ - [ - 7380, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 6036, - 72, - "float32" - ] - }, - "NavMesh/meshes/Object50_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -9.558021545410156, - -16.414703369140625, - 1.131725549697876 - ], - "min": [ - -9.930793762207031, - -19.707353591918945, - -4.978710785508156e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 17544, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 17296, - 6, - "uint8" - ], - "name": "Object50", - "normals": [ - 17376, - 18, - "float32" - ], - "tangents": [ - 17448, - 24, - "float32" - ], - "textureCoords": [ - [ - 17640, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 17304, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object51_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -17.750057220458984, - -23.478979110717773, - 1.131725549697876 - ], - "min": [ - -18.140300750732422, - -26.760387420654297, - 1.1317253112792969 - ], - "type": "BoundingBox" - }, - "colors": [ - 13216, - 16, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 13048, - 6, - "uint8" - ], - "name": "Object51", - "normals": [ - 13104, - 12, - "float32" - ], - "tangents": [ - 13152, - 16, - "float32" - ], - "textureCoords": [ - [ - 13280, - 8, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 4, - "vertices": [ - 13056, - 12, - "float32" - ] - }, - "NavMesh/meshes/Object52_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -18.14029884338379, - -12.46435832977295, - 1.1317259073257446 - ], - "min": [ - -23.24858283996582, - -33.475555419921875, - 1.1317250728607178 - ], - "type": "BoundingBox" - }, - "colors": [ - 4964, - 76, - "float32" - ], - "indexLengths": [ - 21 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 4180, - 21, - "uint8" - ], - "name": "Object52", - "normals": [ - 4432, - 57, - "float32" - ], - "tangents": [ - 4660, - 76, - "float32" - ], - "textureCoords": [ - [ - 5268, - 38, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 19, - "vertices": [ - 4204, - 57, - "float32" - ] - }, - "NavMesh/meshes/Object53_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -23.1893253326416, - -21.802143096923828, - 1.131725549697876 - ], - "min": [ - -30.910619735717773, - -33.472694396972656, - 1.1317250728607178 - ], - "type": "BoundingBox" - }, - "colors": [ - 14264, - 16, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 14096, - 6, - "uint8" - ], - "name": "Object53", - "normals": [ - 14152, - 12, - "float32" - ], - "tangents": [ - 14200, - 16, - "float32" - ], - "textureCoords": [ - [ - 14328, - 8, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 4, - "vertices": [ - 14104, - 12, - "float32" - ] - }, - "NavMesh/meshes/Object54_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -23.238508224487305, - -15.878433227539062, - 1.131725788116455 - ], - "min": [ - -23.602249145507812, - -19.15614128112793, - 1.1317256689071655 - ], - "type": "BoundingBox" - }, - "colors": [ - 3644, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 3396, - 6, - "uint8" - ], - "name": "Object54", - "normals": [ - 3476, - 18, - "float32" - ], - "tangents": [ - 3548, - 24, - "float32" - ], - "textureCoords": [ - [ - 3740, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 3404, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object55_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -23.602249145507812, - -12.418978691101074, - 1.1317259073257446 - ], - "min": [ - -30.904020309448242, - -21.417129516601562, - 1.131725549697876 - ], - "type": "BoundingBox" - }, - "colors": [ - 37560, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 37068, - 12, - "uint8" - ], - "name": "Object55", - "normals": [ - 37224, - 36, - "float32" - ], - "tangents": [ - 37368, - 48, - "float32" - ], - "textureCoords": [ - [ - 37752, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 37080, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object56_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 21.431930541992188, - 31.953445434570312, - -4.7530047595500946e-05 - ], - "min": [ - 7.668964385986328, - 29.232513427734375, - -4.7647859901189804e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 41032, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 40784, - 6, - "uint8" - ], - "name": "Object56", - "normals": [ - 40864, - 18, - "float32" - ], - "tangents": [ - 40936, - 24, - "float32" - ], - "textureCoords": [ - [ - 41128, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 40792, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object57_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 22.92359161376953, - 31.953445434570312, - -4.7530047595500946e-05 - ], - "min": [ - 19.708065032958984, - 29.22612762451172, - -4.764809273183346e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 19772, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 19648, - 3, - "uint8" - ], - "name": "Object57", - "normals": [ - 19688, - 9, - "float32" - ], - "tangents": [ - 19724, - 12, - "float32" - ], - "textureCoords": [ - [ - 19820, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 19652, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object58_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 35.08671951293945, - 32.06681823730469, - -4.7525158151984215e-05 - ], - "min": [ - 21.431930541992188, - 29.202392578125, - -4.765018820762634e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 14608, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 14360, - 6, - "uint8" - ], - "name": "Object58", - "normals": [ - 14440, - 18, - "float32" - ], - "tangents": [ - 14512, - 24, - "float32" - ], - "textureCoords": [ - [ - 14704, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 14368, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object59_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 35.08671951293945, - 32.06681823730469, - -4.7525158151984215e-05 - ], - "min": [ - 32.1568717956543, - 4.887641906738281, - -4.8713525757193565e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 4036, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 3788, - 6, - "uint8" - ], - "name": "Object59", - "normals": [ - 3868, - 18, - "float32" - ], - "tangents": [ - 3940, - 24, - "float32" - ], - "textureCoords": [ - [ - 4132, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 3796, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object60_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 34.53754806518555, - 7.5136260986328125, - -4.859874024987221e-05 - ], - "min": [ - 21.765317916870117, - 4.880096435546875, - -4.8713525757193565e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 36532, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 36284, - 6, - "uint8" - ], - "name": "Object60", - "normals": [ - 36364, - 18, - "float32" - ], - "tangents": [ - 36436, - 24, - "float32" - ], - "textureCoords": [ - [ - 36628, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 36292, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object61_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 22.95733642578125, - 7.5139617919921875, - -4.859967157244682e-05 - ], - "min": [ - 19.682775497436523, - 4.880096435546875, - -4.8713525757193565e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 5936, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 5812, - 3, - "uint8" - ], - "name": "Object61", - "normals": [ - 5852, - 9, - "float32" - ], - "tangents": [ - 5888, - 12, - "float32" - ], - "textureCoords": [ - [ - 5984, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 5816, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object62_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 21.765317916870117, - 7.515083312988281, - -4.859874024987221e-05 - ], - "min": [ - 7.71697998046875, - 4.871795654296875, - -4.871399141848087e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 35552, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 35304, - 6, - "uint8" - ], - "name": "Object62", - "normals": [ - 35384, - 18, - "float32" - ], - "tangents": [ - 35456, - 24, - "float32" - ], - "textureCoords": [ - [ - 35648, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 35312, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object63_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 10.492820739746094, - 31.83917236328125, - -4.753516986966133e-05 - ], - "min": [ - 7.668964385986328, - 4.871795654296875, - -4.871399141848087e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 40248, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 40000, - 6, - "uint8" - ], - "name": "Object63", - "normals": [ - 40080, - 18, - "float32" - ], - "tangents": [ - 40152, - 24, - "float32" - ], - "textureCoords": [ - [ - 40344, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 40008, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object64_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 18.633033752441406, - 28.8625431060791, - 1.1317274570465088 - ], - "min": [ - 10.847810745239258, - 7.9044647216796875, - 1.131726861000061 - ], - "type": "BoundingBox" - }, - "colors": [ - 27244, - 60, - "float32" - ], - "indexLengths": [ - 15 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 26628, - 15, - "uint8" - ], - "name": "Object64", - "normals": [ - 26824, - 45, - "float32" - ], - "tangents": [ - 27004, - 60, - "float32" - ], - "textureCoords": [ - [ - 27484, - 30, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 15, - "vertices": [ - 26644, - 45, - "float32" - ] - }, - "NavMesh/meshes/Object65_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 31.79119110107422, - 17.89670181274414, - 1.1317269802093506 - ], - "min": [ - 24.018016815185547, - 7.906352996826172, - 1.131726861000061 - ], - "type": "BoundingBox" - }, - "colors": [ - 43624, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 43132, - 12, - "uint8" - ], - "name": "Object65", - "normals": [ - 43288, - 36, - "float32" - ], - "tangents": [ - 43432, - 48, - "float32" - ], - "textureCoords": [ - [ - 43816, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 43144, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object66_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 31.79132843017578, - 28.848913192749023, - 1.1317274570465088 - ], - "min": [ - 24.018016815185547, - 18.305768966674805, - 1.1317272186279297 - ], - "type": "BoundingBox" - }, - "colors": [ - 16668, - 72, - "float32" - ], - "indexLengths": [ - 18 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 15928, - 18, - "uint8" - ], - "name": "Object66", - "normals": [ - 16164, - 54, - "float32" - ], - "tangents": [ - 16380, - 72, - "float32" - ], - "textureCoords": [ - [ - 16956, - 36, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 18, - "vertices": [ - 15948, - 54, - "float32" - ] - }, - "NavMesh/meshes/Object67_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 29.513912200927734, - 18.314849853515625, - 1.1317273378372192 - ], - "min": [ - 26.185943603515625, - 17.89670181274414, - 1.1317269802093506 - ], - "type": "BoundingBox" - }, - "colors": [ - 31444, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 31196, - 6, - "uint8" - ], - "name": "Object67", - "normals": [ - 31276, - 18, - "float32" - ], - "tangents": [ - 31348, - 24, - "float32" - ], - "textureCoords": [ - [ - 31540, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 31204, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object68_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 23.575355529785156, - 28.844013214111328, - 1.1317274570465088 - ], - "min": [ - 19.062997817993164, - 7.893579483032227, - 1.131726861000061 - ], - "type": "BoundingBox" - }, - "colors": [ - 22064, - 140, - "float32" - ], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 20628, - 36, - "uint8" - ], - "name": "Object68", - "normals": [ - 21084, - 105, - "float32" - ], - "tangents": [ - 21504, - 140, - "float32" - ], - "textureCoords": [ - [ - 22624, - 70, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 35, - "vertices": [ - 20664, - 105, - "float32" - ] - }, - "NavMesh/meshes/Object69_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 22.92654037475586, - 29.232513427734375, - 1.1317274570465088 - ], - "min": [ - 19.70278549194336, - 28.844011306762695, - -4.764809273183346e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 44160, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 43912, - 6, - "uint8" - ], - "name": "Object69", - "normals": [ - 43992, - 18, - "float32" - ], - "tangents": [ - 44064, - 24, - "float32" - ], - "textureCoords": [ - [ - 44256, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 43920, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object70_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 24.018016815185547, - 22.69260025024414, - 1.1317274570465088 - ], - "min": [ - 23.575355529785156, - 19.323528289794922, - 1.1317274570465088 - ], - "type": "BoundingBox" - }, - "colors": [ - 23416, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 23168, - 6, - "uint8" - ], - "name": "Object70", - "normals": [ - 23248, - 18, - "float32" - ], - "tangents": [ - 23320, - 24, - "float32" - ], - "textureCoords": [ - [ - 23512, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 23176, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object71_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 19.062999725341797, - 17.793292999267578, - 1.1317270994186401 - ], - "min": [ - 18.633033752441406, - 14.498114585876465, - 1.1317270994186401 - ], - "type": "BoundingBox" - }, - "colors": [ - 40640, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 40392, - 6, - "uint8" - ], - "name": "Object71", - "normals": [ - 40472, - 18, - "float32" - ], - "tangents": [ - 40544, - 24, - "float32" - ], - "textureCoords": [ - [ - 40736, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 40400, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object72_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - 22.95733642578125, - 7.893579483032227, - 1.131726861000061 - ], - "min": [ - 19.680028915405273, - 7.5136260986328125, - -4.859990440309048e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 12904, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 12656, - 6, - "uint8" - ], - "name": "Object72", - "normals": [ - 12736, - 18, - "float32" - ], - "tangents": [ - 12808, - 24, - "float32" - ], - "textureCoords": [ - [ - 13000, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 12664, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object73_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.916984558105469, - 11.818038940429688, - -4.841014742851257e-05 - ], - "min": [ - -33.881690979003906, - 9.237152099609375, - -4.85230702906847e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 19112, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 18864, - 6, - "uint8" - ], - "name": "Object73", - "normals": [ - 18944, - 18, - "float32" - ], - "tangents": [ - 19016, - 24, - "float32" - ], - "textureCoords": [ - [ - 19208, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 18872, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object74_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -31.308387756347656, - 22.345291137695312, - -4.795007407665253e-05 - ], - "min": [ - -33.881690979003906, - 9.237152099609375, - -4.85230702906847e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 13952, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 13704, - 6, - "uint8" - ], - "name": "Object74", - "normals": [ - 13784, - 18, - "float32" - ], - "tangents": [ - 13856, - 24, - "float32" - ], - "textureCoords": [ - [ - 14048, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 13712, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object75_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -31.308387756347656, - 24.359779357910156, - -4.7862064093351364e-05 - ], - "min": [ - -33.812583923339844, - 21.0477294921875, - -4.800688475370407e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 44428, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 44304, - 3, - "uint8" - ], - "name": "Object75", - "normals": [ - 44344, - 9, - "float32" - ], - "tangents": [ - 44380, - 12, - "float32" - ], - "textureCoords": [ - [ - 44476, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 44308, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object76_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -31.308387756347656, - 47.050750732421875, - -4.687020555138588e-05 - ], - "min": [ - -33.812583923339844, - 22.345291137695312, - -4.795007407665253e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 29812, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 29564, - 6, - "uint8" - ], - "name": "Object76", - "normals": [ - 29644, - 18, - "float32" - ], - "tangents": [ - 29716, - 24, - "float32" - ], - "textureCoords": [ - [ - 29908, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 29572, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object77_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.9772796630859375, - 47.13668441772461, - -4.686648026108742e-05 - ], - "min": [ - -33.68232727050781, - 44.51776123046875, - -4.698103293776512e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 10560, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 10312, - 6, - "uint8" - ], - "name": "Object77", - "normals": [ - 10392, - 18, - "float32" - ], - "tangents": [ - 10464, - 24, - "float32" - ], - "textureCoords": [ - [ - 10656, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 10320, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object78_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.9635467529296875, - 47.13668441772461, - -4.686648026108742e-05 - ], - "min": [ - -9.581741333007812, - 38.512237548828125, - -4.724343307316303e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 19504, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 19256, - 6, - "uint8" - ], - "name": "Object78", - "normals": [ - 19336, - 18, - "float32" - ], - "tangents": [ - 19408, - 24, - "float32" - ], - "textureCoords": [ - [ - 19600, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 19264, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object79_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.9635467529296875, - 40.123619079589844, - -4.717288538813591e-05 - ], - "min": [ - -9.581741333007812, - 36.99143981933594, - -4.731002263724804e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 17224, - 12, - "float32" - ], - "indexLengths": [ - 3 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 17100, - 3, - "uint8" - ], - "name": "Object79", - "normals": [ - 17140, - 9, - "float32" - ], - "tangents": [ - 17176, - 12, - "float32" - ], - "textureCoords": [ - [ - 17272, - 6, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 3, - "vertices": [ - 17104, - 9, - "float32" - ] - }, - "NavMesh/meshes/Object80_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -6.916984558105469, - 38.512237548828125, - -4.724343307316303e-05 - ], - "min": [ - -9.581741333007812, - 9.27435302734375, - -4.852144047617912e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 248, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 0, - 6, - "uint8" - ], - "name": "Object80", - "normals": [ - 80, - 18, - "float32" - ], - "tangents": [ - 152, - 24, - "float32" - ], - "textureCoords": [ - [ - 344, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 8, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object81_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -30.93282699584961, - 24.359779357910156, - 1.1317275762557983 - ], - "min": [ - -31.308387756347656, - 21.047622680664062, - -4.800688475370407e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 27852, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 27604, - 6, - "uint8" - ], - "name": "Object81", - "normals": [ - 27684, - 18, - "float32" - ], - "tangents": [ - 27756, - 24, - "float32" - ], - "textureCoords": [ - [ - 27948, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 27612, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object82_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -20.200464248657227, - 17.717557907104492, - 1.1317272186279297 - ], - "min": [ - -20.620182037353516, - 14.474276542663574, - 1.1317270994186401 - ], - "type": "BoundingBox" - }, - "colors": [ - 34768, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 34520, - 6, - "uint8" - ], - "name": "Object82", - "normals": [ - 34600, - 18, - "float32" - ], - "tangents": [ - 34672, - 24, - "float32" - ], - "textureCoords": [ - [ - 34864, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 34528, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object83_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -19.388011932373047, - 31.912588119506836, - 1.131727695465088 - ], - "min": [ - -22.518362045288086, - 31.49496078491211, - 1.1317275762557983 - ], - "type": "BoundingBox" - }, - "colors": [ - 12512, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 12264, - 6, - "uint8" - ], - "name": "Object83", - "normals": [ - 12344, - 18, - "float32" - ], - "tangents": [ - 12416, - 24, - "float32" - ], - "textureCoords": [ - [ - 12608, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 12272, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object84_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -20.614896774291992, - 19.782522201538086, - 1.1317273378372192 - ], - "min": [ - -30.903011322021484, - 12.22286319732666, - 1.1317269802093506 - ], - "type": "BoundingBox" - }, - "colors": [ - 41668, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 41176, - 12, - "uint8" - ], - "name": "Object84", - "normals": [ - 41332, - 36, - "float32" - ], - "tangents": [ - 41476, - 48, - "float32" - ], - "textureCoords": [ - [ - 41860, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 41188, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object85_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -19.388011932373047, - 31.495662689208984, - 1.1317275762557983 - ], - "min": [ - -30.95218276977539, - 20.168859481811523, - 1.1317273378372192 - ], - "type": "BoundingBox" - }, - "colors": [ - 30572, - 60, - "float32" - ], - "indexLengths": [ - 15 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 29956, - 15, - "uint8" - ], - "name": "Object85", - "normals": [ - 30152, - 45, - "float32" - ], - "tangents": [ - 30332, - 60, - "float32" - ], - "textureCoords": [ - [ - 30812, - 30, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 15, - "vertices": [ - 29972, - 45, - "float32" - ] - }, - "NavMesh/meshes/Object86_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -9.957063674926758, - 31.49629783630371, - 1.1317278146743774 - ], - "min": [ - -20.21404457092285, - 12.203591346740723, - 1.1317267417907715 - ], - "type": "BoundingBox" - }, - "colors": [ - 24896, - 60, - "float32" - ], - "indexLengths": [ - 15 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 24280, - 15, - "uint8" - ], - "name": "Object86", - "normals": [ - 24476, - 45, - "float32" - ], - "tangents": [ - 24656, - 60, - "float32" - ], - "textureCoords": [ - [ - 25136, - 30, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 15, - "vertices": [ - 24296, - 45, - "float32" - ] - }, - "NavMesh/meshes/Object87_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -9.932160377502441, - 44.08795166015625, - 1.1317284107208252 - ], - "min": [ - -16.652172088623047, - 30.991748809814453, - 1.1317275762557983 - ], - "type": "BoundingBox" - }, - "colors": [ - 2324, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 1832, - 12, - "uint8" - ], - "name": "Object87", - "normals": [ - 1988, - 36, - "float32" - ], - "tangents": [ - 2132, - 48, - "float32" - ], - "textureCoords": [ - [ - 2516, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 1844, - 36, - "float32" - ] - }, - "NavMesh/meshes/Object88_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -9.581741333007812, - 40.123619079589844, - 1.131728172302246 - ], - "min": [ - -9.945653915405273, - 36.99143981933594, - -4.731002263724804e-05 - ], - "type": "BoundingBox" - }, - "colors": [ - 1032, - 24, - "float32" - ], - "indexLengths": [ - 6 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 784, - 6, - "uint8" - ], - "name": "Object88", - "normals": [ - 864, - 18, - "float32" - ], - "tangents": [ - 936, - 24, - "float32" - ], - "textureCoords": [ - [ - 1128, - 12, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 6, - "vertices": [ - 792, - 18, - "float32" - ] - }, - "NavMesh/meshes/Object89_0.mesh": { - "binaryRef": "NavMesh/binaries/1385126587_data.bin", - "boundingVolume": { - "max": [ - -17.02194595336914, - 44.09565734863281, - 1.1317284107208252 - ], - "min": [ - -30.915119171142578, - 31.911624908447266, - 1.131727695465088 - ], - "type": "BoundingBox" - }, - "colors": [ - 8064, - 48, - "float32" - ], - "indexLengths": [ - 12 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 7572, - 12, - "uint8" - ], - "name": "Object89", - "normals": [ - 7728, - 36, - "float32" - ], - "tangents": [ - 7872, - 48, - "float32" - ], - "textureCoords": [ - [ - 8256, - 24, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 12, - "vertices": [ - 7584, - 36, - "float32" - ] - }, - "PhysicsHull/PhysicsHull.group": { - "libraryRefs": [ - "PhysicsHull/meshes/Box01_0.mesh", - "PhysicsHull/meshes/Box29_0.mesh", - "PhysicsHull/entities/Box49_0.entity", - "PhysicsHull/meshes/Box25_0.mesh", - "PhysicsHull/meshes/Box07_0.mesh", - "PhysicsHull/meshes/Box19_0.mesh", - "PhysicsHull/meshes/Box50_0.mesh", - "PhysicsHull/entities/Box47_0.entity", - "PhysicsHull/entities/Box34_0.entity", - "PhysicsHull/meshes/Box41_0.mesh", - "PhysicsHull/entities/Box02_0.entity", - "PhysicsHull/entities/Box39_0.entity", - "PhysicsHull/entities/Box16_0.entity", - "PhysicsHull/meshes/Box51_0.mesh", - "PhysicsHull/entities/Box22_0.entity", - "PhysicsHull/entities/Box36_0.entity", - "PhysicsHull/entities/Box35_0.entity", - "PhysicsHull/meshes/Box47_0.mesh", - "PhysicsHull/meshes/Box48_0.mesh", - "PhysicsHull/entities/Box41_0.entity", - "PhysicsHull/meshes/Box23_0.mesh", - "PhysicsHull/entities/Box37_0.entity", - "PhysicsHull/entities/Box48_0.entity", - "PhysicsHull/entities/Box07_0.entity", - "PhysicsHull/meshes/Box12_0.mesh", - "PhysicsHull/meshes/Box31_0.mesh", - "PhysicsHull/entities/Box40_0.entity", - "PhysicsHull/entities/Box09_0.entity", - "PhysicsHull/meshes/Box02_0.mesh", - "PhysicsHull/meshes/Box14_0.mesh", - "PhysicsHull/entities/Box29_0.entity", - "PhysicsHull/entities/Box04_0.entity", - "PhysicsHull/meshes/Box38_0.mesh", - "PhysicsHull/meshes/Box33_0.mesh", - "PhysicsHull/entities/Box44_0.entity", - "PhysicsHull/entities/Box52_0.entity", - "PhysicsHull/meshes/Box52_0.mesh", - "PhysicsHull/entities/Box15_0.entity", - "PhysicsHull/meshes/Box22_0.mesh", - "PhysicsHull/meshes/Box35_0.mesh", - "PhysicsHull/entities/Box06_0.entity", - "PhysicsHull/entities/Box03_0.entity", - "PhysicsHull/entities/Box31_0.entity", - "PhysicsHull/entities/Box28_0.entity", - "PhysicsHull/meshes/Box06_0.mesh", - "PhysicsHull/entities/Box10_0.entity", - "PhysicsHull/meshes/Box27_0.mesh", - "PhysicsHull/materials/DefaultMaterial.material", - "PhysicsHull/meshes/Box44_0.mesh", - "PhysicsHull/entities/Box23_0.entity", - "PhysicsHull/meshes/Box03_0.mesh", - "PhysicsHull/meshes/Box30_0.mesh", - "PhysicsHull/meshes/Box11_0.mesh", - "PhysicsHull/meshes/Box21_0.mesh", - "PhysicsHull/entities/Box08_0.entity", - "PhysicsHull/entities/Box05_0.entity", - "PhysicsHull/entities/Box13_0.entity", - "PhysicsHull/meshes/Box46_0.mesh", - "PhysicsHull/meshes/Box36_0.mesh", - "PhysicsHull/meshes/Box28_0.mesh", - "PhysicsHull/entities/Box27_0.entity", - "PhysicsHull/meshes/Box13_0.mesh", - "PhysicsHull/entities/Box38_0.entity", - "PhysicsHull/meshes/Box18_0.mesh", - "PhysicsHull/entities/Box20_0.entity", - "PhysicsHull/entities/Box30_0.entity", - "PhysicsHull/meshes/Box37_0.mesh", - "PhysicsHull/entities/Box18_0.entity", - "PhysicsHull/meshes/Box40_0.mesh", - "PhysicsHull/entities/Box11_0.entity", - "PhysicsHull/entities/Box50_0.entity", - "PhysicsHull/entities/Box26_0.entity", - "PhysicsHull/entities/Box14_0.entity", - "PhysicsHull/meshes/Box08_0.mesh", - "PhysicsHull/meshes/Box05_0.mesh", - "PhysicsHull/entities/Box51_0.entity", - "PhysicsHull/entities/Box21_0.entity", - "PhysicsHull/meshes/Box09_0.mesh", - "PhysicsHull/meshes/Box15_0.mesh", - "PhysicsHull/meshes/Box49_0.mesh", - "PhysicsHull/meshes/Box10_0.mesh", - "PhysicsHull/meshes/Box45_0.mesh", - "PhysicsHull/meshes/Box24_0.mesh", - "PhysicsHull/entities/Box12_0.entity", - "PhysicsHull/entities/Box43_0.entity", - "PhysicsHull/entities/Box19_0.entity", - "PhysicsHull/meshes/Box43_0.mesh", - "PhysicsHull/entities/RootNode.entity", - "PhysicsHull/meshes/Box26_0.mesh", - "PhysicsHull/meshes/Box34_0.mesh", - "PhysicsHull/meshes/Box04_0.mesh", - "PhysicsHull/entities/Box01_0.entity", - "PhysicsHull/entities/Box33_0.entity", - "PhysicsHull/meshes/Box42_0.mesh", - "PhysicsHull/entities/Box25_0.entity", - "PhysicsHull/meshes/Box39_0.mesh", - "PhysicsHull/entities/Box46_0.entity", - "PhysicsHull/meshes/Box32_0.mesh", - "PhysicsHull/entities/Box45_0.entity", - "PhysicsHull/meshes/Box16_0.mesh", - "PhysicsHull/entities/Box24_0.entity", - "PhysicsHull/entities/Box32_0.entity", - "PhysicsHull/entities/Box42_0.entity", - "PhysicsHull/meshes/Box20_0.mesh", - "PhysicsHull/binaries/1385113934_data.bin" - ], - "name": "PhysicsHull", - "ref": "PhysicsHull/PhysicsHull.group" - }, - "PhysicsHull/entities/Box01_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box01_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box01", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box02_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box02_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box02", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box03_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box03_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box03", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box04_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box04_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box04", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box05_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box05_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box05", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box06_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box06_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box06", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box07_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box07_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box07", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box08_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box08_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box08", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box09_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box09_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box09", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box10_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box10_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box10", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box11_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box11_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box11", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box12_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box12_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box12", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box13_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box13_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box13", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box14_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box14_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box14", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box15_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box15_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box15", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box16_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box16_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box16", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box18_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box18_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box18", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box19_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box19_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box19", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box20_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box20_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box20", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box21_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box21_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box21", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box22_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box22_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box22", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box23_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box23_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box23", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box24_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box24_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box24", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box25_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box25_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box25", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box26_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box26_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box26", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box27_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box27_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box27", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box28_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box28_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box28", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box29_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box29_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box29", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box30_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box30_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box30", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box31_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box31_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box31", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box32_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box32_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box32", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box33_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box33_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box33", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box34_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box34_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box34", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box35_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box35_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box35", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box36_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box36_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box36", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box37_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box37_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box37", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box38_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box38_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box38", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box39_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box39_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box39", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box40_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box40_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box40", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box41_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box41_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box41", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box42_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box42_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box42", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box43_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box43_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box43", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box44_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box44_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box44", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box45_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box45_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box45", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box46_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box46_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box46", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box47_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box47_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box47", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box48_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box48_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box48", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box49_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box49_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box49", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box50_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box50_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box50", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box51_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box51_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box51", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/Box52_0.entity": { - "components": { - "meshData": { - "meshRef": "PhysicsHull/meshes/Box52_0.mesh" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "materialRefs": [ - "PhysicsHull/materials/DefaultMaterial.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "PhysicsHull/entities/RootNode.entity", - "rotation": [ - -89.99999999999999, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "Box52", - "nodeType": "Mesh" - }, - "PhysicsHull/entities/RootNode.entity": { - "components": { - "transform": { - "rotation": [ - 0.0, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "PhysicsHull", - "nodeType": "Null" - }, - "PhysicsHull/materials/DefaultMaterial.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "CustomBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "DefaultMaterial", - "ref": "PhysicsHull/materials/DefaultMaterial.material", - "renderQueue": 2000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": {}, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 20 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 0 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "PhysicsHull/meshes/Box01_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 31.22710418701172, - -11.995226860046387, - 35.43144226074219 - ], - "min": [ - 30.278640747070312, - -34.03607177734375, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 0, - 36, - "uint8" - ], - "name": "Box01", - "normals": [ - 372, - 84, - "float32" - ], - "tangents": [ - 708, - 112, - "float32" - ], - "textureCoords": [ - [ - 1156, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 36, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box02_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 9.937784194946289, - -11.995226860046387, - 35.43144226074219 - ], - "min": [ - 8.989322662353516, - -34.159996032714844, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 17172, - 36, - "uint8" - ], - "name": "Box02", - "normals": [ - 17544, - 84, - "float32" - ], - "tangents": [ - 17880, - 112, - "float32" - ], - "textureCoords": [ - [ - 18328, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 17208, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box03_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 18.036701202392578, - -27.298683166503906, - 35.43143844604492 - ], - "min": [ - 17.088241577148438, - -33.63682174682617, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 30204, - 36, - "uint8" - ], - "name": "Box03", - "normals": [ - 30528, - 72, - "float32" - ], - "tangents": [ - 30816, - 96, - "float32" - ], - "textureCoords": [ - [ - 31200, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 30240, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box04_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 18.036701202392578, - -12.618874549865723, - 35.43144226074219 - ], - "min": [ - 17.088241577148438, - -24.121816635131836, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 59924, - 36, - "uint8" - ], - "name": "Box04", - "normals": [ - 60296, - 84, - "float32" - ], - "tangents": [ - 60632, - 112, - "float32" - ], - "textureCoords": [ - [ - 61080, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 59960, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box05_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 30.805686950683594, - -12.003250122070312, - 35.43144226074219 - ], - "min": [ - 9.533111572265625, - -13.008060455322266, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 46732, - 36, - "uint8" - ], - "name": "Box05", - "normals": [ - 47056, - 72, - "float32" - ], - "tangents": [ - 47344, - 96, - "float32" - ], - "textureCoords": [ - [ - 47728, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 46768, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box06_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 18.9420108795166, - -33.207618713378906, - 35.43143844604492 - ], - "min": [ - 9.533111572265625, - -34.15608215332031, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 26448, - 36, - "uint8" - ], - "name": "Box06", - "normals": [ - 26772, - 72, - "float32" - ], - "tangents": [ - 27060, - 96, - "float32" - ], - "textureCoords": [ - [ - 27444, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 26484, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box07_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 30.834556579589844, - -25.428874969482422, - 35.43143844604492 - ], - "min": [ - 22.410736083984375, - -26.377342224121094, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 4140, - 36, - "uint8" - ], - "name": "Box07", - "normals": [ - 4512, - 84, - "float32" - ], - "tangents": [ - 4848, - 112, - "float32" - ], - "textureCoords": [ - [ - 5296, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 4176, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box08_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 22.928436279296875, - -24.00360107421875, - 35.43143844604492 - ], - "min": [ - 21.914669036865234, - -26.425264358520508, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 45352, - 36, - "uint8" - ], - "name": "Box08", - "normals": [ - 45724, - 84, - "float32" - ], - "tangents": [ - 46060, - 112, - "float32" - ], - "textureCoords": [ - [ - 46508, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 45388, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box09_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 25.410242080688477, - -19.979156494140625, - 35.43144226074219 - ], - "min": [ - 17.595596313476562, - -20.927621841430664, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 47920, - 36, - "uint8" - ], - "name": "Box09", - "normals": [ - 48244, - 72, - "float32" - ], - "tangents": [ - 48532, - 96, - "float32" - ], - "textureCoords": [ - [ - 48916, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 47956, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box10_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 25.826522827148438, - -18.220352172851562, - 35.43144226074219 - ], - "min": [ - 24.812755584716797, - -20.958017349243164, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 51772, - 36, - "uint8" - ], - "name": "Box10", - "normals": [ - 52144, - 84, - "float32" - ], - "tangents": [ - 52480, - 112, - "float32" - ], - "textureCoords": [ - [ - 52928, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 51808, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box11_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 25.826522827148438, - -12.476702690124512, - 35.43144226074219 - ], - "min": [ - 24.812755584716797, - -15.15367317199707, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 32772, - 36, - "uint8" - ], - "name": "Box11", - "normals": [ - 33096, - 72, - "float32" - ], - "tangents": [ - 33384, - 96, - "float32" - ], - "textureCoords": [ - [ - 33768, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 32808, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box12_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 30.944557189941406, - -33.207618713378906, - 35.43143844604492 - ], - "min": [ - 22.90851593017578, - -34.15608215332031, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 14412, - 36, - "uint8" - ], - "name": "Box12", - "normals": [ - 14784, - 84, - "float32" - ], - "tangents": [ - 15120, - 112, - "float32" - ], - "textureCoords": [ - [ - 15568, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 14448, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box13_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 65.07511901855469, - 58.086570739746094, - 35.433536529541016 - ], - "min": [ - 54.95819091796875, - -64.03921508789062, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 39480, - 36, - "uint8" - ], - "name": "Box13", - "normals": [ - 39852, - 84, - "float32" - ], - "tangents": [ - 40188, - 112, - "float32" - ], - "textureCoords": [ - [ - 40636, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 39516, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box14_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -56.15354537963867, - 58.086570739746094, - 35.433536529541016 - ], - "min": [ - -66.27047729492188, - -64.03921508789062, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 18552, - 36, - "uint8" - ], - "name": "Box14", - "normals": [ - 18924, - 84, - "float32" - ], - "tangents": [ - 19260, - 112, - "float32" - ], - "textureCoords": [ - [ - 19708, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 18588, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box15_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 60.46521759033203, - -58.53218078613281, - 35.43353271484375 - ], - "min": [ - -61.660579681396484, - -68.64913177490234, - -25.824329376220703 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 49108, - 36, - "uint8" - ], - "name": "Box15", - "normals": [ - 49504, - 90, - "float32" - ], - "tangents": [ - 49864, - 120, - "float32" - ], - "textureCoords": [ - [ - 50344, - 60, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 30, - "vertices": [ - 49144, - 90, - "float32" - ] - }, - "PhysicsHull/meshes/Box16_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 60.46521759033203, - 62.69648742675781, - 35.433536529541016 - ], - "min": [ - -61.660579681396484, - 52.57953643798828, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 65060, - 36, - "uint8" - ], - "name": "Box16", - "normals": [ - 65384, - 72, - "float32" - ], - "tangents": [ - 65672, - 96, - "float32" - ], - "textureCoords": [ - [ - 66056, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 65096, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box18_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 19.79659652709961, - 8.096001625061035, - 35.43144226074219 - ], - "min": [ - 10.684894561767578, - 7.091192722320557, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [ - 42016, - 112, - "float32" - ], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 40860, - 36, - "uint8" - ], - "name": "Box18", - "normals": [ - 41232, - 84, - "float32" - ], - "tangents": [ - 41568, - 112, - "float32" - ], - "textureCoords": [ - [ - 42464, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 40896, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box19_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 31.957469940185547, - 29.668779373168945, - 35.43144226074219 - ], - "min": [ - 22.780866622924805, - 28.663965225219727, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [ - 6516, - 96, - "float32" - ], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 5520, - 36, - "uint8" - ], - "name": "Box19", - "normals": [ - 5844, - 72, - "float32" - ], - "tangents": [ - 6132, - 96, - "float32" - ], - "textureCoords": [ - [ - 6900, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 5556, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box20_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 31.957469940185547, - 18.620500564575195, - 35.43144226074219 - ], - "min": [ - 29.331636428833008, - 17.615690231323242, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 66248, - 36, - "uint8" - ], - "name": "Box20", - "normals": [ - 66572, - 72, - "float32" - ], - "tangents": [ - 66860, - 96, - "float32" - ], - "textureCoords": [ - [ - 67244, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 66284, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box21_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 19.304040908813477, - 14.666153907775879, - 35.43144226074219 - ], - "min": [ - 18.299230575561523, - 7.681868076324463, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 33960, - 36, - "uint8" - ], - "name": "Box21", - "normals": [ - 34332, - 84, - "float32" - ], - "tangents": [ - 34668, - 112, - "float32" - ], - "textureCoords": [ - [ - 35116, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 33996, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box22_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 19.304040908813477, - 29.064302444458008, - 35.43144226074219 - ], - "min": [ - 18.299230575561523, - 17.68023109436035, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 23688, - 36, - "uint8" - ], - "name": "Box22", - "normals": [ - 24060, - 84, - "float32" - ], - "tangents": [ - 24396, - 112, - "float32" - ], - "textureCoords": [ - [ - 24844, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 23724, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box23_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 24.29361343383789, - 29.064302444458008, - 35.43144226074219 - ], - "min": [ - 23.28880500793457, - 22.586706161499023, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 13224, - 36, - "uint8" - ], - "name": "Box23", - "normals": [ - 13548, - 72, - "float32" - ], - "tangents": [ - 13836, - 96, - "float32" - ], - "textureCoords": [ - [ - 14220, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 13260, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box24_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 24.29361343383789, - 19.491708755493164, - 35.43144226074219 - ], - "min": [ - 23.288803100585938, - 7.583921909332275, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 54340, - 36, - "uint8" - ], - "name": "Box24", - "normals": [ - 54712, - 84, - "float32" - ], - "tangents": [ - 55048, - 112, - "float32" - ], - "textureCoords": [ - [ - 55496, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 54376, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box25_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 19.786264419555664, - 29.668779373168945, - 35.43144226074219 - ], - "min": [ - 10.640745162963867, - 28.663965225219727, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [ - 3564, - 96, - "float32" - ], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 2568, - 36, - "uint8" - ], - "name": "Box25", - "normals": [ - 2892, - 72, - "float32" - ], - "tangents": [ - 3180, - 96, - "float32" - ], - "textureCoords": [ - [ - 3948, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 2604, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box26_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 31.957469940185547, - 8.013409614562988, - 35.43144226074219 - ], - "min": [ - 22.782575607299805, - 7.008598804473877, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [ - 58064, - 112, - "float32" - ], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 56908, - 36, - "uint8" - ], - "name": "Box26", - "normals": [ - 57280, - 84, - "float32" - ], - "tangents": [ - 57616, - 112, - "float32" - ], - "textureCoords": [ - [ - 58512, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 56944, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box27_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 11.051101684570312, - 29.683691024780273, - 35.43144226074219 - ], - "min": [ - 10.046289443969727, - 7.048094272613525, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 27636, - 36, - "uint8" - ], - "name": "Box27", - "normals": [ - 28008, - 84, - "float32" - ], - "tangents": [ - 28344, - 112, - "float32" - ], - "textureCoords": [ - [ - 28792, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 27672, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box28_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 32.606903076171875, - 29.683687210083008, - 35.43144226074219 - ], - "min": [ - 31.602092742919922, - 7.048092365264893, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 38100, - 36, - "uint8" - ], - "name": "Box28", - "normals": [ - 38472, - 84, - "float32" - ], - "tangents": [ - 38808, - 112, - "float32" - ], - "textureCoords": [ - [ - 39256, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 38136, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box29_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - 26.307973861694336, - 18.620500564575195, - 35.43144226074219 - ], - "min": [ - 23.84665870666504, - 17.615690231323242, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 1380, - 36, - "uint8" - ], - "name": "Box29", - "normals": [ - 1704, - 72, - "float32" - ], - "tangents": [ - 1992, - 96, - "float32" - ], - "textureCoords": [ - [ - 2376, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 1416, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box30_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -30.59536361694336, - -11.65427303314209, - 35.43144226074219 - ], - "min": [ - -31.600177764892578, - -34.112979888916016, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 31392, - 36, - "uint8" - ], - "name": "Box30", - "normals": [ - 31764, - 84, - "float32" - ], - "tangents": [ - 32100, - 112, - "float32" - ], - "textureCoords": [ - [ - 32548, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 31428, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box31_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -17.511760711669922, - -26.65629768371582, - 35.43143844604492 - ], - "min": [ - -18.516571044921875, - -33.63681411743164, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 15792, - 36, - "uint8" - ], - "name": "Box31", - "normals": [ - 16164, - 84, - "float32" - ], - "tangents": [ - 16500, - 112, - "float32" - ], - "textureCoords": [ - [ - 16948, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 15828, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box32_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.191642761230469, - -19.581064224243164, - 35.43144226074219 - ], - "min": [ - -10.196453094482422, - -34.11423873901367, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 63680, - 36, - "uint8" - ], - "name": "Box32", - "normals": [ - 64052, - 84, - "float32" - ], - "tangents": [ - 64388, - 112, - "float32" - ], - "textureCoords": [ - [ - 64836, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 63716, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box33_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.59384536743164, - -11.673088073730469, - 35.43144226074219 - ], - "min": [ - -31.077728271484375, - -12.677897453308105, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 21312, - 36, - "uint8" - ], - "name": "Box33", - "normals": [ - 21636, - 72, - "float32" - ], - "tangents": [ - 21924, - 96, - "float32" - ], - "textureCoords": [ - [ - 22308, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 21348, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box34_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -17.042613983154297, - -33.10237121582031, - 35.43143844604492 - ], - "min": [ - -31.077728271484375, - -34.107177734375, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 58736, - 36, - "uint8" - ], - "name": "Box34", - "normals": [ - 59060, - 72, - "float32" - ], - "tangents": [ - 59348, - 96, - "float32" - ], - "textureCoords": [ - [ - 59732, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 58772, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box35_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -17.511760711669922, - -12.206381797790527, - 35.43144226074219 - ], - "min": [ - -18.516571044921875, - -23.5820369720459, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 25068, - 36, - "uint8" - ], - "name": "Box35", - "normals": [ - 25440, - 84, - "float32" - ], - "tangents": [ - 25776, - 112, - "float32" - ], - "textureCoords": [ - [ - 26224, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 25104, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box36_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -23.424884796142578, - -21.07779312133789, - 35.43144226074219 - ], - "min": [ - -31.11385726928711, - -22.082605361938477, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 36528, - 36, - "uint8" - ], - "name": "Box36", - "normals": [ - 36948, - 96, - "float32" - ], - "tangents": [ - 37332, - 128, - "float32" - ], - "textureCoords": [ - [ - 37844, - 64, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 32, - "vertices": [ - 36564, - 96, - "float32" - ] - }, - "PhysicsHull/meshes/Box37_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -22.899883270263672, - -12.153454780578613, - 35.43144226074219 - ], - "min": [ - -23.90468978881836, - -16.014192581176758, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 42688, - 36, - "uint8" - ], - "name": "Box37", - "normals": [ - 43036, - 78, - "float32" - ], - "tangents": [ - 43348, - 104, - "float32" - ], - "textureCoords": [ - [ - 43764, - 52, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 26, - "vertices": [ - 42724, - 78, - "float32" - ] - }, - "PhysicsHull/meshes/Box38_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -22.89987564086914, - -19.073585510253906, - 35.43144226074219 - ], - "min": [ - -23.904685974121094, - -22.082979202270508, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 19932, - 36, - "uint8" - ], - "name": "Box38", - "normals": [ - 20304, - 84, - "float32" - ], - "tangents": [ - 20640, - 112, - "float32" - ], - "textureCoords": [ - [ - 21088, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 19968, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box39_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.677970886230469, - -33.10237121582031, - 35.43143844604492 - ], - "min": [ - -13.972312927246094, - -34.107177734375, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 62492, - 36, - "uint8" - ], - "name": "Box39", - "normals": [ - 62816, - 72, - "float32" - ], - "tangents": [ - 63104, - 96, - "float32" - ], - "textureCoords": [ - [ - 63488, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 62528, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box40_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.191638946533203, - -11.661967277526855, - 35.43144226074219 - ], - "min": [ - -10.196449279785156, - -16.527681350708008, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 43972, - 36, - "uint8" - ], - "name": "Box40", - "normals": [ - 44344, - 84, - "float32" - ], - "tangents": [ - 44680, - 112, - "float32" - ], - "textureCoords": [ - [ - 45128, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 44008, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box41_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.780586242675781, - 12.59658145904541, - 35.43144226074219 - ], - "min": [ - -31.101848602294922, - 11.59177303314209, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 8280, - 36, - "uint8" - ], - "name": "Box41", - "normals": [ - 8604, - 72, - "float32" - ], - "tangents": [ - 8892, - 96, - "float32" - ], - "textureCoords": [ - [ - 9276, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 8316, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box42_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.778667449951172, - 44.79719543457031, - 35.43144226074219 - ], - "min": [ - -31.05704116821289, - 43.792381286621094, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 61304, - 36, - "uint8" - ], - "name": "Box42", - "normals": [ - 61628, - 72, - "float32" - ], - "tangents": [ - 61916, - 96, - "float32" - ], - "textureCoords": [ - [ - 62300, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 61340, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box43_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -22.497394561767578, - 32.17717742919922, - 35.43144226074219 - ], - "min": [ - -31.056961059570312, - 31.172365188598633, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 55720, - 36, - "uint8" - ], - "name": "Box43", - "normals": [ - 56044, - 72, - "float32" - ], - "tangents": [ - 56332, - 96, - "float32" - ], - "textureCoords": [ - [ - 56716, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 55756, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box44_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -16.83306121826172, - 32.17717742919922, - 35.43144226074219 - ], - "min": [ - -19.444374084472656, - 31.172365188598633, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 29016, - 36, - "uint8" - ], - "name": "Box44", - "normals": [ - 29340, - 72, - "float32" - ], - "tangents": [ - 29628, - 96, - "float32" - ], - "textureCoords": [ - [ - 30012, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 29052, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box45_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -20.43466567993164, - 20.46294593811035, - 35.43144226074219 - ], - "min": [ - -31.056961059570312, - 19.458131790161133, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 53152, - 36, - "uint8" - ], - "name": "Box45", - "normals": [ - 53476, - 72, - "float32" - ], - "tangents": [ - 53764, - 96, - "float32" - ], - "textureCoords": [ - [ - 54148, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 53188, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box46_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -30.708065032958984, - 44.799652099609375, - 35.43144226074219 - ], - "min": [ - -31.712871551513672, - 24.209596633911133, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 35340, - 36, - "uint8" - ], - "name": "Box46", - "normals": [ - 35664, - 72, - "float32" - ], - "tangents": [ - 35952, - 96, - "float32" - ], - "textureCoords": [ - [ - 36336, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 35376, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box47_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -16.326168060302734, - 44.24168395996094, - 35.43144226074219 - ], - "min": [ - -17.330974578857422, - 31.17093849182129, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 10656, - 36, - "uint8" - ], - "name": "Box47", - "normals": [ - 10980, - 72, - "float32" - ], - "tangents": [ - 11268, - 96, - "float32" - ], - "textureCoords": [ - [ - 11652, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 10692, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box48_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.165019989013672, - 36.97959899902344, - 35.43144226074219 - ], - "min": [ - -10.16982650756836, - 11.60373592376709, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 11844, - 36, - "uint8" - ], - "name": "Box48", - "normals": [ - 12216, - 84, - "float32" - ], - "tangents": [ - 12552, - 112, - "float32" - ], - "textureCoords": [ - [ - 13000, - 56, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 28, - "vertices": [ - 11880, - 84, - "float32" - ] - }, - "PhysicsHull/meshes/Box49_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -9.165019989013672, - 44.78864288330078, - 35.43144226074219 - ], - "min": [ - -10.16982650756836, - 40.1099853515625, - -25.824325561523438 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 50584, - 36, - "uint8" - ], - "name": "Box49", - "normals": [ - 50908, - 72, - "float32" - ], - "tangents": [ - 51196, - 96, - "float32" - ], - "textureCoords": [ - [ - 51580, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 50620, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box50_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -19.892704010009766, - 20.49295997619629, - 35.43144226074219 - ], - "min": [ - -20.897510528564453, - 17.67182731628418, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 7092, - 36, - "uint8" - ], - "name": "Box50", - "normals": [ - 7416, - 72, - "float32" - ], - "tangents": [ - 7704, - 96, - "float32" - ], - "textureCoords": [ - [ - 8088, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 7128, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box51_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -19.892704010009766, - 14.557427406311035, - 35.43144226074219 - ], - "min": [ - -20.897510528564453, - 12.028067588806152, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 9468, - 36, - "uint8" - ], - "name": "Box51", - "normals": [ - 9792, - 72, - "float32" - ], - "tangents": [ - 10080, - 96, - "float32" - ], - "textureCoords": [ - [ - 10464, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 9504, - 72, - "float32" - ] - }, - "PhysicsHull/meshes/Box52_0.mesh": { - "binaryRef": "PhysicsHull/binaries/1385113934_data.bin", - "boundingVolume": { - "max": [ - -30.749794006347656, - 21.143770217895508, - 35.43144226074219 - ], - "min": [ - -31.754596710205078, - 11.61561107635498, - -25.82432746887207 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 36 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 22500, - 36, - "uint8" - ], - "name": "Box52", - "normals": [ - 22824, - 72, - "float32" - ], - "tangents": [ - 23112, - 96, - "float32" - ], - "textureCoords": [ - [ - 23496, - 48, - "float32" - ] - ], - "type": "Mesh", - "vertexCount": 24, - "vertices": [ - 22536, - 72, - "float32" - ] - }, - "project.project": { - "backgroundColor": [ - 0.75, - 0.76, - 0.78, - 1 - ], - "created": "2013-11-22T09:45:01.013568", - "deleted": false, - "edit": [], - "entityRefs": [ - "NavMesh/entities/Object10_0.entity", - "NavMesh/entities/Object08_0.entity", - "NavMesh/entities/Object19_0.entity", - "NavMesh/entities/Object17_0.entity", - "NavMesh/entities/Object12_0.entity", - "NavMesh/entities/Object20_0.entity", - "NavMesh/entities/Object07_0.entity", - "NavMesh/entities/Object05_0.entity", - "NavMesh/entities/Object02_0.entity", - "NavMesh/entities/Object09_0.entity", - "NavMesh/entities/Object06_0.entity", - "NavMesh/entities/Object22_0.entity", - "NavMesh/entities/Object13_0.entity", - "NavMesh/entities/Object03_0.entity", - "NavMesh/entities/Object04_0.entity", - "NavMesh/entities/Object01_0.entity", - "NavMesh/entities/Object16_0.entity", - "NavMesh/entities/Object11_0.entity", - "NavMesh/entities/Object18_0.entity", - "NavMesh/entities/Object21_0.entity", - "NavMesh/entities/Object14_0.entity", - "NavMesh/entities/Object15_0.entity", - "NavMesh/entities/RootNode.entity", - "NavMesh/entities/Object29_0.entity", - "NavMesh/entities/Object24_0.entity", - "NavMesh/entities/Object34_0.entity", - "NavMesh/entities/Object32_0.entity", - "NavMesh/entities/Object33_0.entity", - "NavMesh/entities/Object35_0.entity", - "NavMesh/entities/Object39_0.entity", - "NavMesh/entities/Object25_0.entity", - "NavMesh/entities/Object31_0.entity", - "NavMesh/entities/Object36_0.entity", - "NavMesh/entities/Object28_0.entity", - "NavMesh/entities/Object23_0.entity", - "NavMesh/entities/Object40_0.entity", - "NavMesh/entities/Object38_0.entity", - "NavMesh/entities/Object37_0.entity", - "NavMesh/entities/Object30_0.entity", - "NavMesh/entities/Object27_0.entity", - "NavMesh/entities/Object26_0.entity", - "Geometry/entities/Geometry_Material0_0.entity", - "Geometry/entities/Geometry_Material3_0.entity", - "Geometry/entities/Geometry_Material2_0.entity", - "Geometry/entities/Geometry_Material1_0.entity", - "Geometry/entities/RootNode.entity", - "GroundPhys/entities/Ground1_0.entity", - "GroundPhys/entities/RootNode.entity", - "PhysicsHull/entities/Box49_0.entity", - "PhysicsHull/entities/Box47_0.entity", - "PhysicsHull/entities/Box34_0.entity", - "PhysicsHull/entities/Box02_0.entity", - "PhysicsHull/entities/Box39_0.entity", - "PhysicsHull/entities/Box16_0.entity", - "PhysicsHull/entities/Box22_0.entity", - "PhysicsHull/entities/Box36_0.entity", - "PhysicsHull/entities/Box35_0.entity", - "PhysicsHull/entities/Box41_0.entity", - "PhysicsHull/entities/Box37_0.entity", - "PhysicsHull/entities/Box48_0.entity", - "PhysicsHull/entities/Box07_0.entity", - "PhysicsHull/entities/Box40_0.entity", - "PhysicsHull/entities/Box09_0.entity", - "PhysicsHull/entities/Box29_0.entity", - "PhysicsHull/entities/Box04_0.entity", - "PhysicsHull/entities/Box44_0.entity", - "PhysicsHull/entities/Box52_0.entity", - "PhysicsHull/entities/Box15_0.entity", - "PhysicsHull/entities/Box06_0.entity", - "PhysicsHull/entities/Box03_0.entity", - "PhysicsHull/entities/Box31_0.entity", - "PhysicsHull/entities/Box28_0.entity", - "PhysicsHull/entities/Box10_0.entity", - "PhysicsHull/entities/Box23_0.entity", - "PhysicsHull/entities/Box08_0.entity", - "PhysicsHull/entities/Box05_0.entity", - "PhysicsHull/entities/Box13_0.entity", - "PhysicsHull/entities/Box27_0.entity", - "PhysicsHull/entities/Box38_0.entity", - "PhysicsHull/entities/Box20_0.entity", - "PhysicsHull/entities/Box30_0.entity", - "PhysicsHull/entities/Box18_0.entity", - "PhysicsHull/entities/Box11_0.entity", - "PhysicsHull/entities/Box50_0.entity", - "PhysicsHull/entities/Box26_0.entity", - "PhysicsHull/entities/Box14_0.entity", - "PhysicsHull/entities/Box51_0.entity", - "PhysicsHull/entities/Box21_0.entity", - "PhysicsHull/entities/Box12_0.entity", - "PhysicsHull/entities/Box43_0.entity", - "PhysicsHull/entities/Box19_0.entity", - "PhysicsHull/entities/Box01_0.entity", - "PhysicsHull/entities/Box33_0.entity", - "PhysicsHull/entities/Box25_0.entity", - "PhysicsHull/entities/Box46_0.entity", - "PhysicsHull/entities/Box45_0.entity", - "PhysicsHull/entities/Box24_0.entity", - "PhysicsHull/entities/Box32_0.entity", - "PhysicsHull/entities/Box42_0.entity", - "PhysicsHull/entities/RootNode.entity", - "NavMesh/entities/Object81_0.entity", - "NavMesh/entities/Object66_0.entity", - "NavMesh/entities/Object70_0.entity", - "NavMesh/entities/Object76_0.entity", - "NavMesh/entities/Object71_0.entity", - "NavMesh/entities/Object69_0.entity", - "NavMesh/entities/Object79_0.entity", - "NavMesh/entities/Object74_0.entity", - "NavMesh/entities/Object60_0.entity", - "NavMesh/entities/Object43_0.entity", - "NavMesh/entities/Object56_0.entity", - "NavMesh/entities/Object89_0.entity", - "NavMesh/entities/Object88_0.entity", - "NavMesh/entities/Object53_0.entity", - "NavMesh/entities/Object42_0.entity", - "NavMesh/entities/Object77_0.entity", - "NavMesh/entities/Object54_0.entity", - "NavMesh/entities/Object67_0.entity", - "NavMesh/entities/Object85_0.entity", - "NavMesh/entities/Object51_0.entity", - "NavMesh/entities/Object65_0.entity", - "NavMesh/entities/Object63_0.entity", - "NavMesh/entities/Object62_0.entity", - "NavMesh/entities/Object58_0.entity", - "NavMesh/entities/Object61_0.entity", - "NavMesh/entities/Object80_0.entity", - "NavMesh/entities/Object82_0.entity", - "NavMesh/entities/Object44_0.entity", - "NavMesh/entities/Object86_0.entity", - "NavMesh/entities/Object52_0.entity", - "NavMesh/entities/Object75_0.entity", - "NavMesh/entities/Object68_0.entity", - "NavMesh/entities/Object45_0.entity", - "NavMesh/entities/Object72_0.entity", - "NavMesh/entities/Object64_0.entity", - "NavMesh/entities/Object49_0.entity", - "NavMesh/entities/Object57_0.entity", - "NavMesh/entities/Object87_0.entity", - "NavMesh/entities/Object41_0.entity", - "NavMesh/entities/Object47_0.entity", - "NavMesh/entities/Object78_0.entity", - "NavMesh/entities/Object55_0.entity", - "NavMesh/entities/Object73_0.entity", - "NavMesh/entities/Object84_0.entity", - "NavMesh/entities/Object83_0.entity", - "NavMesh/entities/Object48_0.entity", - "NavMesh/entities/Object46_0.entity", - "NavMesh/entities/Object59_0.entity", - "NavMesh/entities/Object50_0.entity" - ], - "fogColor": [ - 0.08429752066115702, - 0.10739594290007513, - 0.13636363636363635 - ], - "fogFar": 50, - "fogNear": 0, - "globalAmbient": [ - 0, - 0, - 0 - ], - "groupRefs": [ - "NavMesh/NavMesh.group", - "Geometry/Geometry.group", - "GroundPhys/GroundPhys.group", - "PhysicsHull/PhysicsHull.group", - "root.group" - ], - "id": "M-Z3-0kfSVSEYkscJp7PGg", - "licenseType": "CC0", - "modified": "2013-11-22T09:45:01.013568", - "name": "Goobers", - "originalLicenseType": null, - "own": [ - "h9AeW1X3S1WZYADWuViCyw" - ], - "parent": null, - "public": true, - "ref": "project.project", - "skybox": { - "environmentType": 1, - "imageUrls": [ - "images/Night_PosX.jpg", - "images/Night_NegX.jpg", - "images/Night_PosY.jpg", - "images/Night_NegY.jpg", - "images/Night_PosZ.jpg", - "images/Night_NegZ.jpg" - ], - "rotation": 0, - "shape": "Box" - }, - "useFog": true, - "view": [] - }, - "root.group": { - "libraryRefs": [ - "images/Night_NegY.jpg", - "textures/Night_NegY.texture", - "images/Night_NegX.jpg", - "textures/Night_NegX.texture", - "images/Night_NegZ.jpg", - "textures/Night_NegZ.texture", - "images/Night_PosX.jpg", - "textures/Night_PosX.texture", - "images/Night_PosY.jpg", - "textures/Night_PosY.texture", - "images/Night_PosZ.jpg", - "textures/Night_PosZ.texture" - ], - "name": "root", - "ref": "root.group" - }, - "textures/Night_NegX.texture": { - "anisotropy": 1, - "fileName": "Night_NegX.jpg", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Night_NegX", - "offset": [ - 0, - 0 - ], - "ref": "textures/Night_NegX.texture", - "repeat": [ - 1, - 1 - ], - "url": "images/Night_NegX.jpg", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "textures/Night_NegY.texture": { - "anisotropy": 1, - "fileName": "Night_NegY.jpg", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Night_NegY", - "offset": [ - 0, - 0 - ], - "ref": "textures/Night_NegY.texture", - "repeat": [ - 1, - 1 - ], - "url": "images/Night_NegY.jpg", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "textures/Night_NegZ.texture": { - "anisotropy": 1, - "fileName": "Night_NegZ.jpg", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Night_NegZ", - "offset": [ - 0, - 0 - ], - "ref": "textures/Night_NegZ.texture", - "repeat": [ - 1, - 1 - ], - "url": "images/Night_NegZ.jpg", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "textures/Night_PosX.texture": { - "anisotropy": 1, - "fileName": "Night_PosX.jpg", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Night_PosX", - "offset": [ - 0, - 0 - ], - "ref": "textures/Night_PosX.texture", - "repeat": [ - 1, - 1 - ], - "url": "images/Night_PosX.jpg", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "textures/Night_PosY.texture": { - "anisotropy": 1, - "fileName": "Night_PosY.jpg", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Night_PosY", - "offset": [ - 0, - 0 - ], - "ref": "textures/Night_PosY.texture", - "repeat": [ - 1, - 1 - ], - "url": "images/Night_PosY.jpg", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "textures/Night_PosZ.texture": { - "anisotropy": 1, - "fileName": "Night_PosZ.jpg", - "flipY": true, - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Night_PosZ", - "offset": [ - 0, - 0 - ], - "ref": "textures/Night_PosZ.texture", - "repeat": [ - 1, - 1 - ], - "url": "images/Night_PosZ.jpg", - "wrapU": "Repeat", - "wrapV": "Repeat" - } -} \ No newline at end of file diff --git a/res/zombie_idle/binaries/1384861343_data.bin b/res/walking/binaries/1385651707_data.bin similarity index 100% rename from res/zombie_idle/binaries/1384861343_data.bin rename to res/walking/binaries/1385651707_data.bin diff --git a/res/walking/binaries/1385651707_walking_mixamo_com.bin b/res/walking/binaries/1385651707_walking_mixamo_com.bin new file mode 100644 index 0000000..cba119d Binary files /dev/null and b/res/walking/binaries/1385651707_walking_mixamo_com.bin differ diff --git a/res/zombie_idle/images/Zombie_diffuse.png b/res/walking/images/Zombie_diffuse.png similarity index 100% rename from res/zombie_idle/images/Zombie_diffuse.png rename to res/walking/images/Zombie_diffuse.png diff --git a/res/zombie_idle/images/Zombie_normal.png b/res/walking/images/Zombie_normal.png similarity index 100% rename from res/zombie_idle/images/Zombie_normal.png rename to res/walking/images/Zombie_normal.png diff --git a/res/zombie_idle/images/Zombie_specular.png b/res/walking/images/Zombie_specular.png similarity index 100% rename from res/zombie_idle/images/Zombie_specular.png rename to res/walking/images/Zombie_specular.png diff --git a/res/zombie.bundle b/res/zombie.bundle index 502118b..40671d1 100644 --- a/res/zombie.bundle +++ b/res/zombie.bundle @@ -1,4 +1,71 @@ { + "entities/DefaultToolCamera.entity": { + "components": { + "camera": { + "aspect": 1.4705014749262537, + "far": 10000, + "fov": 45, + "near": 1 + }, + "script": { + "scriptRefs": [ + "scripts/DefaultToolCameraScript.script" + ] + } + }, + "name": "DefaultToolCamera.entity", + "ref": "entities/DefaultToolCamera.entity" + }, + "entities/default_light.entity": { + "components": { + "light": { + "color": [ + 0.8, + 0.8, + 0.8 + ], + "type": "DirectionalLight" + }, + "transform": { + "rotation": [ + 0, + 0, + 0, + 0, + 0, + 0, + -0.557, + 0.557, + 0.557 + ] + } + } + }, + "entities/default_light_2.entity": { + "components": { + "light": { + "color": [ + 0.2, + 0.2, + 0.3 + ], + "type": "DirectionalLight" + }, + "transform": { + "rotation": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0.557, + -0.557, + -0.557 + ] + } + } + }, "project.project": { "backgroundColor": [ 0.75, @@ -6,19 +73,22 @@ 0.78, 1 ], - "created": "2013-11-19T11:42:03.595452", + "created": "2013-11-28T15:14:40.735801", "deleted": false, "edit": [], "entityRefs": [ - "zombie_idle/entities/Zombie_Geo_0.entity", - "zombie_idle/entities/RootNode.entity" + "entities/DefaultToolCamera.entity", + "walking/entities/Zombie_Geo_0.entity", + "walking/entities/RootNode.entity", + "entities/default_light.entity", + "entities/default_light_2.entity" ], "fogColor": [ - 0.08429752066115702, - 0.10739594290007513, - 0.13636363636363635 + 0, + 0, + 0 ], - "fogFar": 50, + "fogFar": 30, "fogNear": 0, "globalAmbient": [ 0, @@ -26,23 +96,21 @@ 0 ], "groupRefs": [ - "zombie_idle/zombie_idle.group", - "zombie_injured_walk/zombie_injured_walk.group", - "root.group", - "zombie_uppercut_jab/zombie_uppercut_jab.group", - "zombie_dying_1/zombie_dying_1.group" + "walking/walking.group", + "root.group" ], - "id": "0psr567VTEKr7wpBptefmA", + "id": "ZzF21ddVRPOyw-09EtEauw", "licenseType": "CC0", - "modified": "2013-11-19T11:42:03.595452", - "name": "Default Goo Project", + "modified": "2013-11-28T15:14:40.735801", + "name": "zwalk", "originalLicenseType": null, "own": [ - "h9AeW1X3S1WZYADWuViCyw" + "wea-6RsRQo-ziGjYWuLmwg" ], "parent": null, "public": true, "ref": "project.project", + "screenshot": "images/screenshot.png", "skybox": { "environmentType": 1, "imageUrls": [ @@ -61,25 +129,79 @@ }, "root.group": { "libraryRefs": [ - "zombie_injured_walk/animations/mixamo_com.animstate", - "zombie_uppercut_jab/animations/mixamo_com.animstate", - "zombie_dying_1/animations/mixamo_com.animstate" + "scripts/DefaultToolCameraScript.script", + "entities/DefaultToolCamera.entity", + "images/screenshot.png", + "entities/default_light.entity", + "entities/default_light_2.entity" ], "name": "root", "ref": "root.group" }, - "zombie_dying_1/animations/mixamo_com.animstate": { + "scripts/DefaultToolCameraScript.script": { + "className": "OrbitNPanControlScript", + "name": "DefaultToolCameraScript.script", + "options": { + "clampAzimuth": false, + "detailZoom": 0.15, + "dragOnly": true, + "invertedWheel": true, + "invertedX": false, + "invertedY": false, + "lookAtPoint": [ + 0, + 0, + 0 + ], + "maxAscent": 1.5699236621688994, + "maxAzimuth": 4.71238898038469, + "maxZoomDistance": 6000, + "minAscent": -1.5699236621688994, + "minAzimuth": 1.5707963267948966, + "minZoomDistance": 0.1, + "spherical": [ + 51.21012496948242, + 1.380797028541565, + 0.5849999785423279 + ], + "turnSpeedHorizontal": 0.005, + "turnSpeedVertical": 0.005, + "worldUpVector": [ + 0, + 1, + 0 + ], + "zoomSpeed": 0.3 + }, + "ref": "scripts/DefaultToolCameraScript.script" + }, + "walking/animations/Animations.animation": { + "layers": [ + { + "blendWeight": 1, + "defaultState": "mixamo.com", + "name": "Default animation layer", + "states": { + "mixamo.com": { + "stateRef": "walking/animations/mixamo_com.animstate" + } + } + } + ], + "ref": "walking/animations/Animations.animation" + }, + "walking/animations/mixamo_com.animstate": { "clipSource": { - "clipRef": "zombie_dying_1/animations/mixamo_com.clip", + "clipRef": "walking/animations/mixamo_com.clip", "loopCount": -1, "timeScale": 1, "type": "Clip" }, - "name": "Dead", - "ref": "zombie_dying_1/animations/mixamo_com.animstate" + "name": "walk", + "ref": "walking/animations/mixamo_com.animstate" }, - "zombie_dying_1/animations/mixamo_com.clip": { - "binaryRef": "zombie_dying_1/binaries/1384862412_zombie_dying_1_mixamo_com.bin", + "walking/animations/mixamo_com.clip": { + "binaryRef": "walking/binaries/1385651707_walking_mixamo_com.bin", "channels": [ { "blendType": "Linear", @@ -88,22 +210,22 @@ "name": "_jnt0", "rotationSamples": [ 0, - 404, + 488, "float32" ], "scaleSamples": [ - 1616, - 303, + 1952, + 366, "float32" ], "times": [ - 4040, - 101, + 4880, + 122, "float32" ], "translationSamples": [ - 2828, - 303, + 3416, + 366, "float32" ], "type": "Joint" @@ -114,23 +236,23 @@ "jointName": "Zombie:Spine", "name": "_jnt1", "rotationSamples": [ - 4444, - 404, + 5368, + 488, "float32" ], "scaleSamples": [ - 6060, - 303, + 7320, + 366, "float32" ], "times": [ - 8484, - 101, + 10248, + 122, "float32" ], "translationSamples": [ - 7272, - 303, + 8784, + 366, "float32" ], "type": "Joint" @@ -141,23 +263,23 @@ "jointName": "Zombie:Spine1", "name": "_jnt2", "rotationSamples": [ - 8888, - 404, + 10736, + 488, "float32" ], "scaleSamples": [ - 10504, - 303, + 12688, + 366, "float32" ], "times": [ - 12928, - 101, + 15616, + 122, "float32" ], "translationSamples": [ - 11716, - 303, + 14152, + 366, "float32" ], "type": "Joint" @@ -168,23 +290,23 @@ "jointName": "Zombie:Spine2", "name": "_jnt3", "rotationSamples": [ - 13332, - 404, + 16104, + 488, "float32" ], "scaleSamples": [ - 14948, - 303, + 18056, + 366, "float32" ], "times": [ - 17372, - 101, + 20984, + 122, "float32" ], "translationSamples": [ - 16160, - 303, + 19520, + 366, "float32" ], "type": "Joint" @@ -195,23 +317,23 @@ "jointName": "Zombie:Neck", "name": "_jnt4", "rotationSamples": [ - 17776, - 404, + 21472, + 488, "float32" ], "scaleSamples": [ - 19392, - 303, + 23424, + 366, "float32" ], "times": [ - 21816, - 101, + 26352, + 122, "float32" ], "translationSamples": [ - 20604, - 303, + 24888, + 366, "float32" ], "type": "Joint" @@ -222,22 +344,22 @@ "jointName": "Zombie:Neck1", "name": "_jnt5", "rotationSamples": [ - 22220, + 26840, 4, "float32" ], "scaleSamples": [ - 22236, + 26856, 3, "float32" ], "times": [ - 22260, + 26880, 1, "float32" ], "translationSamples": [ - 22248, + 26868, 3, "float32" ], @@ -249,23 +371,23 @@ "jointName": "Zombie:Head", "name": "_jnt6", "rotationSamples": [ - 22264, - 404, + 26884, + 488, "float32" ], "scaleSamples": [ - 23880, - 303, + 28836, + 366, "float32" ], "times": [ - 26304, - 101, + 31764, + 122, "float32" ], "translationSamples": [ - 25092, - 303, + 30300, + 366, "float32" ], "type": "Joint" @@ -276,22 +398,22 @@ "jointName": "Zombie:Jaw", "name": "_jnt9", "rotationSamples": [ - 26708, + 32252, 4, "float32" ], "scaleSamples": [ - 26724, + 32268, 3, "float32" ], "times": [ - 26748, + 32292, 1, "float32" ], "translationSamples": [ - 26736, + 32280, 3, "float32" ], @@ -303,23 +425,23 @@ "jointName": "Zombie:LeftShoulder", "name": "_jnt31", "rotationSamples": [ - 26752, - 404, + 32296, + 488, "float32" ], "scaleSamples": [ - 28368, - 303, + 34248, + 366, "float32" ], "times": [ - 30792, - 101, + 37176, + 122, "float32" ], "translationSamples": [ - 29580, - 303, + 35712, + 366, "float32" ], "type": "Joint" @@ -330,23 +452,23 @@ "jointName": "Zombie:LeftArm", "name": "_jnt32", "rotationSamples": [ - 31196, - 404, + 37664, + 488, "float32" ], "scaleSamples": [ - 32812, - 303, + 39616, + 366, "float32" ], "times": [ - 35236, - 101, + 42544, + 122, "float32" ], "translationSamples": [ - 34024, - 303, + 41080, + 366, "float32" ], "type": "Joint" @@ -357,23 +479,23 @@ "jointName": "Zombie:LeftForeArm", "name": "_jnt33", "rotationSamples": [ - 35640, - 404, + 43032, + 488, "float32" ], "scaleSamples": [ - 37256, - 303, + 44984, + 366, "float32" ], "times": [ - 39680, - 101, + 47912, + 122, "float32" ], "translationSamples": [ - 38468, - 303, + 46448, + 366, "float32" ], "type": "Joint" @@ -384,23 +506,23 @@ "jointName": "Zombie:LeftHand", "name": "_jnt34", "rotationSamples": [ - 40084, - 404, + 48400, + 488, "float32" ], "scaleSamples": [ - 41700, - 303, + 50352, + 366, "float32" ], "times": [ - 44124, - 101, + 53280, + 122, "float32" ], "translationSamples": [ - 42912, - 303, + 51816, + 366, "float32" ], "type": "Joint" @@ -411,23 +533,23 @@ "jointName": "Zombie:LeftHandThumb1", "name": "_jnt35", "rotationSamples": [ - 44528, - 404, + 53768, + 4, "float32" ], "scaleSamples": [ - 46144, - 303, + 53784, + 3, "float32" ], "times": [ - 48568, - 101, + 53808, + 1, "float32" ], "translationSamples": [ - 47356, - 303, + 53796, + 3, "float32" ], "type": "Joint" @@ -438,23 +560,23 @@ "jointName": "Zombie:LeftHandThumb2", "name": "_jnt36", "rotationSamples": [ - 48972, - 404, + 53812, + 4, "float32" ], "scaleSamples": [ - 50588, - 303, + 53828, + 3, "float32" ], "times": [ - 53012, - 101, + 53852, + 1, "float32" ], "translationSamples": [ - 51800, - 303, + 53840, + 3, "float32" ], "type": "Joint" @@ -465,23 +587,23 @@ "jointName": "Zombie:LeftHandThumb3", "name": "_jnt37", "rotationSamples": [ - 53416, - 404, + 53856, + 4, "float32" ], "scaleSamples": [ - 55032, - 303, + 53872, + 3, "float32" ], "times": [ - 57456, - 101, + 53896, + 1, "float32" ], "translationSamples": [ - 56244, - 303, + 53884, + 3, "float32" ], "type": "Joint" @@ -492,23 +614,23 @@ "jointName": "Zombie:LeftHandMiddle1", "name": "_jnt38", "rotationSamples": [ - 57860, - 404, + 53900, + 4, "float32" ], "scaleSamples": [ - 59476, - 303, + 53916, + 3, "float32" ], "times": [ - 61900, - 101, + 53940, + 1, "float32" ], "translationSamples": [ - 60688, - 303, + 53928, + 3, "float32" ], "type": "Joint" @@ -519,23 +641,23 @@ "jointName": "Zombie:LeftHandMiddle2", "name": "_jnt39", "rotationSamples": [ - 62304, - 404, + 53944, + 4, "float32" ], "scaleSamples": [ - 63920, - 303, + 53960, + 3, "float32" ], "times": [ - 66344, - 101, + 53984, + 1, "float32" ], "translationSamples": [ - 65132, - 303, + 53972, + 3, "float32" ], "type": "Joint" @@ -546,23 +668,23 @@ "jointName": "Zombie:LeftHandMiddle3", "name": "_jnt40", "rotationSamples": [ - 66748, - 404, + 53988, + 4, "float32" ], "scaleSamples": [ - 68364, - 303, + 54004, + 3, "float32" ], "times": [ - 70788, - 101, + 54028, + 1, "float32" ], "translationSamples": [ - 69576, - 303, + 54016, + 3, "float32" ], "type": "Joint" @@ -573,23 +695,23 @@ "jointName": "Zombie:LeftHandIndex1", "name": "_jnt41", "rotationSamples": [ - 71192, - 404, + 54032, + 4, "float32" ], "scaleSamples": [ - 72808, - 303, + 54048, + 3, "float32" ], "times": [ - 75232, - 101, + 54072, + 1, "float32" ], "translationSamples": [ - 74020, - 303, + 54060, + 3, "float32" ], "type": "Joint" @@ -600,23 +722,23 @@ "jointName": "Zombie:LeftHandIndex2", "name": "_jnt42", "rotationSamples": [ - 75636, - 404, + 54076, + 4, "float32" ], "scaleSamples": [ - 77252, - 303, + 54092, + 3, "float32" ], "times": [ - 79676, - 101, + 54116, + 1, "float32" ], "translationSamples": [ - 78464, - 303, + 54104, + 3, "float32" ], "type": "Joint" @@ -627,23 +749,23 @@ "jointName": "Zombie:LeftHandIndex3", "name": "_jnt43", "rotationSamples": [ - 80080, - 404, + 54120, + 4, "float32" ], "scaleSamples": [ - 81696, - 303, + 54136, + 3, "float32" ], "times": [ - 84120, - 101, + 54160, + 1, "float32" ], "translationSamples": [ - 82908, - 303, + 54148, + 3, "float32" ], "type": "Joint" @@ -654,23 +776,23 @@ "jointName": "Zombie:LeftHandRing1", "name": "_jnt44", "rotationSamples": [ - 84524, - 404, + 54164, + 4, "float32" ], "scaleSamples": [ - 86140, - 303, + 54180, + 3, "float32" ], "times": [ - 88564, - 101, + 54204, + 1, "float32" ], "translationSamples": [ - 87352, - 303, + 54192, + 3, "float32" ], "type": "Joint" @@ -681,23 +803,23 @@ "jointName": "Zombie:LeftHandRing2", "name": "_jnt45", "rotationSamples": [ - 88968, - 404, + 54208, + 4, "float32" ], "scaleSamples": [ - 90584, - 303, + 54224, + 3, "float32" ], "times": [ - 93008, - 101, + 54248, + 1, "float32" ], "translationSamples": [ - 91796, - 303, + 54236, + 3, "float32" ], "type": "Joint" @@ -708,23 +830,23 @@ "jointName": "Zombie:LeftHandRing3", "name": "_jnt46", "rotationSamples": [ - 93412, - 404, + 54252, + 4, "float32" ], "scaleSamples": [ - 95028, - 303, + 54268, + 3, "float32" ], "times": [ - 97452, - 101, + 54292, + 1, "float32" ], "translationSamples": [ - 96240, - 303, + 54280, + 3, "float32" ], "type": "Joint" @@ -735,23 +857,23 @@ "jointName": "Zombie:LeftHandPinky1", "name": "_jnt47", "rotationSamples": [ - 97856, - 404, + 54296, + 4, "float32" ], "scaleSamples": [ - 99472, - 303, + 54312, + 3, "float32" ], "times": [ - 101896, - 101, + 54336, + 1, "float32" ], "translationSamples": [ - 100684, - 303, + 54324, + 3, "float32" ], "type": "Joint" @@ -762,23 +884,23 @@ "jointName": "Zombie:LeftHandPinky2", "name": "_jnt48", "rotationSamples": [ - 102300, - 404, + 54340, + 4, "float32" ], "scaleSamples": [ - 103916, - 303, + 54356, + 3, "float32" ], "times": [ - 106340, - 101, + 54380, + 1, "float32" ], "translationSamples": [ - 105128, - 303, + 54368, + 3, "float32" ], "type": "Joint" @@ -789,23 +911,23 @@ "jointName": "Zombie:LeftHandPinky3", "name": "_jnt49", "rotationSamples": [ - 106744, - 404, + 54384, + 4, "float32" ], "scaleSamples": [ - 108360, - 303, + 54400, + 3, "float32" ], "times": [ - 110784, - 101, + 54424, + 1, "float32" ], "translationSamples": [ - 109572, - 303, + 54412, + 3, "float32" ], "type": "Joint" @@ -816,23 +938,23 @@ "jointName": "Zombie:RightShoulder", "name": "_jnt50", "rotationSamples": [ - 111188, - 404, + 54428, + 488, "float32" ], "scaleSamples": [ - 112804, - 303, + 56380, + 366, "float32" ], "times": [ - 115228, - 101, + 59308, + 122, "float32" ], "translationSamples": [ - 114016, - 303, + 57844, + 366, "float32" ], "type": "Joint" @@ -843,23 +965,23 @@ "jointName": "Zombie:RightArm", "name": "_jnt51", "rotationSamples": [ - 115632, - 404, + 59796, + 488, "float32" ], "scaleSamples": [ - 117248, - 303, + 61748, + 366, "float32" ], "times": [ - 119672, - 101, + 64676, + 122, "float32" ], "translationSamples": [ - 118460, - 303, + 63212, + 366, "float32" ], "type": "Joint" @@ -870,23 +992,23 @@ "jointName": "Zombie:RightForeArm", "name": "_jnt52", "rotationSamples": [ - 120076, - 404, + 65164, + 488, "float32" ], "scaleSamples": [ - 121692, - 303, + 67116, + 366, "float32" ], "times": [ - 124116, - 101, + 70044, + 122, "float32" ], "translationSamples": [ - 122904, - 303, + 68580, + 366, "float32" ], "type": "Joint" @@ -897,23 +1019,23 @@ "jointName": "Zombie:RightHand", "name": "_jnt53", "rotationSamples": [ - 124520, - 404, + 70532, + 488, "float32" ], "scaleSamples": [ - 126136, - 303, + 72484, + 366, "float32" ], "times": [ - 128560, - 101, + 75412, + 122, "float32" ], "translationSamples": [ - 127348, - 303, + 73948, + 366, "float32" ], "type": "Joint" @@ -924,23 +1046,23 @@ "jointName": "Zombie:RightHandThumb1", "name": "_jnt54", "rotationSamples": [ - 128964, - 404, + 75900, + 4, "float32" ], "scaleSamples": [ - 130580, - 303, + 75916, + 3, "float32" ], "times": [ - 133004, - 101, + 75940, + 1, "float32" ], "translationSamples": [ - 131792, - 303, + 75928, + 3, "float32" ], "type": "Joint" @@ -951,23 +1073,23 @@ "jointName": "Zombie:RightHandThumb2", "name": "_jnt55", "rotationSamples": [ - 133408, - 404, + 75944, + 4, "float32" ], "scaleSamples": [ - 135024, - 303, + 75960, + 3, "float32" ], "times": [ - 137448, - 101, + 75984, + 1, "float32" ], "translationSamples": [ - 136236, - 303, + 75972, + 3, "float32" ], "type": "Joint" @@ -978,23 +1100,23 @@ "jointName": "Zombie:RightHandThumb3", "name": "_jnt56", "rotationSamples": [ - 137852, - 404, + 75988, + 4, "float32" ], "scaleSamples": [ - 139468, - 303, + 76004, + 3, "float32" ], "times": [ - 141892, - 101, + 76028, + 1, "float32" ], "translationSamples": [ - 140680, - 303, + 76016, + 3, "float32" ], "type": "Joint" @@ -1005,23 +1127,23 @@ "jointName": "Zombie:RightHandIndex1", "name": "_jnt57", "rotationSamples": [ - 142296, - 404, + 76032, + 4, "float32" ], "scaleSamples": [ - 143912, - 303, + 76048, + 3, "float32" ], "times": [ - 146336, - 101, + 76072, + 1, "float32" ], "translationSamples": [ - 145124, - 303, + 76060, + 3, "float32" ], "type": "Joint" @@ -1032,23 +1154,23 @@ "jointName": "Zombie:RightHandIndex2", "name": "_jnt58", "rotationSamples": [ - 146740, - 404, + 76076, + 4, "float32" ], "scaleSamples": [ - 148356, - 303, + 76092, + 3, "float32" ], "times": [ - 150780, - 101, + 76116, + 1, "float32" ], "translationSamples": [ - 149568, - 303, + 76104, + 3, "float32" ], "type": "Joint" @@ -1059,23 +1181,23 @@ "jointName": "Zombie:RightHandIndex3", "name": "_jnt59", "rotationSamples": [ - 151184, - 404, + 76120, + 4, "float32" ], "scaleSamples": [ - 152800, - 303, + 76136, + 3, "float32" ], "times": [ - 155224, - 101, + 76160, + 1, "float32" ], "translationSamples": [ - 154012, - 303, + 76148, + 3, "float32" ], "type": "Joint" @@ -1086,23 +1208,23 @@ "jointName": "Zombie:RightHandMiddle1", "name": "_jnt60", "rotationSamples": [ - 155628, - 404, + 76164, + 4, "float32" ], "scaleSamples": [ - 157244, - 303, + 76180, + 3, "float32" ], "times": [ - 159668, - 101, + 76204, + 1, "float32" ], "translationSamples": [ - 158456, - 303, + 76192, + 3, "float32" ], "type": "Joint" @@ -1113,23 +1235,23 @@ "jointName": "Zombie:RightHandMiddle2", "name": "_jnt61", "rotationSamples": [ - 160072, - 404, + 76208, + 4, "float32" ], "scaleSamples": [ - 161688, - 303, + 76224, + 3, "float32" ], "times": [ - 164112, - 101, + 76248, + 1, "float32" ], "translationSamples": [ - 162900, - 303, + 76236, + 3, "float32" ], "type": "Joint" @@ -1140,23 +1262,23 @@ "jointName": "Zombie:RightHandMiddle3", "name": "_jnt62", "rotationSamples": [ - 164516, - 404, + 76252, + 4, "float32" ], "scaleSamples": [ - 166132, - 303, + 76268, + 3, "float32" ], "times": [ - 168556, - 101, + 76292, + 1, "float32" ], "translationSamples": [ - 167344, - 303, + 76280, + 3, "float32" ], "type": "Joint" @@ -1167,23 +1289,23 @@ "jointName": "Zombie:RightHandRing1", "name": "_jnt63", "rotationSamples": [ - 168960, - 404, + 76296, + 4, "float32" ], "scaleSamples": [ - 170576, - 303, + 76312, + 3, "float32" ], "times": [ - 173000, - 101, + 76336, + 1, "float32" ], "translationSamples": [ - 171788, - 303, + 76324, + 3, "float32" ], "type": "Joint" @@ -1194,23 +1316,23 @@ "jointName": "Zombie:RightHandRing2", "name": "_jnt64", "rotationSamples": [ - 173404, - 404, + 76340, + 4, "float32" ], "scaleSamples": [ - 175020, - 303, + 76356, + 3, "float32" ], "times": [ - 177444, - 101, + 76380, + 1, "float32" ], "translationSamples": [ - 176232, - 303, + 76368, + 3, "float32" ], "type": "Joint" @@ -1221,23 +1343,23 @@ "jointName": "Zombie:RightHandRing3", "name": "_jnt65", "rotationSamples": [ - 177848, - 404, + 76384, + 4, "float32" ], "scaleSamples": [ - 179464, - 303, + 76400, + 3, "float32" ], "times": [ - 181888, - 101, + 76424, + 1, "float32" ], "translationSamples": [ - 180676, - 303, + 76412, + 3, "float32" ], "type": "Joint" @@ -1248,23 +1370,23 @@ "jointName": "Zombie:RightHandPinky1", "name": "_jnt66", "rotationSamples": [ - 182292, - 404, + 76428, + 4, "float32" ], "scaleSamples": [ - 183908, - 303, + 76444, + 3, "float32" ], "times": [ - 186332, - 101, + 76468, + 1, "float32" ], "translationSamples": [ - 185120, - 303, + 76456, + 3, "float32" ], "type": "Joint" @@ -1275,23 +1397,23 @@ "jointName": "Zombie:RightHandPinky2", "name": "_jnt67", "rotationSamples": [ - 186736, - 404, + 76472, + 4, "float32" ], "scaleSamples": [ - 188352, - 303, + 76488, + 3, "float32" ], "times": [ - 190776, - 101, + 76512, + 1, "float32" ], "translationSamples": [ - 189564, - 303, + 76500, + 3, "float32" ], "type": "Joint" @@ -1302,23 +1424,23 @@ "jointName": "Zombie:RightHandPinky3", "name": "_jnt68", "rotationSamples": [ - 191180, - 404, + 76516, + 4, "float32" ], "scaleSamples": [ - 192796, - 303, + 76532, + 3, "float32" ], "times": [ - 195220, - 101, + 76556, + 1, "float32" ], "translationSamples": [ - 194008, - 303, + 76544, + 3, "float32" ], "type": "Joint" @@ -1329,23 +1451,23 @@ "jointName": "Zombie:LeftUpLeg", "name": "_jnt69", "rotationSamples": [ - 195624, - 404, + 76560, + 488, "float32" ], "scaleSamples": [ - 197240, - 303, + 78512, + 366, "float32" ], "times": [ - 199664, - 101, + 81440, + 122, "float32" ], "translationSamples": [ - 198452, - 303, + 79976, + 366, "float32" ], "type": "Joint" @@ -1356,23 +1478,23 @@ "jointName": "Zombie:LeftLeg", "name": "_jnt70", "rotationSamples": [ - 200068, - 404, + 81928, + 488, "float32" ], "scaleSamples": [ - 201684, - 303, + 83880, + 366, "float32" ], "times": [ - 204108, - 101, + 86808, + 122, "float32" ], "translationSamples": [ - 202896, - 303, + 85344, + 366, "float32" ], "type": "Joint" @@ -1383,23 +1505,23 @@ "jointName": "Zombie:LeftFoot", "name": "_jnt71", "rotationSamples": [ - 204512, - 404, + 87296, + 488, "float32" ], "scaleSamples": [ - 206128, - 303, + 89248, + 366, "float32" ], "times": [ - 208552, - 101, + 92176, + 122, "float32" ], "translationSamples": [ - 207340, - 303, + 90712, + 366, "float32" ], "type": "Joint" @@ -1410,23 +1532,23 @@ "jointName": "Zombie:LeftToeBase", "name": "_jnt72", "rotationSamples": [ - 208956, - 404, + 92664, + 488, "float32" ], "scaleSamples": [ - 210572, - 303, + 94616, + 366, "float32" ], "times": [ - 212996, - 101, + 97544, + 122, "float32" ], "translationSamples": [ - 211784, - 303, + 96080, + 366, "float32" ], "type": "Joint" @@ -1437,23 +1559,23 @@ "jointName": "Zombie:RightUpLeg", "name": "_jnt73", "rotationSamples": [ - 213400, - 404, + 98032, + 488, "float32" ], "scaleSamples": [ - 215016, - 303, + 99984, + 366, "float32" ], "times": [ - 217440, - 101, + 102912, + 122, "float32" ], "translationSamples": [ - 216228, - 303, + 101448, + 366, "float32" ], "type": "Joint" @@ -1464,23 +1586,23 @@ "jointName": "Zombie:RightLeg", "name": "_jnt74", "rotationSamples": [ - 217844, - 404, + 103400, + 488, "float32" ], "scaleSamples": [ - 219460, - 303, + 105352, + 366, "float32" ], "times": [ - 221884, - 101, + 108280, + 122, "float32" ], "translationSamples": [ - 220672, - 303, + 106816, + 366, "float32" ], "type": "Joint" @@ -1491,23 +1613,23 @@ "jointName": "Zombie:RightFoot", "name": "_jnt75", "rotationSamples": [ - 222288, - 404, + 108768, + 488, "float32" ], "scaleSamples": [ - 223904, - 303, + 110720, + 366, "float32" ], "times": [ - 226328, - 101, + 113648, + 122, "float32" ], "translationSamples": [ - 225116, - 303, + 112184, + 366, "float32" ], "type": "Joint" @@ -1518,6760 +1640,2270 @@ "jointName": "Zombie:RightToeBase", "name": "_jnt76", "rotationSamples": [ - 226732, - 404, + 114136, + 488, "float32" ], "scaleSamples": [ - 228348, - 303, + 116088, + 366, "float32" ], "times": [ - 230772, - 101, + 119016, + 122, "float32" ], "translationSamples": [ - 229560, - 303, + 117552, + 366, "float32" ], "type": "Joint" } ], - "name": "mixamo.com", - "ref": "zombie_dying_1/animations/mixamo_com.clip" - }, - "zombie_dying_1/zombie_dying_1.group": { - "libraryRefs": [ - "zombie_dying_1/animations/mixamo_com.clip", - "zombie_dying_1/binaries/1384862412_zombie_dying_1_mixamo_com.bin" - ], - "name": "zombie_dying_1", - "ref": "zombie_dying_1/zombie_dying_1.group" + "name": "mixamo.com" }, - "zombie_idle/animations/Animations.animation": { - "layers": [ - { - "blendWeight": 1, - "defaultState": "mixamo.com", - "name": "Default animation layer", - "states": { - "mixamo.com": { - "stateRef": "zombie_idle/animations/mixamo_com.animstate" - }, - "mixamo_com": { - "stateRef": "zombie_injured_walk/animations/mixamo_com.animstate" - }, - "mixamo_com_": { - "stateRef": "zombie_uppercut_jab/animations/mixamo_com.animstate" - }, - "mixamo_com__": { - "stateRef": "zombie_dying_1/animations/mixamo_com.animstate" - } - }, - "transitions": { - "*": { - "fadeTime": 1, - "type": "Fade" - } - } + "walking/entities/RootNode.entity": { + "components": { + "animation": { + "layersRef": "walking/animations/Animations.animation", + "poseRef": "walking/skeletons/Skeleton.skeleton" + }, + "transform": { + "rotation": [ + 0, + 0, + 0 + ], + "scale": [ + 0.1, + 0.1, + 0.1 + ], + "translation": [ + 0, + 0, + 0 + ] } - ], - "ref": "zombie_idle/animations/Animations.animation" - }, - "zombie_idle/animations/mixamo_com.animstate": { - "clipSource": { - "clipRef": "zombie_idle/animations/mixamo_com.clip", - "loopCount": -1, - "timeScale": 1, - "type": "Clip" }, - "name": "Idle", - "ref": "zombie_idle/animations/mixamo_com.animstate" + "name": "walking", + "nodeType": "Null", + "ref": "walking/entities/RootNode.entity" }, - "zombie_idle/animations/mixamo_com.clip": { - "binaryRef": "zombie_idle/binaries/1384861343_zombie_idle_mixamo_com.bin", - "channels": [ - { - "blendType": "Linear", - "jointIndex": 0, - "jointName": "Zombie:Hips", - "name": "_jnt0", - "rotationSamples": [ - 0, - 484, - "float32" - ], - "scaleSamples": [ - 1936, - 363, - "float32" + "walking/entities/Zombie_Geo_0.entity": { + "components": { + "meshData": { + "meshRef": "walking/meshes/Zombie_Geo_0.mesh", + "poseRef": "walking/skeletons/Skeleton.skeleton" + }, + "meshRenderer": { + "castShadows": true, + "cullMode": "Dynamic", + "materialRefs": [ + "walking/materials/Zombie_COL.material" ], - "times": [ - 4840, - 121, - "float32" + "receiveShadows": true, + "reflectable": false + }, + "transform": { + "parentRef": "walking/entities/RootNode.entity", + "rotation": [ + 0.0, + -0.0, + 0.0 ], - "translationSamples": [ - 3388, - 363, - "float32" + "scale": [ + 1.0, + 1.0, + 1.0 ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 1, - "jointName": "Zombie:Spine", - "name": "_jnt1", - "rotationSamples": [ - 5324, - 484, - "float32" - ], - "scaleSamples": [ - 7260, - 363, - "float32" - ], - "times": [ - 10164, - 121, - "float32" - ], - "translationSamples": [ - 8712, - 363, - "float32" - ], - "type": "Joint" + "translation": [ + 0.0, + 0.0, + 0.0 + ] + } + }, + "name": "Zombie_Geo", + "nodeType": "Mesh" + }, + "walking/materials/Zombie_COL.material": { + "blendState": { + "blendDst": "OneMinusSrcAlphaFactor", + "blendEquation": "AddEquation", + "blendSrc": "SrcAlphaFactor", + "blending": "NoBlending" + }, + "name": "Zombie_COL", + "renderQueue": -1, + "shaderRef": "GOO_ENGINE_SHADERS/uber", + "texturesMapping": { + "DIFFUSE_MAP": { + "enabled": true, + "textureRef": "walking/textures/Zombie_diffuse.texture" }, - { - "blendType": "Linear", - "jointIndex": 2, - "jointName": "Zombie:Spine1", - "name": "_jnt2", - "rotationSamples": [ - 10648, - 484, - "float32" - ], - "scaleSamples": [ - 12584, - 363, - "float32" - ], - "times": [ - 15488, - 121, - "float32" - ], - "translationSamples": [ - 14036, - 363, - "float32" - ], - "type": "Joint" + "NORMAL_MAP": { + "enabled": true, + "textureRef": "walking/textures/Zombie_normal.texture" }, - { - "blendType": "Linear", - "jointIndex": 3, - "jointName": "Zombie:Spine2", - "name": "_jnt3", - "rotationSamples": [ - 15972, - 484, - "float32" - ], - "scaleSamples": [ - 17908, - 363, - "float32" - ], - "times": [ - 20812, - 121, - "float32" - ], - "translationSamples": [ - 19360, - 363, - "float32" - ], - "type": "Joint" + "SPECULAR_MAP": { + "enabled": true, + "textureRef": "walking/textures/Zombie_specular.texture" + } + }, + "type": "Phong", + "uniforms": { + "discardThreshold": { + "enabled": false, + "value": 0.0 }, - { - "blendType": "Linear", - "jointIndex": 4, - "jointName": "Zombie:Neck", - "name": "_jnt4", - "rotationSamples": [ - 21296, - 484, - "float32" - ], - "scaleSamples": [ - 23232, - 363, - "float32" - ], - "times": [ - 26136, - 121, - "float32" - ], - "translationSamples": [ - 24684, - 363, - "float32" - ], - "type": "Joint" + "fresnel": { + "enabled": true, + "value": 0.0 }, - { - "blendType": "Linear", - "jointIndex": 5, - "jointName": "Zombie:Neck1", - "name": "_jnt5", - "rotationSamples": [ - 26620, - 4, - "float32" - ], - "scaleSamples": [ - 26636, - 3, - "float32" - ], - "times": [ - 26660, - 1, - "float32" - ], - "translationSamples": [ - 26648, - 3, - "float32" - ], - "type": "Joint" + "materialAmbient": { + "enabled": true, + "value": [ + 0.0, + 0.0, + 0.0, + 1.0 + ] }, - { - "blendType": "Linear", - "jointIndex": 6, - "jointName": "Zombie:Head", - "name": "_jnt6", - "rotationSamples": [ - 26664, - 484, - "float32" - ], - "scaleSamples": [ - 28600, - 363, - "float32" - ], - "times": [ - 31504, - 121, - "float32" - ], - "translationSamples": [ - 30052, - 363, - "float32" - ], - "type": "Joint" + "materialDiffuse": { + "enabled": true, + "value": [ + 1.0, + 1.0, + 1.0, + 1.0 + ] }, - { - "blendType": "Linear", - "jointIndex": 9, - "jointName": "Zombie:Jaw", - "name": "_jnt9", - "rotationSamples": [ - 31988, - 4, - "float32" - ], - "scaleSamples": [ - 32004, - 3, - "float32" - ], - "times": [ - 32028, - 1, - "float32" - ], - "translationSamples": [ - 32016, - 3, - "float32" - ], - "type": "Joint" + "materialEmissive": { + "enabled": true, + "value": [ + 0.0, + 0.0, + 0.0, + 1.0 + ] }, - { - "blendType": "Linear", - "jointIndex": 31, - "jointName": "Zombie:LeftShoulder", - "name": "_jnt31", - "rotationSamples": [ - 32032, - 484, - "float32" - ], - "scaleSamples": [ - 33968, - 363, - "float32" - ], - "times": [ - 36872, - 121, - "float32" - ], - "translationSamples": [ - 35420, - 363, - "float32" - ], - "type": "Joint" + "materialSpecular": { + "enabled": true, + "value": [ + 0.5, + 0.5, + 0.5, + 1.0 + ] }, - { - "blendType": "Linear", - "jointIndex": 32, - "jointName": "Zombie:LeftArm", - "name": "_jnt32", - "rotationSamples": [ - 37356, - 484, - "float32" - ], - "scaleSamples": [ - 39292, - 363, - "float32" - ], - "times": [ - 42196, - 121, - "float32" - ], - "translationSamples": [ - 40744, - 363, - "float32" - ], - "type": "Joint" + "materialSpecularPower": { + "enabled": true, + "value": 24.67799949645996 }, - { - "blendType": "Linear", - "jointIndex": 33, - "jointName": "Zombie:LeftForeArm", - "name": "_jnt33", - "rotationSamples": [ - 42680, - 484, - "float32" - ], - "scaleSamples": [ - 44616, - 363, - "float32" - ], - "times": [ - 47520, - 121, - "float32" - ], - "translationSamples": [ - 46068, - 363, - "float32" - ], - "type": "Joint" + "normalMultiplier": { + "enabled": true, + "value": 1.0 }, - { - "blendType": "Linear", - "jointIndex": 34, - "jointName": "Zombie:LeftHand", - "name": "_jnt34", - "rotationSamples": [ - 48004, - 484, - "float32" - ], - "scaleSamples": [ - 49940, - 363, - "float32" - ], - "times": [ - 52844, - 121, - "float32" - ], - "translationSamples": [ - 51392, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 35, - "jointName": "Zombie:LeftHandThumb1", - "name": "_jnt35", - "rotationSamples": [ - 53328, - 484, - "float32" - ], - "scaleSamples": [ - 55264, - 363, - "float32" - ], - "times": [ - 58168, - 121, - "float32" - ], - "translationSamples": [ - 56716, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 36, - "jointName": "Zombie:LeftHandThumb2", - "name": "_jnt36", - "rotationSamples": [ - 58652, - 484, - "float32" - ], - "scaleSamples": [ - 60588, - 363, - "float32" - ], - "times": [ - 63492, - 121, - "float32" - ], - "translationSamples": [ - 62040, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 37, - "jointName": "Zombie:LeftHandThumb3", - "name": "_jnt37", - "rotationSamples": [ - 63976, - 4, - "float32" - ], - "scaleSamples": [ - 63992, - 3, - "float32" - ], - "times": [ - 64016, - 1, - "float32" - ], - "translationSamples": [ - 64004, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 38, - "jointName": "Zombie:LeftHandMiddle1", - "name": "_jnt38", - "rotationSamples": [ - 64020, - 484, - "float32" - ], - "scaleSamples": [ - 65956, - 363, - "float32" - ], - "times": [ - 68860, - 121, - "float32" - ], - "translationSamples": [ - 67408, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 39, - "jointName": "Zombie:LeftHandMiddle2", - "name": "_jnt39", - "rotationSamples": [ - 69344, - 484, - "float32" - ], - "scaleSamples": [ - 71280, - 363, - "float32" - ], - "times": [ - 74184, - 121, - "float32" - ], - "translationSamples": [ - 72732, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 40, - "jointName": "Zombie:LeftHandMiddle3", - "name": "_jnt40", - "rotationSamples": [ - 74668, - 4, - "float32" - ], - "scaleSamples": [ - 74684, - 3, - "float32" - ], - "times": [ - 74708, - 1, - "float32" - ], - "translationSamples": [ - 74696, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 41, - "jointName": "Zombie:LeftHandIndex1", - "name": "_jnt41", - "rotationSamples": [ - 74712, - 484, - "float32" - ], - "scaleSamples": [ - 76648, - 363, - "float32" - ], - "times": [ - 79552, - 121, - "float32" - ], - "translationSamples": [ - 78100, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 42, - "jointName": "Zombie:LeftHandIndex2", - "name": "_jnt42", - "rotationSamples": [ - 80036, - 484, - "float32" - ], - "scaleSamples": [ - 81972, - 363, - "float32" - ], - "times": [ - 84876, - 121, - "float32" - ], - "translationSamples": [ - 83424, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 43, - "jointName": "Zombie:LeftHandIndex3", - "name": "_jnt43", - "rotationSamples": [ - 85360, - 4, - "float32" - ], - "scaleSamples": [ - 85376, - 3, - "float32" - ], - "times": [ - 85400, - 1, - "float32" - ], - "translationSamples": [ - 85388, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 44, - "jointName": "Zombie:LeftHandRing1", - "name": "_jnt44", - "rotationSamples": [ - 85404, - 484, - "float32" - ], - "scaleSamples": [ - 87340, - 363, - "float32" - ], - "times": [ - 90244, - 121, - "float32" - ], - "translationSamples": [ - 88792, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 45, - "jointName": "Zombie:LeftHandRing2", - "name": "_jnt45", - "rotationSamples": [ - 90728, - 484, - "float32" - ], - "scaleSamples": [ - 92664, - 363, - "float32" - ], - "times": [ - 95568, - 121, - "float32" - ], - "translationSamples": [ - 94116, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 46, - "jointName": "Zombie:LeftHandRing3", - "name": "_jnt46", - "rotationSamples": [ - 96052, - 4, - "float32" - ], - "scaleSamples": [ - 96068, - 3, - "float32" - ], - "times": [ - 96092, - 1, - "float32" - ], - "translationSamples": [ - 96080, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 47, - "jointName": "Zombie:LeftHandPinky1", - "name": "_jnt47", - "rotationSamples": [ - 96096, - 484, - "float32" - ], - "scaleSamples": [ - 98032, - 363, - "float32" - ], - "times": [ - 100936, - 121, - "float32" - ], - "translationSamples": [ - 99484, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 48, - "jointName": "Zombie:LeftHandPinky2", - "name": "_jnt48", - "rotationSamples": [ - 101420, - 484, - "float32" - ], - "scaleSamples": [ - 103356, - 363, - "float32" - ], - "times": [ - 106260, - 121, - "float32" - ], - "translationSamples": [ - 104808, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 49, - "jointName": "Zombie:LeftHandPinky3", - "name": "_jnt49", - "rotationSamples": [ - 106744, - 4, - "float32" - ], - "scaleSamples": [ - 106760, - 3, - "float32" - ], - "times": [ - 106784, - 1, - "float32" - ], - "translationSamples": [ - 106772, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 50, - "jointName": "Zombie:RightShoulder", - "name": "_jnt50", - "rotationSamples": [ - 106788, - 484, - "float32" - ], - "scaleSamples": [ - 108724, - 363, - "float32" - ], - "times": [ - 111628, - 121, - "float32" - ], - "translationSamples": [ - 110176, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 51, - "jointName": "Zombie:RightArm", - "name": "_jnt51", - "rotationSamples": [ - 112112, - 484, - "float32" - ], - "scaleSamples": [ - 114048, - 363, - "float32" - ], - "times": [ - 116952, - 121, - "float32" - ], - "translationSamples": [ - 115500, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 52, - "jointName": "Zombie:RightForeArm", - "name": "_jnt52", - "rotationSamples": [ - 117436, - 484, - "float32" - ], - "scaleSamples": [ - 119372, - 363, - "float32" - ], - "times": [ - 122276, - 121, - "float32" - ], - "translationSamples": [ - 120824, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 53, - "jointName": "Zombie:RightHand", - "name": "_jnt53", - "rotationSamples": [ - 122760, - 484, - "float32" - ], - "scaleSamples": [ - 124696, - 363, - "float32" - ], - "times": [ - 127600, - 121, - "float32" - ], - "translationSamples": [ - 126148, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 54, - "jointName": "Zombie:RightHandThumb1", - "name": "_jnt54", - "rotationSamples": [ - 128084, - 484, - "float32" - ], - "scaleSamples": [ - 130020, - 363, - "float32" - ], - "times": [ - 132924, - 121, - "float32" - ], - "translationSamples": [ - 131472, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 55, - "jointName": "Zombie:RightHandThumb2", - "name": "_jnt55", - "rotationSamples": [ - 133408, - 484, - "float32" - ], - "scaleSamples": [ - 135344, - 363, - "float32" - ], - "times": [ - 138248, - 121, - "float32" - ], - "translationSamples": [ - 136796, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 56, - "jointName": "Zombie:RightHandThumb3", - "name": "_jnt56", - "rotationSamples": [ - 138732, - 4, - "float32" - ], - "scaleSamples": [ - 138748, - 3, - "float32" - ], - "times": [ - 138772, - 1, - "float32" - ], - "translationSamples": [ - 138760, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 57, - "jointName": "Zombie:RightHandIndex1", - "name": "_jnt57", - "rotationSamples": [ - 138776, - 484, - "float32" - ], - "scaleSamples": [ - 140712, - 363, - "float32" - ], - "times": [ - 143616, - 121, - "float32" - ], - "translationSamples": [ - 142164, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 58, - "jointName": "Zombie:RightHandIndex2", - "name": "_jnt58", - "rotationSamples": [ - 144100, - 484, - "float32" - ], - "scaleSamples": [ - 146036, - 363, - "float32" - ], - "times": [ - 148940, - 121, - "float32" - ], - "translationSamples": [ - 147488, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 59, - "jointName": "Zombie:RightHandIndex3", - "name": "_jnt59", - "rotationSamples": [ - 149424, - 4, - "float32" - ], - "scaleSamples": [ - 149440, - 3, - "float32" - ], - "times": [ - 149464, - 1, - "float32" - ], - "translationSamples": [ - 149452, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 60, - "jointName": "Zombie:RightHandMiddle1", - "name": "_jnt60", - "rotationSamples": [ - 149468, - 484, - "float32" - ], - "scaleSamples": [ - 151404, - 363, - "float32" - ], - "times": [ - 154308, - 121, - "float32" - ], - "translationSamples": [ - 152856, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 61, - "jointName": "Zombie:RightHandMiddle2", - "name": "_jnt61", - "rotationSamples": [ - 154792, - 484, - "float32" - ], - "scaleSamples": [ - 156728, - 363, - "float32" - ], - "times": [ - 159632, - 121, - "float32" - ], - "translationSamples": [ - 158180, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 62, - "jointName": "Zombie:RightHandMiddle3", - "name": "_jnt62", - "rotationSamples": [ - 160116, - 4, - "float32" - ], - "scaleSamples": [ - 160132, - 3, - "float32" - ], - "times": [ - 160156, - 1, - "float32" - ], - "translationSamples": [ - 160144, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 63, - "jointName": "Zombie:RightHandRing1", - "name": "_jnt63", - "rotationSamples": [ - 160160, - 484, - "float32" - ], - "scaleSamples": [ - 162096, - 363, - "float32" - ], - "times": [ - 165000, - 121, - "float32" - ], - "translationSamples": [ - 163548, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 64, - "jointName": "Zombie:RightHandRing2", - "name": "_jnt64", - "rotationSamples": [ - 165484, - 484, - "float32" - ], - "scaleSamples": [ - 167420, - 363, - "float32" - ], - "times": [ - 170324, - 121, - "float32" - ], - "translationSamples": [ - 168872, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 65, - "jointName": "Zombie:RightHandRing3", - "name": "_jnt65", - "rotationSamples": [ - 170808, - 4, - "float32" - ], - "scaleSamples": [ - 170824, - 3, - "float32" - ], - "times": [ - 170848, - 1, - "float32" - ], - "translationSamples": [ - 170836, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 66, - "jointName": "Zombie:RightHandPinky1", - "name": "_jnt66", - "rotationSamples": [ - 170852, - 484, - "float32" - ], - "scaleSamples": [ - 172788, - 363, - "float32" - ], - "times": [ - 175692, - 121, - "float32" - ], - "translationSamples": [ - 174240, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 67, - "jointName": "Zombie:RightHandPinky2", - "name": "_jnt67", - "rotationSamples": [ - 176176, - 484, - "float32" - ], - "scaleSamples": [ - 178112, - 363, - "float32" - ], - "times": [ - 181016, - 121, - "float32" - ], - "translationSamples": [ - 179564, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 68, - "jointName": "Zombie:RightHandPinky3", - "name": "_jnt68", - "rotationSamples": [ - 181500, - 4, - "float32" - ], - "scaleSamples": [ - 181516, - 3, - "float32" - ], - "times": [ - 181540, - 1, - "float32" - ], - "translationSamples": [ - 181528, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 69, - "jointName": "Zombie:LeftUpLeg", - "name": "_jnt69", - "rotationSamples": [ - 181544, - 484, - "float32" - ], - "scaleSamples": [ - 183480, - 363, - "float32" - ], - "times": [ - 186384, - 121, - "float32" - ], - "translationSamples": [ - 184932, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 70, - "jointName": "Zombie:LeftLeg", - "name": "_jnt70", - "rotationSamples": [ - 186868, - 484, - "float32" - ], - "scaleSamples": [ - 188804, - 363, - "float32" - ], - "times": [ - 191708, - 121, - "float32" - ], - "translationSamples": [ - 190256, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 71, - "jointName": "Zombie:LeftFoot", - "name": "_jnt71", - "rotationSamples": [ - 192192, - 484, - "float32" - ], - "scaleSamples": [ - 194128, - 363, - "float32" - ], - "times": [ - 197032, - 121, - "float32" - ], - "translationSamples": [ - 195580, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 72, - "jointName": "Zombie:LeftToeBase", - "name": "_jnt72", - "rotationSamples": [ - 197516, - 484, - "float32" - ], - "scaleSamples": [ - 199452, - 363, - "float32" - ], - "times": [ - 202356, - 121, - "float32" - ], - "translationSamples": [ - 200904, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 73, - "jointName": "Zombie:RightUpLeg", - "name": "_jnt73", - "rotationSamples": [ - 202840, - 484, - "float32" - ], - "scaleSamples": [ - 204776, - 363, - "float32" - ], - "times": [ - 207680, - 121, - "float32" - ], - "translationSamples": [ - 206228, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 74, - "jointName": "Zombie:RightLeg", - "name": "_jnt74", - "rotationSamples": [ - 208164, - 484, - "float32" - ], - "scaleSamples": [ - 210100, - 363, - "float32" - ], - "times": [ - 213004, - 121, - "float32" - ], - "translationSamples": [ - 211552, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 75, - "jointName": "Zombie:RightFoot", - "name": "_jnt75", - "rotationSamples": [ - 213488, - 484, - "float32" - ], - "scaleSamples": [ - 215424, - 363, - "float32" - ], - "times": [ - 218328, - 121, - "float32" - ], - "translationSamples": [ - 216876, - 363, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 76, - "jointName": "Zombie:RightToeBase", - "name": "_jnt76", - "rotationSamples": [ - 218812, - 484, - "float32" - ], - "scaleSamples": [ - 220748, - 363, - "float32" - ], - "times": [ - 223652, - 121, - "float32" - ], - "translationSamples": [ - 222200, - 363, - "float32" - ], - "type": "Joint" - } - ], - "name": "mixamo.com" - }, - "zombie_idle/entities/RootNode.entity": { - "components": { - "animation": { - "layersRef": "zombie_idle/animations/Animations.animation", - "poseRef": "zombie_idle/skeletons/Skeleton.skeleton" - }, - "transform": { - "rotation": [ - 0.0, - -0.0, - 0.0 - ], - "scale": [ - 1.0, - 1.0, - 1.0 - ], - "translation": [ - 0.0, - 0.0, - 0.0 - ] - } - }, - "name": "zombie_idle", - "nodeType": "Null" - }, - "zombie_idle/entities/Zombie_Geo_0.entity": { - "components": { - "meshData": { - "meshRef": "zombie_idle/meshes/Zombie_Geo_0.mesh", - "poseRef": "zombie_idle/skeletons/Skeleton.skeleton" - }, - "meshRenderer": { - "castShadows": true, - "cullMode": "Dynamic", - "hidden": false, - "materialRefs": [ - "zombie_idle/materials/Zombie_COL.material" - ], - "receiveShadows": true, - "reflectable": false - }, - "transform": { - "parentRef": "zombie_idle/entities/RootNode.entity", - "rotation": [ - 0, - 0, - 0 - ], - "scale": [ - 0.02, - 0.02, - 0.02 - ], - "translation": [ - 0, - 0, - 0 - ] - } - }, - "name": "Zombie_Geo", - "nodeType": "Mesh", - "ref": "zombie_idle/entities/Zombie_Geo_0.entity" - }, - "zombie_idle/materials/Zombie_COL.material": { - "blendState": { - "blendDst": "OneMinusSrcAlphaFactor", - "blendEquation": "AddEquation", - "blendSrc": "SrcAlphaFactor", - "blending": "NoBlending" - }, - "cullState": { - "cullFace": "Back", - "enabled": true, - "frontFace": "CCW" - }, - "depthState": { - "enabled": true, - "write": true - }, - "name": "Zombie_COL", - "ref": "zombie_idle/materials/Zombie_COL.material", - "renderQueue": 1000, - "shaderRef": "GOO_ENGINE_SHADERS/uber", - "texturesMapping": { - "DIFFUSE_MAP": { - "enabled": true, - "textureRef": "zombie_idle/textures/Zombie_diffuse.texture" - }, - "NORMAL_MAP": { - "enabled": true, - "textureRef": "zombie_idle/textures/Zombie_normal.texture" - }, - "SPECULAR_MAP": { - "enabled": true, - "textureRef": "zombie_idle/textures/Zombie_specular.texture" - } - }, - "type": "Phong", - "uniforms": { - "discardThreshold": { - "enabled": false, - "value": 0 - }, - "fresnel": { - "enabled": true, - "value": 0 - }, - "materialAmbient": { - "enabled": true, - "value": [ - 0.6181818181818182, - 0.6181818181818182, - 0.6181818181818182, - 1 - ] - }, - "materialDiffuse": { - "enabled": true, - "value": [ - 1, - 1, - 1, - 1 - ] - }, - "materialEmissive": { - "enabled": true, - "value": [ - 0, - 0, - 0, - 1 - ] - }, - "materialSpecular": { - "enabled": true, - "value": [ - 0.3545454545454545, - 0.3545454545454545, - 0.3545454545454545, - 1 - ] - }, - "materialSpecularPower": { - "enabled": true, - "value": 24.67799949645996 - }, - "normalMultiplier": { - "enabled": true, - "value": 1 - }, - "opacity": { - "enabled": true, - "value": 1 - }, - "reflectivity": { - "enabled": true, - "value": 0 - } - } - }, - "zombie_idle/meshes/Zombie_Geo_0.mesh": { - "binaryRef": "zombie_idle/binaries/1384861343_data.bin", - "boundingVolume": { - "max": [ - 95.90518188476562, - 180.1605682373047, - 23.805225372314453 - ], - "min": [ - -96.0192642211914, - -0.23441541194915771, - -10.957460403442383 - ], - "type": "BoundingBox" - }, - "colors": [], - "indexLengths": [ - 39069 - ], - "indexModes": [ - "Triangles" - ], - "indices": [ - 0, - 39069, - "uint16" - ], - "joints": [ - 387620, - 30948, - "uint8" - ], - "name": "Zombie_Geo", - "normals": [ - 170984, - 23211, - "float32" - ], - "tangents": [ - 263828, - 30948, - "float32" - ], - "textureCoords": [ - [ - 542360, - 15474, - "float32" - ], - [ - 604256, - 15474, - "float32" - ], - [ - 666152, - 15474, - "float32" - ], - [ - 728048, - 15474, - "float32" - ], - [ - 789944, - 15474, - "float32" - ] - ], - "type": "SkinnedMesh", - "vertexCount": 7737, - "vertices": [ - 78140, - 23211, - "float32" - ], - "weights": [ - 418568, - 30948, - "float32" - ] - }, - "zombie_idle/skeletons/Skeleton.skeleton": { - "joints": [ - { - "index": 0, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -96.379402, - 0.0, - 0.0, - 1.0, - -3.985525, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Hips", - "parentIndex": -32768 - }, - { - "index": 1, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -105.605721, - 0.0, - 0.0, - 1.0, - -5.562658, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Spine", - "parentIndex": 0 - }, - { - "index": 2, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -121.859749, - 0.0, - 0.0, - 1.0, - -5.397053, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Spine1", - "parentIndex": 1 - }, - { - "index": 3, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -135.499397, - 0.0, - 0.0, - 1.0, - -4.104748, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Spine2", - "parentIndex": 2 - }, - { - "index": 4, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -149.376839, - 0.0, - 0.0, - 1.0, - 0.249439, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Neck", - "parentIndex": 3 - }, - { - "index": 5, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -153.716866, - 0.0, - 0.0, - 1.0, - -0.677456, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Neck1", - "parentIndex": 4 - }, - { - "index": 6, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -157.743477, - 0.0, - 0.0, - 1.0, - -1.535976, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Head", - "parentIndex": 5 - }, - { - "index": 7, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -3.240073, - 0.0, - 1.0, - 0.0, - -165.17057, - 0.0, - 0.0, - 1.0, - -11.442652, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftEye", - "parentIndex": 6 - }, - { - "index": 8, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 3.240343, - 0.0, - 1.0, - 0.0, - -165.17057, - 0.0, - 0.0, - 1.0, - -11.442652, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightEye", - "parentIndex": 6 - }, - { - "index": 9, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -157.845309, - 0.0, - 0.0, - 1.0, - -6.906089, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:Jaw", - "parentIndex": 6 - }, - { - "index": 10, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -157.67541, - 0.0, - 0.0, - 1.0, - -11.72326, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:TongueBack", - "parentIndex": 9 - }, - { - "index": 11, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -157.261854, - 0.0, - 0.0, - 1.0, - -13.515942, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:TongueTip", - "parentIndex": 9 - }, - { - "index": 12, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -0.983096, - 0.0, - 1.0, - 0.0, - -157.153847, - 0.0, - 0.0, - 1.0, - -14.609521, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftLipLower", - "parentIndex": 9 - }, - { - "index": 13, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - -156.708389, - 0.0, - 0.0, - 1.0, - -14.824537, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:JawEND", - "parentIndex": 9 - }, - { - "index": 14, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 0.983096, - 0.0, - 1.0, - 0.0, - -157.153961, - 0.0, - 0.0, - 1.0, - -14.609476, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightLipLower", - "parentIndex": 9 - }, - { - "index": 15, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 3.141, - 0.0, - 1.0, - 0.0, - -158.206452, - 0.0, - 0.0, - 1.0, - -13.172089, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightLipCorner", - "parentIndex": 9 - }, - { - "index": 16, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -3.141, - 0.0, - 1.0, - 0.0, - -158.206309, - 0.0, - 0.0, - 1.0, - -13.172089, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftLipCorner", - "parentIndex": 9 - }, - { - "index": 17, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -1.055771, - 0.0, - 1.0, - 0.0, - -158.280146, - 0.0, - 0.0, - 1.0, - -15.147052, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftLipUpper", - "parentIndex": 6 - }, - { - "index": 18, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -1.354085, - 0.0, - 1.0, - 0.0, - -160.581577, - 0.0, - 0.0, - 1.0, - -14.563657, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftNostril", - "parentIndex": 6 - }, - { - "index": 19, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -3.842501, - 0.0, - 1.0, - 0.0, - -161.479886, - 0.0, - 0.0, - 1.0, - -12.817437, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftCheek", - "parentIndex": 6 - }, - { - "index": 20, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -3.069471, - 0.0, - 1.0, - 0.0, - -164.336897, - 0.0, - 0.0, - 1.0, - -13.107866, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftEyelidLower", - "parentIndex": 6 - }, - { - "index": 21, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -3.069471, - 0.0, - 1.0, - 0.0, - -165.615298, - 0.0, - 0.0, - 1.0, - -13.342416, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftEyelidUpper", - "parentIndex": 6 - }, - { - "index": 22, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -1.626751, - 0.0, - 1.0, - 0.0, - -165.839075, - 0.0, - 0.0, - 1.0, - -14.60598, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftInnerBrow", - "parentIndex": 6 - }, - { - "index": 23, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -4.470804, - 0.0, - 1.0, - 0.0, - -165.998861, - 0.0, - 0.0, - 1.0, - -13.301918, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftIOuterBrow", - "parentIndex": 6 - }, - { - "index": 24, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 1.62675, - 0.0, - 1.0, - 0.0, - -165.839358, - 0.0, - 0.0, - 1.0, - -14.60597, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightInnerBrow", - "parentIndex": 6 - }, - { - "index": 25, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 4.4708, - 0.0, - 1.0, - 0.0, - -165.998607, - 0.0, - 0.0, - 1.0, - -13.301944, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightIOuterBrow", - "parentIndex": 6 - }, - { - "index": 26, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 3.06947, - 0.0, - 1.0, - 0.0, - -165.615028, - 0.0, - 0.0, - 1.0, - -13.342397, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightEyelidUpper", - "parentIndex": 6 - }, - { - "index": 27, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 3.06947, - 0.0, - 1.0, - 0.0, - -164.337203, - 0.0, - 0.0, - 1.0, - -13.107831, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightEyelidLower", - "parentIndex": 6 - }, - { - "index": 28, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 3.8425, - 0.0, - 1.0, - 0.0, - -161.480358, - 0.0, - 0.0, - 1.0, - -12.817424, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightCheek", - "parentIndex": 6 - }, - { - "index": 29, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 1.35408, - 0.0, - 1.0, - 0.0, - -160.581358, - 0.0, - 0.0, - 1.0, - -14.563624, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightNostril", - "parentIndex": 6 - }, - { - "index": 30, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 1.05577, - 0.0, - 1.0, - 0.0, - -158.279968, - 0.0, - 0.0, - 1.0, - -15.147024, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightLipUpper", - "parentIndex": 6 - }, - { - "index": 31, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -6.144226, - 0.0, - 1.0, - 0.0, - -145.686409, - 0.0, - 0.0, - 1.0, - -0.311504, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftShoulder", - "parentIndex": 3 - }, - { - "index": 32, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -18.463318, - 0.0, - 1.0, - 0.0, - -144.573433, - 0.0, - 0.0, - 1.0, - 1.481953, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftArm", - "parentIndex": 31 - }, - { - "index": 33, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -46.15033, - 0.0, - 1.0, - 0.0, - -144.573433, - 0.0, - 0.0, - 1.0, - 1.481953, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftForeArm", - "parentIndex": 32 - }, - { - "index": 34, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -74.024109, - 0.0, - 1.0, - 0.0, - -144.573433, - 0.0, - 0.0, - 1.0, - 1.481953, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHand", - "parentIndex": 33 - }, - { - "index": 35, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -76.402622, - 0.0, - 1.0, - 0.0, - -143.570534, - 0.0, - 0.0, - 1.0, - -1.138983, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandThumb1", - "parentIndex": 34 - }, - { - "index": 36, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -79.764991, - 0.0, - 1.0, - 0.0, - -142.567634, - 0.0, - 0.0, - 1.0, - -3.978755, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandThumb2", - "parentIndex": 35 - }, - { - "index": 37, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -84.266786, - 0.0, - 1.0, - 0.0, - -141.223135, - 0.0, - 0.0, - 1.0, - -6.157022, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandThumb3", - "parentIndex": 36 - }, - { - "index": 38, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -84.488016, - 0.0, - 1.0, - 0.0, - -145.188193, - 0.0, - 0.0, - 1.0, - 1.052166, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandMiddle1", - "parentIndex": 34 - }, - { - "index": 39, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -90.280107, - 0.0, - 1.0, - 0.0, - -145.188193, - 0.0, - 0.0, - 1.0, - 1.052166, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandMiddle2", - "parentIndex": 38 - }, - { - "index": 40, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -93.99328, - 0.0, - 1.0, - 0.0, - -145.188193, - 0.0, - 0.0, - 1.0, - 1.052166, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandMiddle3", - "parentIndex": 39 - }, - { - "index": 41, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -84.418644, - 0.0, - 1.0, - 0.0, - -145.188194, - 0.0, - 0.0, - 1.0, - -1.223539, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandIndex1", - "parentIndex": 34 - }, - { - "index": 42, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -89.967934, - 0.0, - 1.0, - 0.0, - -145.188194, - 0.0, - 0.0, - 1.0, - -1.223539, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandIndex2", - "parentIndex": 41 - }, - { - "index": 43, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -93.359053, - 0.0, - 1.0, - 0.0, - -145.188194, - 0.0, - 0.0, - 1.0, - -1.223539, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandIndex3", - "parentIndex": 42 - }, - { - "index": 44, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -84.349273, - 0.0, - 1.0, - 0.0, - -144.894565, - 0.0, - 0.0, - 1.0, - 3.357495, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandRing1", - "parentIndex": 34 - }, - { - "index": 45, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -89.794505, - 0.0, - 1.0, - 0.0, - -144.894565, - 0.0, - 0.0, - 1.0, - 3.357495, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandRing2", - "parentIndex": 44 - }, - { - "index": 46, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -93.507678, - 0.0, - 1.0, - 0.0, - -144.894565, - 0.0, - 0.0, - 1.0, - 3.357495, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandRing3", - "parentIndex": 45 - }, - { - "index": 47, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -84.037101, - 0.0, - 1.0, - 0.0, - -144.495085, - 0.0, - 0.0, - 1.0, - 5.449094, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandPinky1", - "parentIndex": 34 - }, - { - "index": 48, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -87.713357, - 0.0, - 1.0, - 0.0, - -144.495085, - 0.0, - 0.0, - 1.0, - 5.449094, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandPinky2", - "parentIndex": 47 - }, - { - "index": 49, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -90.5247, - 0.0, - 1.0, - 0.0, - -144.495085, - 0.0, - 0.0, - 1.0, - 5.449094, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftHandPinky3", - "parentIndex": 48 - }, - { - "index": 50, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 6.140198, - 0.0, - 1.0, - 0.0, - -145.686409, - 0.0, - 0.0, - 1.0, - -0.311504, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightShoulder", - "parentIndex": 3 - }, - { - "index": 51, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 18.463318, - 0.0, - 1.0, - 0.0, - -144.573433, - 0.0, - 0.0, - 1.0, - 1.481953, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightArm", - "parentIndex": 50 - }, - { - "index": 52, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 46.15033, - 0.0, - 1.0, - 0.0, - -144.573433, - 0.0, - 0.0, - 1.0, - 1.481953, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightForeArm", - "parentIndex": 51 - }, - { - "index": 53, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 74.024109, - 0.0, - 1.0, - 0.0, - -144.573433, - 0.0, - 0.0, - 1.0, - 1.481953, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHand", - "parentIndex": 52 - }, - { - "index": 54, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 76.541875, - 0.0, - 1.0, - 0.0, - -143.636766, - 0.0, - 0.0, - 1.0, - -1.031715, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandThumb1", - "parentIndex": 53 - }, - { - "index": 55, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 79.805662, - 0.0, - 1.0, - 0.0, - -142.549801, - 0.0, - 0.0, - 1.0, - -3.998595, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandThumb2", - "parentIndex": 54 - }, - { - "index": 56, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 84.22219, - 0.0, - 1.0, - 0.0, - -141.179538, - 0.0, - 0.0, - 1.0, - -6.133619, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandThumb3", - "parentIndex": 55 - }, - { - "index": 57, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 84.490614, - 0.0, - 1.0, - 0.0, - -145.063014, - 0.0, - 0.0, - 1.0, - -1.23001, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandIndex1", - "parentIndex": 53 - }, - { - "index": 58, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 89.867381, - 0.0, - 1.0, - 0.0, - -145.063014, - 0.0, - 0.0, - 1.0, - -1.23001, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandIndex2", - "parentIndex": 57 - }, - { - "index": 59, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 93.25285, - 0.0, - 1.0, - 0.0, - -145.063014, - 0.0, - 0.0, - 1.0, - -1.23001, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandIndex3", - "parentIndex": 58 - }, - { - "index": 60, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 84.783711, - 0.0, - 1.0, - 0.0, - -145.063013, - 0.0, - 0.0, - 1.0, - 1.054154, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandMiddle1", - "parentIndex": 53 - }, - { - "index": 61, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 90.400479, - 0.0, - 1.0, - 0.0, - -145.063013, - 0.0, - 0.0, - 1.0, - 1.054154, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandMiddle2", - "parentIndex": 60 - }, - { - "index": 62, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 94.136833, - 0.0, - 1.0, - 0.0, - -145.063013, - 0.0, - 0.0, - 1.0, - 1.054154, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandMiddle3", - "parentIndex": 61 - }, - { - "index": 63, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 84.494322, - 0.0, - 1.0, - 0.0, - -144.961305, - 0.0, - 0.0, - 1.0, - 3.418234, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandRing1", - "parentIndex": 53 - }, - { - "index": 64, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 89.895598, - 0.0, - 1.0, - 0.0, - -144.961305, - 0.0, - 0.0, - 1.0, - 3.418234, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandRing2", - "parentIndex": 63 - }, - { - "index": 65, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 93.287194, - 0.0, - 1.0, - 0.0, - -144.961305, - 0.0, - 0.0, - 1.0, - 3.418234, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandRing3", - "parentIndex": 64 - }, - { - "index": 66, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 83.995568, - 0.0, - 1.0, - 0.0, - -144.454289, - 0.0, - 0.0, - 1.0, - 5.435958, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandPinky1", - "parentIndex": 53 - }, - { - "index": 67, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 87.648326, - 0.0, - 1.0, - 0.0, - -144.454289, - 0.0, - 0.0, - 1.0, - 5.435958, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandPinky2", - "parentIndex": 66 - }, - { - "index": 68, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 90.43036, - 0.0, - 1.0, - 0.0, - -144.454289, - 0.0, - 0.0, - 1.0, - 5.435958, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightHandPinky3", - "parentIndex": 67 - }, - { - "index": 69, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -9.633789, - 0.0, - 1.0, - 0.0, - -93.106148, - 0.0, - 0.0, - 1.0, - -3.985524, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftUpLeg", - "parentIndex": 0 - }, - { - "index": 70, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -9.633789, - 0.0, - 1.0, - 0.0, - -46.38105, - 0.0, - 0.0, - 1.0, - -2.255559, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftLeg", - "parentIndex": 69 - }, - { - "index": 71, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -9.646394, - 0.0, - 1.0, - 0.0, - -12.186714, - 0.0, - 0.0, - 1.0, - -1.407872, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftFoot", - "parentIndex": 70 - }, - { - "index": 72, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - -9.463107, - 0.0, - 1.0, - 0.0, - 0.0063715, - 0.0, - 0.0, - 1.0, - -9.690136, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:LeftToeBase", - "parentIndex": 71 - }, - { - "index": 73, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 9.633789, - 0.0, - 1.0, - 0.0, - -93.106148, - 0.0, - 0.0, - 1.0, - -3.985524, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightUpLeg", - "parentIndex": 0 - }, - { - "index": 74, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 9.633789, - 0.0, - 1.0, - 0.0, - -46.38105, - 0.0, - 0.0, - 1.0, - -2.255559, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightLeg", - "parentIndex": 73 - }, - { - "index": 75, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 9.621182, - 0.0, - 1.0, - 0.0, - -12.186714, - 0.0, - 0.0, - 1.0, - -1.407872, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightFoot", - "parentIndex": 74 - }, - { - "index": 76, - "inverseBindPose": { - "matrix": [ - 1.0, - 0.0, - 0.0, - 9.804492, - 0.0, - 1.0, - 0.0, - 0.0063715, - 0.0, - 0.0, - 1.0, - -9.690136, - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "name": "Zombie:RightToeBase", - "parentIndex": 75 - } - ], - "name": "Skeleton" - }, - "zombie_idle/textures/Zombie_diffuse.texture": { - "fileName": "Zombie_diffuse.png", - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Zombie_diffuse", - "offset": [ - 0.0, - 0.0 - ], - "repeat": [ - 1.0, - 1.0 - ], - "url": "zombie_idle/images/Zombie_diffuse.png", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "zombie_idle/textures/Zombie_normal.texture": { - "fileName": "Zombie_normal.png", - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Zombie_normal", - "offset": [ - 0.0, - 0.0 - ], - "repeat": [ - 1.0, - 1.0 - ], - "url": "zombie_idle/images/Zombie_normal.png", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "zombie_idle/textures/Zombie_specular.texture": { - "fileName": "Zombie_specular.png", - "magFilter": "Bilinear", - "minFilter": "Trilinear", - "name": "Zombie_specular", - "offset": [ - 0.0, - 0.0 - ], - "repeat": [ - 1.0, - 1.0 - ], - "url": "zombie_idle/images/Zombie_specular.png", - "wrapU": "Repeat", - "wrapV": "Repeat" - }, - "zombie_idle/zombie_idle.group": { - "libraryRefs": [ - "zombie_idle/textures/Zombie_specular.texture", - "zombie_idle/images/Zombie_specular.png", - "zombie_idle/textures/Zombie_diffuse.texture", - "zombie_idle/images/Zombie_diffuse.png", - "zombie_idle/animations/mixamo_com.animstate", - "zombie_idle/animations/mixamo_com.clip", - "zombie_idle/meshes/Zombie_Geo_0.mesh", - "zombie_idle/materials/Zombie_COL.material", - "zombie_idle/animations/Animations.animation", - "zombie_idle/entities/RootNode.entity", - "zombie_idle/entities/Zombie_Geo_0.entity", - "zombie_idle/skeletons/Skeleton.skeleton", - "zombie_idle/textures/Zombie_normal.texture", - "zombie_idle/images/Zombie_normal.png", - "zombie_idle/binaries/1384861343_data.bin", - "zombie_idle/binaries/1384861343_zombie_idle_mixamo_com.bin", - "zombie_idle/images/Zombie_specular.png", - "zombie_idle/images/Zombie_diffuse.png", - "zombie_idle/images/Zombie_normal.png" - ], - "name": "zombie_idle", - "ref": "zombie_idle/zombie_idle.group" - }, - "zombie_injured_walk/animations/mixamo_com.animstate": { - "clipSource": { - "clipRef": "zombie_injured_walk/animations/mixamo_com.clip", - "loopCount": -1, - "timeScale": 1, - "type": "Clip" - }, - "name": "Walk", - "ref": "zombie_injured_walk/animations/mixamo_com.animstate" - }, - "zombie_injured_walk/animations/mixamo_com.clip": { - "binaryRef": "zombie_injured_walk/binaries/1384861945_zombie_injured_walk_mixamo_com.bin", - "channels": [ - { - "blendType": "Linear", - "jointIndex": 0, - "jointName": "Zombie:Hips", - "name": "_jnt0", - "rotationSamples": [ - 0, - 144, - "float32" - ], - "scaleSamples": [ - 576, - 108, - "float32" - ], - "times": [ - 1440, - 36, - "float32" - ], - "translationSamples": [ - 1008, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 1, - "jointName": "Zombie:Spine", - "name": "_jnt1", - "rotationSamples": [ - 1584, - 144, - "float32" - ], - "scaleSamples": [ - 2160, - 108, - "float32" - ], - "times": [ - 3024, - 36, - "float32" - ], - "translationSamples": [ - 2592, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 2, - "jointName": "Zombie:Spine1", - "name": "_jnt2", - "rotationSamples": [ - 3168, - 144, - "float32" - ], - "scaleSamples": [ - 3744, - 108, - "float32" - ], - "times": [ - 4608, - 36, - "float32" - ], - "translationSamples": [ - 4176, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 3, - "jointName": "Zombie:Spine2", - "name": "_jnt3", - "rotationSamples": [ - 4752, - 144, - "float32" - ], - "scaleSamples": [ - 5328, - 108, - "float32" - ], - "times": [ - 6192, - 36, - "float32" - ], - "translationSamples": [ - 5760, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 4, - "jointName": "Zombie:Neck", - "name": "_jnt4", - "rotationSamples": [ - 6336, - 144, - "float32" - ], - "scaleSamples": [ - 6912, - 108, - "float32" - ], - "times": [ - 7776, - 36, - "float32" - ], - "translationSamples": [ - 7344, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 5, - "jointName": "Zombie:Neck1", - "name": "_jnt5", - "rotationSamples": [ - 7920, - 4, - "float32" - ], - "scaleSamples": [ - 7936, - 3, - "float32" - ], - "times": [ - 7960, - 1, - "float32" - ], - "translationSamples": [ - 7948, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 6, - "jointName": "Zombie:Head", - "name": "_jnt6", - "rotationSamples": [ - 7964, - 144, - "float32" - ], - "scaleSamples": [ - 8540, - 108, - "float32" - ], - "times": [ - 9404, - 36, - "float32" - ], - "translationSamples": [ - 8972, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 9, - "jointName": "Zombie:Jaw", - "name": "_jnt9", - "rotationSamples": [ - 9548, - 4, - "float32" - ], - "scaleSamples": [ - 9564, - 3, - "float32" - ], - "times": [ - 9588, - 1, - "float32" - ], - "translationSamples": [ - 9576, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 31, - "jointName": "Zombie:LeftShoulder", - "name": "_jnt31", - "rotationSamples": [ - 9592, - 144, - "float32" - ], - "scaleSamples": [ - 10168, - 108, - "float32" - ], - "times": [ - 11032, - 36, - "float32" - ], - "translationSamples": [ - 10600, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 32, - "jointName": "Zombie:LeftArm", - "name": "_jnt32", - "rotationSamples": [ - 11176, - 144, - "float32" - ], - "scaleSamples": [ - 11752, - 108, - "float32" - ], - "times": [ - 12616, - 36, - "float32" - ], - "translationSamples": [ - 12184, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 33, - "jointName": "Zombie:LeftForeArm", - "name": "_jnt33", - "rotationSamples": [ - 12760, - 144, - "float32" - ], - "scaleSamples": [ - 13336, - 108, - "float32" - ], - "times": [ - 14200, - 36, - "float32" - ], - "translationSamples": [ - 13768, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 34, - "jointName": "Zombie:LeftHand", - "name": "_jnt34", - "rotationSamples": [ - 14344, - 144, - "float32" - ], - "scaleSamples": [ - 14920, - 108, - "float32" - ], - "times": [ - 15784, - 36, - "float32" - ], - "translationSamples": [ - 15352, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 35, - "jointName": "Zombie:LeftHandThumb1", - "name": "_jnt35", - "rotationSamples": [ - 15928, - 144, - "float32" - ], - "scaleSamples": [ - 16504, - 108, - "float32" - ], - "times": [ - 17368, - 36, - "float32" - ], - "translationSamples": [ - 16936, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 36, - "jointName": "Zombie:LeftHandThumb2", - "name": "_jnt36", - "rotationSamples": [ - 17512, - 4, - "float32" - ], - "scaleSamples": [ - 17528, - 3, - "float32" - ], - "times": [ - 17552, - 1, - "float32" - ], - "translationSamples": [ - 17540, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 37, - "jointName": "Zombie:LeftHandThumb3", - "name": "_jnt37", - "rotationSamples": [ - 17556, - 144, - "float32" - ], - "scaleSamples": [ - 18132, - 108, - "float32" - ], - "times": [ - 18996, - 36, - "float32" - ], - "translationSamples": [ - 18564, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 38, - "jointName": "Zombie:LeftHandMiddle1", - "name": "_jnt38", - "rotationSamples": [ - 19140, - 144, - "float32" - ], - "scaleSamples": [ - 19716, - 108, - "float32" - ], - "times": [ - 20580, - 36, - "float32" - ], - "translationSamples": [ - 20148, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 39, - "jointName": "Zombie:LeftHandMiddle2", - "name": "_jnt39", - "rotationSamples": [ - 20724, - 144, - "float32" - ], - "scaleSamples": [ - 21300, - 108, - "float32" - ], - "times": [ - 22164, - 36, - "float32" - ], - "translationSamples": [ - 21732, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 40, - "jointName": "Zombie:LeftHandMiddle3", - "name": "_jnt40", - "rotationSamples": [ - 22308, - 144, - "float32" - ], - "scaleSamples": [ - 22884, - 108, - "float32" - ], - "times": [ - 23748, - 36, - "float32" - ], - "translationSamples": [ - 23316, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 41, - "jointName": "Zombie:LeftHandIndex1", - "name": "_jnt41", - "rotationSamples": [ - 23892, - 144, - "float32" - ], - "scaleSamples": [ - 24468, - 108, - "float32" - ], - "times": [ - 25332, - 36, - "float32" - ], - "translationSamples": [ - 24900, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 42, - "jointName": "Zombie:LeftHandIndex2", - "name": "_jnt42", - "rotationSamples": [ - 25476, - 144, - "float32" - ], - "scaleSamples": [ - 26052, - 108, - "float32" - ], - "times": [ - 26916, - 36, - "float32" - ], - "translationSamples": [ - 26484, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 43, - "jointName": "Zombie:LeftHandIndex3", - "name": "_jnt43", - "rotationSamples": [ - 27060, - 144, - "float32" - ], - "scaleSamples": [ - 27636, - 108, - "float32" - ], - "times": [ - 28500, - 36, - "float32" - ], - "translationSamples": [ - 28068, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 44, - "jointName": "Zombie:LeftHandRing1", - "name": "_jnt44", - "rotationSamples": [ - 28644, - 144, - "float32" - ], - "scaleSamples": [ - 29220, - 108, - "float32" - ], - "times": [ - 30084, - 36, - "float32" - ], - "translationSamples": [ - 29652, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 45, - "jointName": "Zombie:LeftHandRing2", - "name": "_jnt45", - "rotationSamples": [ - 30228, - 144, - "float32" - ], - "scaleSamples": [ - 30804, - 108, - "float32" - ], - "times": [ - 31668, - 36, - "float32" - ], - "translationSamples": [ - 31236, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 46, - "jointName": "Zombie:LeftHandRing3", - "name": "_jnt46", - "rotationSamples": [ - 31812, - 144, - "float32" - ], - "scaleSamples": [ - 32388, - 108, - "float32" - ], - "times": [ - 33252, - 36, - "float32" - ], - "translationSamples": [ - 32820, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 47, - "jointName": "Zombie:LeftHandPinky1", - "name": "_jnt47", - "rotationSamples": [ - 33396, - 144, - "float32" - ], - "scaleSamples": [ - 33972, - 108, - "float32" - ], - "times": [ - 34836, - 36, - "float32" - ], - "translationSamples": [ - 34404, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 48, - "jointName": "Zombie:LeftHandPinky2", - "name": "_jnt48", - "rotationSamples": [ - 34980, - 144, - "float32" - ], - "scaleSamples": [ - 35556, - 108, - "float32" - ], - "times": [ - 36420, - 36, - "float32" - ], - "translationSamples": [ - 35988, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 49, - "jointName": "Zombie:LeftHandPinky3", - "name": "_jnt49", - "rotationSamples": [ - 36564, - 144, - "float32" - ], - "scaleSamples": [ - 37140, - 108, - "float32" - ], - "times": [ - 38004, - 36, - "float32" - ], - "translationSamples": [ - 37572, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 50, - "jointName": "Zombie:RightShoulder", - "name": "_jnt50", - "rotationSamples": [ - 38148, - 144, - "float32" - ], - "scaleSamples": [ - 38724, - 108, - "float32" - ], - "times": [ - 39588, - 36, - "float32" - ], - "translationSamples": [ - 39156, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 51, - "jointName": "Zombie:RightArm", - "name": "_jnt51", - "rotationSamples": [ - 39732, - 144, - "float32" - ], - "scaleSamples": [ - 40308, - 108, - "float32" - ], - "times": [ - 41172, - 36, - "float32" - ], - "translationSamples": [ - 40740, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 52, - "jointName": "Zombie:RightForeArm", - "name": "_jnt52", - "rotationSamples": [ - 41316, - 144, - "float32" - ], - "scaleSamples": [ - 41892, - 108, - "float32" - ], - "times": [ - 42756, - 36, - "float32" - ], - "translationSamples": [ - 42324, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 53, - "jointName": "Zombie:RightHand", - "name": "_jnt53", - "rotationSamples": [ - 42900, - 144, - "float32" - ], - "scaleSamples": [ - 43476, - 108, - "float32" - ], - "times": [ - 44340, - 36, - "float32" - ], - "translationSamples": [ - 43908, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 54, - "jointName": "Zombie:RightHandThumb1", - "name": "_jnt54", - "rotationSamples": [ - 44484, - 144, - "float32" - ], - "scaleSamples": [ - 45060, - 108, - "float32" - ], - "times": [ - 45924, - 36, - "float32" - ], - "translationSamples": [ - 45492, - 108, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 55, - "jointName": "Zombie:RightHandThumb2", - "name": "_jnt55", - "rotationSamples": [ - 46068, - 4, - "float32" - ], - "scaleSamples": [ - 46084, - 3, - "float32" - ], - "times": [ - 46108, - 1, - "float32" - ], - "translationSamples": [ - 46096, - 3, - "float32" - ], - "type": "Joint" - }, - { - "blendType": "Linear", - "jointIndex": 56, - "jointName": "Zombie:RightHandThumb3", - "name": "_jnt56", - "rotationSamples": [ - 46112, - 144, - "float32" - ], - "scaleSamples": [ - 46688, - 108, - "float32" - ], - "times": [ - 47552, - 36, - "float32" - ], - "translationSamples": [ - 47120, - 108, - "float32" - ], - "type": "Joint" + "opacity": { + "enabled": true, + "value": 1.0 }, + "reflectivity": { + "enabled": true, + "value": 0.0 + } + } + }, + "walking/meshes/Zombie_Geo_0.mesh": { + "binaryRef": "walking/binaries/1385651707_data.bin", + "boundingVolume": { + "max": [ + 95.90518188476562, + 180.1605682373047, + 23.805225372314453 + ], + "min": [ + -96.0192642211914, + -0.23441541194915771, + -10.957460403442383 + ], + "type": "BoundingBox" + }, + "colors": [], + "indexLengths": [ + 39069 + ], + "indexModes": [ + "Triangles" + ], + "indices": [ + 0, + 39069, + "uint16" + ], + "joints": [ + 387620, + 30948, + "uint8" + ], + "name": "Zombie_Geo", + "normals": [ + 170984, + 23211, + "float32" + ], + "tangents": [ + 263828, + 30948, + "float32" + ], + "textureCoords": [ + [ + 542360, + 15474, + "float32" + ], + [ + 604256, + 15474, + "float32" + ], + [ + 666152, + 15474, + "float32" + ], + [ + 728048, + 15474, + "float32" + ], + [ + 789944, + 15474, + "float32" + ] + ], + "type": "SkinnedMesh", + "vertexCount": 7737, + "vertices": [ + 78140, + 23211, + "float32" + ], + "weights": [ + 418568, + 30948, + "float32" + ] + }, + "walking/skeletons/Skeleton.skeleton": { + "joints": [ { - "blendType": "Linear", - "jointIndex": 57, - "jointName": "Zombie:RightHandIndex1", - "name": "_jnt57", - "rotationSamples": [ - 47696, - 144, - "float32" - ], - "scaleSamples": [ - 48272, - 108, - "float32" - ], - "times": [ - 49136, - 36, - "float32" - ], - "translationSamples": [ - 48704, - 108, - "float32" - ], - "type": "Joint" + "index": 0, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -96.379402, + 0.0, + 0.0, + 1.0, + -3.985525, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Hips", + "parentIndex": -32768 }, { - "blendType": "Linear", - "jointIndex": 58, - "jointName": "Zombie:RightHandIndex2", - "name": "_jnt58", - "rotationSamples": [ - 49280, - 4, - "float32" - ], - "scaleSamples": [ - 49296, - 3, - "float32" - ], - "times": [ - 49320, - 1, - "float32" - ], - "translationSamples": [ - 49308, - 3, - "float32" - ], - "type": "Joint" + "index": 1, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -105.605721, + 0.0, + 0.0, + 1.0, + -5.562658, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Spine", + "parentIndex": 0 }, { - "blendType": "Linear", - "jointIndex": 59, - "jointName": "Zombie:RightHandIndex3", - "name": "_jnt59", - "rotationSamples": [ - 49324, - 144, - "float32" - ], - "scaleSamples": [ - 49900, - 108, - "float32" - ], - "times": [ - 50764, - 36, - "float32" - ], - "translationSamples": [ - 50332, - 108, - "float32" - ], - "type": "Joint" + "index": 2, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -121.859749, + 0.0, + 0.0, + 1.0, + -5.397053, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Spine1", + "parentIndex": 1 }, { - "blendType": "Linear", - "jointIndex": 60, - "jointName": "Zombie:RightHandMiddle1", - "name": "_jnt60", - "rotationSamples": [ - 50908, - 144, - "float32" - ], - "scaleSamples": [ - 51484, - 108, - "float32" - ], - "times": [ - 52348, - 36, - "float32" - ], - "translationSamples": [ - 51916, - 108, - "float32" - ], - "type": "Joint" + "index": 3, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -135.499397, + 0.0, + 0.0, + 1.0, + -4.104748, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Spine2", + "parentIndex": 2 }, { - "blendType": "Linear", - "jointIndex": 61, - "jointName": "Zombie:RightHandMiddle2", - "name": "_jnt61", - "rotationSamples": [ - 52492, - 144, - "float32" - ], - "scaleSamples": [ - 53068, - 108, - "float32" - ], - "times": [ - 53932, - 36, - "float32" - ], - "translationSamples": [ - 53500, - 108, - "float32" - ], - "type": "Joint" + "index": 4, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -149.376839, + 0.0, + 0.0, + 1.0, + 0.249439, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Neck", + "parentIndex": 3 }, { - "blendType": "Linear", - "jointIndex": 62, - "jointName": "Zombie:RightHandMiddle3", - "name": "_jnt62", - "rotationSamples": [ - 54076, - 144, - "float32" - ], - "scaleSamples": [ - 54652, - 108, - "float32" - ], - "times": [ - 55516, - 36, - "float32" - ], - "translationSamples": [ - 55084, - 108, - "float32" - ], - "type": "Joint" + "index": 5, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -153.716866, + 0.0, + 0.0, + 1.0, + -0.677456, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Neck1", + "parentIndex": 4 }, { - "blendType": "Linear", - "jointIndex": 63, - "jointName": "Zombie:RightHandRing1", - "name": "_jnt63", - "rotationSamples": [ - 55660, - 144, - "float32" - ], - "scaleSamples": [ - 56236, - 108, - "float32" - ], - "times": [ - 57100, - 36, - "float32" - ], - "translationSamples": [ - 56668, - 108, - "float32" - ], - "type": "Joint" + "index": 6, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -157.743477, + 0.0, + 0.0, + 1.0, + -1.535976, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Head", + "parentIndex": 5 }, { - "blendType": "Linear", - "jointIndex": 64, - "jointName": "Zombie:RightHandRing2", - "name": "_jnt64", - "rotationSamples": [ - 57244, - 144, - "float32" - ], - "scaleSamples": [ - 57820, - 108, - "float32" - ], - "times": [ - 58684, - 36, - "float32" - ], - "translationSamples": [ - 58252, - 108, - "float32" - ], - "type": "Joint" + "index": 7, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -3.240073, + 0.0, + 1.0, + 0.0, + -165.17057, + 0.0, + 0.0, + 1.0, + -11.442652, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftEye", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 65, - "jointName": "Zombie:RightHandRing3", - "name": "_jnt65", - "rotationSamples": [ - 58828, - 144, - "float32" - ], - "scaleSamples": [ - 59404, - 108, - "float32" - ], - "times": [ - 60268, - 36, - "float32" - ], - "translationSamples": [ - 59836, - 108, - "float32" - ], - "type": "Joint" + "index": 8, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 3.240343, + 0.0, + 1.0, + 0.0, + -165.17057, + 0.0, + 0.0, + 1.0, + -11.442652, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightEye", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 66, - "jointName": "Zombie:RightHandPinky1", - "name": "_jnt66", - "rotationSamples": [ - 60412, - 144, - "float32" - ], - "scaleSamples": [ - 60988, - 108, - "float32" - ], - "times": [ - 61852, - 36, - "float32" - ], - "translationSamples": [ - 61420, - 108, - "float32" - ], - "type": "Joint" + "index": 9, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -157.845309, + 0.0, + 0.0, + 1.0, + -6.906089, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:Jaw", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 67, - "jointName": "Zombie:RightHandPinky2", - "name": "_jnt67", - "rotationSamples": [ - 61996, - 4, - "float32" - ], - "scaleSamples": [ - 62012, - 3, - "float32" - ], - "times": [ - 62036, - 1, - "float32" - ], - "translationSamples": [ - 62024, - 3, - "float32" - ], - "type": "Joint" + "index": 10, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -157.67541, + 0.0, + 0.0, + 1.0, + -11.72326, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:TongueBack", + "parentIndex": 9 }, { - "blendType": "Linear", - "jointIndex": 68, - "jointName": "Zombie:RightHandPinky3", - "name": "_jnt68", - "rotationSamples": [ - 62040, - 144, - "float32" - ], - "scaleSamples": [ - 62616, - 108, - "float32" - ], - "times": [ - 63480, - 36, - "float32" - ], - "translationSamples": [ - 63048, - 108, - "float32" - ], - "type": "Joint" + "index": 11, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -157.261854, + 0.0, + 0.0, + 1.0, + -13.515942, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:TongueTip", + "parentIndex": 9 }, { - "blendType": "Linear", - "jointIndex": 69, - "jointName": "Zombie:LeftUpLeg", - "name": "_jnt69", - "rotationSamples": [ - 63624, - 144, - "float32" - ], - "scaleSamples": [ - 64200, - 108, - "float32" - ], - "times": [ - 65064, - 36, - "float32" - ], - "translationSamples": [ - 64632, - 108, - "float32" - ], - "type": "Joint" + "index": 12, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -0.983096, + 0.0, + 1.0, + 0.0, + -157.153847, + 0.0, + 0.0, + 1.0, + -14.609521, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftLipLower", + "parentIndex": 9 }, { - "blendType": "Linear", - "jointIndex": 70, - "jointName": "Zombie:LeftLeg", - "name": "_jnt70", - "rotationSamples": [ - 65208, - 144, - "float32" - ], - "scaleSamples": [ - 65784, - 108, - "float32" - ], - "times": [ - 66648, - 36, - "float32" - ], - "translationSamples": [ - 66216, - 108, - "float32" - ], - "type": "Joint" + "index": 13, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -156.708389, + 0.0, + 0.0, + 1.0, + -14.824537, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:JawEND", + "parentIndex": 9 }, { - "blendType": "Linear", - "jointIndex": 71, - "jointName": "Zombie:LeftFoot", - "name": "_jnt71", - "rotationSamples": [ - 66792, - 144, - "float32" - ], - "scaleSamples": [ - 67368, - 108, - "float32" - ], - "times": [ - 68232, - 36, - "float32" - ], - "translationSamples": [ - 67800, - 108, - "float32" - ], - "type": "Joint" + "index": 14, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.983096, + 0.0, + 1.0, + 0.0, + -157.153961, + 0.0, + 0.0, + 1.0, + -14.609476, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightLipLower", + "parentIndex": 9 + }, + { + "index": 15, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 3.141, + 0.0, + 1.0, + 0.0, + -158.206452, + 0.0, + 0.0, + 1.0, + -13.172089, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightLipCorner", + "parentIndex": 9 }, { - "blendType": "Linear", - "jointIndex": 72, - "jointName": "Zombie:LeftToeBase", - "name": "_jnt72", - "rotationSamples": [ - 68376, - 144, - "float32" - ], - "scaleSamples": [ - 68952, - 108, - "float32" - ], - "times": [ - 69816, - 36, - "float32" - ], - "translationSamples": [ - 69384, - 108, - "float32" - ], - "type": "Joint" + "index": 16, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -3.141, + 0.0, + 1.0, + 0.0, + -158.206309, + 0.0, + 0.0, + 1.0, + -13.172089, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftLipCorner", + "parentIndex": 9 }, { - "blendType": "Linear", - "jointIndex": 73, - "jointName": "Zombie:RightUpLeg", - "name": "_jnt73", - "rotationSamples": [ - 69960, - 144, - "float32" - ], - "scaleSamples": [ - 70536, - 108, - "float32" - ], - "times": [ - 71400, - 36, - "float32" - ], - "translationSamples": [ - 70968, - 108, - "float32" - ], - "type": "Joint" + "index": 17, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -1.055771, + 0.0, + 1.0, + 0.0, + -158.280146, + 0.0, + 0.0, + 1.0, + -15.147052, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftLipUpper", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 74, - "jointName": "Zombie:RightLeg", - "name": "_jnt74", - "rotationSamples": [ - 71544, - 144, - "float32" - ], - "scaleSamples": [ - 72120, - 108, - "float32" - ], - "times": [ - 72984, - 36, - "float32" - ], - "translationSamples": [ - 72552, - 108, - "float32" - ], - "type": "Joint" + "index": 18, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -1.354085, + 0.0, + 1.0, + 0.0, + -160.581577, + 0.0, + 0.0, + 1.0, + -14.563657, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftNostril", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 75, - "jointName": "Zombie:RightFoot", - "name": "_jnt75", - "rotationSamples": [ - 73128, - 144, - "float32" - ], - "scaleSamples": [ - 73704, - 108, - "float32" - ], - "times": [ - 74568, - 36, - "float32" - ], - "translationSamples": [ - 74136, - 108, - "float32" - ], - "type": "Joint" + "index": 19, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -3.842501, + 0.0, + 1.0, + 0.0, + -161.479886, + 0.0, + 0.0, + 1.0, + -12.817437, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftCheek", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 76, - "jointName": "Zombie:RightToeBase", - "name": "_jnt76", - "rotationSamples": [ - 74712, - 144, - "float32" - ], - "scaleSamples": [ - 75288, - 108, - "float32" - ], - "times": [ - 76152, - 36, - "float32" - ], - "translationSamples": [ - 75720, - 108, - "float32" - ], - "type": "Joint" - } - ], - "name": "mixamo.com", - "ref": "zombie_injured_walk/animations/mixamo_com.clip" - }, - "zombie_injured_walk/zombie_injured_walk.group": { - "libraryRefs": [ - "zombie_injured_walk/animations/mixamo_com.clip", - "zombie_injured_walk/binaries/1384861945_zombie_injured_walk_mixamo_com.bin" - ], - "name": "zombie_injured_walk", - "ref": "zombie_injured_walk/zombie_injured_walk.group" - }, - "zombie_uppercut_jab/animations/mixamo_com.animstate": { - "clipSource": { - "clipRef": "zombie_uppercut_jab/animations/mixamo_com.clip", - "loopCount": -1, - "timeScale": 1, - "type": "Clip" - }, - "name": "Attack", - "ref": "zombie_uppercut_jab/animations/mixamo_com.animstate" - }, - "zombie_uppercut_jab/animations/mixamo_com.clip": { - "binaryRef": "zombie_uppercut_jab/binaries/1384861995_zombie_uppercut_jab_mixamo_com.bin", - "channels": [ + "index": 20, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -3.069471, + 0.0, + 1.0, + 0.0, + -164.336897, + 0.0, + 0.0, + 1.0, + -13.107866, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftEyelidLower", + "parentIndex": 6 + }, { - "blendType": "Linear", - "jointIndex": 0, - "jointName": "Zombie:Hips", - "name": "_jnt0", - "rotationSamples": [ - 0, - 436, - "float32" - ], - "scaleSamples": [ - 1744, - 327, - "float32" - ], - "times": [ - 4360, - 109, - "float32" - ], - "translationSamples": [ - 3052, - 327, - "float32" - ], - "type": "Joint" + "index": 21, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -3.069471, + 0.0, + 1.0, + 0.0, + -165.615298, + 0.0, + 0.0, + 1.0, + -13.342416, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftEyelidUpper", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 1, - "jointName": "Zombie:Spine", - "name": "_jnt1", - "rotationSamples": [ - 4796, - 436, - "float32" - ], - "scaleSamples": [ - 6540, - 327, - "float32" - ], - "times": [ - 9156, - 109, - "float32" - ], - "translationSamples": [ - 7848, - 327, - "float32" - ], - "type": "Joint" + "index": 22, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -1.626751, + 0.0, + 1.0, + 0.0, + -165.839075, + 0.0, + 0.0, + 1.0, + -14.60598, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftInnerBrow", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 2, - "jointName": "Zombie:Spine1", - "name": "_jnt2", - "rotationSamples": [ - 9592, - 436, - "float32" - ], - "scaleSamples": [ - 11336, - 327, - "float32" - ], - "times": [ - 13952, - 109, - "float32" - ], - "translationSamples": [ - 12644, - 327, - "float32" - ], - "type": "Joint" + "index": 23, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -4.470804, + 0.0, + 1.0, + 0.0, + -165.998861, + 0.0, + 0.0, + 1.0, + -13.301918, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftIOuterBrow", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 3, - "jointName": "Zombie:Spine2", - "name": "_jnt3", - "rotationSamples": [ - 14388, - 436, - "float32" - ], - "scaleSamples": [ - 16132, - 327, - "float32" - ], - "times": [ - 18748, - 109, - "float32" - ], - "translationSamples": [ - 17440, - 327, - "float32" - ], - "type": "Joint" + "index": 24, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 1.62675, + 0.0, + 1.0, + 0.0, + -165.839358, + 0.0, + 0.0, + 1.0, + -14.60597, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightInnerBrow", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 4, - "jointName": "Zombie:Neck", - "name": "_jnt4", - "rotationSamples": [ - 19184, - 436, - "float32" - ], - "scaleSamples": [ - 20928, - 327, - "float32" - ], - "times": [ - 23544, - 109, - "float32" - ], - "translationSamples": [ - 22236, - 327, - "float32" - ], - "type": "Joint" + "index": 25, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 4.4708, + 0.0, + 1.0, + 0.0, + -165.998607, + 0.0, + 0.0, + 1.0, + -13.301944, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightIOuterBrow", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 5, - "jointName": "Zombie:Neck1", - "name": "_jnt5", - "rotationSamples": [ - 23980, - 4, - "float32" - ], - "scaleSamples": [ - 23996, - 3, - "float32" - ], - "times": [ - 24020, - 1, - "float32" - ], - "translationSamples": [ - 24008, - 3, - "float32" - ], - "type": "Joint" + "index": 26, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 3.06947, + 0.0, + 1.0, + 0.0, + -165.615028, + 0.0, + 0.0, + 1.0, + -13.342397, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightEyelidUpper", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 6, - "jointName": "Zombie:Head", - "name": "_jnt6", - "rotationSamples": [ - 24024, - 436, - "float32" - ], - "scaleSamples": [ - 25768, - 327, - "float32" - ], - "times": [ - 28384, - 109, - "float32" - ], - "translationSamples": [ - 27076, - 327, - "float32" - ], - "type": "Joint" + "index": 27, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 3.06947, + 0.0, + 1.0, + 0.0, + -164.337203, + 0.0, + 0.0, + 1.0, + -13.107831, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightEyelidLower", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 9, - "jointName": "Zombie:Jaw", - "name": "_jnt9", - "rotationSamples": [ - 28820, - 4, - "float32" - ], - "scaleSamples": [ - 28836, - 3, - "float32" - ], - "times": [ - 28860, - 1, - "float32" - ], - "translationSamples": [ - 28848, - 3, - "float32" - ], - "type": "Joint" + "index": 28, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 3.8425, + 0.0, + 1.0, + 0.0, + -161.480358, + 0.0, + 0.0, + 1.0, + -12.817424, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightCheek", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 31, - "jointName": "Zombie:LeftShoulder", - "name": "_jnt31", - "rotationSamples": [ - 28864, - 436, - "float32" - ], - "scaleSamples": [ - 30608, - 327, - "float32" - ], - "times": [ - 33224, - 109, - "float32" - ], - "translationSamples": [ - 31916, - 327, - "float32" - ], - "type": "Joint" + "index": 29, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 1.35408, + 0.0, + 1.0, + 0.0, + -160.581358, + 0.0, + 0.0, + 1.0, + -14.563624, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightNostril", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 32, - "jointName": "Zombie:LeftArm", - "name": "_jnt32", - "rotationSamples": [ - 33660, - 436, - "float32" - ], - "scaleSamples": [ - 35404, - 327, - "float32" - ], - "times": [ - 38020, - 109, - "float32" - ], - "translationSamples": [ - 36712, - 327, - "float32" - ], - "type": "Joint" + "index": 30, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 1.05577, + 0.0, + 1.0, + 0.0, + -158.279968, + 0.0, + 0.0, + 1.0, + -15.147024, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightLipUpper", + "parentIndex": 6 }, { - "blendType": "Linear", - "jointIndex": 33, - "jointName": "Zombie:LeftForeArm", - "name": "_jnt33", - "rotationSamples": [ - 38456, - 436, - "float32" - ], - "scaleSamples": [ - 40200, - 327, - "float32" - ], - "times": [ - 42816, - 109, - "float32" - ], - "translationSamples": [ - 41508, - 327, - "float32" - ], - "type": "Joint" + "index": 31, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -6.144226, + 0.0, + 1.0, + 0.0, + -145.686409, + 0.0, + 0.0, + 1.0, + -0.311504, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftShoulder", + "parentIndex": 3 }, { - "blendType": "Linear", - "jointIndex": 34, - "jointName": "Zombie:LeftHand", - "name": "_jnt34", - "rotationSamples": [ - 43252, - 436, - "float32" - ], - "scaleSamples": [ - 44996, - 327, - "float32" - ], - "times": [ - 47612, - 109, - "float32" - ], - "translationSamples": [ - 46304, - 327, - "float32" - ], - "type": "Joint" + "index": 32, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -18.463318, + 0.0, + 1.0, + 0.0, + -144.573433, + 0.0, + 0.0, + 1.0, + 1.481953, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftArm", + "parentIndex": 31 }, { - "blendType": "Linear", - "jointIndex": 35, - "jointName": "Zombie:LeftHandThumb1", - "name": "_jnt35", - "rotationSamples": [ - 48048, - 436, - "float32" - ], - "scaleSamples": [ - 49792, - 327, - "float32" - ], - "times": [ - 52408, - 109, - "float32" - ], - "translationSamples": [ - 51100, - 327, - "float32" - ], - "type": "Joint" + "index": 33, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -46.15033, + 0.0, + 1.0, + 0.0, + -144.573433, + 0.0, + 0.0, + 1.0, + 1.481953, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftForeArm", + "parentIndex": 32 + }, + { + "index": 34, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -74.024109, + 0.0, + 1.0, + 0.0, + -144.573433, + 0.0, + 0.0, + 1.0, + 1.481953, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHand", + "parentIndex": 33 }, { - "blendType": "Linear", - "jointIndex": 36, - "jointName": "Zombie:LeftHandThumb2", - "name": "_jnt36", - "rotationSamples": [ - 52844, - 436, - "float32" - ], - "scaleSamples": [ - 54588, - 327, - "float32" - ], - "times": [ - 57204, - 109, - "float32" - ], - "translationSamples": [ - 55896, - 327, - "float32" - ], - "type": "Joint" + "index": 35, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -76.402622, + 0.0, + 1.0, + 0.0, + -143.570534, + 0.0, + 0.0, + 1.0, + -1.138983, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandThumb1", + "parentIndex": 34 }, { - "blendType": "Linear", - "jointIndex": 37, - "jointName": "Zombie:LeftHandThumb3", - "name": "_jnt37", - "rotationSamples": [ - 57640, - 4, - "float32" - ], - "scaleSamples": [ - 57656, - 3, - "float32" - ], - "times": [ - 57680, - 1, - "float32" - ], - "translationSamples": [ - 57668, - 3, - "float32" - ], - "type": "Joint" + "index": 36, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -79.764991, + 0.0, + 1.0, + 0.0, + -142.567634, + 0.0, + 0.0, + 1.0, + -3.978755, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandThumb2", + "parentIndex": 35 }, { - "blendType": "Linear", - "jointIndex": 38, - "jointName": "Zombie:LeftHandMiddle1", - "name": "_jnt38", - "rotationSamples": [ - 57684, - 436, - "float32" - ], - "scaleSamples": [ - 59428, - 327, - "float32" - ], - "times": [ - 62044, - 109, - "float32" - ], - "translationSamples": [ - 60736, - 327, - "float32" - ], - "type": "Joint" + "index": 37, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -84.266786, + 0.0, + 1.0, + 0.0, + -141.223135, + 0.0, + 0.0, + 1.0, + -6.157022, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandThumb3", + "parentIndex": 36 }, { - "blendType": "Linear", - "jointIndex": 39, - "jointName": "Zombie:LeftHandMiddle2", - "name": "_jnt39", - "rotationSamples": [ - 62480, - 4, - "float32" - ], - "scaleSamples": [ - 62496, - 3, - "float32" - ], - "times": [ - 62520, - 1, - "float32" - ], - "translationSamples": [ - 62508, - 3, - "float32" - ], - "type": "Joint" + "index": 38, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -84.488016, + 0.0, + 1.0, + 0.0, + -145.188193, + 0.0, + 0.0, + 1.0, + 1.052166, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandMiddle1", + "parentIndex": 34 }, { - "blendType": "Linear", - "jointIndex": 40, - "jointName": "Zombie:LeftHandMiddle3", - "name": "_jnt40", - "rotationSamples": [ - 62524, - 436, - "float32" - ], - "scaleSamples": [ - 64268, - 327, - "float32" - ], - "times": [ - 66884, - 109, - "float32" - ], - "translationSamples": [ - 65576, - 327, - "float32" - ], - "type": "Joint" + "index": 39, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -90.280107, + 0.0, + 1.0, + 0.0, + -145.188193, + 0.0, + 0.0, + 1.0, + 1.052166, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandMiddle2", + "parentIndex": 38 }, { - "blendType": "Linear", - "jointIndex": 41, - "jointName": "Zombie:LeftHandIndex1", - "name": "_jnt41", - "rotationSamples": [ - 67320, - 436, - "float32" - ], - "scaleSamples": [ - 69064, - 327, - "float32" - ], - "times": [ - 71680, - 109, - "float32" - ], - "translationSamples": [ - 70372, - 327, - "float32" - ], - "type": "Joint" + "index": 40, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -93.99328, + 0.0, + 1.0, + 0.0, + -145.188193, + 0.0, + 0.0, + 1.0, + 1.052166, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandMiddle3", + "parentIndex": 39 }, { - "blendType": "Linear", - "jointIndex": 42, - "jointName": "Zombie:LeftHandIndex2", - "name": "_jnt42", - "rotationSamples": [ - 72116, - 4, - "float32" - ], - "scaleSamples": [ - 72132, - 3, - "float32" - ], - "times": [ - 72156, - 1, - "float32" - ], - "translationSamples": [ - 72144, - 3, - "float32" - ], - "type": "Joint" + "index": 41, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -84.418644, + 0.0, + 1.0, + 0.0, + -145.188194, + 0.0, + 0.0, + 1.0, + -1.223539, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandIndex1", + "parentIndex": 34 }, { - "blendType": "Linear", - "jointIndex": 43, - "jointName": "Zombie:LeftHandIndex3", - "name": "_jnt43", - "rotationSamples": [ - 72160, - 436, - "float32" - ], - "scaleSamples": [ - 73904, - 327, - "float32" - ], - "times": [ - 76520, - 109, - "float32" - ], - "translationSamples": [ - 75212, - 327, - "float32" - ], - "type": "Joint" + "index": 42, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -89.967934, + 0.0, + 1.0, + 0.0, + -145.188194, + 0.0, + 0.0, + 1.0, + -1.223539, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandIndex2", + "parentIndex": 41 }, { - "blendType": "Linear", - "jointIndex": 44, - "jointName": "Zombie:LeftHandRing1", - "name": "_jnt44", - "rotationSamples": [ - 76956, - 436, - "float32" - ], - "scaleSamples": [ - 78700, - 327, - "float32" - ], - "times": [ - 81316, - 109, - "float32" - ], - "translationSamples": [ - 80008, - 327, - "float32" - ], - "type": "Joint" + "index": 43, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -93.359053, + 0.0, + 1.0, + 0.0, + -145.188194, + 0.0, + 0.0, + 1.0, + -1.223539, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandIndex3", + "parentIndex": 42 }, { - "blendType": "Linear", - "jointIndex": 45, - "jointName": "Zombie:LeftHandRing2", - "name": "_jnt45", - "rotationSamples": [ - 81752, - 4, - "float32" - ], - "scaleSamples": [ - 81768, - 3, - "float32" - ], - "times": [ - 81792, - 1, - "float32" - ], - "translationSamples": [ - 81780, - 3, - "float32" - ], - "type": "Joint" + "index": 44, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -84.349273, + 0.0, + 1.0, + 0.0, + -144.894565, + 0.0, + 0.0, + 1.0, + 3.357495, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandRing1", + "parentIndex": 34 }, { - "blendType": "Linear", - "jointIndex": 46, - "jointName": "Zombie:LeftHandRing3", - "name": "_jnt46", - "rotationSamples": [ - 81796, - 4, - "float32" - ], - "scaleSamples": [ - 81812, - 3, - "float32" - ], - "times": [ - 81836, - 1, - "float32" - ], - "translationSamples": [ - 81824, - 3, - "float32" - ], - "type": "Joint" + "index": 45, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -89.794505, + 0.0, + 1.0, + 0.0, + -144.894565, + 0.0, + 0.0, + 1.0, + 3.357495, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandRing2", + "parentIndex": 44 }, { - "blendType": "Linear", - "jointIndex": 47, - "jointName": "Zombie:LeftHandPinky1", - "name": "_jnt47", - "rotationSamples": [ - 81840, - 436, - "float32" - ], - "scaleSamples": [ - 83584, - 327, - "float32" - ], - "times": [ - 86200, - 109, - "float32" - ], - "translationSamples": [ - 84892, - 327, - "float32" - ], - "type": "Joint" + "index": 46, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -93.507678, + 0.0, + 1.0, + 0.0, + -144.894565, + 0.0, + 0.0, + 1.0, + 3.357495, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandRing3", + "parentIndex": 45 }, { - "blendType": "Linear", - "jointIndex": 48, - "jointName": "Zombie:LeftHandPinky2", - "name": "_jnt48", - "rotationSamples": [ - 86636, - 4, - "float32" - ], - "scaleSamples": [ - 86652, - 3, - "float32" - ], - "times": [ - 86676, - 1, - "float32" - ], - "translationSamples": [ - 86664, - 3, - "float32" - ], - "type": "Joint" + "index": 47, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -84.037101, + 0.0, + 1.0, + 0.0, + -144.495085, + 0.0, + 0.0, + 1.0, + 5.449094, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandPinky1", + "parentIndex": 34 }, { - "blendType": "Linear", - "jointIndex": 49, - "jointName": "Zombie:LeftHandPinky3", - "name": "_jnt49", - "rotationSamples": [ - 86680, - 4, - "float32" - ], - "scaleSamples": [ - 86696, - 3, - "float32" - ], - "times": [ - 86720, - 1, - "float32" - ], - "translationSamples": [ - 86708, - 3, - "float32" - ], - "type": "Joint" + "index": 48, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -87.713357, + 0.0, + 1.0, + 0.0, + -144.495085, + 0.0, + 0.0, + 1.0, + 5.449094, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandPinky2", + "parentIndex": 47 }, { - "blendType": "Linear", - "jointIndex": 50, - "jointName": "Zombie:RightShoulder", - "name": "_jnt50", - "rotationSamples": [ - 86724, - 436, - "float32" - ], - "scaleSamples": [ - 88468, - 327, - "float32" - ], - "times": [ - 91084, - 109, - "float32" - ], - "translationSamples": [ - 89776, - 327, - "float32" - ], - "type": "Joint" + "index": 49, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -90.5247, + 0.0, + 1.0, + 0.0, + -144.495085, + 0.0, + 0.0, + 1.0, + 5.449094, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftHandPinky3", + "parentIndex": 48 }, { - "blendType": "Linear", - "jointIndex": 51, - "jointName": "Zombie:RightArm", - "name": "_jnt51", - "rotationSamples": [ - 91520, - 436, - "float32" - ], - "scaleSamples": [ - 93264, - 327, - "float32" - ], - "times": [ - 95880, - 109, - "float32" - ], - "translationSamples": [ - 94572, - 327, - "float32" - ], - "type": "Joint" + "index": 50, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 6.140198, + 0.0, + 1.0, + 0.0, + -145.686409, + 0.0, + 0.0, + 1.0, + -0.311504, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightShoulder", + "parentIndex": 3 }, { - "blendType": "Linear", - "jointIndex": 52, - "jointName": "Zombie:RightForeArm", - "name": "_jnt52", - "rotationSamples": [ - 96316, - 436, - "float32" - ], - "scaleSamples": [ - 98060, - 327, - "float32" - ], - "times": [ - 100676, - 109, - "float32" - ], - "translationSamples": [ - 99368, - 327, - "float32" - ], - "type": "Joint" + "index": 51, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 18.463318, + 0.0, + 1.0, + 0.0, + -144.573433, + 0.0, + 0.0, + 1.0, + 1.481953, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightArm", + "parentIndex": 50 }, { - "blendType": "Linear", - "jointIndex": 53, - "jointName": "Zombie:RightHand", - "name": "_jnt53", - "rotationSamples": [ - 101112, - 436, - "float32" - ], - "scaleSamples": [ - 102856, - 327, - "float32" - ], - "times": [ - 105472, - 109, - "float32" - ], - "translationSamples": [ - 104164, - 327, - "float32" - ], - "type": "Joint" + "index": 52, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 46.15033, + 0.0, + 1.0, + 0.0, + -144.573433, + 0.0, + 0.0, + 1.0, + 1.481953, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightForeArm", + "parentIndex": 51 + }, + { + "index": 53, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 74.024109, + 0.0, + 1.0, + 0.0, + -144.573433, + 0.0, + 0.0, + 1.0, + 1.481953, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHand", + "parentIndex": 52 }, { - "blendType": "Linear", - "jointIndex": 54, - "jointName": "Zombie:RightHandThumb1", - "name": "_jnt54", - "rotationSamples": [ - 105908, - 436, - "float32" - ], - "scaleSamples": [ - 107652, - 327, - "float32" - ], - "times": [ - 110268, - 109, - "float32" - ], - "translationSamples": [ - 108960, - 327, - "float32" - ], - "type": "Joint" + "index": 54, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 76.541875, + 0.0, + 1.0, + 0.0, + -143.636766, + 0.0, + 0.0, + 1.0, + -1.031715, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandThumb1", + "parentIndex": 53 }, { - "blendType": "Linear", - "jointIndex": 55, - "jointName": "Zombie:RightHandThumb2", - "name": "_jnt55", - "rotationSamples": [ - 110704, - 436, - "float32" - ], - "scaleSamples": [ - 112448, - 327, - "float32" - ], - "times": [ - 115064, - 109, - "float32" - ], - "translationSamples": [ - 113756, - 327, - "float32" - ], - "type": "Joint" + "index": 55, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 79.805662, + 0.0, + 1.0, + 0.0, + -142.549801, + 0.0, + 0.0, + 1.0, + -3.998595, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandThumb2", + "parentIndex": 54 }, { - "blendType": "Linear", - "jointIndex": 56, - "jointName": "Zombie:RightHandThumb3", - "name": "_jnt56", - "rotationSamples": [ - 115500, - 4, - "float32" - ], - "scaleSamples": [ - 115516, - 3, - "float32" - ], - "times": [ - 115540, - 1, - "float32" - ], - "translationSamples": [ - 115528, - 3, - "float32" - ], - "type": "Joint" + "index": 56, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 84.22219, + 0.0, + 1.0, + 0.0, + -141.179538, + 0.0, + 0.0, + 1.0, + -6.133619, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandThumb3", + "parentIndex": 55 }, { - "blendType": "Linear", - "jointIndex": 57, - "jointName": "Zombie:RightHandIndex1", - "name": "_jnt57", - "rotationSamples": [ - 115544, - 436, - "float32" - ], - "scaleSamples": [ - 117288, - 327, - "float32" - ], - "times": [ - 119904, - 109, - "float32" - ], - "translationSamples": [ - 118596, - 327, - "float32" - ], - "type": "Joint" + "index": 57, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 84.490614, + 0.0, + 1.0, + 0.0, + -145.063014, + 0.0, + 0.0, + 1.0, + -1.23001, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandIndex1", + "parentIndex": 53 }, { - "blendType": "Linear", - "jointIndex": 58, - "jointName": "Zombie:RightHandIndex2", - "name": "_jnt58", - "rotationSamples": [ - 120340, - 4, - "float32" - ], - "scaleSamples": [ - 120356, - 3, - "float32" - ], - "times": [ - 120380, - 1, - "float32" - ], - "translationSamples": [ - 120368, - 3, - "float32" - ], - "type": "Joint" + "index": 58, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 89.867381, + 0.0, + 1.0, + 0.0, + -145.063014, + 0.0, + 0.0, + 1.0, + -1.23001, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandIndex2", + "parentIndex": 57 }, { - "blendType": "Linear", - "jointIndex": 59, - "jointName": "Zombie:RightHandIndex3", - "name": "_jnt59", - "rotationSamples": [ - 120384, - 4, - "float32" - ], - "scaleSamples": [ - 120400, - 3, - "float32" - ], - "times": [ - 120424, - 1, - "float32" - ], - "translationSamples": [ - 120412, - 3, - "float32" - ], - "type": "Joint" + "index": 59, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 93.25285, + 0.0, + 1.0, + 0.0, + -145.063014, + 0.0, + 0.0, + 1.0, + -1.23001, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandIndex3", + "parentIndex": 58 }, { - "blendType": "Linear", - "jointIndex": 60, - "jointName": "Zombie:RightHandMiddle1", - "name": "_jnt60", - "rotationSamples": [ - 120428, - 436, - "float32" - ], - "scaleSamples": [ - 122172, - 327, - "float32" - ], - "times": [ - 124788, - 109, - "float32" - ], - "translationSamples": [ - 123480, - 327, - "float32" - ], - "type": "Joint" + "index": 60, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 84.783711, + 0.0, + 1.0, + 0.0, + -145.063013, + 0.0, + 0.0, + 1.0, + 1.054154, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandMiddle1", + "parentIndex": 53 }, { - "blendType": "Linear", - "jointIndex": 61, - "jointName": "Zombie:RightHandMiddle2", - "name": "_jnt61", - "rotationSamples": [ - 125224, - 4, - "float32" - ], - "scaleSamples": [ - 125240, - 3, - "float32" - ], - "times": [ - 125264, - 1, - "float32" - ], - "translationSamples": [ - 125252, - 3, - "float32" - ], - "type": "Joint" + "index": 61, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 90.400479, + 0.0, + 1.0, + 0.0, + -145.063013, + 0.0, + 0.0, + 1.0, + 1.054154, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandMiddle2", + "parentIndex": 60 }, { - "blendType": "Linear", - "jointIndex": 62, - "jointName": "Zombie:RightHandMiddle3", - "name": "_jnt62", - "rotationSamples": [ - 125268, - 4, - "float32" - ], - "scaleSamples": [ - 125284, - 3, - "float32" - ], - "times": [ - 125308, - 1, - "float32" - ], - "translationSamples": [ - 125296, - 3, - "float32" - ], - "type": "Joint" + "index": 62, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 94.136833, + 0.0, + 1.0, + 0.0, + -145.063013, + 0.0, + 0.0, + 1.0, + 1.054154, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandMiddle3", + "parentIndex": 61 }, { - "blendType": "Linear", - "jointIndex": 63, - "jointName": "Zombie:RightHandRing1", - "name": "_jnt63", - "rotationSamples": [ - 125312, - 436, - "float32" - ], - "scaleSamples": [ - 127056, - 327, - "float32" - ], - "times": [ - 129672, - 109, - "float32" - ], - "translationSamples": [ - 128364, - 327, - "float32" - ], - "type": "Joint" + "index": 63, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 84.494322, + 0.0, + 1.0, + 0.0, + -144.961305, + 0.0, + 0.0, + 1.0, + 3.418234, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandRing1", + "parentIndex": 53 }, { - "blendType": "Linear", - "jointIndex": 64, - "jointName": "Zombie:RightHandRing2", - "name": "_jnt64", - "rotationSamples": [ - 130108, - 4, - "float32" - ], - "scaleSamples": [ - 130124, - 3, - "float32" - ], - "times": [ - 130148, - 1, - "float32" - ], - "translationSamples": [ - 130136, - 3, - "float32" - ], - "type": "Joint" + "index": 64, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 89.895598, + 0.0, + 1.0, + 0.0, + -144.961305, + 0.0, + 0.0, + 1.0, + 3.418234, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandRing2", + "parentIndex": 63 }, { - "blendType": "Linear", - "jointIndex": 65, - "jointName": "Zombie:RightHandRing3", - "name": "_jnt65", - "rotationSamples": [ - 130152, - 4, - "float32" - ], - "scaleSamples": [ - 130168, - 3, - "float32" - ], - "times": [ - 130192, - 1, - "float32" - ], - "translationSamples": [ - 130180, - 3, - "float32" - ], - "type": "Joint" + "index": 65, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 93.287194, + 0.0, + 1.0, + 0.0, + -144.961305, + 0.0, + 0.0, + 1.0, + 3.418234, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandRing3", + "parentIndex": 64 }, { - "blendType": "Linear", - "jointIndex": 66, - "jointName": "Zombie:RightHandPinky1", - "name": "_jnt66", - "rotationSamples": [ - 130196, - 436, - "float32" - ], - "scaleSamples": [ - 131940, - 327, - "float32" - ], - "times": [ - 134556, - 109, - "float32" - ], - "translationSamples": [ - 133248, - 327, - "float32" - ], - "type": "Joint" + "index": 66, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 83.995568, + 0.0, + 1.0, + 0.0, + -144.454289, + 0.0, + 0.0, + 1.0, + 5.435958, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandPinky1", + "parentIndex": 53 }, { - "blendType": "Linear", - "jointIndex": 67, - "jointName": "Zombie:RightHandPinky2", - "name": "_jnt67", - "rotationSamples": [ - 134992, - 4, - "float32" - ], - "scaleSamples": [ - 135008, - 3, - "float32" - ], - "times": [ - 135032, - 1, - "float32" - ], - "translationSamples": [ - 135020, - 3, - "float32" - ], - "type": "Joint" + "index": 67, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 87.648326, + 0.0, + 1.0, + 0.0, + -144.454289, + 0.0, + 0.0, + 1.0, + 5.435958, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandPinky2", + "parentIndex": 66 }, { - "blendType": "Linear", - "jointIndex": 68, - "jointName": "Zombie:RightHandPinky3", - "name": "_jnt68", - "rotationSamples": [ - 135036, - 4, - "float32" - ], - "scaleSamples": [ - 135052, - 3, - "float32" - ], - "times": [ - 135076, - 1, - "float32" - ], - "translationSamples": [ - 135064, - 3, - "float32" - ], - "type": "Joint" + "index": 68, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 90.43036, + 0.0, + 1.0, + 0.0, + -144.454289, + 0.0, + 0.0, + 1.0, + 5.435958, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightHandPinky3", + "parentIndex": 67 }, { - "blendType": "Linear", - "jointIndex": 69, - "jointName": "Zombie:LeftUpLeg", - "name": "_jnt69", - "rotationSamples": [ - 135080, - 436, - "float32" - ], - "scaleSamples": [ - 136824, - 327, - "float32" - ], - "times": [ - 139440, - 109, - "float32" - ], - "translationSamples": [ - 138132, - 327, - "float32" - ], - "type": "Joint" + "index": 69, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -9.633789, + 0.0, + 1.0, + 0.0, + -93.106148, + 0.0, + 0.0, + 1.0, + -3.985524, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftUpLeg", + "parentIndex": 0 }, { - "blendType": "Linear", - "jointIndex": 70, - "jointName": "Zombie:LeftLeg", - "name": "_jnt70", - "rotationSamples": [ - 139876, - 436, - "float32" - ], - "scaleSamples": [ - 141620, - 327, - "float32" - ], - "times": [ - 144236, - 109, - "float32" - ], - "translationSamples": [ - 142928, - 327, - "float32" - ], - "type": "Joint" + "index": 70, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -9.633789, + 0.0, + 1.0, + 0.0, + -46.38105, + 0.0, + 0.0, + 1.0, + -2.255559, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftLeg", + "parentIndex": 69 }, { - "blendType": "Linear", - "jointIndex": 71, - "jointName": "Zombie:LeftFoot", - "name": "_jnt71", - "rotationSamples": [ - 144672, - 436, - "float32" - ], - "scaleSamples": [ - 146416, - 327, - "float32" - ], - "times": [ - 149032, - 109, - "float32" - ], - "translationSamples": [ - 147724, - 327, - "float32" - ], - "type": "Joint" + "index": 71, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -9.646394, + 0.0, + 1.0, + 0.0, + -12.186714, + 0.0, + 0.0, + 1.0, + -1.407872, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftFoot", + "parentIndex": 70 }, { - "blendType": "Linear", - "jointIndex": 72, - "jointName": "Zombie:LeftToeBase", - "name": "_jnt72", - "rotationSamples": [ - 149468, - 436, - "float32" - ], - "scaleSamples": [ - 151212, - 327, - "float32" - ], - "times": [ - 153828, - 109, - "float32" - ], - "translationSamples": [ - 152520, - 327, - "float32" - ], - "type": "Joint" + "index": 72, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + -9.463107, + 0.0, + 1.0, + 0.0, + 0.0063715, + 0.0, + 0.0, + 1.0, + -9.690136, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:LeftToeBase", + "parentIndex": 71 }, { - "blendType": "Linear", - "jointIndex": 73, - "jointName": "Zombie:RightUpLeg", - "name": "_jnt73", - "rotationSamples": [ - 154264, - 436, - "float32" - ], - "scaleSamples": [ - 156008, - 327, - "float32" - ], - "times": [ - 158624, - 109, - "float32" - ], - "translationSamples": [ - 157316, - 327, - "float32" - ], - "type": "Joint" + "index": 73, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 9.633789, + 0.0, + 1.0, + 0.0, + -93.106148, + 0.0, + 0.0, + 1.0, + -3.985524, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightUpLeg", + "parentIndex": 0 }, { - "blendType": "Linear", - "jointIndex": 74, - "jointName": "Zombie:RightLeg", - "name": "_jnt74", - "rotationSamples": [ - 159060, - 436, - "float32" - ], - "scaleSamples": [ - 160804, - 327, - "float32" - ], - "times": [ - 163420, - 109, - "float32" - ], - "translationSamples": [ - 162112, - 327, - "float32" - ], - "type": "Joint" + "index": 74, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 9.633789, + 0.0, + 1.0, + 0.0, + -46.38105, + 0.0, + 0.0, + 1.0, + -2.255559, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightLeg", + "parentIndex": 73 }, { - "blendType": "Linear", - "jointIndex": 75, - "jointName": "Zombie:RightFoot", - "name": "_jnt75", - "rotationSamples": [ - 163856, - 436, - "float32" - ], - "scaleSamples": [ - 165600, - 327, - "float32" - ], - "times": [ - 168216, - 109, - "float32" - ], - "translationSamples": [ - 166908, - 327, - "float32" - ], - "type": "Joint" + "index": 75, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 9.621182, + 0.0, + 1.0, + 0.0, + -12.186714, + 0.0, + 0.0, + 1.0, + -1.407872, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightFoot", + "parentIndex": 74 }, { - "blendType": "Linear", - "jointIndex": 76, - "jointName": "Zombie:RightToeBase", - "name": "_jnt76", - "rotationSamples": [ - 168652, - 436, - "float32" - ], - "scaleSamples": [ - 170396, - 327, - "float32" - ], - "times": [ - 173012, - 109, - "float32" - ], - "translationSamples": [ - 171704, - 327, - "float32" - ], - "type": "Joint" + "index": 76, + "inverseBindPose": { + "matrix": [ + 1.0, + 0.0, + 0.0, + 9.804492, + 0.0, + 1.0, + 0.0, + 0.0063715, + 0.0, + 0.0, + 1.0, + -9.690136, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "name": "Zombie:RightToeBase", + "parentIndex": 75 } ], - "name": "mixamo.com", - "ref": "zombie_uppercut_jab/animations/mixamo_com.clip" + "name": "Skeleton" + }, + "walking/textures/Zombie_diffuse.texture": { + "fileName": "Zombie_diffuse.png", + "magFilter": "Bilinear", + "minFilter": "Trilinear", + "name": "Zombie_diffuse", + "offset": [ + 0.0, + 0.0 + ], + "repeat": [ + 1.0, + 1.0 + ], + "url": "walking/images/Zombie_diffuse.png", + "wrapU": "Repeat", + "wrapV": "Repeat" + }, + "walking/textures/Zombie_normal.texture": { + "fileName": "Zombie_normal.png", + "magFilter": "Bilinear", + "minFilter": "Trilinear", + "name": "Zombie_normal", + "offset": [ + 0.0, + 0.0 + ], + "repeat": [ + 1.0, + 1.0 + ], + "url": "walking/images/Zombie_normal.png", + "wrapU": "Repeat", + "wrapV": "Repeat" + }, + "walking/textures/Zombie_specular.texture": { + "fileName": "Zombie_specular.png", + "magFilter": "Bilinear", + "minFilter": "Trilinear", + "name": "Zombie_specular", + "offset": [ + 0.0, + 0.0 + ], + "repeat": [ + 1.0, + 1.0 + ], + "url": "walking/images/Zombie_specular.png", + "wrapU": "Repeat", + "wrapV": "Repeat" }, - "zombie_uppercut_jab/zombie_uppercut_jab.group": { + "walking/walking.group": { "libraryRefs": [ - "zombie_uppercut_jab/animations/mixamo_com.clip", - "zombie_uppercut_jab/binaries/1384861995_zombie_uppercut_jab_mixamo_com.bin" + "walking/materials/Zombie_COL.material", + "walking/skeletons/Skeleton.skeleton", + "walking/animations/Animations.animation", + "walking/meshes/Zombie_Geo_0.mesh", + "walking/textures/Zombie_normal.texture", + "walking/images/Zombie_normal.png", + "walking/textures/Zombie_diffuse.texture", + "walking/images/Zombie_diffuse.png", + "walking/entities/Zombie_Geo_0.entity", + "walking/animations/mixamo_com.animstate", + "walking/entities/RootNode.entity", + "walking/textures/Zombie_specular.texture", + "walking/images/Zombie_specular.png", + "walking/animations/mixamo_com.clip", + "walking/binaries/1385651707_data.bin", + "walking/binaries/1385651707_walking_mixamo_com.bin", + "walking/images/Zombie_normal.png", + "walking/images/Zombie_diffuse.png", + "walking/images/Zombie_specular.png" ], - "name": "zombie_uppercut_jab", - "ref": "zombie_uppercut_jab/zombie_uppercut_jab.group" + "name": "walking", + "ref": "walking/walking.group" } } \ No newline at end of file diff --git a/res/zombie_dying_1/binaries/1384862412_zombie_dying_1_mixamo_com.bin b/res/zombie_dying_1/binaries/1384862412_zombie_dying_1_mixamo_com.bin deleted file mode 100644 index b6386fc..0000000 Binary files a/res/zombie_dying_1/binaries/1384862412_zombie_dying_1_mixamo_com.bin and /dev/null differ diff --git a/res/zombie_idle/binaries/1384861343_zombie_idle_mixamo_com.bin b/res/zombie_idle/binaries/1384861343_zombie_idle_mixamo_com.bin deleted file mode 100644 index 5af6c97..0000000 Binary files a/res/zombie_idle/binaries/1384861343_zombie_idle_mixamo_com.bin and /dev/null differ diff --git a/res/zombie_injured_walk/binaries/1384861945_zombie_injured_walk_mixamo_com.bin b/res/zombie_injured_walk/binaries/1384861945_zombie_injured_walk_mixamo_com.bin deleted file mode 100644 index 28153a4..0000000 Binary files a/res/zombie_injured_walk/binaries/1384861945_zombie_injured_walk_mixamo_com.bin and /dev/null differ diff --git a/res/zombie_uppercut_jab/binaries/1384861995_zombie_uppercut_jab_mixamo_com.bin b/res/zombie_uppercut_jab/binaries/1384861995_zombie_uppercut_jab_mixamo_com.bin deleted file mode 100644 index 522402f..0000000 Binary files a/res/zombie_uppercut_jab/binaries/1384861995_zombie_uppercut_jab_mixamo_com.bin and /dev/null differ