@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.
2 lines • 7.38 MB
JavaScript
import{Texture as cI,WebGLRenderTarget as AG,RepeatWrapping as ig,LinearFilter as iB,LinearMipMapLinearFilter as DB,FloatType as IG,RGBAFormat as gG,PlaneGeometry as YB,OrthographicCamera as BG,ShaderMaterial as NB,Scene as CG,Mesh as Dg,EquirectangularReflectionMapping as QG,Vector3 as eA,Quaternion as EG,Color as GG,Uniform$1 as iG,LinearSRGBColorSpace as DG,Cache as KA,MirroredRepeatWrapping as YG,ClampToEdgeWrapping as NG,NearestMipMapNearestFilter as hG,NearestFilter as wG,MeshBasicMaterial as oG,PMREMGenerator$1 as RG,cloneUniforms as ZG,cloneUniformsGroups as bG,GLSL3 as SG,Matrix4 as WI,UniformsLib as MG,Matrix3 as HG,MeshStandardMaterial as yI,DoubleSide as JG,FrontSide as FG}from"./three.min.js";import"./three-examples.min.js";var dI=function(){var J=typeof document<"u"?document.currentScript?.src:void 0;return typeof __filename<"u"&&(J=J||__filename),function(N){N=N||{};var Z,D=N,H,l,M=new Promise((A,I)=>{H=A,l=I}),L=typeof window=="object",F=typeof WorkerGlobalScope<"u",s=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";D.expectedDataFileDownloads??=0,D.expectedDataFileDownloads++,(()=>{var A=typeof ENVIRONMENT_IS_PTHREAD<"u"&&ENVIRONMENT_IS_PTHREAD,I=typeof ENVIRONMENT_IS_WASM_WORKER<"u"&&ENVIRONMENT_IS_WASM_WORKER;if(A||I)return;var g=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";function B(C){typeof window=="object"?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):typeof process>"u"&&typeof location<"u"&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var E="bin/JsMaterialXGenShader.data",G="JsMaterialXGenShader.data",i=D.locateFile?D.locateFile(G,""):G,Y=C.remote_package_size;function h(o,d,f,K){if(g){require("fs").readFile(o,(X,z)=>{X?K(X):f(z.buffer)});return}D.dataFileDownloads??={},fetch(o).catch(X=>Promise.reject(new Error(`Network Error: ${o}`,{cause:X}))).then(X=>{if(!X.ok)return Promise.reject(new Error(`${X.status}: ${X.url}`));if(!X.body&&X.arrayBuffer)return X.arrayBuffer().then(f);const z=X.body.getReader(),BA=()=>z.read().then(a).catch(c=>Promise.reject(new Error(`Unexpected error while handling : ${X.url} ${c}`,{cause:c}))),_=[],NA=X.headers,U=Number(NA.get("Content-Length")??d);let k=0;const a=({done:c,value:V})=>{if(c){const AA=new Uint8Array(_.map(P=>P.length).reduce((P,RA)=>P+RA,0));let CA=0;for(const P of _)AA.set(P,CA),CA+=P.length;f(AA.buffer)}else{_.push(V),k+=V.length,D.dataFileDownloads[o]={loaded:k,total:U};let AA=0,CA=0;for(const P of Object.values(D.dataFileDownloads))AA+=P.loaded,CA+=P.total;return D.setStatus?.(`Downloading data... (${AA}/${CA})`),BA()}};return D.setStatus?.("Downloading data..."),BA()})}function w(o){console.error("package error:",o)}var R=null,b=D.getPreloadedPackage?D.getPreloadedPackage(i,Y):null;b||h(i,Y,o=>{R?(R(o),R=null):b=o},w);function S(o){function d(BA,_){if(!BA)throw _+new Error().stack}o.FS_createPath("/","libraries",!0,!0),o.FS_createPath("/libraries","bxdf",!0,!0),o.FS_createPath("/libraries/bxdf","genglsl",!0,!0),o.FS_createPath("/libraries/bxdf","genmdl",!0,!0),o.FS_createPath("/libraries/bxdf","lama",!0,!0),o.FS_createPath("/libraries/bxdf","translation",!0,!0),o.FS_createPath("/libraries","cmlib",!0,!0),o.FS_createPath("/libraries","lights",!0,!0),o.FS_createPath("/libraries/lights","genglsl",!0,!0),o.FS_createPath("/libraries/lights","genmsl",!0,!0),o.FS_createPath("/libraries","nprlib",!0,!0),o.FS_createPath("/libraries/nprlib","genglsl",!0,!0),o.FS_createPath("/libraries/nprlib","genmdl",!0,!0),o.FS_createPath("/libraries/nprlib","genmsl",!0,!0),o.FS_createPath("/libraries/nprlib","genosl",!0,!0),o.FS_createPath("/libraries","pbrlib",!0,!0),o.FS_createPath("/libraries/pbrlib","genglsl",!0,!0),o.FS_createPath("/libraries/pbrlib/genglsl","lib",!0,!0),o.FS_createPath("/libraries/pbrlib","genmdl",!0,!0),o.FS_createPath("/libraries/pbrlib","genmsl",!0,!0),o.FS_createPath("/libraries/pbrlib","genosl",!0,!0),o.FS_createPath("/libraries/pbrlib/genosl","lib",!0,!0),o.FS_createPath("/libraries","stdlib",!0,!0),o.FS_createPath("/libraries/stdlib","genglsl",!0,!0),o.FS_createPath("/libraries/stdlib/genglsl","lib",!0,!0),o.FS_createPath("/libraries/stdlib","genmdl",!0,!0),o.FS_createPath("/libraries/stdlib","genmsl",!0,!0),o.FS_createPath("/libraries/stdlib/genmsl","lib",!0,!0),o.FS_createPath("/libraries/stdlib","genosl",!0,!0),o.FS_createPath("/libraries/stdlib/genosl","include",!0,!0),o.FS_createPath("/libraries/stdlib/genosl","lib",!0,!0),o.FS_createPath("/libraries","targets",!0,!0);function f(BA,_,NA){this.start=BA,this.end=_,this.audio=NA}f.prototype={requests:{},open:function(BA,_){this.name=_,this.requests[_]=this,o.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var BA=this.byteArray.subarray(this.start,this.end);this.finish(BA)},finish:function(BA){var _=this;o.FS_createDataFile(this.name,null,BA,!0,!0,!0),o.removeRunDependency(`fp ${_.name}`),this.requests[this.name]=null}};for(var K=C.files,X=0;X<K.length;++X)new f(K[X].start,K[X].end,K[X].audio||0).open("GET",K[X].filename);function z(BA){d(BA,"Loading data file failed."),d(BA.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var _=new Uint8Array(BA);f.prototype.byteArray=_;for(var NA=C.files,U=0;U<NA.length;++U)f.prototype.requests[NA[U].filename].onload();o.removeRunDependency("datafile_bin/JsMaterialXGenShader.data")}o.addRunDependency("datafile_bin/JsMaterialXGenShader.data"),o.preloadResults??={},o.preloadResults[E]={fromCache:!1},b?(z(b),b=null):R=z}D.calledRun?S(D):(D.preRun??=[]).push(S)}B({files:[{filename:"/libraries/CMakeLists.txt",start:0,end:1923},{filename:"/libraries/README.md",start:1923,end:6916},{filename:"/libraries/bxdf/disney_principled.mtlx",start:6916,end:14224},{filename:"/libraries/bxdf/genglsl/gltf_pbr.mtlx",start:14224,end:29039},{filename:"/libraries/bxdf/genglsl/open_pbr_surface.mtlx",start:29039,end:60246},{filename:"/libraries/bxdf/genglsl/standard_surface.mtlx",start:60246,end:78019},{filename:"/libraries/bxdf/genmdl/open_pbr_surface.mtlx",start:78019,end:109045},{filename:"/libraries/bxdf/gltf_pbr.mtlx",start:109045,end:153938},{filename:"/libraries/bxdf/lama/lama_add.mtlx",start:153938,end:156592},{filename:"/libraries/bxdf/lama/lama_conductor.mtlx",start:156592,end:164592},{filename:"/libraries/bxdf/lama/lama_dielectric.mtlx",start:164592,end:175511},{filename:"/libraries/bxdf/lama/lama_diffuse.mtlx",start:175511,end:178457},{filename:"/libraries/bxdf/lama/lama_emission.mtlx",start:178457,end:179206},{filename:"/libraries/bxdf/lama/lama_generalized_schlick.mtlx",start:179206,end:191060},{filename:"/libraries/bxdf/lama/lama_iridescence.mtlx",start:191060,end:197023},{filename:"/libraries/bxdf/lama/lama_layer.mtlx",start:197023,end:198767},{filename:"/libraries/bxdf/lama/lama_mix.mtlx",start:198767,end:200854},{filename:"/libraries/bxdf/lama/lama_sheen.mtlx",start:200854,end:202977},{filename:"/libraries/bxdf/lama/lama_sss.mtlx",start:202977,end:209752},{filename:"/libraries/bxdf/lama/lama_surface.mtlx",start:209752,end:211420},{filename:"/libraries/bxdf/lama/lama_translucent.mtlx",start:211420,end:213057},{filename:"/libraries/bxdf/open_pbr_surface.mtlx",start:213057,end:254343},{filename:"/libraries/bxdf/standard_surface.mtlx",start:254343,end:282426},{filename:"/libraries/bxdf/translation/open_pbr_to_standard_surface.mtlx",start:282426,end:299893},{filename:"/libraries/bxdf/translation/standard_surface_to_gltf_pbr.mtlx",start:299893,end:310073},{filename:"/libraries/bxdf/translation/standard_surface_to_open_pbr.mtlx",start:310073,end:325182},{filename:"/libraries/bxdf/translation/standard_surface_to_usd.mtlx",start:325182,end:331063},{filename:"/libraries/bxdf/usd_preview_surface.mtlx",start:331063,end:354055},{filename:"/libraries/cmlib/cmlib_defs.mtlx",start:354055,end:358901},{filename:"/libraries/cmlib/cmlib_ng.mtlx",start:358901,end:376376},{filename:"/libraries/lights/genglsl/lights_genglsl_impl.mtlx",start:376376,end:376980},{filename:"/libraries/lights/genglsl/mx_directional_light.glsl",start:376980,end:377161},{filename:"/libraries/lights/genglsl/mx_point_light.glsl",start:377161,end:377531},{filename:"/libraries/lights/genglsl/mx_spot_light.glsl",start:377531,end:378155},{filename:"/libraries/lights/genmsl/lights_genmsl_impl.mtlx",start:378155,end:378756},{filename:"/libraries/lights/genmsl/mx_directional_light.metal",start:378756,end:378943},{filename:"/libraries/lights/genmsl/mx_point_light.metal",start:378943,end:379319},{filename:"/libraries/lights/genmsl/mx_spot_light.metal",start:379319,end:379949},{filename:"/libraries/lights/lights_defs.mtlx",start:379949,end:382361},{filename:"/libraries/nprlib/genglsl/nprlib_genglsl_impl.mtlx",start:382361,end:383025},{filename:"/libraries/nprlib/genmdl/nprlib_genmdl_impl.mtlx",start:383025,end:383787},{filename:"/libraries/nprlib/genmsl/nprlib_genmsl_impl.mtlx",start:383787,end:384448},{filename:"/libraries/nprlib/genosl/nprlib_genosl_impl.mtlx",start:384448,end:385146},{filename:"/libraries/nprlib/nprlib_defs.mtlx",start:385146,end:387781},{filename:"/libraries/nprlib/nprlib_ng.mtlx",start:387781,end:392630},{filename:"/libraries/pbrlib/genglsl/lib/mx_closure_type.glsl",start:392630,end:393047},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_fis.glsl",start:393047,end:395841},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_none.glsl",start:395841,end:396076},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_prefilter.glsl",start:396076,end:397162},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_albedo_table.glsl",start:397162,end:397534},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_prefilter_env.glsl",start:397534,end:399881},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet.glsl",start:399881,end:402873},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_diffuse.glsl",start:402873,end:410337},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_sheen.glsl",start:410337,end:417090},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_specular.glsl",start:417090,end:433540},{filename:"/libraries/pbrlib/genglsl/lib/mx_shadow.glsl",start:433540,end:434296},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_opacity.glsl",start:434296,end:434467},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_refract.glsl",start:434467,end:434978},{filename:"/libraries/pbrlib/genglsl/mx_add_bsdf.glsl",start:434978,end:435560},{filename:"/libraries/pbrlib/genglsl/mx_add_edf.glsl",start:435560,end:435700},{filename:"/libraries/pbrlib/genglsl/mx_anisotropic_vdf.glsl",start:435700,end:435928},{filename:"/libraries/pbrlib/genglsl/mx_artistic_ior.glsl",start:435928,end:436501},{filename:"/libraries/pbrlib/genglsl/mx_blackbody.glsl",start:436501,end:438237},{filename:"/libraries/pbrlib/genglsl/mx_burley_diffuse_bsdf.glsl",start:438237,end:439284},{filename:"/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl",start:439284,end:448292},{filename:"/libraries/pbrlib/genglsl/mx_conductor_bsdf.glsl",start:448292,end:450049},{filename:"/libraries/pbrlib/genglsl/mx_dielectric_bsdf.glsl",start:450049,end:452691},{filename:"/libraries/pbrlib/genglsl/mx_displacement_float.glsl",start:452691,end:452836},{filename:"/libraries/pbrlib/genglsl/mx_displacement_vector3.glsl",start:452836,end:452976},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl",start:452976,end:456145},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_edf.glsl",start:456145,end:456657},{filename:"/libraries/pbrlib/genglsl/mx_layer_bsdf.glsl",start:456657,end:456907},{filename:"/libraries/pbrlib/genglsl/mx_layer_vdf.glsl",start:456907,end:457139},{filename:"/libraries/pbrlib/genglsl/mx_mix_bsdf.glsl",start:457139,end:457405},{filename:"/libraries/pbrlib/genglsl/mx_mix_edf.glsl",start:457405,end:457571},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_color3.glsl",start:457571,end:457824},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_float.glsl",start:457824,end:458082},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_color3.glsl",start:458082,end:458235},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_float.glsl",start:458235,end:458388},{filename:"/libraries/pbrlib/genglsl/mx_oren_nayar_diffuse_bsdf.glsl",start:458388,end:459763},{filename:"/libraries/pbrlib/genglsl/mx_roughness_anisotropy.glsl",start:459763,end:460208},{filename:"/libraries/pbrlib/genglsl/mx_roughness_dual.glsl",start:460208,end:460476},{filename:"/libraries/pbrlib/genglsl/mx_sheen_bsdf.glsl",start:460476,end:462562},{filename:"/libraries/pbrlib/genglsl/mx_subsurface_bsdf.glsl",start:462562,end:463615},{filename:"/libraries/pbrlib/genglsl/mx_translucent_bsdf.glsl",start:463615,end:464341},{filename:"/libraries/pbrlib/genglsl/mx_uniform_edf.glsl",start:464341,end:464549},{filename:"/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx",start:464549,end:470654},{filename:"/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx",start:470654,end:482039},{filename:"/libraries/pbrlib/genmsl/pbrlib_genmsl_impl.mtlx",start:482039,end:482306},{filename:"/libraries/pbrlib/genosl/lib/mx_microfacet.osl",start:482306,end:484038},{filename:"/libraries/pbrlib/genosl/mx_anisotropic_vdf.osl",start:484038,end:484409},{filename:"/libraries/pbrlib/genosl/mx_artistic_ior.osl",start:484409,end:485001},{filename:"/libraries/pbrlib/genosl/mx_blackbody.osl",start:485001,end:486773},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_bsdf.osl",start:486773,end:487465},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_roughness.osl",start:487465,end:487822},{filename:"/libraries/pbrlib/genosl/mx_dielectric_bsdf.osl",start:487822,end:488372},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_bsdf.osl",start:488372,end:489011},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_edf.osl",start:489011,end:489281},{filename:"/libraries/pbrlib/genosl/mx_roughness_anisotropy.osl",start:489281,end:489732},{filename:"/libraries/pbrlib/genosl/mx_roughness_dual.osl",start:489732,end:490028},{filename:"/libraries/pbrlib/genosl/mx_subsurface_bsdf.osl",start:490028,end:490356},{filename:"/libraries/pbrlib/genosl/mx_surface.osl",start:490356,end:490557},{filename:"/libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx",start:490557,end:496402},{filename:"/libraries/pbrlib/pbrlib_defs.mtlx",start:496402,end:520720},{filename:"/libraries/pbrlib/pbrlib_ng.mtlx",start:520720,end:521514},{filename:"/libraries/stdlib/genglsl/lib/mx_geometry.glsl",start:521514,end:522875},{filename:"/libraries/stdlib/genglsl/lib/mx_hextile.glsl",start:522875,end:527376},{filename:"/libraries/stdlib/genglsl/lib/mx_hsv.glsl",start:527376,end:530855},{filename:"/libraries/stdlib/genglsl/lib/mx_math.glsl",start:530855,end:531490},{filename:"/libraries/stdlib/genglsl/lib/mx_noise.glsl",start:531490,end:554429},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv.glsl",start:554429,end:554545},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv_vflip.glsl",start:554545,end:554681},{filename:"/libraries/stdlib/genglsl/mx_aastep.glsl",start:554681,end:554881},{filename:"/libraries/stdlib/genglsl/mx_burn_color3.glsl",start:554881,end:555166},{filename:"/libraries/stdlib/genglsl/mx_burn_color4.glsl",start:555166,end:555507},{filename:"/libraries/stdlib/genglsl/mx_burn_float.glsl",start:555507,end:555730},{filename:"/libraries/stdlib/genglsl/mx_cellnoise2d_float.glsl",start:555730,end:555867},{filename:"/libraries/stdlib/genglsl/mx_cellnoise3d_float.glsl",start:555867,end:556004},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix33.glsl",start:556004,end:556211},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix44.glsl",start:556211,end:556487},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector4_matrix44.glsl",start:556487,end:556771},{filename:"/libraries/stdlib/genglsl/mx_disjointover_color4.glsl",start:556771,end:557365},{filename:"/libraries/stdlib/genglsl/mx_dodge_color3.glsl",start:557365,end:557655},{filename:"/libraries/stdlib/genglsl/mx_dodge_color4.glsl",start:557655,end:558004},{filename:"/libraries/stdlib/genglsl/mx_dodge_float.glsl",start:558004,end:558226},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_float.glsl",start:558226,end:558498},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector2.glsl",start:558498,end:558768},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector3.glsl",start:558768,end:559038},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector4.glsl",start:559038,end:559308},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_float.glsl",start:559308,end:559580},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector2.glsl",start:559580,end:559850},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector3.glsl",start:559850,end:560120},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector4.glsl",start:560120,end:560390},{filename:"/libraries/stdlib/genglsl/mx_heighttonormal_vector3.glsl",start:560390,end:561343},{filename:"/libraries/stdlib/genglsl/mx_hextiledimage.glsl",start:561343,end:564493},{filename:"/libraries/stdlib/genglsl/mx_hextilednormalmap.glsl",start:564493,end:566999},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color3.glsl",start:566999,end:567113},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color4.glsl",start:567113,end:567242},{filename:"/libraries/stdlib/genglsl/mx_image_color3.glsl",start:567242,end:567632},{filename:"/libraries/stdlib/genglsl/mx_image_color4.glsl",start:567632,end:568018},{filename:"/libraries/stdlib/genglsl/mx_image_float.glsl",start:568018,end:568407},{filename:"/libraries/stdlib/genglsl/mx_image_vector2.glsl",start:568407,end:568797},{filename:"/libraries/stdlib/genglsl/mx_image_vector3.glsl",start:568797,end:569188},{filename:"/libraries/stdlib/genglsl/mx_image_vector4.glsl",start:569188,end:569575},{filename:"/libraries/stdlib/genglsl/mx_luminance_color3.glsl",start:569575,end:569689},{filename:"/libraries/stdlib/genglsl/mx_luminance_color4.glsl",start:569689,end:569820},{filename:"/libraries/stdlib/genglsl/mx_mix_surfaceshader.glsl",start:569820,end:570054},{filename:"/libraries/stdlib/genglsl/mx_noise2d_float.glsl",start:570054,end:570264},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector2.glsl",start:570264,end:570475},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector3.glsl",start:570475,end:570683},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector4.glsl",start:570683,end:570958},{filename:"/libraries/stdlib/genglsl/mx_noise3d_float.glsl",start:570958,end:571168},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector2.glsl",start:571168,end:571379},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector3.glsl",start:571379,end:571587},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector4.glsl",start:571587,end:571866},{filename:"/libraries/stdlib/genglsl/mx_normalmap.glsl",start:571866,end:572364},{filename:"/libraries/stdlib/genglsl/mx_premult_color4.glsl",start:572364,end:572461},{filename:"/libraries/stdlib/genglsl/mx_ramplr_float.glsl",start:572461,end:572612},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector2.glsl",start:572612,end:572762},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector3.glsl",start:572762,end:572912},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector4.glsl",start:572912,end:573062},{filename:"/libraries/stdlib/genglsl/mx_ramptb_float.glsl",start:573062,end:573213},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector2.glsl",start:573213,end:573363},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector3.glsl",start:573363,end:573513},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector4.glsl",start:573513,end:573663},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color3.glsl",start:573663,end:573777},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color4.glsl",start:573777,end:573906},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector2.glsl",start:573906,end:574164},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector3.glsl",start:574164,end:575065},{filename:"/libraries/stdlib/genglsl/mx_smoothstep_float.glsl",start:575065,end:575290},{filename:"/libraries/stdlib/genglsl/mx_splitlr_float.glsl",start:575290,end:575483},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector2.glsl",start:575483,end:575675},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector3.glsl",start:575675,end:575867},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector4.glsl",start:575867,end:576059},{filename:"/libraries/stdlib/genglsl/mx_splittb_float.glsl",start:576059,end:576252},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector2.glsl",start:576252,end:576444},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector3.glsl",start:576444,end:576636},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector4.glsl",start:576636,end:576828},{filename:"/libraries/stdlib/genglsl/mx_surface_unlit.glsl",start:576828,end:577120},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector2M3.glsl",start:577120,end:577261},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector3M4.glsl",start:577261,end:577403},{filename:"/libraries/stdlib/genglsl/mx_unpremult_color4.glsl",start:577403,end:577502},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_float.glsl",start:577502,end:577686},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector2.glsl",start:577686,end:577870},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector3.glsl",start:577870,end:578054},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_float.glsl",start:578054,end:578238},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector2.glsl",start:578238,end:578422},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector3.glsl",start:578422,end:578606},{filename:"/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx",start:578606,end:655400},{filename:"/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx",start:655400,end:749690},{filename:"/libraries/stdlib/genmsl/lib/mx_math.metal",start:749690,end:753979},{filename:"/libraries/stdlib/genmsl/lib/mx_matscalaroperators.metal",start:753979,end:754988},{filename:"/libraries/stdlib/genmsl/lib/mx_texture.metal",start:754988,end:755726},{filename:"/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx",start:755726,end:765452},{filename:"/libraries/stdlib/genosl/include/color4.h",start:765452,end:771290},{filename:"/libraries/stdlib/genosl/include/matrix33.h",start:771290,end:773910},{filename:"/libraries/stdlib/genosl/include/mx_funcs.h",start:773910,end:795701},{filename:"/libraries/stdlib/genosl/include/vector2.h",start:795701,end:801367},{filename:"/libraries/stdlib/genosl/include/vector4.h",start:801367,end:810365},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv.osl",start:810365,end:810432},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv_vflip.osl",start:810432,end:810528},{filename:"/libraries/stdlib/genosl/lib/vector4_extra_ops.osl",start:810528,end:811402},{filename:"/libraries/stdlib/genosl/mx_burn_color3.osl",start:811402,end:811655},{filename:"/libraries/stdlib/genosl/mx_burn_color4.osl",start:811655,end:811993},{filename:"/libraries/stdlib/genosl/mx_burn_float.osl",start:811993,end:812210},{filename:"/libraries/stdlib/genosl/mx_cellnoise2d_float.osl",start:812210,end:812327},{filename:"/libraries/stdlib/genosl/mx_cellnoise3d_float.osl",start:812327,end:812429},{filename:"/libraries/stdlib/genosl/mx_creatematrix.osl",start:812429,end:813334},{filename:"/libraries/stdlib/genosl/mx_disjointover_color4.osl",start:813334,end:813912},{filename:"/libraries/stdlib/genosl/mx_dodge_color3.osl",start:813912,end:814170},{filename:"/libraries/stdlib/genosl/mx_dodge_color4.osl",start:814170,end:814517},{filename:"/libraries/stdlib/genosl/mx_dodge_float.osl",start:814517,end:814724},{filename:"/libraries/stdlib/genosl/mx_fractal2d_float.osl",start:814724,end:814970},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector2.osl",start:814970,end:815224},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector3.osl",start:815224,end:815475},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector4.osl",start:815475,end:815729},{filename:"/libraries/stdlib/genosl/mx_fractal3d_float.osl",start:815729,end:815960},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector2.osl",start:815960,end:816199},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector3.osl",start:816199,end:816435},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector4.osl",start:816435,end:816674},{filename:"/libraries/stdlib/genosl/mx_frame_float.osl",start:816674,end:816843},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color3.osl",start:816843,end:816939},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color4.osl",start:816939,end:817170},{filename:"/libraries/stdlib/genosl/mx_geomcolor_float.osl",start:817170,end:817265},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_boolean.osl",start:817265,end:817416},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color3.osl",start:817416,end:817569},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color4.osl",start:817569,end:817937},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_float.osl",start:817937,end:818111},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_integer.osl",start:818111,end:818262},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_string.osl",start:818262,end:818418},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector2.osl",start:818418,end:818684},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector3.osl",start:818684,end:818840},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector4.osl",start:818840,end:819158},{filename:"/libraries/stdlib/genosl/mx_heighttonormal_vector3.osl",start:819158,end:820132},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color3.osl",start:820132,end:820237},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color4.osl",start:820237,end:820359},{filename:"/libraries/stdlib/genosl/mx_image_color3.osl",start:820359,end:821304},{filename:"/libraries/stdlib/genosl/mx_image_color4.osl",start:821304,end:822427},{filename:"/libraries/stdlib/genosl/mx_image_float.osl",start:822427,end:823290},{filename:"/libraries/stdlib/genosl/mx_image_vector2.osl",start:823290,end:824205},{filename:"/libraries/stdlib/genosl/mx_image_vector3.osl",start:824205,end:825023},{filename:"/libraries/stdlib/genosl/mx_image_vector4.osl",start:825023,end:826066},{filename:"/libraries/stdlib/genosl/mx_luminance_color3.osl",start:826066,end:826178},{filename:"/libraries/stdlib/genosl/mx_luminance_color4.osl",start:826178,end:826310},{filename:"/libraries/stdlib/genosl/mx_mix_surfaceshader.osl",start:826310,end:826552},{filename:"/libraries/stdlib/genosl/mx_noise2d_float.osl",start:826552,end:826746},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector2.osl",start:826746,end:826951},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector3.osl",start:826951,end:827150},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector4.osl",start:827150,end:827355},{filename:"/libraries/stdlib/genosl/mx_noise3d_float.osl",start:827355,end:827534},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector2.osl",start:827534,end:827724},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector3.osl",start:827724,end:827908},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector4.osl",start:827908,end:828098},{filename:"/libraries/stdlib/genosl/mx_normalmap.osl",start:828098,end:829010},{filename:"/libraries/stdlib/genosl/mx_premult_color4.osl",start:829010,end:829112},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color3.osl",start:829112,end:829217},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color4.osl",start:829217,end:829339},{filename:"/libraries/stdlib/genosl/mx_rotate_vector2.osl",start:829339,end:829600},{filename:"/libraries/stdlib/genosl/mx_rotate_vector3.osl",start:829600,end:830670},{filename:"/libraries/stdlib/genosl/mx_surface_unlit.osl",start:830670,end:831084},{filename:"/libraries/stdlib/genosl/mx_surfacematerial.osl",start:831084,end:831367},{filename:"/libraries/stdlib/genosl/mx_time_float.osl",start:831367,end:831545},{filename:"/libraries/stdlib/genosl/mx_transformmatrix_vector2M3.osl",start:831545,end:831731},{filename:"/libraries/stdlib/genosl/mx_unpremult_color4.osl",start:831731,end:831835},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_float.osl",start:831835,end:831995},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector2.osl",start:831995,end:832161},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector3.osl",start:832161,end:832326},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_float.osl",start:832326,end:832485},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector2.osl",start:832485,end:832650},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector3.osl",start:832650,end:832814},{filename:"/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx",start:832814,end:909860},{filename:"/libraries/stdlib/stdlib_defs.mtlx",start:909860,end:1187069},{filename:"/libraries/stdlib/stdlib_ng.mtlx",start:1187069,end:1509715},{filename:"/libraries/targets/essl.mtlx",start:1509715,end:1510177},{filename:"/libraries/targets/genglsl.mtlx",start:1510177,end:1510630},{filename:"/libraries/targets/genmdl.mtlx",start:1510630,end:1511082},{filename:"/libraries/targets/genmsl.mtlx",start:1511082,end:1511552},{filename:"/libraries/targets/genosl.mtlx",start:1511552,end:1512004}],remote_package_size:1512004})})();var W=Object.assign({},D),$="./this.program",gA=(A,I)=>{throw I},t="";function r(A){return D.locateFile?D.locateFile(A,t):t+A}var wA,lA;if(s){var UA=require("fs");require("path"),t=__dirname+"/",lA=A=>{A=DI(A)?new URL(A):A;var I=UA.readFileSync(A);return I},wA=async(A,I=!0)=>{A=DI(A)?new URL(A):A;var g=UA.readFileSync(A,I?void 0:"utf8");return g},!D.thisProgram&&process.argv.length>1&&($=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),gA=(A,I)=>{throw process.exitCode=A,I}}else(L||F)&&(F?t=self.location.href:typeof document<"u"&&document.currentScript&&(t=document.currentScript.src),J&&(t=J),t.startsWith("blob:")?t="":t=t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1),F&&(lA=A=>{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}),wA=async A=>{if(DI(A))return new Promise((g,B)=>{var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=()=>{if(C.status==200||C.status==0&&C.response){g(C.response);return}B(C.status)},C.onerror=B,C.send(null)});var I=await fetch(A,{credentials:"same-origin"});if(I.ok)return I.arrayBuffer();throw new Error(I.status+" : "+I.url)});var kA=D.print||console.log.bind(console),bA=D.printErr||console.error.bind(console);Object.assign(D,W),W=null,D.arguments&&D.arguments,D.thisProgram&&($=D.thisProgram);var mA=D.wasmBinary,XA,fA=!1,O,YA,oA,SA,rA,T,n,hg,fI;function wg(){var A=XA.buffer;D.HEAP8=YA=new Int8Array(A),D.HEAP16=SA=new Int16Array(A),D.HEAPU8=oA=new Uint8Array(A),D.HEAPU16=rA=new Uint16Array(A),D.HEAP32=T=new Int32Array(A),D.HEAPU32=n=new Uint32Array(A),D.HEAPF32=hg=new Float32Array(A),D.HEAPF64=fI=new Float64Array(A)}var og=[],Rg=[],Zg=[];function dB(){if(D.preRun)for(typeof D.preRun=="function"&&(D.preRun=[D.preRun]);D.preRun.length;)mB(D.preRun.shift());PI(og)}function sB(){!D.noFSInit&&!Q.initialized&&Q.init(),Q.ignorePermissions=!1,PI(Rg)}function KB(){if(D.postRun)for(typeof D.postRun=="function"&&(D.postRun=[D.postRun]);D.postRun.length;)VB(D.postRun.shift());PI(Zg)}function mB(A){og.unshift(A)}function XB(A){Rg.unshift(A)}function VB(A){Zg.unshift(A)}var VA=0,OA=null;function jI(A){VA++,D.monitorRunDependencies?.(VA)}function iI(A){if(VA--,D.monitorRunDependencies?.(VA),VA==0&&OA){var I=OA;OA=null,I()}}function jA(A){D.onAbort?.(A),A="Aborted("+A+")",bA(A),fA=!0,A+=". Build with -sASSERTIONS for more info.";var I=new WebAssembly.RuntimeError(A);throw l(I),I}var LB="data:application/octet-stream;base64,",bg=A=>A.startsWith(LB),DI=A=>A.startsWith("file://");function TB(){var A="JsMaterialXGenShader.wasm";return bg(A)?A:r(A)}var xI;function fB(A){if(A==xI&&mA)return new Uint8Array(mA);if(lA)return lA(A);throw"both async and sync fetching of the wasm failed"}async function jB(A){if(!mA)try{var I=await wA(A);return new Uint8Array(I)}catch{}return fB(A)}async function xB(A,I){try{var g=await jB(A),B=await WebAssembly.instantiate(g,I);return B}catch(C){bA(`failed to asynchronously prepare wasm: ${C}`),jA(C)}}async function PB(A,I,g){if(!A&&typeof WebAssembly.instantiateStreaming=="function"&&!bg(I)&&!DI(I)&&!s&&typeof fetch=="function")try{var B=fetch(I,{credentials:"same-origin"}),C=await WebAssembly.instantiateStreaming(B,g);return C}catch(E){bA(`wasm streaming compile failed: ${E}`),bA("falling back to ArrayBuffer instantiation")}return xB(I,g)}function uB(){return{a:NE}}async function vB(){function A(C,E){return EA=C.exports,XA=EA._a,wg(),mg=EA.cb,XB(EA.$a),iI(),EA}jI();function I(C){A(C.instance)}var g=uB();if(D.instantiateWasm)try{return D.instantiateWasm(g,A)}catch(C){bA(`Module.instantiateWasm callback failed with error: ${C}`),l(C)}xI??=TB();try{var B=await PB(mA,xI,g);return I(B),B}catch(C){l(C);return}}var y,QA,tB={188048:()=>{D.TreeIterator.prototype[Symbol.iterator]=function(){return this}},188132:()=>{D.GraphIterator.prototype[Symbol.iterator]=function(){return this}},188217:()=>{D.InheritanceIterator.prototype[Symbol.iterator]=function(){return this}}};class Sg{name="ExitStatus";constructor(I){this.message=`Program terminated with exit(${I})`,this.status=I}}var PI=A=>{for(;A.length>0;)A.shift()(D)},Mg=D.noExitRuntime||!0,u=A=>eg(A),v=()=>rg(),Hg=typeof TextDecoder<"u"?new TextDecoder:void 0,xA=(A,I=0,g=NaN)=>{for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.buffer&&Hg)return Hg.decode(A.subarray(I,C));for(var E="";I<C;){var G=A[I++];if(!(G&128)){E+=String.fromCharCode(G);continue}var i=A[I++]&63;if((G&224)==192){E+=String.fromCharCode((G&31)<<6|i);continue}var Y=A[I++]&63;if((G&240)==224?G=(G&15)<<12|i<<6|Y:G=(G&7)<<18|i<<12|Y<<6|A[I++]&63,G<65536)E+=String.fromCharCode(G);else{var h=G-65536;E+=String.fromCharCode(55296|h>>10,56320|h&1023)}}return E},_A=(A,I)=>A?xA(oA,A,I):"",pB=(A,I,g,B)=>jA(`Assertion failed: ${_A(A)}, at: `+[I?_A(I):"unknown filename",g,B?_A(B):"unknown function"]),YI=[],NI=0,nB=A=>{var I=new uI(A);return I.get_caught()||(I.set_caught(!0),NI--),I.set_rethrown(!1),YI.push(I),_g(A),AB(A)},aA=0,zB=()=>{j(0,0);var A=YI.pop();Og(A.excPtr),aA=0};class uI{constructor(I){this.excPtr=I,this.ptr=I-24}set_type(I){n[this.ptr+4>>2]=I}get_type(){return n[this.ptr+4>>2]}set_destructor(I){n[this.ptr+8>>2]=I}get_destructor(){return n[this.ptr+8>>2]}set_caught(I){I=I?1:0,YA[this.ptr+12]=I}get_caught(){return YA[this.ptr+12]!=0}set_rethrown(I){I=I?1:0,YA[this.ptr+13]=I}get_rethrown(){return YA[this.ptr+13]!=0}init(I,g){this.set_adjusted_ptr(0),this.set_type(I),this.set_destructor(g)}set_adjusted_ptr(I){n[this.ptr+16>>2]=I}get_adjusted_ptr(){return n[this.ptr+16>>2]}}var qB=A=>{throw aA||(aA=A),aA},hI=A=>qg(A),vI=A=>{var I=aA;if(!I)return hI(0),0;var g=new uI(I);g.set_adjusted_ptr(I);var B=g.get_type();if(!B)return hI(0),I;for(var C of A){if(C===0||C===B)break;var E=g.ptr+16;if($g(C,B,E))return hI(C),I}return hI(B),I},eB=()=>vI([]),rB=A=>vI([A]),OB=(A,I)=>vI([A,I]),_B=()=>{var A=YI.pop();A||jA("no exception to throw");var I=A.excPtr;throw A.get_rethrown()||(YI.push(A),A.set_rethrown(!0),A.set_caught(!1),NI++),aA=I,aA},$B=(A,I,g)=>{var B=new uI(A);throw B.init(I,g),aA=A,NI++,aA},AC=()=>NI,wI=()=>{var A=T[+hA.varargs>>2];return hA.varargs+=4,A},PA=wI,IA={isAbs:A=>A.charAt(0)==="/",splitPath:A=>{var I=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return I.exec(A).slice(1)},normalizeArray:(A,I)=>{for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];C==="."?A.splice(B,1):C===".."?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:A=>{var I=IA.isAbs(A),g=A.substr(-1)==="/";return A=IA.normalizeArray(A.split("/").filter(B=>!!B),!I).join("/"),!A&&!I&&(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:A=>{var I=IA.splitPath(A),g=I[0],B=I[1];return!g&&!B?".":(B&&(B=B.substr(0,B.length-1)),g+B)},basename:A=>{if(A==="/")return"/";A=IA.normalize(A),A=A.replace(/\/$/,"");var I=A.lastIndexOf("/");return I===-1?A:A.substr(I+1)},join:(...A)=>IA.normalize(A.join("/")),join2:(A,I)=>IA.normalize(A+"/"+I)},IC=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return B=>crypto.getRandomValues(B);if(s)try{var A=require("crypto"),I=A.randomFillSync;if(I)return B=>A.randomFillSync(B);var g=A.randomBytes;return B=>(B.set(g(B.byteLength)),B)}catch{}jA("initRandomDevice")},Jg=A=>(Jg=IC())(A),uA={resolve:(...A)=>{for(var I="",g=!1,B=A.length-1;B>=-1&&!g;B--){var C=B>=0?A[B]:Q.cwd();if(typeof C!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!C)return"";I=C+"/"+I,g=IA.isAbs(C)}return I=IA.normalizeArray(I.split("/").filter(E=>!!E),!g).join("/"),(g?"/":"")+I||"."},relative:(A,I)=>{A=uA.resolve(A).substr(1),I=uA.resolve(I).substr(1);function g(h){for(var w=0;w<h.length&&h[w]==="";w++);for(var R=h.length-1;R>=0&&h[R]==="";R--);return w>R?[]:h.slice(w,R-w+1)}for(var B=g(A.split("/")),C=g(I.split("/")),E=Math.min(B.length,C.length),G=E,i=0;i<E;i++)if(B[i]!==C[i]){G=i;break}for(var Y=[],i=G;i<B.length;i++)Y.push("..");return Y=Y.concat(C.slice(G)),Y.join("/")}},tI=[],pI=A=>{for(var I=0,g=0;g<A.length;++g){var B=A.charCodeAt(g);B<=127?I++:B<=2047?I+=2:B>=55296&&B<=57343?(I+=4,++g):I+=3}return I},nI=(A,I,g,B)=>{if(!(B>0))return 0;for(var C=g,E=g+B-1,G=0;G<A.length;++G){var i=A.charCodeAt(G);if(i>=55296&&i<=57343){var Y=A.charCodeAt(++G);i=65536+((i&1023)<<10)|Y&1023}if(i<=127){if(g>=E)break;I[g++]=i}else if(i<=2047){if(g+1>=E)break;I[g++]=192|i>>6,I[g++]=128|i&63}else if(i<=65535){if(g+2>=E)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|i&63}else{if(g+3>=E)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|i&63}}return I[g]=0,g-C};function Fg(A,I,g){var B=pI(A)+1,C=new Array(B),E=nI(A,C,0,C.length);return C.length=E,C}var gC=()=>{if(!tI.length){var A=null;if(s){var I=256,g=Buffer.alloc(I),B=0,C=process.stdin.fd;try{B=UA.readSync(C,g,0,I)}catch(E){if(E.toString().includes("EOF"))B=0;else throw E}B>0&&(A=g.slice(0,B).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(A=window.prompt("Input: "),A!==null&&(A+=`
`));if(!A)return null;tI=Fg(A)}return tI.shift()},LA={ttys:[],init(){},shutdown(){},register(A,I){LA.ttys[A]={input:[],output:[],ops:I},Q.registerDevice(A,LA.stream_ops)},stream_ops:{open(A){var I=LA.ttys[A.node.rdev];if(!I)throw new Q.ErrnoError(43);A.tty=I,A.seekable=!1},close(A){A.tty.ops.fsync(A.tty)},fsync(A){A.tty.ops.fsync(A.tty)},read(A,I,g,B,C){if(!A.tty||!A.tty.ops.get_char)throw new Q.ErrnoError(60);for(var E=0,G=0;G<B;G++){var i;try{i=A.tty.ops.get_char(A.tty)}catch{throw new Q.ErrnoError(29)}if(i===void 0&&E===0)throw new Q.ErrnoError(6);if(i==null)break;E++,I[g+G]=i}return E&&(A.node.atime=Date.now()),E},write(A,I,g,B,C){if(!A.tty||!A.tty.ops.put_char)throw new Q.ErrnoError(60);try{for(var E=0;E<B;E++)A.tty.ops.put_char(A.tty,I[g+E])}catch{throw new Q.ErrnoError(29)}return B&&(A.node.mtime=A.node.ctime=Date.now()),E}},default_tty_ops:{get_char(A){return gC()},put_char(A,I){I===null||I===10?(kA(xA(A.output)),A.output=[]):I!=0&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(kA(xA(A.output)),A.output=[])},ioctl_tcgets(A){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(A,I,g){return 0},ioctl_tiocgwinsz(A){return[24,80]}},default_tty1_ops:{put_char(A,I){I===null||I===10?(bA(xA(A.output)),A.output=[]):I!=0&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(bA(xA(A.output)),A.output=[])}}},BC=(A,I)=>Math.ceil(A/I)*I,lg=A=>{jA()},m={ops_table:null,mount(A){return m.createNode(null,"/",16895,0)},createNode(A,I,g,B){if(Q.isBlkdev(g)||Q.isFIFO(g))throw new Q.ErrnoError(63);m.ops_table||={dir:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr,lookup:m.node_ops.lookup,mknod:m.node_ops.mknod,rename:m.node_ops.rename,unlink:m.node_ops.unlink,rmdir:m.node_ops.rmdir,readdir:m.node_ops.readdir,symlink:m.node_ops.symlink},stream:{llseek:m.stream_ops.llseek}},file:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr},stream:{llseek:m.stream_ops.llseek,read:m.stream_ops.read,write:m.stream_ops.write,allocate:m.stream_ops.allocate,mmap:m.stream_ops.mmap,msync:m.stream_ops.msync}},link:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr,readlink:m.node_ops.readlink},stream:{}},chrdev:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr},stream:Q.chrdev_stream_ops}};var C=Q.createNode(A,I,g,B);return Q.isDir(C.mode)?(C.node_ops=m.ops_table.dir.node,C.stream_ops=m.ops_table.dir.stream,C.contents={}):Q.isFile(C.mode)?(C.node_ops=m.ops_table.file.node,C.stream_ops=m.ops_table.file.stream,C.usedBytes=0,C.contents=null):Q.isLink(C.mode)?(C.node_ops=m.ops_table.link.node,C.stream_ops=m.ops_table.link.stream):Q.isChrdev(C.mode)&&(C.node_ops=m.ops_table.chrdev.node,C.stream_ops=m.ops_table.chrdev.stream),C.atime=C.mtime=C.ctime=Date.now(),A&&(A.contents[I]=C,A.atime=A.mtime=A.ctime=C.atime),C},getFileDataAsTypedArray(A){return A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array(0)},expandFileStorage(A,I){var g=A.contents?A.contents.length:0;if(!(g>=I)){var B=1048576;I=Math.max(I,g*(g<B?2:1.125)>>>0),g!=0&&(I=Math.max(I,256));var C=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(C.subarray(0,A.usedBytes),0)}},resizeFileStorage(A,I){if(A.usedBytes!=I)if(I==0)A.contents=null,A.usedBytes=0;else{var g=A.contents;A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),A.usedBytes=I}},node_ops:{getattr(A){var I={};return I.dev=Q.isChrdev(A.mode)?A.id:1,I.ino=A.id,I.mode=A.mode,I.nlink=1,I.uid=0,I.gid=0,I.rdev=A.rdev,Q.isDir(A.mode)?I.size=4096:Q.isFile(A.mode)?I.size=A.usedBytes:Q.isLink(A.mode)?I.size=A.link.length:I.size=0,I.atime=new Date(A.atime),I.mtime=new Date(A.mtime),I.ctime=new Date(A.ctime),I.blksize=4096,I.blocks=Math.ceil(I.size/I.blksize),I},setattr(A,I){for(const g of["mode","atime","mtime","ctime"])I[g]&&(A[g]=I[g]);I.size!==void 0&&m.resizeFileStorage(A,I.size)},lookup(A,I){throw m.doesNotExistError},mknod(A,I,g,B){return m.createNode(A,I,g,B)},rename(A,I,g){var B;try{B=Q.lookupNode(I,g)}catch{}if(B){if(Q.isDir(A.mode))for(var C in B.contents)throw new Q.ErrnoError(55);Q.hashRemoveNode(B)}delete A.parent.contents[A.name],I.contents[g]=A,A.name=g,I.ctime=I.mtime=A.parent.ctime=A.parent.mtime=Date.now()},unlink(A,I){delete A.contents[I],A.ctime=A.mtime=Date.now()},rmdir(A,I){var g=Q.lookupNode(A,I);for(var B in g.contents)throw new Q.ErrnoError(55);delete A.contents[I],A.ctime=A.mtime=Date.now()},readdir(A){return[".","..",...Object.keys(A.contents)]},symlink(A,I,g){var B=m.createNode(A,I,41471,0);return B.link=g,B},readlink(A){if(!Q.isLink(A.mode))throw new Q.ErrnoError(28);return A.link}},stream_ops:{read(A,I,g,B,C){var E=A.node.contents;if(C>=A.node.usedBytes)return 0;var G=Math.min(A.node.usedBytes-C,B);if(G>8&&E.subarray)I.set(E.subarray(C,C+G),g);else for(var i=0;i<G;i++)I[g+i]=E[C+i];return G},write(A,I,g,B,C,E){if(I.buffer===YA.buffer&&(E=!1),!B)return 0;var G=A.node;if(G.mtime=G.ctime=Date.now(),I.subarray&&(!G.contents||G.contents.subarray)){if(E)return G.contents=I.subarray(g,g+B),G.usedBytes=B,B;if(G.usedBytes===0&&C===0)return G.contents=I.slice(g,g+B),G.usedBytes=B,B;if(C+B<=G.usedBytes)return G.contents.set(I.subarray(g,g+B),C),B}if(m.expandFileStorage(G,C+B),G.contents.subarray&&I.subarray)G.contents.set(I.subarray(g,g+B),C);else for(var i=0;i<B;i++)G.contents[C+i]=I[g+i];return G.usedBytes=Math.max(G.usedBytes,C+B),B},llseek(A,I,g){var B=I;if(g===1?B+=A.position:g===2&&Q.isFile(A.node.mode)&&(B+=A.node.usedBytes),B<0)throw new Q.ErrnoError(28);return B},allocate(A,I,g){m.expandFileStorage(A.node,I+g),A.node.usedBytes=Math.max(A.node.usedBytes,I+g)},mmap(A,I,g,B,C){if(!Q.isFile(A.node.mode))throw new Q.ErrnoError(43);var E,G,i=A.node.contents;if(!(C&2)&&i&&i.buffer===YA.buffer)G=!1,E=i.byteOffset;else{if(G=!0,E=lg(),!E)throw new Q.ErrnoError(48);i&&((g>0||g+I<i.length)&&(i.subarray?i=i.subarray(g,g+I):i=Array.prototype.slice.call(i,g,g+I)),YA.set(i,E))}return{ptr:E,allocated:G}},msync(A,I,g,B,C){return m.stream_ops.write(A,I,0,B,g,!1),0}}},CC=async A=>{var I=await wA(A);return new Uint8Array(I)},Ug=(A,I,g,B,C,E)=>{Q.createDataFile(A,I,g,B,C,E)},QC=D.preloadPlugins||[],EC=(A,I,g,B)=>{typeof Browser<"u"&&Browser.init();var C=!1;return QC.forEach(E=>{C||E.canHandle(I)&&(E.handle(A,I,g,B),C=!0)}),C},kg=(A,I,g,B,C,E,G,i,Y,h)=>{var w=I?uA.resolve(IA.join2(A,I)):A;function R(b){function S(o){h?.(),i||Ug(A,I,o,B,C,Y),E?.(),iI()}EC(b,w,S,()=>{G?.(),iI()})||S(b)}jI(),typeof g=="string"?CC(g).then(R,G):R(g)},GC=A=>{var I={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},g=I[A];if(typeof g>"u")throw new Error(`Unknown file open mode: ${A}`);return g},zI=(A,I)=>{var g=0;return A&&(g|=365),I&&(g|=146),g},Q={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{name="ErrnoError";constructor(A){this.errno=A}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(A){this.node=A}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(A){this.shared.flags=A}get position(){return this.shared.position}set position(A){this.shared.position=A}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.id=Q.nextInode++,this.name=I,this.mode=g,this.rdev=B,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(A){A?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(A){A?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Q.isDir(this.mode)}get isDevice(){return Q.isChrdev(this.mode)}},lookupPath(A,I={}){if(!A)return{path:"",node:null};I.follow_mount??=!0,IA.isAbs(A)||(A=Q.cwd()+"/"+A);A:for(var g=0;g<40;g++){for(var B=A.split("/").filter(h=>!!h&&h!=="."),C=Q.root,E="/",G=0;G<B.length;G++){var i=G===B.length-1;if(i&&I.parent)break;if(B[G]===".."){E=IA.dirname(E),C=C.parent;continue}E=IA.join2(E,B[G]);try{C=Q.lookupNode(C,B[G])}catch(h){if(h?.errno===44&&i&&I.noent_okay)return{path:E};throw h}if(Q.isMountpoint(C)&&(!i||I.follow_mount)&&(C=C.mounted.root),Q.isLink(C.mode)&&(!i||I.follow)){if(!C.node_ops.readlink)throw new Q.ErrnoError(52);var Y=C.node_ops.readlink(C);IA.isAbs(Y)||(Y=IA.dirname(E)+"/"+Y),A=Y+"/"+B.slice(G+1).join("/");continue A}}return{path:E,node:C}}throw new Q.ErrnoError(32)},getPath(A){for(var I;;){if(Q.isRoot(A)){var g=A.mount.mountpoint;return I?g[g.length-1]!=="/"?`${g}/${I}`:g+I:g}I=I?`${A.name}/${I}`:A.name,A=A.parent}},hashName(A,I){for(var g=0,B=0;B<I.length;B++)g=(g<<5)-g+I.charCodeAt(B)|0;return(A+g>>>0)%Q.nameTable.length},hashAddNode(A){var I=Q.hashName(A.parent.id,A.name);A.name_next=Q.nameTable[I],Q.nameTable[I]=A},hashRemoveNode(A){var I=Q.hashName(A.parent.id,A.name);if(Q.nameTable[I]===A)Q.nameTable[I]=A.name_next;else for(var g=Q.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode(A,I){var g=Q.mayLookup(A);if(g)throw new Q.ErrnoError(g);for(var B=Q.hashName(A.id,I),C=Q.nameTable[B];C;C=C.name_next){var E=C.name;if(C.parent.id===A.id&&E===I)return C}return Q.lookup(A,I)},createNode(A,I,g,B){var C=new Q.FSNode(A,I,g,B);return Q.hashAddNode(C),C},destroyNode(A){Q.hashRemoveNode(A)},isRoot(A){return A===A.parent},isMountpoint(A){return!!A.mounted},isFile(A){return(A&61440)===32768},isDir(A){return(A&61440)===16384},isLink(A){return(A&61440)===40960},isChrdev(A){return(A&61440)===8192},isBlkdev(A){return(A&61440)===24576},isFIFO(A){return(A&61440)===4096},isSocket(A){return(A&49152)===49152},flagsToPermissionString(A){var I=["r","w","rw"][A&3];return A&512&&(I+="w"),I},nodePermissions(A,I){return Q.ignorePermissions?0:I.includes("r")&&!(A.mode&292)||I.includes("w")&&!(A.mode&146)||I.includes("x")&&!(A.mode&73)?2:0},mayLookup(A){if(!Q.isDir(A.mode))return 54;var I=Q.nodePermissions(A,"x");return I||(A.node_ops.lookup?0:2)},mayCreate(A,I){if(!Q.isDir(A.mode))return 54;try{var g=Q.lookupNode(A,I);return 20}catch{}return Q.nodePermissions(A,"wx")},mayDelete(A,I,g){var B;try{B=Q.lookupNode(A,I)}catch(E){return E.errno}var C=Q.nodePermissions(A,"wx");if(C)return C;if(g){if(!Q.isDir(B.mode))return 54;if(Q.isRoot(B)||Q.getPath(B)===Q.cwd())return 10}else if(Q.isDir(B.mode))return 31;return 0},mayOpen(A,I){return A?Q.isLink(A.mode)?32:Q.isDir(A.mode)&&(Q.flagsToPermissionString(I)!=="r"||I&512)?31:Q.nodePermissions(A,Q.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd(){for(var A=0;A<=Q.MAX_OPEN_FDS;A++)if(!Q.streams[A])return A;throw new Q.ErrnoError(33)},getStreamChecked(A){var I=Q.getStream(A);if(!I)throw new Q.ErrnoError(8);return I},getStream:A=>Q.streams[A],createStream(A,I=-1){return A=Object.assign(new Q.FSStream,A),I==-1&&(I=Q.nextfd()),A.fd=I,Q.streams[I]=A,A},closeStream(A){Q.streams[A]=null},dupStream(A,I=-1){var g=Q.createStream(A,I);return g.stream_ops?.dup?.(g),g},chrdev_stream_ops:{open(A){var I=Q.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open?.(A)},llseek(){throw new Q.ErrnoError(70)}},major:A=>A>>8,minor:A=>A&255,makedev:(A,I)=>A<<8|I,registerDevice(A,I){Q.devices[A]={stream_ops:I}},getDevice:A=>Q.devices[A],getMounts(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push(...B.mounts)}return I},syncfs(A,I){typeof A=="function"&&(I=A,A=!1),Q.syncFSRequests++,Q.syncFSReq