UNPKG

jolt-physics

Version:

A WebAssembly port of JoltPhysics, a rigid body physics and collision detection library, suitable for games and VR applications

51 lines (49 loc) 3.48 MB
// SPDX-FileCopyrightText: 2022-2024 Jorrit Rouwe // SPDX-License-Identifier: MIT // This is Web Assembly version of Jolt Physics, see: https://github.com/jrouwe/JoltPhysics.js var Jolt = (() => { var _scriptName = import.meta.url; return ( async function(moduleArg = {}) { var moduleRtn; var c=moduleArg,aa,ba,ca=new Promise((a,b)=>{aa=a;ba=b}),da="object"==typeof window,ea="undefined"!=typeof WorkerGlobalScope,fa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;if(fa){const {createRequire:a}=await import("module");var require=a(import.meta.url)}var ha={...c},ia="./this.program",ja="",ka; if(fa){var fs=require("fs"),la=require("path");import.meta.url.startsWith("data:")||(ja=la.dirname(require("url").fileURLToPath(import.meta.url))+"/");ka=a=>{a=ma(a)?new URL(a):a;return fs.readFileSync(a)};!c.thisProgram&&1<process.argv.length&&(ia=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2)}else if(da||ea)ea?ja=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ja=document.currentScript.src),_scriptName&&(ja=_scriptName),ja.startsWith("blob:")? ja="":ja=ja.slice(0,ja.replace(/[?#].*/,"").lastIndexOf("/")+1),ea&&(ka=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var na=c.print||console.log.bind(console),oa=c.printErr||console.error.bind(console);Object.assign(c,ha);ha=null;c.thisProgram&&(ia=c.thisProgram);var qa=c.wasmBinary,ra,sa=!1,ta,ua,va,wa,xa,ya=!1,ma=a=>a.startsWith("file://"),za=0,Aa=null; function Ba(a){c.onAbort?.(a);a="Aborted("+a+")";oa(a);sa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}var Ca;async function Da(a){if(!ArrayBuffer.isView(a))if(a==Ca&&qa)a=new Uint8Array(qa);else if(ka)a=ka(a);else throw"both async and sync fetching of the wasm failed";return a}async function Ea(a){var b=Ca;try{var e=await Da(b);return await WebAssembly.instantiate(e,a)}catch(g){oa(`failed to asynchronously prepare wasm: ${g}`),Ba(g)}} async function Fa(a){return Ea(a)} for(var Ga=a=>{for(;0<a.length;)a.shift()(c)},Ha=[],Ia=[],Ja=()=>{var a=c.preRun.shift();Ia.unshift(a)},La=a=>{if(fa)return a=Buffer.from(a,"base64"),new Uint8Array(a.buffer,a.byteOffset,a.length);for(var b,e,g=0,h=0,l=a.length,w=new Uint8Array((3*l>>2)-("="==a[l-2])-("="==a[l-1]));g<l;g+=4,h+=3)b=Ka[a.charCodeAt(g+1)],e=Ka[a.charCodeAt(g+2)],w[h]=Ka[a.charCodeAt(g)]<<2|b>>4,w[h+1]=b<<4|e>>2,w[h+2]=e<<6|Ka[a.charCodeAt(g+3)];return w},Ma=(a,b,e,g)=>{if(0<g){g=e+g-1;for(var h=0;h<a.length;++h){var l= a.charCodeAt(h);if(55296<=l&&57343>=l){var w=a.charCodeAt(++h);l=65536+((l&1023)<<10)|w&1023}if(127>=l){if(e>=g)break;b[e++]=l}else{if(2047>=l){if(e+1>=g)break;b[e++]=192|l>>6}else{if(65535>=l){if(e+2>=g)break;b[e++]=224|l>>12}else{if(e+3>=g)break;b[e++]=240|l>>18;b[e++]=128|l>>12&63}b[e++]=128|l>>6&63}b[e++]=128|l&63}}b[e]=0}},Na=[],Pa=(a,b,e)=>{Na.length=0;for(var g;g=ua[b++];){var h=105!=g;h&=112!=g;e+=h&&e%8?4:0;Na.push(112==g?wa[e>>2]:105==g?va[e>>2]:xa[e>>3]);e+=h?8:4}return Oa[a](...Na)},Qa= {},Sa=()=>{if(!Ra){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ia||"./this.program"},b;for(b in Qa)void 0===Qa[b]?delete a[b]:a[b]=Qa[b];var e=[];for(b in a)e.push(`${b}=${a[b]}`);Ra=e}return Ra},Ra,Ta=[null,[],[]],Ua="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Va=(a,b=0)=>{for(var e=b+NaN,g=b;a[g]&&!(g>=e);)++g;if(16<g-b&&a.buffer&&Ua)return Ua.decode(a.subarray(b, g));for(e="";b<g;){var h=a[b++];if(h&128){var l=a[b++]&63;if(192==(h&224))e+=String.fromCharCode((h&31)<<6|l);else{var w=a[b++]&63;h=224==(h&240)?(h&15)<<12|l<<6|w:(h&7)<<18|l<<12|w<<6|a[b++]&63;65536>h?e+=String.fromCharCode(h):(h-=65536,e+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else e+=String.fromCharCode(h)}return e},Wa=[],Ka=new Uint8Array(123),Xa=25;0<=Xa;--Xa)Ka[48+Xa]=52+Xa,Ka[65+Xa]=Xa,Ka[97+Xa]=26+Xa;Ka[43]=62;Ka[47]=63; var Oa={36098:a=>{a=c.getCache(c.PathConstraintPathJS)[a];if(!a.hasOwnProperty("GetPathMaxFraction"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetPathMaxFraction.";return a.GetPathMaxFraction()},36365:(a,b,e)=>{a=c.getCache(c.PathConstraintPathJS)[a];if(!a.hasOwnProperty("GetClosestPoint"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetClosestPoint.";return a.GetClosestPoint(b,e)},36628:(a,b,e,g,h,l)=>{a=c.getCache(c.PathConstraintPathJS)[a]; if(!a.hasOwnProperty("GetPointOnPath"))throw"a JSImplementation must implement all functions, you forgot PathConstraintPathJS::GetPointOnPath.";a.GetPointOnPath(b,e,g,h,l)},36890:(a,b,e)=>{a=c.getCache(c.GroupFilterJS)[a];if(!a.hasOwnProperty("CanCollide"))throw"a JSImplementation must implement all functions, you forgot GroupFilterJS::CanCollide.";return a.CanCollide(b,e)},37124:(a,b)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveBody"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveBody."; return a.ShouldSaveBody(b)},37383:(a,b)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveConstraint"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveConstraint.";return a.ShouldSaveConstraint(b)},37660:(a,b,e)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldSaveContact"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldSaveContact.";return a.ShouldSaveContact(b, e)},37931:(a,b,e)=>{a=c.getCache(c.StateRecorderFilterJS)[a];if(!a.hasOwnProperty("ShouldRestoreContact"))throw"a JSImplementation must implement all functions, you forgot StateRecorderFilterJS::ShouldRestoreContact.";return a.ShouldRestoreContact(b,e)},38211:a=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("IsEOF"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::IsEOF.";return a.IsEOF()},38429:a=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("IsFailed"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::IsFailed."; return a.IsFailed()},38656:(a,b,e)=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("WriteBytes"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::WriteBytes.";a.WriteBytes(b,e)},38887:(a,b,e)=>{a=c.getCache(c.StateRecorderJS)[a];if(!a.hasOwnProperty("ReadBytes"))throw"a JSImplementation must implement all functions, you forgot StateRecorderJS::ReadBytes.";a.ReadBytes(b,e)},39115:(a,b,e,g,h)=>{a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactAdded"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactAdded."; a.OnContactAdded(b,e,g,h)},39368:(a,b,e,g,h)=>{a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactPersisted"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactPersisted.";a.OnContactPersisted(b,e,g,h)},39633:(a,b)=>{a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactRemoved"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactRemoved.";a.OnContactRemoved(b)},39883:(a,b,e,g,h)=> {a=c.getCache(c.ContactListenerJS)[a];if(!a.hasOwnProperty("OnContactValidate"))throw"a JSImplementation must implement all functions, you forgot ContactListenerJS::OnContactValidate.";return a.OnContactValidate(b,e,g,h)},40152:(a,b,e)=>{a=c.getCache(c.SoftBodyContactListenerJS)[a];if(!a.hasOwnProperty("OnSoftBodyContactAdded"))throw"a JSImplementation must implement all functions, you forgot SoftBodyContactListenerJS::OnSoftBodyContactAdded.";a.OnSoftBodyContactAdded(b,e)},40439:(a,b,e,g)=>{a=c.getCache(c.SoftBodyContactListenerJS)[a]; if(!a.hasOwnProperty("OnSoftBodyContactValidate"))throw"a JSImplementation must implement all functions, you forgot SoftBodyContactListenerJS::OnSoftBodyContactValidate.";return a.OnSoftBodyContactValidate(b,e,g)},40745:a=>{a=c.getCache(c.RayCastBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot RayCastBodyCollectorJS::Reset.";a.Reset()},40970:(a,b)=>{a=c.getCache(c.RayCastBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot RayCastBodyCollectorJS::AddHit."; a.AddHit(b)},41200:a=>{a=c.getCache(c.CollideShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollideShapeBodyCollectorJS::Reset.";a.Reset()},41435:(a,b)=>{a=c.getCache(c.CollideShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollideShapeBodyCollectorJS::AddHit.";a.AddHit(b)},41675:a=>{a=c.getCache(c.CastShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastShapeBodyCollectorJS::Reset."; a.Reset()},41904:(a,b)=>{a=c.getCache(c.CastShapeBodyCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastShapeBodyCollectorJS::AddHit.";a.AddHit(b)},42138:a=>{a=c.getCache(c.CastRayCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::Reset.";a.Reset()},42355:(a,b)=>{a=c.getCache(c.CastRayCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::OnBody."; a.OnBody(b)},42577:(a,b)=>{a=c.getCache(c.CastRayCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastRayCollectorJS::AddHit.";a.AddHit(b)},42799:a=>{a=c.getCache(c.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::Reset.";a.Reset()},43026:(a,b)=>{a=c.getCache(c.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::OnBody."; a.OnBody(b)},43258:(a,b)=>{a=c.getCache(c.CollidePointCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollidePointCollectorJS::AddHit.";a.AddHit(b)},43490:a=>{a=c.getCache(c.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::Reset.";a.Reset()},43717:(a,b)=>{a=c.getCache(c.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::OnBody."; a.OnBody(b)},43949:(a,b)=>{a=c.getCache(c.CollideShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CollideShapeCollectorJS::AddHit.";a.AddHit(b)},44181:a=>{a=c.getCache(c.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::Reset.";a.Reset()},44402:(a,b)=>{a=c.getCache(c.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::OnBody."; a.OnBody(b)},44628:(a,b)=>{a=c.getCache(c.CastShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot CastShapeCollectorJS::AddHit.";a.AddHit(b)},44854:a=>{a=c.getCache(c.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("Reset"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::Reset.";a.Reset()},45089:(a,b)=>{a=c.getCache(c.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("OnBody"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::OnBody."; a.OnBody(b)},45329:(a,b)=>{a=c.getCache(c.TransformedShapeCollectorJS)[a];if(!a.hasOwnProperty("AddHit"))throw"a JSImplementation must implement all functions, you forgot TransformedShapeCollectorJS::AddHit.";a.AddHit(b)},45569:(a,b)=>{a=c.getCache(c.PhysicsStepListenerJS)[a];if(!a.hasOwnProperty("OnStep"))throw"a JSImplementation must implement all functions, you forgot PhysicsStepListenerJS::OnStep.";a.OnStep(b)},45797:(a,b,e)=>{a=c.getCache(c.BodyActivationListenerJS)[a];if(!a.hasOwnProperty("OnBodyActivated"))throw"a JSImplementation must implement all functions, you forgot BodyActivationListenerJS::OnBodyActivated."; a.OnBodyActivated(b,e)},46061:(a,b,e)=>{a=c.getCache(c.BodyActivationListenerJS)[a];if(!a.hasOwnProperty("OnBodyDeactivated"))throw"a JSImplementation must implement all functions, you forgot BodyActivationListenerJS::OnBodyDeactivated.";a.OnBodyDeactivated(b,e)},46331:(a,b,e,g,h)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnAdjustBodyVelocity"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnAdjustBodyVelocity.";a.OnAdjustBodyVelocity(b, e,g,h)},46620:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactValidate"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactValidate.";return a.OnContactValidate(b,e,g)},46904:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactValidate"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactValidate."; return a.OnCharacterContactValidate(b,e,g)},47215:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactRemoved"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactRemoved.";a.OnContactRemoved(b,e,g)},47489:(a,b,e,g)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactRemoved"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactRemoved."; a.OnCharacterContactRemoved(b,e,g)},47790:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactAdded"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactAdded.";a.OnContactAdded(b,e,g,h,l,w)},48067:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactPersisted"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactPersisted."; a.OnContactPersisted(b,e,g,h,l,w)},48356:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactAdded"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactAdded.";a.OnCharacterContactAdded(b,e,g,h,l,w)},48660:(a,b,e,g,h,l,w)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactPersisted"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactPersisted."; a.OnCharacterContactPersisted(b,e,g,h,l,w)},48976:(a,b,e,g,h,l,w,L,pa,Ub)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnContactSolve"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnContactSolve.";a.OnContactSolve(b,e,g,h,l,w,L,pa,Ub)},49262:(a,b,e,g,h,l,w,L,pa,Ub)=>{a=c.getCache(c.CharacterContactListenerJS)[a];if(!a.hasOwnProperty("OnCharacterContactSolve"))throw"a JSImplementation must implement all functions, you forgot CharacterContactListenerJS::OnCharacterContactSolve."; a.OnCharacterContactSolve(b,e,g,h,l,w,L,pa,Ub)},49575:(a,b,e)=>{a=c.getCache(c.ObjectVsBroadPhaseLayerFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectVsBroadPhaseLayerFilterJS::ShouldCollide.";return a.ShouldCollide(b,e)},49854:(a,b)=>{a=c.getCache(c.ObjectLayerFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectLayerFilterJS::ShouldCollide.";return a.ShouldCollide(b)}, 50106:(a,b,e)=>{a=c.getCache(c.ObjectLayerPairFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ObjectLayerPairFilterJS::ShouldCollide.";return a.ShouldCollide(b,e)},50369:(a,b)=>{a=c.getCache(c.BodyFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot BodyFilterJS::ShouldCollide.";return a.ShouldCollide(b)},50607:(a,b)=>{a=c.getCache(c.BodyFilterJS)[a];if(!a.hasOwnProperty("ShouldCollideLocked"))throw"a JSImplementation must implement all functions, you forgot BodyFilterJS::ShouldCollideLocked."; return a.ShouldCollideLocked(b)},50863:(a,b,e)=>{a=c.getCache(c.ShapeFilterJS)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ShapeFilterJS::ShouldCollide.";return a.ShouldCollide(b,e)},51106:(a,b,e,g,h)=>{a=c.getCache(c.ShapeFilterJS2)[a];if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot ShapeFilterJS2::ShouldCollide.";return a.ShouldCollide(b,e,g,h)},51357:(a,b,e,g,h,l,w)=>{a=c.getCache(c.SimShapeFilterJS)[a]; if(!a.hasOwnProperty("ShouldCollide"))throw"a JSImplementation must implement all functions, you forgot SimShapeFilterJS::ShouldCollide.";return a.ShouldCollide(b,e,g,h,l,w)},51618:(a,b,e,g,h,l)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a];if(!a.hasOwnProperty("GetCombinedFriction"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::GetCombinedFriction.";return a.GetCombinedFriction(b,e,g,h,l)},51918:(a,b,e)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a]; if(!a.hasOwnProperty("OnPreStepCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPreStepCallback.";a.OnPreStepCallback(b,e)},52196:(a,b,e)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a];if(!a.hasOwnProperty("OnPostCollideCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPostCollideCallback.";a.OnPostCollideCallback(b,e)},52486:(a,b,e)=>{a=c.getCache(c.VehicleConstraintCallbacksJS)[a]; if(!a.hasOwnProperty("OnPostStepCallback"))throw"a JSImplementation must implement all functions, you forgot VehicleConstraintCallbacksJS::OnPostStepCallback.";a.OnPostStepCallback(b,e)},52767:(a,b,e,g,h,l,w,L,pa)=>{a=c.getCache(c.WheeledVehicleControllerCallbacksJS)[a];if(!a.hasOwnProperty("OnTireMaxImpulseCallback"))throw"a JSImplementation must implement all functions, you forgot WheeledVehicleControllerCallbacksJS::OnTireMaxImpulseCallback.";a.OnTireMaxImpulseCallback(b,e,g,h,l,w,L,pa)},53098:a=> {a=c.getCache(c.BroadPhaseLayerInterfaceJS)[a];if(!a.hasOwnProperty("GetNumBroadPhaseLayers"))throw"a JSImplementation must implement all functions, you forgot BroadPhaseLayerInterfaceJS::GetNumBroadPhaseLayers.";return a.GetNumBroadPhaseLayers()},53389:(a,b)=>{a=c.getCache(c.BroadPhaseLayerInterfaceJS)[a];if(!a.hasOwnProperty("GetBPLayer"))throw"a JSImplementation must implement all functions, you forgot BroadPhaseLayerInterfaceJS::GetBPLayer.";return a.GetBPLayer(b)},53646:()=>ta.length},Ya={i:()=> Ba(""),l:(a,b,e,g)=>{var h=(new Date).getFullYear(),l=(new Date(h,0,1)).getTimezoneOffset();h=(new Date(h,6,1)).getTimezoneOffset();wa[a>>2]=60*Math.max(l,h);va[b>>2]=Number(l!=h);b=w=>{var L=Math.abs(w);return`UTC${0<=w?"-":"+"}${String(Math.floor(L/60)).padStart(2,"0")}${String(L%60).padStart(2,"0")}`};a=b(l);b=b(h);h<l?(Ma(a,ua,e,17),Ma(b,ua,g,17)):(Ma(a,ua,g,17),Ma(b,ua,e,17))},c:(a,b,e)=>Pa(a,b,e),a:(a,b,e)=>Pa(a,b,e),n:(a,b,e)=>Pa(a,b,e),k:()=>ua.length,b:()=>performance.now(),h:()=>{Ba("OOM")}, m:(a,b)=>{var e=0;Sa().forEach((g,h)=>{var l=b+e;h=wa[a+4*h>>2]=l;for(l=0;l<g.length;++l)ta[h++]=g.charCodeAt(l);ta[h]=0;e+=g.length+1});return 0},e:(a,b)=>{var e=Sa();wa[a>>2]=e.length;var g=0;e.forEach(h=>g+=h.length+1);wa[b>>2]=g;return 0},f:()=>52,g:()=>52,j:function(){return 70},d:(a,b,e,g)=>{for(var h=0,l=0;l<e;l++){var w=wa[b>>2],L=wa[b+4>>2];b+=8;for(var pa=0;pa<L;pa++){var Ub=a,mf=ua[w+pa],jg=Ta[Ub];0===mf||10===mf?((1===Ub?na:oa)(Va(jg)),jg.length=0):jg.push(mf)}h+=L}wa[g>>2]=h;return 0}}, d=await (async function(){function a(g){d=g.exports;ra=d.o;g=ra.buffer;c.HEAP8=ta=new Int8Array(g);c.HEAP16=new Int16Array(g);c.HEAPU8=ua=new Uint8Array(g);c.HEAPU16=new Uint16Array(g);c.HEAP32=va=new Int32Array(g);c.HEAPU32=wa=new Uint32Array(g);c.HEAPF32=new Float32Array(g);c.HEAPF64=xa=new Float64Array(g);za--;c.monitorRunDependencies?.(za);0==za&&Aa&&(g=Aa,Aa=null,g());return d}za++;c.monitorRunDependencies?.(za);var b={a:Ya};if(c.instantiateWasm)return new Promise(g=>{c.instantiateWasm(b, (h,l)=>{a(h,l);g(h.exports)})});Ca??=La("AGFzbQEAAAABuwmKAWACf38AYAN/f38AYAF/AX9gAX8AYAJ/fwF/YAN/f38Bf2AAAX9gAX8BfWAEf39/fwBgBn9/f39/fwBgAn99AGAEf39/fwF/YAV/f39/fwBgBX9/f39/AX9gB39/f39/f38AYAZ/f39/f38Bf2ACf30Bf2ALf39/f39/f39/f38AYAl/f39/f39/f38AYAJ/fgBgCH9/f39/f39/AGAEf39/fwF9YAN/f30AYAh/f39/f39/fwF/YAd/f39/f39/AX9gAn9/AX1gCn9/f39/f39/f38AYAN/fX0Bf2ADf39/AX5gA39/fQF/YAN/fX8AYAR/f399AGAAAGADf39+AGACf38BfmABfQF/YAN/fX0AYAN/f30BfWAFf35+fn4AYAV/f39/fQBgDH9/f39/f39/f39/fwF/YAF/AXxgBH9/fX8AYAZ/fX9/f38AYAN9fX0Bf2AFf39+f38AYAZ/f399f38BfWAFf319fX0AYAJ/fABgBH9/f30Bf2AJf39/f39/f39/AX9gDH9/f39/f39/f39/fwBgBn9/f39/fQBgBH19fX0Bf2ACf3wBf2ACfX0Bf2AFf39/f34Bf2AJf39/fX19fX19AGAEf35+fwBgAn99AX1gBX9/f399AX9gA39+fwF+YAV/fX19fwBgB39/f31/f38AYAJ9fwF/YAZ/f31/f38AYAN/fX8Bf2AEfX19fwF/YAN/f38BfGAGf39/f319AX9gBH99fX0AYAp/f39/f39/f39/AX9gBH9/fX0Bf2AFf31/f38Bf2AFf39/fX0Bf2AKf31/fX99f31/fwBgD39/f39/f39/f39/f39/fwBgC39/f39/f39/f39/AX9gBH9/f38BfmAHf39/f39/fQF/YAl/f39/f39/f30AYAt/fX9/f39/f39/fwF/YAh/fX9/f39/fwBgCX9/f319fX9/fQF/YAR/fX1/AGADf398AX9gAn9/AXxgB39/f39/fn4Bf2AGf39/f35+AX9gBX9/f398AX9gA319fwF/YAABfGAHf39/f39/fQBgBX9/f31/AX9gB399f39/fX8AYAl/fX9/f39/fX8AYAR+fn5+AX9gBH9/f34BfmACfn8Bf2ACfX0BfWAMf39/f31/f39/f39/AGACfn4BfGAFf39/fX0AYAh/f399f39/fwBgB399fX19fX0AYAh/f31/fX99fQF/YAt/f319f399fX9/fQBgBn99fX19fwBgBH9/fX0BfWAHf39/f399fwBgBX99fX1/AX9gCn9/f31/f39/f38AYAV/f31/fQBgA39/fwF9YAJ+fgF9YAR/fn5+AGADfn5+AX9gBn98f39/fwF/YAJ8fwF8YAZ/f399f38Bf2AIf399f31/fX0AYAh/f39/f39/fQBgB39/f31/fX0Bf2AHf399f399fQF/YAx/f39/f39/f399fX8AYAx/f39/f39/f31/f38AYAl/f319f39/f38AYAN/f3wAYAR/fHx8AGABfAF/YAN8fHwBf2AEf31/fQF/YAh/f31/f39/fwF/YAl/fX9/f39/f38AYAR/fX9/AGAKf39/f319fX9/fQF/YAR/f319AGAFfX19fX8BfwJVDgFhAWEABQFhAWIAWwFhAWMARAFhAWQACwFhAWUABAFhAWYAAgFhAWcACwFhAWgAAgFhAWkAIAFhAWoADQFhAWsABgFhAWwACAFhAW0ABAFhAW4ABQOrJ58nAwIEAyACAwMDAgIDBAMBAAMDAgIDAwUCBC8CAAQDAAQDAQICAAAEBAIKAwYDAgEDBgICAiYCAgMCAQIFAwEGAgMDBAYAAwACACcDAAIAAgECAgJFAQMAAQICBAcHAgMDASYBAAMNCCA6DAADBAAAAgMAAAIEAgoHAgACJgInAwMCAgMCAAAAAAECBQUAAQADCAoHCgcDAAAOAgICBgAFAAIEAwMCXAMBXQwBABMCAwICAAIEEwIFRgAOAAIMDAIDAAMAAg0NCwIEMAIAIAoHAAEJAA8KBwADAwMACgcCAAgCAgMXFw8CAAABAwoHXgcKXwcAAQMICQkACQMCAAADAgIHBwoHAAMAAAECAAAAAggCCwIKBwoHDAoBBwEPCAAACgcKBwMAAAMCAwQHAQQAAgACAmA6AgUHCgoCBAEAAQsDAwMFOwUFBQUEBgYBAAIACgcDAgMCAwMAAAIAAAFHR2EABAAAAAICC2JjAggEAwICRTEFHwcIAwMHAQMAAAMBAgACAwMDAgEBAgADAgAAAgQDBwAEAwMAAQIDAgIADQMAAAEEAQsCAAIAAwUHAA48Bw4ACQkJCQAADQEyBQQDAgAKBwMABAADAAIDAAAAAwACAAAABwoHCgIAAgABAgIAAwMAAwAAFgMAAwQMABQCBgIAAAICAA4FDhgYBAACBAQCAwACAAIEAgICAAQFBAQFBwVIBAICCAgIAAEABQMCCwsDCAAHAAAFHwgACgcHAgAyMhgYAAEMAwQDBAIEBRIASQNkAQAEBAEAAwEAAQABAQAFBwEKDgcDBwIKAwMBAAUGBgADAAMDAAACAgAEAAIAAwADAwAAAwIAAAEHAQADBwAACgcDAgICAAICCgcBAgIAAAAACQAZAQcBAgAAAAABAwIHEAICBAkIAQABAwIAAAUDBAAEDAAFACgMBSgMAwgCAiYpAAAAAwMCAwADAgMCZQECAgUCAwMkAgIMCgcDCgcKBwAKAQEBAQEAAAUBLwAAZgAnAAAWCAAAZwEBAQEBCAEAAAAAaAMAAAIAaQEAAGoBSgcHCQdrAgAAAQIKAAMACgMDAgMAAgoHAAEDAARsBARtAg4FAgwLBG4NSQdLAEsAADEBAAAIDggAAAICDRQCAgABBxERAwIBbwEAAQAAFgUDCAwEAAAAAwIBAAEEAQACAwECCgoMAgACAwMDAQEBAwMDAQEBAQEGBgIFAAICAwMCAAIAcAAfAwACAgMDAwADAAICAAAAAAAEAAMAAgQDAwAAAAMFAAcCCgcKBwMKBwACCgcCAh8fCgcCCgcHBwMEBQICAwACAAIEAgwHPgAqCgcqAgQHBB4eAwAABAkAAAMDAQAAAAQCBAgAARYLABYBAQQGAQEABAQAAQIDAwAAAAABAQQEBAYAAB0ZFgoBFgoEBAIEAgoKBwcHBAQZBAECBAgGAhQBAwIBAAECAgUBAgMCAg0XFw0XFwIADRcEAgQDAAIDAAIABQVMGgVMGgUMAE0AAQBNAwAACQwJCQAMCQkEAgUOAw4PBQhEcU4LDwtOCwMBCwMEAg0EBAUhciIIJiY6c3QABAQDAgQEBAADAAEBBAIABQACAgUEAQACAgEDAgABAgQDAgIILQUDAgUAdQECDXZ3BQICAAACAAcAEB4AAAQKAgICAEgHAAAAPgcAAAAAAAoAAAIACAAMCAIAAgICAgUAAgIDAgMCAwMDBwgEAwAFAQQEAQgHAQgBAQEIKgEBAQQAAAECAQAAAwMDBQx4AQMAAAEIBQIMGAwDBQAUGAAJCAECAAADAAAFAgACAAAAAwEHBQIAAE8FHwMMAAMFAjQFAgAAeQcCBQIAAwUCAAMAAAADTw00AxIKFgUCAAAAADEFAx8DAwUCAwADNAUAAAIMBQIAAHp7CgUCBQEFAQAPAAAACEoxAQECAAAAAAEFAggUCAwACAcAAAIICAA+AAIBAggACAAAAgADAgEECA4IAAAAAgEECA4IAAAFAgcMAAIAAAgOCAAAAgMDDwMFAAMCAwwACAQDAAQFAQIBCQQEFwAIBFAAfAACfT8AACQCAAIDAAgABQACAQIDCwgAAAIBAAIBBwAiBQQCAAIIAAQIAAACCAAAAgADFAMDAgoSEQwBAxhRFFIBAX4qDwEONAIAAAAAAAoFAwMBAQghAQEIAQEACCcIDAEBDAACAQAFAAAAUwEfAgICAAsDAwQBBAAAAAEBAQEAAQECBAQBCAQDAwQEAAICAQQEAwACAgICAQIDAAAEAAICGggLAgEDAQIDAgICAwICAwIDAgADAwICAAIBAQQEAAAEAAMCAQACAAICAAYGBgIGBgAGBAIABQIAAgMDAAMBAAACAwEAAwMDAQEAAwMDAgAAAgMKBwoHCgcCAAIDFgMEAAMKAAYAAwoHAAMDAAMDAgMAAAQAAAMAAAADAwAAAAACAwEAAwACAwEAAwACAAACAgwBCwACDAICAAMDAwAEAwACAwMDAwMBBAAAAAoJAQABAAACCgICAQUDCgYDAAADBwcBAgAAAgIrAgACBwIDAwoHCgcHBwcCBwAKBx8DAAAABwACBwcHCgICAwcKAAACCgAAAAIAAgACAwIIBAACCAQAAgICAgICAAIAAgEBAQABBAcABwACBQcCAAIBAgICBAcEBQICAwMDAAIDAAIHBwcHVFQHAAQHBwcHAwcDDyIFAgICBQJAIwMDAkAjAwQCAg0DAgICAA0LBgADAAAABAABBA0LBQYABgMAAAAEBQICCAACAgACCAkUCAwBBhkEBAQQCwUKBwACEBADEAAGBhAEBAIQBAQABAYZBAQEBAcHAgICAAoEAQAAAAIDBAQEBAYEBgQEBAIEBAQEAgICBARVAgIAAgICAgQEBAQCBAQCAgYGBgQEAAAEBAQEBAICBwQCAgICAgQEBAQGBAQEBAQQBB0CAgICAgICAgI1BQICAgQCIwQEAhACIyMjBgYEBCwdHQEEGQICAgIZAgICBC8KCgoKAgcHBwcCAgIHBxACHQQQBAQEBAQQBgY1GQQEEBAQEAQEGQIKAxYAAwMGBAQQBBAEEBAEBAIdBC8KBwQEBAUEBCMGBjUQAgICBAQQBBAENjZWBAICNlU2f4ABMDAwKSkpAikpVgUEBIEBBgYGBgaCAQICBwcCAgIEBBAEEAQQEAQEGQQCAgICEB0QFkYKAgQCBwc3BAQEBQUEBgYBAgECAQIICAgEAQIEIwkJCQwMBgwICAgFBgYGBgMCAwIsAwIDAgMCAwIDAgIDAgMCAwIDAgMCAwIDAgAAAAAAAAICAwMDAg0CDRcXAw0NBQsFBAUEAw0FCwUEBQQLCwsFAwMJCQ9XD1cYGBgYGBgXDw8PDwQPFw8PDw8PDVhZOA04DQ0DDVhZOA04AA0NDw8PDw8PDwAPDw8ADw8PDwQPDw8PBQQIDQUIDQUBBAUABAICAAQFAAQCAgADPQMDAwgDLQQEAgIFAgUDAwMCAgMFAgUDAgUFPQUCAAMLAgADAgsDAgYDBgACAwIAAAQGAwYDBgcAAAQrJQQGAQEABwYBBAAADQkSEhECEQkJCw4ICQsIAAAEBhoAAgMCHgQAAAQGBAYEAgYECQACAgIDAgAAGxAKAwoECAADAwIAAAQGAAAAMygzKDMoAgQDAwAAEB4eAAAEBAYEBgQCAAAQHgAABAQGAgMCAgMBAQESEgQREQANCQ4JCQsAAAMCAAMDBgMAAgMAAgMAAgMAAgACAwACAwACAwACAwACAwACAwACAwACAwACAwACAwACAwACAwACAwACAwACAwACAwACAAIDAAIDAAIAAAAADQUAEwMDAg4APwwMDAxBDAwBCAgAAAMDAwMBAwQIBAAbEAoKAAAEBgAbEAoKAAAEBgAbEAoKAAAEBgAbEAoKBAYAGxAKAwoAAAQGAAAbEAoDCgAABAYABBsQCgoGAQAABAMGBgAbEAoKAwAABAYAGxAKCgQGAAAAAAAbEAoDCgAABAYAGxAKAwoAAAQGFRUEBgAbEAoDCgAABAYABwEGBwMAAA0JCQwJCwQGBwEABgAACQkLBAYABgAAERELCxQSDAkLAgQGAQEABgAAAgkJDAkLDgsCBAYAAAMCAgAAARQCBQQGEhIREQIHARQJDAkLDgkEBgAGAAASEhIREREBFAkMCQsOCQQGAAMDBgEAAAARDQkSCQwJCwkEAwYGEhIREQEUCQwJCw4JBAYPAAYAABERCwsCFBIMCQsEBgMDBgABAAAAERENCRISCQkLCQIEAwYBBAMGAAEAAAAREQ0JEhIJCQsJAwUEAwYLDgMGBAMGAAEBACIJBAQHAQYAAAkJDAsJCwYEBgABAAAODQkSDAkLEQQAAQEBAwMGAAAADQkJDAkLDgkLBAIDBgEBAgASAQkOCQIEAgcBAQYAAA0JCQwLCQsEBgcBAAYAAAkJDAkLCQsEAgYAAgQGAwAAAAMAAwMAAAACBQAABAYEAwAADQUSEQYEBAMCExMAAAYGAAADDgkDAgYGAAMDAgMGAwQCAAACAAEAAwIAAgACAgEAAgkDAxQAAhMTExMcAAQABBwBBAMCBQUEAwUDBQMEAwQEAjkBAQEuABgNBQQDBAQEBAQFBAQFBQQaGg4ODg4aGggODggODgsLDAMDISEAAAADAAMAAwADAwAAAwADAAMAAwMAAAMAAAADAwAAAwAAAAMDAAADAAMAAwADCwsBDQ0ADAwNAgICAgICAQMCAQECBQUEBAUDKyUlBwADAxoAAgEAAgEAAgEAAgIJAAIYDQUGBgYGBgYGAwICHgACAAIGAgIEBgIIAgEBAgsBBAQGAgIDBAQCBAIIAQEAAQABAAgBACoWBQMBAAEAAQAEAgADAAMBAAIDAAIAAAMDFgADCwIGAwMAAAADAAMDAAAABAMAAgIDAgMDAwQCBAICAAYDHgoHAgAGAwMAAAADAAAGAgMAAAAEAgYDAwIFBgIABwQGBgMHAgcWAzsHCgMEAQQGAwMAAgICAgICAgICBgoHCgcCAgICAgICCgoAAAYGOQYBLgYCAgACAAILCwQCAgICAwICAAAKBA0CAAIAAAIGEAKDAUIQHQQCAAADAAAABAoZBgM7BwcDJAADBgICAgICAwIEBAQDAgCEAQMJhQEYUQRSBAMDAgACAgoHAAIKBwoHBwICAgACAAIAAgIAAAILGAYNBgYAAAMGAgYCBAYGBAUGBgMEAAIAAgACAAIAAgQGAAAGGhoIDg4IDg4LCwYAAgACBgAAAgACCgcAAgACAAIGAwYCAwQEBwMPBQQCAgIFAgQDBAQCAgQFBAICAgICCYYBAgoHAAIAAgoHAAIEAgIEAgACAgMAAgACAAIKCgoACwMAAAAAAAAAAgAAAgMDAwMDAwMAJwgBAwMCBgAGAAMAAAAEAAAAAAADAAAABB0BBDw8HQsGAAAAQAoWBgMCAAUCAgAAAAUECAEAAgICAgMCAAIAAAACAQACBAIAAgIABgYAAgACDhIREQ4UBgYGAAMGAwMAAAAEBgMAAgoHBgACAAIAAgACBgYGAAMGAwMAAAAEBgACBgYGAAMGAwAABAYGBgYGAAMGAAYAAgAGDAwMQQYGBgYAAgQCBAQEBAAMDQYCBgACAgYDAAIAAAAEBAQDAgYABAIAAgACAAIAAgACAAIGAwQDAwYCAgYFBgAFAwIEAQgBhwEMCAwIBAIBBAEZFhkWGRYEBAQBBAgEAAQBAAgBACcJBQQBCAEEBQEICAQEBAgECAgMDAQBDAwEAAsBBAgMBQUFBAABAQAIBAUEAAQEBQUEAgQAAAUDAgMCAwICAgICAgICAgICUx8AAgEAAwMDAgIAAQAAAAIAAAICAwACAgICAAIAAgACAAIHAAICAgICAgICAgIDAAAFBgMFAQECBgYCAgICAgIFKgYCAgICBQEGAgIAAAMCAgckBQYDAgcCAAADAgICBwoCAAcKBwIWJQcGAwgDAAACAAUGAgIAAAMCAgICAgIAAgAAAgIAAAIEAQQCGRYBBAQEAgICAhkZAQEBBAEEFhkWGQACFhkFiAEEAAQABgICAAADAgICBwcHAgIAAgACAAIAAgACCgoKCgICAgIAAgoHAAIFBgICAAADAgIHAgcCAAICBwckBwoHCgIACgcFBgICAAADAgIHAgoFBgICAAADAgIHBwICAAICAiQHCgAHBwICAgICAgUGAgIAAAMCAgIFBgMCAgAAAwICBwACBwIHJAAFBgYCBgUGAwQEBAQDDwUEAgICBQICBgMDAgYCAwMEBAMPBQIEAgIFAgIAHQQCAwACAwIdBAIDAwQEAw8FBQQCAgIFAjIOUAMUDgcHBQUDBAAAAAACAAIEAAIDAgYHAwMDBAQDDwUEAg8CAgUCBAUDAAICAwAAAgADAgMCBQQCBgMEBAUEAw8FAgIFAgICAgMCBQMEBAQDDwUCAgMFAgQDAgQDAwIEBAQHAw8FAwIHAgUCBAIEAwMCBAQDAwQEAw8FAgMCAgUCAwwMCAAPDQ8DAgYDAwQEBQMPBQICBQICAwIGAgMAAgIDBQMEBAcHAw8FAgcCBwIFAgMKCgcAAwIGAwQEBwMPBQIHAgUCBwMDAkMsAwQEBwMCDwUCAgUCWjcDAlo3AwQEBwMPAwUCBwIFAgcHBAcHAwKJATUsAwQEBAcD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