@cesdk/cesdk-js 1.4.3 → 1.5.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/BlockAPI.d.ts +7 -0
  2. package/EventAPI.d.ts +19 -0
  3. package/ThirdPartyLicenses.md +59 -256
  4. package/api.d.ts +3 -0
  5. package/assets/core/cesdk.data +0 -0
  6. package/assets/core/cesdk.js +1 -0
  7. package/assets/core/cesdk.wasm +0 -0
  8. package/assets/extensions/ch.post.fonts/README.md +3 -0
  9. package/assets/extensions/ch.post.fonts/fonts/imgly_font_intro_black.otf +0 -0
  10. package/assets/extensions/ch.post.fonts/fonts/imgly_font_intro_medium.otf +0 -0
  11. package/assets/extensions/ch.post.fonts/fonts/imgly_font_madelyn_regular.otf +0 -0
  12. package/assets/extensions/ch.post.fonts/fonts/imgly_font_mixa_extra_bold.otf +0 -0
  13. package/assets/extensions/ch.post.fonts/fonts/imgly_font_sensa_brush_fill.otf +0 -0
  14. package/assets/extensions/ch.post.fonts/manifest.json +42 -0
  15. package/assets/extensions/ch.post.fonts/preview.png +0 -0
  16. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_ad1920_5_5_128.png +0 -0
  17. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_ancient_5_5_128.png +0 -0
  18. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_bw_5_5_128.png +0 -0
  19. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_chestnut_8_8_512.png +0 -0
  20. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_classic_5_5_128.png +0 -0
  21. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_colla_5_5_128.png +0 -0
  22. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_colorful_5_5_128.png +0 -0
  23. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_cottoncandy_5_5_128.png +0 -0
  24. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_creamy_5_5_128.png +0 -0
  25. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_dusty_5_5_128.png +0 -0
  26. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_fixie_8_8_512.png +0 -0
  27. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_flat_black_8_8_512.png +0 -0
  28. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_food_5_5_128.png +0 -0
  29. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_fridge_8_8_512.png +0 -0
  30. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_glam_5_5_128.png +0 -0
  31. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_gobblin_5_5_128.png +0 -0
  32. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_golden_5_5_128.png +0 -0
  33. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_green_gap_5_5_128.png +0 -0
  34. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_greyed_5_5_128.png +0 -0
  35. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_hard_stuff_8_8_512.png +0 -0
  36. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_highcarb_5_5_128.png +0 -0
  37. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_highcontrast_5_5_128.png +0 -0
  38. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_identity_5_5_128.png +0 -0
  39. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_inferno_8_8_512.png +0 -0
  40. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_joran_5_5_128.png +0 -0
  41. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_k1_5_5_128.png +0 -0
  42. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_k6_5_5_128.png +0 -0
  43. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_kalmen_5_5_128.png +0 -0
  44. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_keen_5_5_128.png +0 -0
  45. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_lemon_5_5_128.png +0 -0
  46. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_levante_5_5_128.png +0 -0
  47. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_litho_5_5_128.png +0 -0
  48. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_lomo100_5_5_128.png +0 -0
  49. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_low_fire_5_5_128.png +0 -0
  50. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_lucid_5_5_128.png +0 -0
  51. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_mellow_8_8_512.png +0 -0
  52. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_moss_5_5_128.png +0 -0
  53. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_neat_5_5_128.png +0 -0
  54. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_oldtimer_8_8_512.png +0 -0
  55. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_pale_5_5_128.png +0 -0
  56. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_pebble_5_5_128.png +0 -0
  57. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_pitched_5_5_128.png +0 -0
  58. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_polaroid_5_5_128.png +0 -0
  59. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_polasx_5_5_128.png +0 -0
  60. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_pro400_5_5_128.png +0 -0
  61. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_pumpkin_5_5_128.png +0 -0
  62. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_quozi_5_5_128.png +0 -0
  63. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_sepia_5_5_128.png +0 -0
  64. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_settled_5_5_128.png +0 -0
  65. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_seventies_5_5_128.png +0 -0
  66. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_snappy_5_5_128.png +0 -0
  67. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_soft_5_5_128.png +0 -0
  68. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_softly_5_5_128.png +0 -0
  69. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_solanus_5_5_128.png +0 -0
  70. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_steel_5_5_128.png +0 -0
  71. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_summer_5_5_128.png +0 -0
  72. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_sunny_70s_8_8_512.png +0 -0
  73. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_sunrise_5_5_128.png +0 -0
  74. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_tender_5_5_128.png +0 -0
  75. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_twilight_5_5_128.png +0 -0
  76. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_weathered_5_5_128.png +0 -0
  77. package/assets/extensions/ly.img.cesdk.filters.lut/LUTs/imgly_lut_zephyr_5_5_128.png +0 -0
  78. package/assets/extensions/ly.img.cesdk.fonts/fonts/imgly_font_abril_fatface_regular.ttf +0 -0
  79. package/assets/extensions/ly.img.cesdk.fonts/fonts/imgly_font_bungee_inline.ttf +0 -0
  80. package/assets/extensions/ly.img.cesdk.fonts/fonts/imgly_font_permanent_marker.ttf +0 -0
  81. package/assets/extensions/ly.img.cesdk.fonts/fonts/imgly_font_petit_formal_script.ttf +0 -0
  82. package/assets/extensions/ly.img.cesdk.fonts/fonts/imgly_font_ultra.ttf +0 -0
  83. package/assets/extensions/ly.img.cesdk.fonts/manifest.json +1 -1
  84. package/assets/extensions/ly.img.cesdk.stickers.openmoji/genmoji.mjs +1 -108
  85. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/manifest.json +199 -0
  86. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/frame.png +0 -0
  87. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/halfcircle.png +0 -0
  88. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/organic1.png +0 -0
  89. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/organic2.png +0 -0
  90. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/organic3.png +0 -0
  91. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/organic4.png +0 -0
  92. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/organicdot1.png +0 -0
  93. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/organicdot2.png +0 -0
  94. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/quartercircle-outline.png +0 -0
  95. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/quartercircle.png +0 -0
  96. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/rectanglemask.png +0 -0
  97. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/roundmask.png +0 -0
  98. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/splash1.png +0 -0
  99. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/splash2.png +0 -0
  100. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/splash3.png +0 -0
  101. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/splash4.png +0 -0
  102. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/wiggle.png +0 -0
  103. package/assets/extensions/ly.img.cesdk.vectorpaths.abstract/thumbnails/ziczac.png +0 -0
  104. package/assets/extensions/ly.img.fonts/README.md +3 -0
  105. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Light-Web/Font-EULA.pdf +0 -0
  106. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Light-Web/Supply-Light.eot +0 -0
  107. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Light-Web/Supply-Light.otf +0 -0
  108. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Light-Web/Supply-Light.ttf +0 -0
  109. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Light-Web/Supply-Light.woff +0 -0
  110. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Light-Web/Supply-Light.woff2 +0 -0
  111. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Regular-Web/Font-EULA.pdf +0 -0
  112. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Regular-Web/Supply-Regular.eot +0 -0
  113. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Regular-Web/Supply-Regular.otf +0 -0
  114. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Regular-Web/Supply-Regular.ttf +0 -0
  115. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Regular-Web/Supply-Regular.woff +0 -0
  116. package/assets/extensions/ly.img.fonts/fonts/SupplyMono-Regular-Web/Supply-Regular.woff2 +0 -0
  117. package/assets/extensions/ly.img.fonts/manifest.json +24 -0
  118. package/assets/extensions/ly.img.fonts/preview.png +0 -0
  119. package/assets/i18n/de.json +22 -7
  120. package/assets/i18n/en.json +38 -23
  121. package/assets/ui/stylesheets/cesdk.css +4 -5
  122. package/cesdk-engine.umd.d.ts +3 -0
  123. package/cesdk-engine.umd.js +1 -1
  124. package/cesdk.umd.js +1 -1
  125. package/index.html +3 -23
  126. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ var CESDK=(()=>{var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(t){var r,n,o=void 0!==(t=t||{})?t:{};o.ready=new Promise((function(e,t){r=e,n=t})),Object.getOwnPropertyDescriptor(o.ready,"_main")||(Object.defineProperty(o.ready,"_main",{configurable:!0,get:function(){Ue("You are getting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_main",{configurable:!0,set:function(){Ue("You are setting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___getTypeName")||(Object.defineProperty(o.ready,"___getTypeName",{configurable:!0,get:function(){Ue("You are getting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___getTypeName",{configurable:!0,set:function(){Ue("You are setting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___embind_register_native_and_builtin_types")||(Object.defineProperty(o.ready,"___embind_register_native_and_builtin_types",{configurable:!0,get:function(){Ue("You are getting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___embind_register_native_and_builtin_types",{configurable:!0,set:function(){Ue("You are setting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___stdio_exit")||(Object.defineProperty(o.ready,"___stdio_exit",{configurable:!0,get:function(){Ue("You are getting ___stdio_exit on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___stdio_exit",{configurable:!0,set:function(){Ue("You are setting ___stdio_exit on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"onRuntimeInitialized")||(Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,get:function(){Ue("You are getting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,set:function(){Ue("You are setting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),o.expectedDataFileDownloads||(o.expectedDataFileDownloads=0),o.expectedDataFileDownloads++,o.ENVIRONMENT_IS_PTHREAD||function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/");var t="cesdk.data";"function"!=typeof o.locateFilePackage||o.locateFile||(o.locateFile=o.locateFilePackage,O("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var r,n,i,a,s=o.locateFile?o.locateFile(t,""):t,c=e.remote_package_size,d=null,u=o.getPreloadedPackage?o.getPreloadedPackage(s,c):null;function l(){function t(e,t){if(!e)throw t+(new Error).stack}function r(e,t,r){this.start=e,this.end=t,this.audio=r}o.FS_createPath("/","ly.img.cesdk",!0,!0),o.FS_createPath("/ly.img.cesdk","images",!0,!0),o.FS_createPath("/ly.img.cesdk","shaders",!0,!0),o.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),o.FS_createPath("/ly.img.cesdk","presets",!0,!0),o.FS_createPath("/ly.img.cesdk","fonts",!0,!0),r.prototype={requests:{},open:function(e,t){this.name=t,this.requests[t]=this,o.addRunDependency("fp "+this.name)},send:function(){},onload:function(){var e=this.byteArray.subarray(this.start,this.end);this.finish(e)},finish:function(e){o.FS_createDataFile(this.name,null,e,!0,!0,!0),o.removeRunDependency("fp "+this.name),this.requests[this.name]=null}};for(var n=e.files,i=0;i<n.length;++i)new r(n[i].start,n[i].end,n[i].audio||0).open("GET",n[i].filename);function a(n){t(n,"Loading data file failed."),t(n instanceof ArrayBuffer,"bad input to processPackageData");var i=new Uint8Array(n);r.prototype.byteArray=i;for(var a=e.files,s=0;s<a.length;++s)r.prototype.requests[a[s].filename].onload();o.removeRunDependency("datafile_cesdk.data")}o.addRunDependency("datafile_cesdk.data"),o.preloadResults||(o.preloadResults={}),o.preloadResults["cesdk.data"]={fromCache:!1},u?(a(u),u=null):d=a}u||(r=s,n=c,i=function(e){d?(d(e),d=null):u=e},(a=new XMLHttpRequest).open("GET",r,!0),a.responseType="arraybuffer",a.onprogress=function(e){var t=r,i=n;if(e.total&&(i=e.total),e.loaded){a.addedTotal?o.dataFileDownloads[t].loaded=e.loaded:(a.addedTotal=!0,o.dataFileDownloads||(o.dataFileDownloads={}),o.dataFileDownloads[t]={loaded:e.loaded,total:i});var s=0,c=0,d=0;for(var u in o.dataFileDownloads){var l=o.dataFileDownloads[u];s+=l.total,c+=l.loaded,d++}s=Math.ceil(s*o.expectedDataFileDownloads/d),o.setStatus&&o.setStatus("Downloading data... ("+c+"/"+s+")")}else o.dataFileDownloads||o.setStatus&&o.setStatus("Downloading data...")},a.onerror=function(e){throw new Error("NetworkError for: "+r)},a.onload=function(e){if(!(200==a.status||304==a.status||206==a.status||0==a.status&&a.response))throw new Error(a.statusText+" : "+a.responseURL);var t=a.response;i(t)},a.send(null)),o.calledRun?l():(o.preRun||(o.preRun=[]),o.preRun.push(l))}({files:[{filename:"/ly.img.cesdk/.DS_Store",start:0,end:6148},{filename:"/ly.img.cesdk/images/watermark.png",start:6148,end:96295},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:96295,end:98905},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:98905,end:99359},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:99359,end:100996},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:100996,end:103933},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:103933,end:104435},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:104435,end:107298},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:107298,end:107670},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:107670,end:109975},{filename:"/ly.img.cesdk/shaders/hsp_selective_adjustments.sksl",start:109975,end:123575},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:123575,end:124069},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:124069,end:124701},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:124701,end:125001},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:125001,end:125786},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:125786,end:126753},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:126753,end:127316},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:127316,end:133633},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:133633,end:134317},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:134317,end:134529},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:134529,end:135044},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:135044,end:138933},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:138933,end:141050},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:141050,end:142014},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:142014,end:142841},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:142841,end:143422},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:143422,end:143912},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:143912,end:148475},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:148475,end:158460},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:158460,end:161627},{filename:"/ly.img.cesdk/presets/.keep",start:161627,end:161627},{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:161627,end:432387}],remote_package_size:432387,package_uuid:"59e07676-9071-47d7-a268-618450fe6690"}),o.ENVIRONMENT_IS_PTHREAD&&(o.preRun=[]);var i=o.preRun.slice();"object"==typeof window&&"object"==typeof window.performance?o.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?o.performance=global.perf_hooks.performance:o.performance={mark:function(){},measure:function(){}},o.emscripten_ubq_asyncFetchStates=new Map,o.emscripten_ubq_asyncFetchCompletedBytes=new Map,o.emscripten_ubq_asyncFetchTotalBytes=new Map,o.emscripten_ubq_asyncFetchHeaders=new Map,o.emscripten_ubq_asyncFetchNextHandle=0,o.emscripten_ubq_asyncFetchNextHeaderHandle=0;const a={PENDING:0,FINISHED:1,ALLOCATED:2,ERROR:3},s=["GET","POST"];if(!o.preRun)throw"Module.preRun should exist because file support used it; did a pre-js delete it?";i.forEach((function(e){if(o.preRun.indexOf(e)<0)throw"All preRun tasks that exist before user pre-js code should remain after; did you replace Module or modify Module.preRun?"}));var c=Object.assign({},o),d=[],u="./this.program",l=(e,t)=>{throw t},p=!0,f=!1,m=!1,g=!1;if(o.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var E,h,_,y="";function v(e){return o.locateFile?o.locateFile(e,y):y+e}function w(e){if(e instanceof Gl)return;let t=e;e&&"object"==typeof e&&e.stack&&(t=[e,e.stack]),O("exiting due to exception: "+t)}if(g){if("object"==typeof process&&"function"==typeof require||"object"==typeof window||"function"==typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");"undefined"!=typeof read&&(E=function(e){return read(e)}),_=function(e){let t;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(t=read(e,"binary"),k("object"==typeof t),t)},h=function(e,t,r){setTimeout((()=>t(_(e))),0)},"undefined"!=typeof scriptArgs?d=scriptArgs:void 0!==arguments&&(d=arguments),"function"==typeof quit&&(l=(e,t)=>{w(t),quit(e)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)}else{if(!p&&!f)throw new Error("environment detection error");if(f?y=self.location.href:"undefined"!=typeof document&&document.currentScript&&(y=document.currentScript.src),e&&(y=e),y=0!==y.indexOf("blob:")?y.substr(0,y.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");E=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},f&&(_=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),h=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)}}var T=o.print||console.log.bind(console),O=o.printErr||console.warn.bind(console);function b(e){b.shown||(b.shown={}),b.shown[e]||(b.shown[e]=1,O(e))}Object.assign(o,c),c=null,o.arguments&&(d=o.arguments),Object.getOwnPropertyDescriptor(o,"arguments")||Object.defineProperty(o,"arguments",{configurable:!0,get:function(){Ue("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.thisProgram&&(u=o.thisProgram),Object.getOwnPropertyDescriptor(o,"thisProgram")||Object.defineProperty(o,"thisProgram",{configurable:!0,get:function(){Ue("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.quit&&(l=o.quit),Object.getOwnPropertyDescriptor(o,"quit")||Object.defineProperty(o,"quit",{configurable:!0,get:function(){Ue("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),k(void 0===o.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),k(void 0===o.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),k(void 0===o.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),k(void 0===o.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),k(void 0===o.read,"Module.read option was removed (modify read_ in JS)"),k(void 0===o.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),k(void 0===o.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),k(void 0===o.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),k(void 0===o.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Object.getOwnPropertyDescriptor(o,"read")||Object.defineProperty(o,"read",{configurable:!0,get:function(){Ue("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"readAsync")||Object.defineProperty(o,"readAsync",{configurable:!0,get:function(){Ue("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"readBinary")||Object.defineProperty(o,"readBinary",{configurable:!0,get:function(){Ue("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"setWindowTitle")||Object.defineProperty(o,"setWindowTitle",{configurable:!0,get:function(){Ue("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),k(!f,"worker environment detected but not enabled at build time. Add 'worker' to `-s ENVIRONMENT` to enable."),k(!m,"node environment detected but not enabled at build time. Add 'node' to `-s ENVIRONMENT` to enable."),k(!g,"shell environment detected but not enabled at build time. Add 'shell' to `-s ENVIRONMENT` to enable.");var D,P=0,M=e=>{P=e},R=()=>P;o.wasmBinary&&(D=o.wasmBinary),Object.getOwnPropertyDescriptor(o,"wasmBinary")||Object.defineProperty(o,"wasmBinary",{configurable:!0,get:function(){Ue("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}});var S,x=o.noExitRuntime||!0;function F(e,t="i8",r){switch("*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return Q[e>>0];case"i16":return G[e>>1];case"i32":case"i64":return V[e>>2];case"float":return q[e>>2];case"double":return Number($[e>>3]);default:Ue("invalid type for getValue: "+t)}return null}Object.getOwnPropertyDescriptor(o,"noExitRuntime")||Object.defineProperty(o,"noExitRuntime",{configurable:!0,get:function(){Ue("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),"object"!=typeof WebAssembly&&Ue("no native wasm support detected");var A,I=!1;function k(e,t){e||Ue("Assertion failed"+(t?": "+t:""))}var C="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function N(e,t,r){for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.subarray&&C)return C.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if(224==(240&a)?a=(15&a)<<12|s<<6|c:(240!=(248&a)&&b("Invalid UTF-8 leading byte 0x"+a.toString(16)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),a=(7&a)<<18|s<<12|c<<6|63&e[t++]),a<65536)i+=String.fromCharCode(a);else{var d=a-65536;i+=String.fromCharCode(55296|d>>10,56320|1023&d)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function U(e,t){return e?N(B,e,t):""}function j(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;s>1114111&&b("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o}function L(e,t,r){return k("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),j(e,B,t,r)}function H(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}var X,Q,B,G,W,V,z,q,$,Y="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function K(e,t){k(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&W[n];)++n;if((r=n<<1)-e>32&&Y)return Y.decode(B.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=G[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function J(e,t,r){if(k(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),k("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);G[t>>1]=a,t+=2}return G[t>>1]=0,t-n}function Z(e){return 2*e.length}function ee(e,t){k(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,n="";!(r>=t/4);){var o=V[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var i=o-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(o)}return n}function te(e,t,r){if(k(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),k("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),V[t>>2]=a,(t+=4)+4>o)break}return V[t>>2]=0,t-n}function re(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t}function ne(e){var t=H(e)+1,r=Sl(t);return j(e,Q,r,t),r}function oe(e,t){k(e.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),Q.set(e,t)}function ie(e,t,r){for(var n=0;n<e.length;++n)k(e.charCodeAt(n)===(255&e.charCodeAt(n))),Q[t++>>0]=e.charCodeAt(n);r||(Q[t>>0]=0)}function ae(e,t){return e%t>0&&(e+=t-e%t),e}function se(e){X=e,o.HEAP8=Q=new Int8Array(e),o.HEAP16=G=new Int16Array(e),o.HEAP32=V=new Int32Array(e),o.HEAPU8=B=new Uint8Array(e),o.HEAPU16=W=new Uint16Array(e),o.HEAPU32=z=new Uint32Array(e),o.HEAPF32=q=new Float32Array(e),o.HEAPF64=$=new Float64Array(e)}var ce=5242880;o.TOTAL_STACK&&k(ce===o.TOTAL_STACK,"the stack size can no longer be determined at runtime");var de,ue=o.INITIAL_MEMORY||268435456;function le(){var e=Pl();k(0==(3&e)),V[e+4>>2]=34821223,V[e+8>>2]=2310721022,V[0]=1668509029}function pe(){if(!I){var e=Pl(),t=z[e+4>>2],r=z[e+8>>2];34821223==t&&2310721022==r||Ue("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+r.toString(16)+" 0x"+t.toString(16)),1668509029!==V[0]&&Ue("Runtime error: The application has corrupted its heap memory area (address zero)!")}}Object.getOwnPropertyDescriptor(o,"INITIAL_MEMORY")||Object.defineProperty(o,"INITIAL_MEMORY",{configurable:!0,get:function(){Ue("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),k(ue>=ce,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+ue+"! (TOTAL_STACK="+ce+")"),k("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),k(!o.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),k(268435456==ue,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"}();var fe=[],me=[],ge=[],Ee=[],he=[],_e=!1,ye=!1,ve=0;function we(){return x||ve>0}function Te(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)Me(o.preRun.shift());qe(fe)}function Oe(){pe(),k(!_e),_e=!0,o.noFSInit||Et.init.initialized||Et.init(),Et.ignorePermissions=!1,ct.init(),qe(me)}function be(){pe(),qe(ge)}function De(){pe(),ye=!0}function Pe(){if(pe(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)Se(o.postRun.shift());qe(he)}function Me(e){fe.unshift(e)}function Re(e){me.unshift(e)}function Se(e){he.unshift(e)}k(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var xe=0,Fe=null,Ae=null,Ie={};function ke(e){for(var t=e;;){if(!Ie[e])return e;e=t+Math.random()}}function Ce(e){xe++,o.monitorRunDependencies&&o.monitorRunDependencies(xe),e?(k(!Ie[e]),Ie[e]=1,null===Fe&&"undefined"!=typeof setInterval&&(Fe=setInterval((function(){if(I)return clearInterval(Fe),void(Fe=null);var e=!1;for(var t in Ie)e||(e=!0,O("still waiting on run dependencies:")),O("dependency: "+t);e&&O("(end of list)")}),1e4))):O("warning: run dependency added without ID")}function Ne(e){if(xe--,o.monitorRunDependencies&&o.monitorRunDependencies(xe),e?(k(Ie[e]),delete Ie[e]):O("warning: run dependency removed without ID"),0==xe&&(null!==Fe&&(clearInterval(Fe),Fe=null),Ae)){var t=Ae;Ae=null,t()}}function Ue(e){o.onAbort&&o.onAbort(e),O(e="Aborted("+e+")"),I=!0,A=1;var t=new WebAssembly.RuntimeError(e);throw n(t),t}o.preloadedImages={},o.preloadedAudios={};var je,Le,He,Xe="data:application/octet-stream;base64,";function Qe(e){return e.startsWith(Xe)}function Be(e){return e.startsWith("file://")}function Ge(e,t){return function(){var r=e,n=t;return t||(n=o.asm),k(_e,"native function `"+r+"` called before runtime initialization"),k(!ye,"native function `"+r+"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),n[e]||k(n[e],"exported native function `"+r+"` not found"),n[e].apply(null,arguments)}}function We(e){try{if(e==je&&D)return new Uint8Array(D);if(_)return _(e);throw"both async and sync fetching of the wasm failed"}catch(e){Ue(e)}}function Ve(){return D||!p&&!f||"function"!=typeof fetch?Promise.resolve().then((function(){return We(je)})):fetch(je,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+je+"'";return e.arrayBuffer()})).catch((function(){return We(je)}))}function ze(){var e={env:hl,wasi_snapshot_preview1:hl};function t(e,t){var r=e.exports;o.asm=r,k(S=o.asm.memory,"memory not found in wasm exports"),se(S.buffer),k(de=o.asm.__indirect_function_table,"table not found in wasm exports"),Re(o.asm.__wasm_call_ctors),Ne("wasm-instantiate")}Ce("wasm-instantiate");var r=o;function i(e){k(o===r,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),r=null,t(e.instance)}function a(t){return Ve().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){O("failed to asynchronously prepare wasm: "+e),Be(je)&&O("warning: Loading from a file URI ("+je+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),Ue(e)}))}if(o.instantiateWasm)try{return o.instantiateWasm(e,t)}catch(e){return O("Module.instantiateWasm callback failed with error: "+e),!1}return(D||"function"!=typeof WebAssembly.instantiateStreaming||Qe(je)||"function"!=typeof fetch?a(i):fetch(je,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(i,(function(e){return O("wasm streaming compile failed: "+e),O("falling back to ArrayBuffer instantiation"),a(i)}))}))).catch(n),{}}function qe(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?Je(r)():Je(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(o)}}function $e(e){return b("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function Ye(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t=$e(e);return e===t?e:t+" ["+e+"]"}))}Qe(je="cesdk.wasm")||(je=v(je));var Ke=[];function Je(e){var t=Ke[e];return t||(e>=Ke.length&&(Ke.length=e+1),Ke[e]=t=de.get(e)),k(de.get(e)==t,"JavaScript-side Wasm function table mirror is out of date!"),t}function Ze(e){if(e instanceof Gl||"unwind"==e)return A;l(1,e)}function et(e,t,r,n){Ue("Assertion failed: "+U(e)+", at: "+[t?U(t):"unknown filename",r,n?U(n):"unknown function"])}function tt(e){return _l(e+16)+16}function rt(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){V[this.ptr+4>>2]=e},this.get_type=function(){return V[this.ptr+4>>2]},this.set_destructor=function(e){V[this.ptr+8>>2]=e},this.get_destructor=function(){return V[this.ptr+8>>2]},this.set_refcount=function(e){V[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,Q[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=Q[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,Q[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=Q[this.ptr+13>>0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=V[this.ptr>>2];V[this.ptr>>2]=e+1},this.release_ref=function(){var e=V[this.ptr>>2];return V[this.ptr>>2]=e-1,k(e>0),1===e}}function nt(e,t,r){throw new rt(e).init(t,r),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."}function ot(e){return V[vl()>>2]=e,e}var it={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=it.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=it.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=it.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return it.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return it.normalize(e.join("/"))},join2:function(e,t){return it.normalize(e+"/"+t)}};function at(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){Ue("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}var st={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Et.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t="/"===n.charAt(0)}return(t?"/":"")+(e=it.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=st.resolve(e).substr(1),t=st.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var c=[];for(s=a;s<n.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},ct={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){ct.ttys[e]={input:[],output:[],ops:t},Et.registerDevice(e,ct.stream_ops)},stream_ops:{open:function(e){var t=ct.ttys[e.node.rdev];if(!t)throw new Et.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Et.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Et.ErrnoError(29)}if(void 0===s&&0===i)throw new Et.ErrnoError(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Et.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new Et.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n"),!t)return null;e.input=gl(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(T(N(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(T(N(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(O(N(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(O(N(e.output,0)),e.output=[])}}};function dt(e,t){B.fill(0,e,e+t)}function ut(e,t){return k(t,"alignment argument is required"),Math.ceil(e/t)*t}function lt(e){e=ut(e,65536);var t=Ol(65536,e);return t?(dt(t,e),t):0}var pt={ops_table:null,mount:function(e){return pt.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(Et.isBlkdev(r)||Et.isFIFO(r))throw new Et.ErrnoError(63);pt.ops_table||(pt.ops_table={dir:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr,lookup:pt.node_ops.lookup,mknod:pt.node_ops.mknod,rename:pt.node_ops.rename,unlink:pt.node_ops.unlink,rmdir:pt.node_ops.rmdir,readdir:pt.node_ops.readdir,symlink:pt.node_ops.symlink},stream:{llseek:pt.stream_ops.llseek}},file:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr},stream:{llseek:pt.stream_ops.llseek,read:pt.stream_ops.read,write:pt.stream_ops.write,allocate:pt.stream_ops.allocate,mmap:pt.stream_ops.mmap,msync:pt.stream_ops.msync}},link:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr,readlink:pt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:pt.node_ops.getattr,setattr:pt.node_ops.setattr},stream:Et.chrdev_stream_ops}});var o=Et.createNode(e,t,r,n);return Et.isDir(o.mode)?(o.node_ops=pt.ops_table.dir.node,o.stream_ops=pt.ops_table.dir.stream,o.contents={}):Et.isFile(o.mode)?(o.node_ops=pt.ops_table.file.node,o.stream_ops=pt.ops_table.file.stream,o.usedBytes=0,o.contents=null):Et.isLink(o.mode)?(o.node_ops=pt.ops_table.link.node,o.stream_ops=pt.ops_table.link.stream):Et.isChrdev(o.mode)&&(o.node_ops=pt.ops_table.chrdev.node,o.stream_ops=pt.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Et.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Et.isDir(e.mode)?t.size=4096:Et.isFile(e.mode)?t.size=e.usedBytes:Et.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&pt.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Et.genericErrors[44]},mknod:function(e,t,r,n){return pt.createNode(e,t,r,n)},rename:function(e,t,r){if(Et.isDir(e.mode)){var n;try{n=Et.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new Et.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=Et.lookupNode(e,t);for(var n in r.contents)throw new Et.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var n=pt.createNode(e,t,41471,0);return n.link=r,n},readlink:function(e){if(!Et.isLink(e.mode))throw new Et.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(k(a>=0),a>8&&i.subarray)t.set(i.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=i[o+s];return a},write:function(e,t,r,n,o,i){if(k(!(t instanceof ArrayBuffer)),t.buffer===Q.buffer&&(i=!1),!n)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return k(0===o,"canOwn must imply no weird position inside the file"),a.contents=t.subarray(r,r+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(t.subarray(r,r+n),o),n}if(pt.expandFileStorage(a,o+n),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&Et.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Et.ErrnoError(28);return n},allocate:function(e,t,r){pt.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap:function(e,t,r,n,o,i){if(0!==t)throw new Et.ErrnoError(28);if(!Et.isFile(e.node.mode))throw new Et.ErrnoError(43);var a,s,c=e.node.contents;if(2&i||c.buffer!==X){if((n>0||n+r<c.length)&&(c=c.subarray?c.subarray(n,n+r):Array.prototype.slice.call(c,n,n+r)),s=!0,!(a=lt(r)))throw new Et.ErrnoError(48);Q.set(c,a)}else s=!1,a=c.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,r,n,o){if(!Et.isFile(e.node.mode))throw new Et.ErrnoError(43);return 2&o||pt.stream_ops.write(e,t,0,n,r,!1),0}}};function ft(e,t,r,n){var o=n?"":ke("al "+e);h(e,(function(r){k(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(r)),o&&Ne(o)}),(function(t){if(!r)throw'Loading data file "'+e+'" failed.';r()})),o&&Ce(o)}var mt={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},gt={},Et={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=st.resolve(Et.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var n in r)void 0===t[n]&&(t[n]=r[n]);if(t.recurse_count>8)throw new Et.ErrnoError(32);for(var o=it.normalizeArray(e.split("/").filter((e=>!!e)),!1),i=Et.root,a="/",s=0;s<o.length;s++){var c=s===o.length-1;if(c&&t.parent)break;if(i=Et.lookupNode(i,o[s]),a=it.join2(a,o[s]),Et.isMountpoint(i)&&(!c||c&&t.follow_mount)&&(i=i.mounted.root),!c||t.follow)for(var d=0;Et.isLink(i.mode);){var u=Et.readlink(a);if(a=st.resolve(it.dirname(a),u),i=Et.lookupPath(a,{recurse_count:t.recurse_count}).node,d++>40)throw new Et.ErrnoError(32)}}return{path:a,node:i}},getPath:e=>{for(var t;;){if(Et.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%Et.nameTable.length},hashAddNode:e=>{var t=Et.hashName(e.parent.id,e.name);e.name_next=Et.nameTable[t],Et.nameTable[t]=e},hashRemoveNode:e=>{var t=Et.hashName(e.parent.id,e.name);if(Et.nameTable[t]===e)Et.nameTable[t]=e.name_next;else for(var r=Et.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=Et.mayLookup(e);if(r)throw new Et.ErrnoError(r,e);for(var n=Et.hashName(e.id,t),o=Et.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return Et.lookup(e,t)},createNode:(e,t,r,n)=>{k("object"==typeof e);var o=new Et.FSNode(e,t,r,n);return Et.hashAddNode(o),o},destroyNode:e=>{Et.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=Et.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Et.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>Et.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return Et.lookupNode(e,t),20}catch(e){}return Et.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var n;try{n=Et.lookupNode(e,t)}catch(e){return e.errno}var o=Et.nodePermissions(e,"wx");if(o)return o;if(r){if(!Et.isDir(n.mode))return 54;if(Et.isRoot(n)||Et.getPath(n)===Et.cwd())return 10}else if(Et.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Et.isLink(e.mode)?32:Et.isDir(e.mode)&&("r"!==Et.flagsToPermissionString(t)||512&t)?31:Et.nodePermissions(e,Et.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=Et.MAX_OPEN_FDS)=>{for(var r=e;r<=t;r++)if(!Et.streams[r])return r;throw new Et.ErrnoError(33)},getStream:e=>Et.streams[e],createStream:(e,t,r)=>{Et.FSStream||(Et.FSStream=function(){},Et.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}),e=Object.assign(new Et.FSStream,e);var n=Et.nextfd(t,r);return e.fd=n,Et.streams[n]=e,e},closeStream:e=>{Et.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Et.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Et.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Et.devices[e]={stream_ops:t}},getDevice:e=>Et.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),Et.syncFSRequests++,Et.syncFSRequests>1&&O("warning: "+Et.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=Et.getMounts(Et.root.mount),n=0;function o(e){return k(Et.syncFSRequests>0),Et.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount:(e,t,r)=>{if("string"==typeof e)throw e;var n,o="/"===r,i=!r;if(o&&Et.root)throw new Et.ErrnoError(10);if(!o&&!i){var a=Et.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Et.isMountpoint(n))throw new Et.ErrnoError(10);if(!Et.isDir(n.mode))throw new Et.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?Et.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount:e=>{var t=Et.lookupPath(e,{follow_mount:!1});if(!Et.isMountpoint(t.node))throw new Et.ErrnoError(28);var r=t.node,n=r.mounted,o=Et.getMounts(n);Object.keys(Et.nameTable).forEach((e=>{for(var t=Et.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&Et.destroyNode(t),t=r}})),r.mounted=null;var i=r.mount.mounts.indexOf(n);k(-1!==i),r.mount.mounts.splice(i,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var n=Et.lookupPath(e,{parent:!0}).node,o=it.basename(e);if(!o||"."===o||".."===o)throw new Et.ErrnoError(28);var i=Et.mayCreate(n,o);if(i)throw new Et.ErrnoError(i);if(!n.node_ops.mknod)throw new Et.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Et.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Et.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/"+r[o];try{Et.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,Et.mknod(e,t,r)),symlink:(e,t)=>{if(!st.resolve(e))throw new Et.ErrnoError(44);var r=Et.lookupPath(t,{parent:!0}).node;if(!r)throw new Et.ErrnoError(44);var n=it.basename(t),o=Et.mayCreate(r,n);if(o)throw new Et.ErrnoError(o);if(!r.node_ops.symlink)throw new Et.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename:(e,t)=>{var r,n,o=it.dirname(e),i=it.dirname(t),a=it.basename(e),s=it.basename(t);if(r=Et.lookupPath(e,{parent:!0}).node,n=Et.lookupPath(t,{parent:!0}).node,!r||!n)throw new Et.ErrnoError(44);if(r.mount!==n.mount)throw new Et.ErrnoError(75);var c,d=Et.lookupNode(r,a),u=st.relative(e,i);if("."!==u.charAt(0))throw new Et.ErrnoError(28);if("."!==(u=st.relative(t,o)).charAt(0))throw new Et.ErrnoError(55);try{c=Et.lookupNode(n,s)}catch(e){}if(d!==c){var l=Et.isDir(d.mode),p=Et.mayDelete(r,a,l);if(p)throw new Et.ErrnoError(p);if(p=c?Et.mayDelete(n,s,l):Et.mayCreate(n,s))throw new Et.ErrnoError(p);if(!r.node_ops.rename)throw new Et.ErrnoError(63);if(Et.isMountpoint(d)||c&&Et.isMountpoint(c))throw new Et.ErrnoError(10);if(n!==r&&(p=Et.nodePermissions(r,"w")))throw new Et.ErrnoError(p);Et.hashRemoveNode(d);try{r.node_ops.rename(d,n,s)}catch(e){throw e}finally{Et.hashAddNode(d)}}},rmdir:e=>{var t=Et.lookupPath(e,{parent:!0}).node,r=it.basename(e),n=Et.lookupNode(t,r),o=Et.mayDelete(t,r,!0);if(o)throw new Et.ErrnoError(o);if(!t.node_ops.rmdir)throw new Et.ErrnoError(63);if(Et.isMountpoint(n))throw new Et.ErrnoError(10);t.node_ops.rmdir(t,r),Et.destroyNode(n)},readdir:e=>{var t=Et.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Et.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Et.lookupPath(e,{parent:!0}).node;if(!t)throw new Et.ErrnoError(44);var r=it.basename(e),n=Et.lookupNode(t,r),o=Et.mayDelete(t,r,!1);if(o)throw new Et.ErrnoError(o);if(!t.node_ops.unlink)throw new Et.ErrnoError(63);if(Et.isMountpoint(n))throw new Et.ErrnoError(10);t.node_ops.unlink(t,r),Et.destroyNode(n)},readlink:e=>{var t=Et.lookupPath(e).node;if(!t)throw new Et.ErrnoError(44);if(!t.node_ops.readlink)throw new Et.ErrnoError(28);return st.resolve(Et.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=Et.lookupPath(e,{follow:!t}).node;if(!r)throw new Et.ErrnoError(44);if(!r.node_ops.getattr)throw new Et.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Et.stat(e,!0),chmod:(e,t,r)=>{var n;if(!(n="string"==typeof e?Et.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Et.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Et.chmod(e,t,!0)},fchmod:(e,t)=>{var r=Et.getStream(e);if(!r)throw new Et.ErrnoError(8);Et.chmod(r.node,t)},chown:(e,t,r,n)=>{var o;if(!(o="string"==typeof e?Et.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Et.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{Et.chown(e,t,r,!0)},fchown:(e,t,r)=>{var n=Et.getStream(e);if(!n)throw new Et.ErrnoError(8);Et.chown(n.node,t,r)},truncate:(e,t)=>{if(t<0)throw new Et.ErrnoError(28);var r;if(!(r="string"==typeof e?Et.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Et.ErrnoError(63);if(Et.isDir(r.mode))throw new Et.ErrnoError(31);if(!Et.isFile(r.mode))throw new Et.ErrnoError(28);var n=Et.nodePermissions(r,"w");if(n)throw new Et.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=Et.getStream(e);if(!r)throw new Et.ErrnoError(8);if(0==(2097155&r.flags))throw new Et.ErrnoError(28);Et.truncate(r.node,t)},utime:(e,t,r)=>{var n=Et.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open:(e,t,r,n,i)=>{if(""===e)throw new Et.ErrnoError(44);var a;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Et.modeStringToFlags(t):t)?4095&r|32768:0,"object"==typeof e)a=e;else{e=it.normalize(e);try{a=Et.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(a){if(128&t)throw new Et.ErrnoError(20)}else a=Et.mknod(e,r,0),s=!0;if(!a)throw new Et.ErrnoError(44);if(Et.isChrdev(a.mode)&&(t&=-513),65536&t&&!Et.isDir(a.mode))throw new Et.ErrnoError(54);if(!s){var c=Et.mayOpen(a,t);if(c)throw new Et.ErrnoError(c)}512&t&&Et.truncate(a,0),t&=-131713;var d=Et.createStream({node:a,path:Et.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},n,i);return d.stream_ops.open&&d.stream_ops.open(d),!o.logReadFiles||1&t||(Et.readFiles||(Et.readFiles={}),e in Et.readFiles||(Et.readFiles[e]=1)),d},close:e=>{if(Et.isClosed(e))throw new Et.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Et.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(Et.isClosed(e))throw new Et.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Et.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Et.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,n,o)=>{if(n<0||o<0)throw new Et.ErrnoError(28);if(Et.isClosed(e))throw new Et.ErrnoError(8);if(1==(2097155&e.flags))throw new Et.ErrnoError(8);if(Et.isDir(e.node.mode))throw new Et.ErrnoError(31);if(!e.stream_ops.read)throw new Et.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Et.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=a),a},write:(e,t,r,n,o,i)=>{if(n<0||o<0)throw new Et.ErrnoError(28);if(Et.isClosed(e))throw new Et.ErrnoError(8);if(0==(2097155&e.flags))throw new Et.ErrnoError(8);if(Et.isDir(e.node.mode))throw new Et.ErrnoError(31);if(!e.stream_ops.write)throw new Et.ErrnoError(28);e.seekable&&1024&e.flags&&Et.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Et.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,i);return a||(e.position+=s),s},allocate:(e,t,r)=>{if(Et.isClosed(e))throw new Et.ErrnoError(8);if(t<0||r<=0)throw new Et.ErrnoError(28);if(0==(2097155&e.flags))throw new Et.ErrnoError(8);if(!Et.isFile(e.node.mode)&&!Et.isDir(e.node.mode))throw new Et.ErrnoError(43);if(!e.stream_ops.allocate)throw new Et.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,n,o,i)=>{if(0!=(2&o)&&0==(2&i)&&2!=(2097155&e.flags))throw new Et.ErrnoError(2);if(1==(2097155&e.flags))throw new Et.ErrnoError(2);if(!e.stream_ops.mmap)throw new Et.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o,i)},msync:(e,t,r,n,o)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new Et.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var r,n=Et.open(e,t.flags),o=Et.stat(e).size,i=new Uint8Array(o);return Et.read(n,i,0,o,0),"utf8"===t.encoding?r=N(i,0):"binary"===t.encoding&&(r=i),Et.close(n),r},writeFile:(e,t,r={})=>{r.flags=r.flags||577;var n=Et.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(H(t)+1),i=j(t,o,0,o.length);Et.write(n,o,0,i,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Et.write(n,t,0,t.byteLength,void 0,r.canOwn)}Et.close(n)},cwd:()=>Et.currentPath,chdir:e=>{var t=Et.lookupPath(e,{follow:!0});if(null===t.node)throw new Et.ErrnoError(44);if(!Et.isDir(t.node.mode))throw new Et.ErrnoError(54);var r=Et.nodePermissions(t.node,"x");if(r)throw new Et.ErrnoError(r);Et.currentPath=t.path},createDefaultDirectories:()=>{Et.mkdir("/tmp"),Et.mkdir("/home"),Et.mkdir("/home/web_user")},createDefaultDevices:()=>{Et.mkdir("/dev"),Et.registerDevice(Et.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n}),Et.mkdev("/dev/null",Et.makedev(1,3)),ct.register(Et.makedev(5,0),ct.default_tty_ops),ct.register(Et.makedev(6,0),ct.default_tty1_ops),Et.mkdev("/dev/tty",Et.makedev(5,0)),Et.mkdev("/dev/tty1",Et.makedev(6,0));var e=at();Et.createDevice("/dev","random",e),Et.createDevice("/dev","urandom",e),Et.mkdir("/dev/shm"),Et.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Et.mkdir("/proc");var e=Et.mkdir("/proc/self");Et.mkdir("/proc/self/fd"),Et.mount({mount:()=>{var t=Et.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,n=Et.getStream(r);if(!n)throw new Et.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{o.stdin?Et.createDevice("/dev","stdin",o.stdin):Et.symlink("/dev/tty","/dev/stdin"),o.stdout?Et.createDevice("/dev","stdout",null,o.stdout):Et.symlink("/dev/tty","/dev/stdout"),o.stderr?Et.createDevice("/dev","stderr",null,o.stderr):Et.symlink("/dev/tty1","/dev/stderr");var e=Et.open("/dev/stdin",0),t=Et.open("/dev/stdout",1),r=Et.open("/dev/stderr",1);k(0===e.fd,"invalid handle for stdin ("+e.fd+")"),k(1===t.fd,"invalid handle for stdout ("+t.fd+")"),k(2===r.fd,"invalid handle for stderr ("+r.fd+")")},ensureErrnoError:()=>{Et.ErrnoError||(Et.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,gt)if(gt[t]===e){this.code=t;break}},this.setErrno(e),this.message=mt[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Ye(this.stack))},Et.ErrnoError.prototype=new Error,Et.ErrnoError.prototype.constructor=Et.ErrnoError,[44].forEach((e=>{Et.genericErrors[e]=new Et.ErrnoError(e),Et.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{Et.ensureErrnoError(),Et.nameTable=new Array(4096),Et.mount(pt,{},"/"),Et.createDefaultDirectories(),Et.createDefaultDevices(),Et.createSpecialDirectories(),Et.filesystems={MEMFS:pt}},init:(e,t,r)=>{k(!Et.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)"),Et.init.initialized=!0,Et.ensureErrnoError(),o.stdin=e||o.stdin,o.stdout=t||o.stdout,o.stderr=r||o.stderr,Et.createStandardStreams()},quit:()=>{Et.init.initialized=!1,Tl();for(var e=0;e<Et.streams.length;e++){var t=Et.streams[e];t&&Et.close(t)}},getMode:(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:(e,t)=>{var r=Et.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(n=Et.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Et.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=it.basename(e),n=Et.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath:(e,t,r,n)=>{e="string"==typeof e?e:Et.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var a=it.join2(e,i);try{Et.mkdir(a)}catch(e){}e=a}}return a},createFile:(e,t,r,n,o)=>{var i=it.join2("string"==typeof e?e:Et.getPath(e),t),a=Et.getMode(n,o);return Et.create(i,a)},createDataFile:(e,t,r,n,o,i)=>{var a=t;e&&(e="string"==typeof e?e:Et.getPath(e),a=t?it.join2(e,t):e);var s=Et.getMode(n,o),c=Et.create(a,s);if(r){if("string"==typeof r){for(var d=new Array(r.length),u=0,l=r.length;u<l;++u)d[u]=r.charCodeAt(u);r=d}Et.chmod(c,146|s);var p=Et.open(c,577);Et.write(p,r,0,r.length,0,i),Et.close(p),Et.chmod(c,s)}return c},createDevice:(e,t,r,n)=>{var o=it.join2("string"==typeof e?e:Et.getPath(e),t),i=Et.getMode(!!r,!!n);Et.createDevice.major||(Et.createDevice.major=64);var a=Et.makedev(Et.createDevice.major++,0);return Et.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,t,n,o,i)=>{for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(e){throw new Et.ErrnoError(29)}if(void 0===c&&0===a)throw new Et.ErrnoError(6);if(null==c)break;a++,t[n+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,i)=>{for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new Et.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),Et.mkdev(o,i,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)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.");if(!E)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=gl(E(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Et.ErrnoError(29)}},createLazyFile:(e,t,r,n,o)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):gl(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,T("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!f)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=Et.createFile(e,t,s,n,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var d={};return Object.keys(c.stream_ops).forEach((e=>{var t=c.stream_ops[e];d[e]=function(){return Et.forceLoadFile(c),t.apply(null,arguments)}})),d.read=(e,t,r,n,o)=>{Et.forceLoadFile(c);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(k(a>=0),i.slice)for(var s=0;s<a;s++)t[r+s]=i[o+s];else for(s=0;s<a;s++)t[r+s]=i.get(o+s);return a},c.stream_ops=d,c},createPreloadedFile:(e,t,r,n,o,i,a,s,c,d)=>{var u=t?st.resolve(it.join2(e,t)):e,l=ke("cp "+u);function p(r){function p(r){d&&d(),s||Et.createDataFile(e,t,r,n,o,c),i&&i(),Ne(l)}Eo.handledByPreloadPlugin(r,u,p,(()=>{a&&a(),Ne(l)}))||p(r)}Ce(l),"string"==typeof r?ft(r,(e=>p(e)),a):p(r)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var n=Et.indexedDB();try{var o=n.open(Et.DB_NAME(),Et.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=()=>{T("creating db"),o.result.createObjectStore(Et.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([Et.DB_STORE_NAME],"readwrite"),i=n.objectStore(Et.DB_STORE_NAME),a=0,s=0,c=e.length;function d(){0==s?t():r()}e.forEach((e=>{var t=i.put(Et.analyzePath(e).object.contents,e);t.onsuccess=()=>{++a+s==c&&d()},t.onerror=()=>{s++,a+s==c&&d()}})),n.onerror=r},o.onerror=r},loadFilesFromDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var n=Et.indexedDB();try{var o=n.open(Et.DB_NAME(),Et.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=r,o.onsuccess=()=>{var n=o.result;try{var i=n.transaction([Et.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var a=i.objectStore(Et.DB_STORE_NAME),s=0,c=0,d=e.length;function u(){0==c?t():r()}e.forEach((e=>{var t=a.get(e);t.onsuccess=()=>{Et.analyzePath(e).exists&&Et.unlink(e),Et.createDataFile(it.dirname(e),it.basename(e),t.result,!0,!0,!0),++s+c==d&&u()},t.onerror=()=>{c++,s+c==d&&u()}})),i.onerror=r},o.onerror=r},absolutePath:()=>{Ue("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:()=>{Ue("FS.createFolder has been removed; use FS.mkdir instead")},createLink:()=>{Ue("FS.createLink has been removed; use FS.symlink instead")},joinPath:()=>{Ue("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:()=>{Ue("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:()=>{Ue("FS.standardizePath has been removed; use PATH.normalize instead")}},ht={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if("/"===t[0])return t;var n;if(-100===e)n=Et.cwd();else{var o=Et.getStream(e);if(!o)throw new Et.ErrnoError(8);n=o.path}if(0==t.length){if(!r)throw new Et.ErrnoError(44);return n}return it.join2(n,t)},doStat:function(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&it.normalize(t)!==it.normalize(Et.getPath(e.node)))return-54;throw e}return V[r>>2]=n.dev,V[r+4>>2]=0,V[r+8>>2]=n.ino,V[r+12>>2]=n.mode,V[r+16>>2]=n.nlink,V[r+20>>2]=n.uid,V[r+24>>2]=n.gid,V[r+28>>2]=n.rdev,V[r+32>>2]=0,He=[n.size>>>0,(Le=n.size,+Math.abs(Le)>=1?Le>0?(0|Math.min(+Math.floor(Le/4294967296),4294967295))>>>0:~~+Math.ceil((Le-+(~~Le>>>0))/4294967296)>>>0:0)],V[r+40>>2]=He[0],V[r+44>>2]=He[1],V[r+48>>2]=4096,V[r+52>>2]=n.blocks,V[r+56>>2]=n.atime.getTime()/1e3|0,V[r+60>>2]=0,V[r+64>>2]=n.mtime.getTime()/1e3|0,V[r+68>>2]=0,V[r+72>>2]=n.ctime.getTime()/1e3|0,V[r+76>>2]=0,He=[n.ino>>>0,(Le=n.ino,+Math.abs(Le)>=1?Le>0?(0|Math.min(+Math.floor(Le/4294967296),4294967295))>>>0:~~+Math.ceil((Le-+(~~Le>>>0))/4294967296)>>>0:0)],V[r+80>>2]=He[0],V[r+84>>2]=He[1],0},doMsync:function(e,t,r,n,o){var i=B.slice(e,e+r);Et.msync(t,i,o,r,n)},doMkdir:function(e,t){return"/"===(e=it.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Et.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Et.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var n=Et.readlink(e),o=Math.min(r,H(n)),i=Q[t+o];return L(n,t,r+1),Q[t+o]=i,o},doAccess:function(e,t){if(-8&t)return-28;var r=Et.lookupPath(e,{follow:!0}).node;if(!r)return-44;var n="";return 4&t&&(n+="r"),2&t&&(n+="w"),1&t&&(n+="x"),n&&Et.nodePermissions(r,n)?-2:0},doDup:function(e,t,r){var n=Et.getStream(r);return n&&Et.close(n),Et.open(e,t,0,r,r).fd},doReadv:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=V[t+8*i>>2],s=V[t+(8*i+4)>>2],c=Et.read(e,Q,a,s,n);if(c<0)return-1;if(o+=c,c<s)break}return o},doWritev:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=V[t+8*i>>2],s=V[t+(8*i+4)>>2],c=Et.write(e,Q,a,s,n);if(c<0)return-1;o+=c}return o},varargs:void 0,get:function(){return k(null!=ht.varargs),ht.varargs+=4,V[ht.varargs-4>>2]},getStr:function(e){return U(e)},getStreamFromFD:function(e){var t=Et.getStream(e);if(!t)throw new Et.ErrnoError(8);return t},get64:function(e,t){return k(e>=0?0===t:-1===t),e}};function _t(e,t,r){ht.varargs=r;try{var n=ht.getStreamFromFD(e);switch(t){case 0:return(o=ht.get())<0?-28:Et.open(n.path,n.flags,0,o).fd;case 1:case 2:return 0;case 3:return n.flags;case 4:var o=ht.get();return n.flags|=o,0;case 5:return o=ht.get(),G[o+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return ot(28),-1;default:return-28}}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function yt(e,t){try{var r=ht.getStreamFromFD(e);return ht.doStat(Et.stat,r.path,t)}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function vt(e,t,r,n){try{t=ht.getStr(t);var o=256&n,i=4096&n;return k(!(n&=-4353),n),t=ht.calculateAt(e,t,i),ht.doStat(o?Et.lstat:Et.stat,t,r)}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function wt(e,t,r){try{var n=ht.getStreamFromFD(e);n.getdents||(n.getdents=Et.readdir(n.path));for(var o=280,i=0,a=Et.llseek(n,0,1),s=Math.floor(a/o);s<n.getdents.length&&i+o<=r;){var c,d,u=n.getdents[s];if("."===u)c=n.node.id,d=4;else if(".."===u)c=Et.lookupPath(n.path,{parent:!0}).node.id,d=4;else{var l=Et.lookupNode(n.node,u);c=l.id,d=Et.isChrdev(l.mode)?2:Et.isDir(l.mode)?4:Et.isLink(l.mode)?10:8}k(c),He=[c>>>0,(Le=c,+Math.abs(Le)>=1?Le>0?(0|Math.min(+Math.floor(Le/4294967296),4294967295))>>>0:~~+Math.ceil((Le-+(~~Le>>>0))/4294967296)>>>0:0)],V[t+i>>2]=He[0],V[t+i+4>>2]=He[1],He=[(s+1)*o>>>0,(Le=(s+1)*o,+Math.abs(Le)>=1?Le>0?(0|Math.min(+Math.floor(Le/4294967296),4294967295))>>>0:~~+Math.ceil((Le-+(~~Le>>>0))/4294967296)>>>0:0)],V[t+i+8>>2]=He[0],V[t+i+12>>2]=He[1],G[t+i+16>>1]=280,Q[t+i+18>>0]=d,L(u,t+i+19,256),i+=o,s+=1}return Et.llseek(n,s*o,0),i}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function Tt(e,t,r){ht.varargs=r;try{var n=ht.getStreamFromFD(e);switch(t){case 21509:case 21505:return n.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=ht.get();return V[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:return o=ht.get(),Et.ioctl(n,t,o);case 21523:case 21524:return n.tty?0:-59;default:Ue("bad ioctl syscall "+t)}}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function Ot(e,t){try{return e=ht.getStr(e),ht.doStat(Et.lstat,e,t)}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function bt(e,t,r){ht.varargs=r;try{var n=ht.getStr(e),o=r?ht.get():0;return Et.open(n,t,o).fd}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function Dt(e,t){try{return e=ht.getStr(e),ht.doStat(Et.stat,e,t)}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function Pt(e,t){Ue("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function Mt(e,t){Ue("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}var Rt={};function St(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function xt(e){return this.fromWireType(z[e>>2])}var Ft={},At={},It={},kt=48,Ct=57;function Nt(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=kt&&t<=Ct?"_"+e:e}function Ut(e,t){return e=Nt(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function jt(e,t){var r=Ut(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var Lt=void 0;function Ht(e){throw new Lt(e)}function Xt(e,t,r){function n(t){var n=r(t);n.length!==e.length&&Ht("Mismatched type converter count");for(var o=0;o<e.length;++o)Jt(e[o],n[o])}e.forEach((function(e){It[e]=t}));var o=new Array(t.length),i=[],a=0;t.forEach((function(e,t){At.hasOwnProperty(e)?o[t]=At[e]:(i.push(e),Ft.hasOwnProperty(e)||(Ft[e]=[]),Ft[e].push((function(){o[t]=At[e],++a===i.length&&n(o)})))})),0===i.length&&n(o)}function Qt(e){var t=Rt[e];delete Rt[e];var r=t.elements,n=r.length,o=r.map((function(e){return e.getterReturnType})).concat(r.map((function(e){return e.setterArgumentType}))),i=t.rawConstructor,a=t.rawDestructor;Xt([e],o,(function(e){return r.forEach((function(t,r){var o=e[r],i=t.getter,a=t.getterContext,s=e[r+n],c=t.setter,d=t.setterContext;t.read=e=>o.fromWireType(i(a,e)),t.write=(e,t)=>{var r=[];c(d,e,s.toWireType(r,t)),St(r)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(n),o=0;o<n;++o)t[o]=r[o].read(e);return a(e),t},toWireType:function(e,o){if(n!==o.length)throw new TypeError("Incorrect number of tuple elements for "+t.name+": expected="+n+", actual="+o.length);for(var s=i(),c=0;c<n;++c)r[c].write(s,o[c]);return null!==e&&e.push(a,s),s},argPackAdvance:8,readValueFromPointer:xt,destructorFunction:a}]}))}var Bt={};function Gt(e){var t=Bt[e];delete Bt[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields;Xt([e],o.map((function(e){return e.getterReturnType})).concat(o.map((function(e){return e.setterArgumentType}))),(function(e){var i={};return o.forEach((function(t,r){var n=t.fieldName,a=e[r],s=t.getter,c=t.getterContext,d=e[r+o.length],u=t.setter,l=t.setterContext;i[n]={read:function(e){return a.fromWireType(s(c,e))},write:function(e,t){var r=[];u(l,e,d.toWireType(r,t)),St(r)}}})),[{name:t.name,fromWireType:function(e){var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:function(e,t){for(var o in i)if(!(o in t))throw new TypeError('Missing field: "'+o+'"');var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},argPackAdvance:8,readValueFromPointer:xt,destructorFunction:n}]}))}function Wt(e,t,r,n,o){}function Vt(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}function zt(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);qt=e}var qt=void 0;function $t(e){for(var t="",r=e;B[r];)t+=qt[B[r++]];return t}var Yt=void 0;function Kt(e){throw new Yt(e)}function Jt(e,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||Kt('type "'+n+'" must have a positive integer typeid pointer'),At.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Kt("Cannot register type '"+n+"' twice")}if(At[e]=t,delete It[e],Ft.hasOwnProperty(e)){var o=Ft[e];delete Ft[e],o.forEach((function(e){e()}))}}function Zt(e,t,r,n,o){var i=Vt(r);Jt(e,{name:t=$t(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===r)n=Q;else if(2===r)n=G;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);n=V}return this.fromWireType(n[e>>i])},destructorFunction:null})}function er(e){if(!(this instanceof Mr))return!1;if(!(e instanceof Mr))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o}function tr(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function rr(e){Kt(e.$$.ptrType.registeredClass.name+" instance already deleted")}var nr=!1;function or(e){}function ir(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function ar(e){e.count.value-=1,0===e.count.value&&ir(e)}function sr(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=sr(e,t,r.baseClass);return null===n?null:r.downcast(n)}var cr={};function dr(){return Object.keys(Er).length}function ur(){var e=[];for(var t in Er)Er.hasOwnProperty(t)&&e.push(Er[t]);return e}var lr=[];function pr(){for(;lr.length;){var e=lr.pop();e.$$.deleteScheduled=!1,e.delete()}}var fr=void 0;function mr(e){fr=e,lr.length&&fr&&fr(pr)}function gr(){o.getInheritedInstanceCount=dr,o.getLiveInheritedInstances=ur,o.flushPendingDeletes=pr,o.setDelayFunction=mr}var Er={};function hr(e,t){for(void 0===t&&Kt("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function _r(e,t){return t=hr(e,t),Er[t]}function yr(e,t){return t.ptrType&&t.ptr||Ht("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Ht("Both smartPtrType and smartPtr must be specified"),t.count={value:1},wr(Object.create(e,{$$:{value:t}}))}function vr(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=_r(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?yr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):yr(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=cr[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=sr(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?yr(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):yr(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}function wr(e){return"undefined"==typeof FinalizationRegistry?(wr=e=>e,e):(nr=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),ar(e.$$)})),or=e=>nr.unregister(e),(wr=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t},n=t.ptrType.registeredClass;r.leakWarning=new Error("Embind found a leaked C++ instance "+n.name+" <0x"+t.ptr.toString(16)+">.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated"),"captureStackTrace"in Error&&Error.captureStackTrace(r.leakWarning,vr),nr.register(e,r,e)}return e})(e))}function Tr(){if(this.$$.ptr||rr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=wr(Object.create(Object.getPrototypeOf(this),{$$:{value:tr(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Or(){this.$$.ptr||rr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Kt("Object already scheduled for deletion"),or(this),ar(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function br(){return!this.$$.ptr}function Dr(){return this.$$.ptr||rr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Kt("Object already scheduled for deletion"),lr.push(this),1===lr.length&&fr&&fr(pr),this.$$.deleteScheduled=!0,this}function Pr(){Mr.prototype.isAliasOf=er,Mr.prototype.clone=Tr,Mr.prototype.delete=Or,Mr.prototype.isDeleted=br,Mr.prototype.deleteLater=Dr}function Mr(){}function Rr(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Kt("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function Sr(e,t,r){o.hasOwnProperty(e)?((void 0===r||void 0!==o[e].overloadTable&&void 0!==o[e].overloadTable[r])&&Kt("Cannot register public name '"+e+"' twice"),Rr(o,e,e),o.hasOwnProperty(r)&&Kt("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),o[e].overloadTable[r]=t):(o[e]=t,void 0!==r&&(o[e].numArguments=r))}function xr(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Fr(e,t,r){for(;t!==r;)t.upcast||Kt("Expected null or instance of "+r.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Ar(e,t){if(null===t)return this.isReference&&Kt("null is not a valid "+this.name),0;t.$$||Kt('Cannot pass "'+fn(t)+'" as a '+this.name),t.$$.ptr||Kt("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return Fr(t.$$.ptr,r,this.registeredClass)}function Ir(e,t){var r;if(null===t)return this.isReference&&Kt("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Kt('Cannot pass "'+fn(t)+'" as a '+this.name),t.$$.ptr||Kt("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Kt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;if(r=Fr(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Kt("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Kt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,sn.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:Kt("Unsupporting sharing policy")}return r}function kr(e,t){if(null===t)return this.isReference&&Kt("null is not a valid "+this.name),0;t.$$||Kt('Cannot pass "'+fn(t)+'" as a '+this.name),t.$$.ptr||Kt("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Kt("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;return Fr(t.$$.ptr,r,this.registeredClass)}function Cr(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Nr(e){this.rawDestructor&&this.rawDestructor(e)}function Ur(e){null!==e&&e.delete()}function jr(){Lr.prototype.getPointee=Cr,Lr.prototype.destructor=Nr,Lr.prototype.argPackAdvance=8,Lr.prototype.readValueFromPointer=xt,Lr.prototype.deleteObject=Ur,Lr.prototype.fromWireType=vr}function Lr(e,t,r,n,o,i,a,s,c,d,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=d,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=Ir:n?(this.toWireType=Ar,this.destructorFunction=null):(this.toWireType=kr,this.destructorFunction=null)}function Hr(e,t,r){o.hasOwnProperty(e)||Ht("Replacing nonexistant public symbol"),void 0!==o[e].overloadTable&&void 0!==r?o[e].overloadTable[r]=t:(o[e]=t,o[e].argCount=r)}function Xr(e,t,r){k("dynCall_"+e in o,"bad function pointer type - no table for sig '"+e+"'"),r&&r.length?k(r.length===e.substring(1).replace(/j/g,"--").length):k(1==e.length);var n=o["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)}function Qr(e,t,r){return e.includes("j")?Xr(e,t,r):(k(Je(t),"missing table entry in dynCall: "+t),Je(t).apply(null,r))}function Br(e,t){k(e.includes("j"),"getDynCaller should only be called with i64 sigs");var r=[];return function(){return r.length=0,Object.assign(r,arguments),Qr(e,t,r)}}function Gr(e,t){var r=(e=$t(e)).includes("j")?Br(e,t):Je(t);return"function"!=typeof r&&Kt("unknown function pointer with signature "+e+": "+t),r}var Wr=void 0;function Vr(e){var t=wl(e),r=$t(t);return yl(t),r}function zr(e,t){var r=[],n={};throw t.forEach((function e(t){n[t]||At[t]||(It[t]?It[t].forEach(e):(r.push(t),n[t]=!0))})),new Wr(e+": "+r.map(Vr).join([", "]))}function qr(e,t,r,n,o,i,a,s,c,d,u,l,p){u=$t(u),i=Gr(o,i),s&&(s=Gr(a,s)),d&&(d=Gr(c,d)),p=Gr(l,p);var f=Nt(u);Sr(f,(function(){zr("Cannot construct "+u+" due to unbound types",[n])})),Xt([e,t,r],n?[n]:[],(function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Mr.prototype;var a=Ut(f,(function(){if(Object.getPrototypeOf(this)!==c)throw new Yt("Use 'new' to construct "+u);if(void 0===l.constructor_body)throw new Yt(u+" has no accessible constructor");var e=l.constructor_body[arguments.length];if(void 0===e)throw new Yt("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(l.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),c=Object.create(o,{constructor:{value:a}});a.prototype=c;var l=new xr(u,a,c,p,r,i,s,d),m=new Lr(u,l,!0,!1,!1),g=new Lr(u+"*",l,!1,!1,!1),E=new Lr(u+" const*",l,!1,!0,!1);return cr[e]={pointerType:g,constPointerType:E},Hr(f,a),[m,g,E]}))}function $r(e,t){for(var r=[],n=0;n<e;n++)r.push(V[(t>>2)+n]);return r}function Yr(e,t,r,n,o,i){k(t>0);var a=$r(t,r);o=Gr(n,o),Xt([],[e],(function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Yt("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{zr("Cannot construct "+e.name+" due to unbound types",a)},Xt([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Jr(r,n,null,o,i),[]})),[]}))}function Kr(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var r=Ut(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,o=e.apply(n,t);return o instanceof Object?o:n}function Jr(e,t,r,n,o){var i=t.length;i<2&&Kt("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,s=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){s=!0;break}var d="void"!==t[0].name,u="",l="";for(c=0;c<i-2;++c)u+=(0!==c?", ":"")+"arg"+c,l+=(0!==c?", ":"")+"arg"+c+"Wired";var p="return function "+Nt(e)+"("+u+") {\nif (arguments.length !== "+(i-2)+") {\nthrowBindingError('function "+e+" called with ' + arguments.length + ' arguments, expected "+(i-2)+" args!');\n}\n";s&&(p+="var destructors = [];\n");var f=s?"destructors":"null",m=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],g=[Kt,n,o,St,t[0],t[1]];for(a&&(p+="var thisWired = classParam.toWireType("+f+", this);\n"),c=0;c<i-2;++c)p+="var arg"+c+"Wired = argType"+c+".toWireType("+f+", arg"+c+"); // "+t[c+2].name+"\n",m.push("argType"+c),g.push(t[c+2]);if(a&&(l="thisWired"+(l.length>0?", ":"")+l),p+=(d?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n",s)p+="runDestructors(destructors);\n";else for(c=a?1:2;c<t.length;++c){var E=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==t[c].destructorFunction&&(p+=E+"_dtor("+E+"); // "+t[c].name+"\n",m.push(E+"_dtor"),g.push(t[c].destructorFunction))}return d&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",m.push(p),Kr(Function,m).apply(null,g)}function Zr(e,t,r,n,o,i,a,s){var c=$r(r,n);t=$t(t),i=Gr(o,i),Xt([],[e],(function(e){var n=(e=e[0]).name+"."+t;function o(){zr("Cannot call "+n+" due to unbound types",c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var d=e.registeredClass.instancePrototype,u=d[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,d[t]=o):(Rr(d,t,n),d[t].overloadTable[r-2]=o),Xt([],c,(function(o){var s=Jr(n,o,e,i,a);return void 0===d[t].overloadTable?(s.argCount=r-2,d[t]=s):d[t].overloadTable[r-2]=s,[]})),[]}))}var en=[],tn=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function rn(e){e>4&&0==--tn[e].refcount&&(tn[e]=void 0,en.push(e))}function nn(){for(var e=0,t=5;t<tn.length;++t)void 0!==tn[t]&&++e;return e}function on(){for(var e=5;e<tn.length;++e)if(void 0!==tn[e])return tn[e];return null}function an(){o.count_emval_handles=nn,o.get_first_emval=on}var sn={toValue:function(e){return e||Kt("Cannot use deleted val. handle = "+e),tn[e].value},toHandle:function(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=en.length?en.pop():tn.length;return tn[t]={refcount:1,value:e},t}}};function cn(e,t){Jt(e,{name:t=$t(t),fromWireType:function(e){var t=sn.toValue(e);return rn(e),t},toWireType:function(e,t){return sn.toHandle(t)},argPackAdvance:8,readValueFromPointer:xt,destructorFunction:null})}function dn(e,t,r){switch(t){case 0:return function(e){var t=r?Q:B;return this.fromWireType(t[e])};case 1:return function(e){var t=r?G:W;return this.fromWireType(t[e>>1])};case 2:return function(e){var t=r?V:z;return this.fromWireType(t[e>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function un(e,t,r,n){var o=Vt(r);function i(){}t=$t(t),i.values={},Jt(e,{name:t,constructor:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:dn(t,o,n),destructorFunction:null}),Sr(t,i)}function ln(e,t){var r=At[e];return void 0===r&&Kt(t+" has unknown type "+Vr(e)),r}function pn(e,t,r){var n=ln(e,"enum");t=$t(t);var o=n.constructor,i=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:Ut(n.name+"_"+t,(function(){}))}});o.values[r]=i,o[t]=i}function fn(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function mn(e,t){switch(t){case 2:return function(e){return this.fromWireType(q[e>>2])};case 3:return function(e){return this.fromWireType($[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function gn(e,t,r){var n=Vt(r);Jt(e,{name:t=$t(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+fn(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:mn(t,n),destructorFunction:null})}function En(e,t,r,n,o,i){var a=$r(t,r);e=$t(e),o=Gr(n,o),Sr(e,(function(){zr("Cannot call "+e+" due to unbound types",a)}),t-1),Xt([],a,(function(r){var n=[r[0],null].concat(r.slice(1));return Hr(e,Jr(e,n,null,o,i),t-1),[]}))}function hn(e,t,r){switch(t){case 0:return r?function(e){return Q[e]}:function(e){return B[e]};case 1:return r?function(e){return G[e>>1]}:function(e){return W[e>>1]};case 2:return r?function(e){return V[e>>2]}:function(e){return z[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function _n(e,t,r,n,o){t=$t(t),-1===o&&(o=4294967295);var i=Vt(r),a=e=>e;if(0===n){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned"),d=(e,r)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+fn(e)+'" to '+r);if(e<n||e>o)throw new TypeError('Passing a number "'+fn(e)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+o+"]!")};Jt(e,{name:t,fromWireType:a,toWireType:c?function(e,t){return d(t,this.name),t>>>0}:function(e,t){return d(t,this.name),t},argPackAdvance:8,readValueFromPointer:hn(t,i,0!==n),destructorFunction:null})}function yn(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=z,r=t[e>>=2],o=t[e+1];return new n(X,o,r)}Jt(e,{name:r=$t(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})}function vn(e,t,r,n,o,i,a,s,c,d,u,l){r=$t(r),i=Gr(o,i),s=Gr(a,s),d=Gr(c,d),l=Gr(u,l),Xt([e],[t],(function(e){return e=e[0],[new Lr(r,e.registeredClass,!1,!1,!0,e,n,i,s,d,l)]}))}function wn(e,t){var r="std::string"===(t=$t(t));Jt(e,{name:t,fromWireType:function(e){var t,n=z[e>>2];if(r)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==B[a]){var s=U(o,a-o);void 0===t?t=s:(t+=String.fromCharCode(0),t+=s),o=a+1}}else{var c=new Array(n);for(i=0;i<n;++i)c[i]=String.fromCharCode(B[e+4+i]);t=c.join("")}return yl(e),t},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Kt("Cannot pass non-string to std::string");var o=(r&&n?()=>H(t):()=>t.length)(),i=_l(4+o+1);if(z[i>>2]=o,r&&n)L(t,i+4,o+1);else if(n)for(var a=0;a<o;++a){var s=t.charCodeAt(a);s>255&&(yl(i),Kt("String has UTF-16 code units that do not fit in 8 bits")),B[i+4+a]=s}else for(a=0;a<o;++a)B[i+4+a]=t[a];return null!==e&&e.push(yl,i),i},argPackAdvance:8,readValueFromPointer:xt,destructorFunction:function(e){yl(e)}})}function Tn(e,t,r){var n,o,i,a,s;r=$t(r),2===t?(n=K,o=J,a=Z,i=()=>W,s=1):4===t&&(n=ee,o=te,a=re,i=()=>z,s=2),Jt(e,{name:r,fromWireType:function(e){for(var r,o=z[e>>2],a=i(),c=e+4,d=0;d<=o;++d){var u=e+4+d*t;if(d==o||0==a[u>>s]){var l=n(c,u-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=u+t}}return yl(e),r},toWireType:function(e,n){"string"!=typeof n&&Kt("Cannot pass non-string to C++ string type "+r);var i=a(n),c=_l(4+i+t);return z[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(yl,c),c},argPackAdvance:8,readValueFromPointer:xt,destructorFunction:function(e){yl(e)}})}function On(e,t,r,n,o,i){Rt[e]={name:$t(t),rawConstructor:Gr(r,n),rawDestructor:Gr(o,i),elements:[]}}function bn(e,t,r,n,o,i,a,s,c){Rt[e].elements.push({getterReturnType:t,getter:Gr(r,n),getterContext:o,setterArgumentType:i,setter:Gr(a,s),setterContext:c})}function Dn(e,t,r,n,o,i){Bt[e]={name:$t(t),rawConstructor:Gr(r,n),rawDestructor:Gr(o,i),fields:[]}}function Pn(e,t,r,n,o,i,a,s,c,d){Bt[e].fields.push({fieldName:$t(t),getterReturnType:r,getter:Gr(n,o),getterContext:i,setterArgumentType:a,setter:Gr(s,c),setterContext:d})}function Mn(e,t){Jt(e,{isVoid:!0,name:t=$t(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function Rn(){throw"longjmp"}function Sn(e,t,r){e=sn.toValue(e),t=ln(t,"emval::as");var n=[],o=sn.toHandle(n);return V[r>>2]=o,t.toWireType(n,e)}function xn(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=ln(V[(t>>2)+n],"parameter "+n);return r}function Fn(e,t,r,n){e=sn.toValue(e);for(var o=xn(t,r),i=new Array(t),a=0;a<t;++a){var s=o[a];i[a]=s.readValueFromPointer(n),n+=s.argPackAdvance}var c=e.apply(void 0,i);return sn.toHandle(c)}function An(e){var t=[];return V[e>>2]=sn.toHandle(t),t}var In={};function kn(e){var t=In[e];return void 0===t?$t(e):t}var Cn=[];function Nn(e,t,r,n,o){return(e=Cn[e])(t=sn.toValue(t),r=kn(r),An(n),o)}function Un(e,t,r,n){(e=Cn[e])(t=sn.toValue(t),r=kn(r),null,n)}function jn(){return"object"==typeof globalThis?globalThis:Function("return this")()}function Ln(e){return 0===e?sn.toHandle(jn()):(e=kn(e),sn.toHandle(jn()[e]))}function Hn(e){var t=Cn.length;return Cn.push(e),t}var Xn=[];function Qn(e,t){var r=xn(e,t),n=r[0],o=n.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",i=Xn[o];if(void 0!==i)return i;for(var a=["retType"],s=[n],c="",d=0;d<e-1;++d)c+=(0!==d?", ":"")+"arg"+d,a.push("argType"+d),s.push(r[1+d]);var u="return function "+Nt("methodCaller_"+o)+"(handle, name, destructors, args) {\n",l=0;for(d=0;d<e-1;++d)u+=" var arg"+d+" = argType"+d+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=r[d+1].argPackAdvance;for(u+=" var rv = handle[name]("+c+");\n",d=0;d<e-1;++d)r[d+1].deleteObject&&(u+=" argType"+d+".deleteObject(arg"+d+");\n");return n.isVoid||(u+=" return retType.toWireType(destructors, rv);\n"),u+="};\n",a.push(u),i=Hn(Kr(Function,a).apply(null,s)),Xn[o]=i,i}function Bn(e,t){return e=sn.toValue(e),t=sn.toValue(t),sn.toHandle(e[t])}function Gn(e){e>4&&(tn[e].refcount+=1)}function Wn(e,t){return(e=sn.toValue(e))instanceof sn.toValue(t)}function Vn(e){return"string"==typeof(e=sn.toValue(e))}function zn(e){for(var t="",r=0;r<e;++r)t+=(0!==r?", ":"")+"arg"+r;var n="return function emval_allocator_"+e+"(constructor, argTypes, args) {\n";for(r=0;r<e;++r)n+="var argType"+r+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+r+'], "parameter '+r+'");\nvar arg'+r+" = argType"+r+".readValueFromPointer(args);\nargs += argType"+r+"['argPackAdvance'];\n";return n+="var obj = new constructor("+t+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle",n)(ln,o,sn.toHandle)}var qn,$n={};function Yn(e,t,r,n){e=sn.toValue(e);var o=$n[t];return o||(o=zn(t),$n[t]=o),o(e,r,n)}function Kn(){return sn.toHandle([])}function Jn(e){return sn.toHandle(kn(e))}function Zn(){return sn.toHandle({})}function eo(e){St(sn.toValue(e)),rn(e)}function to(e,t,r){e=sn.toValue(e),t=sn.toValue(t),r=sn.toValue(r),e[t]=r}function ro(e,t){var r=(e=ln(e,"_emval_take_value")).readValueFromPointer(t);return sn.toHandle(r)}function no(e){throw sn.toValue(e)}function oo(e,t,r,n,o,i,a,s){try{var c=Et.getStream(o);if(!c)return-8;var d=Et.mmap(c,e,t,i,r,n),u=d.ptr;return V[a>>2]=d.allocated,u}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function io(e,t,r,n,o,i){try{var a=Et.getStream(o);a&&(2&r&&ht.doMsync(e,a,t,n,i),Et.munmap(a))}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return-e.errno}}function ao(){Ue("native code called abort()")}qn=()=>performance.now();var so=!0;function co(e,t){var r;if(0===e)r=Date.now();else{if(1!==e&&4!==e||!so)return ot(28),-1;r=qn()}return V[t>>2]=r/1e3|0,V[t+4>>2]=r%1e3*1e3*1e3|0,0}function uo(e,t){if(Eo.mainLoop.timingMode=e,Eo.mainLoop.timingValue=t,!Eo.mainLoop.func)return O("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up."),1;if(Eo.mainLoop.running||(Eo.mainLoop.running=!0),0==e)Eo.mainLoop.scheduler=function(){var e=0|Math.max(0,Eo.mainLoop.tickStartTime+t-qn());setTimeout(Eo.mainLoop.runner,e)},Eo.mainLoop.method="timeout";else if(1==e)Eo.mainLoop.scheduler=function(){Eo.requestAnimationFrame(Eo.mainLoop.runner)},Eo.mainLoop.method="rAF";else if(2==e){if("undefined"==typeof setImmediate){var r=[],n="setimmediate";addEventListener("message",(function(e){e.data!==n&&e.data.target!==n||(e.stopPropagation(),r.shift()())}),!0),setImmediate=function(e){r.push(e),f?(void 0===o.setImmediates&&(o.setImmediates=[]),o.setImmediates.push(e),postMessage({target:n})):postMessage(n,"*")}}Eo.mainLoop.scheduler=function(){setImmediate(Eo.mainLoop.runner)},Eo.mainLoop.method="immediate"}return 0}function lo(e){$l(e)}function po(){if(!we())try{lo(A)}catch(e){Ze(e)}}function fo(e,t,r,n,i){k(!Eo.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Eo.mainLoop.func=e,Eo.mainLoop.arg=n;var a=Eo.mainLoop.currentlyRunningMainloop;function s(){return!(a<Eo.mainLoop.currentlyRunningMainloop&&(po(),1))}if(Eo.mainLoop.running=!1,Eo.mainLoop.runner=function(){if(!I)if(Eo.mainLoop.queue.length>0){var t=Date.now(),r=Eo.mainLoop.queue.shift();if(r.func(r.arg),Eo.mainLoop.remainingBlockers){var n=Eo.mainLoop.remainingBlockers,i=n%1==0?n-1:Math.floor(n);r.counted?Eo.mainLoop.remainingBlockers=i:(i+=.5,Eo.mainLoop.remainingBlockers=(8*n+i)/9)}if(T('main loop blocker "'+r.name+'" took '+(Date.now()-t)+" ms"),Eo.mainLoop.updateStatus(),!s())return;setTimeout(Eo.mainLoop.runner,0)}else s()&&(Eo.mainLoop.currentFrameNumber=Eo.mainLoop.currentFrameNumber+1|0,1==Eo.mainLoop.timingMode&&Eo.mainLoop.timingValue>1&&Eo.mainLoop.currentFrameNumber%Eo.mainLoop.timingValue!=0?Eo.mainLoop.scheduler():(0==Eo.mainLoop.timingMode&&(Eo.mainLoop.tickStartTime=qn()),"timeout"===Eo.mainLoop.method&&o.ctx&&(b("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Eo.mainLoop.method=""),Eo.mainLoop.runIter(e),pe(),s()&&("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Eo.mainLoop.scheduler())))},i||(t&&t>0?uo(0,1e3/t):uo(1,1),Eo.mainLoop.scheduler()),r)throw"unwind"}function mo(e,t){if(ye||I)O("user callback triggered after runtime exited or application aborted. Ignoring.");else if(t)e();else try{e()}catch(e){Ze(e)}}function go(e,t){return setTimeout((function(){mo(e)}),t)}var Eo={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Eo.mainLoop.scheduler=null,Eo.mainLoop.currentlyRunningMainloop++},resume:function(){Eo.mainLoop.currentlyRunningMainloop++;var e=Eo.mainLoop.timingMode,t=Eo.mainLoop.timingValue,r=Eo.mainLoop.func;Eo.mainLoop.func=null,fo(r,0,!1,Eo.mainLoop.arg,!0),uo(e,t),Eo.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var e=o.statusMessage||"Please wait...",t=Eo.mainLoop.remainingBlockers,r=Eo.mainLoop.expectedBlockers;t?t<r?o.setStatus(e+" ("+(r-t)+"/"+r+")"):o.setStatus(e):o.setStatus("")}},runIter:function(e){if(!I){if(o.preMainLoop&&!1===o.preMainLoop())return;mo(e),o.postMainLoop&&o.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(o.preloadPlugins||(o.preloadPlugins=[]),!Eo.initted){Eo.initted=!0;try{new Blob,Eo.hasBlobConstructor=!0}catch(e){Eo.hasBlobConstructor=!1,T("warning: no blob constructor, cannot create blobs with mimetypes")}Eo.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Eo.hasBlobConstructor?null:T("warning: no BlobBuilder"),Eo.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,o.noImageDecoding||void 0!==Eo.URLObject||(T("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var e={canHandle:function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,n){var i=null;if(Eo.hasBlobConstructor)try{(i=new Blob([e],{type:Eo.getMimetype(t)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Eo.getMimetype(t)}))}catch(e){b("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!i){var a=new Eo.BlobBuilder;a.append(new Uint8Array(e).buffer),i=a.getBlob()}var s=Eo.URLObject.createObjectURL(i);k("string"==typeof s,"createObjectURL must return a url as a string");var c=new Image;c.onload=()=>{k(c.complete,"Image "+t+" could not be decoded");var n=document.createElement("canvas");n.width=c.width,n.height=c.height,n.getContext("2d").drawImage(c,0,0),o.preloadedImages[t]=n,Eo.URLObject.revokeObjectURL(s),r&&r(e)},c.onerror=e=>{T("Image "+s+" could not be decoded"),n&&n()},c.src=s}};o.preloadPlugins.push(e);var t={canHandle:function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,n){var i=!1;function a(n){i||(i=!0,o.preloadedAudios[t]=n,r&&r(e))}function s(){i||(i=!0,o.preloadedAudios[t]=new Audio,n&&n())}if(!Eo.hasBlobConstructor)return s();try{var c=new Blob([e],{type:Eo.getMimetype(t)})}catch(e){return s()}var d=Eo.URLObject.createObjectURL(c);k("string"==typeof d,"createObjectURL must return a url as a string");var u=new Audio;u.addEventListener("canplaythrough",(function(){a(u)}),!1),u.onerror=function(r){i||(T("warning: browser could not fully decode audio "+t+", trying slower base64 approach"),u.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e),a(u))},u.src=d,go((function(){a(u)}),1e4)}};o.preloadPlugins.push(t);var r=o.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",n,!1),document.addEventListener("mozpointerlockchange",n,!1),document.addEventListener("webkitpointerlockchange",n,!1),document.addEventListener("mspointerlockchange",n,!1),o.elementPointerLock&&r.addEventListener("click",(function(e){!Eo.pointerLock&&o.canvas.requestPointerLock&&(o.canvas.requestPointerLock(),e.preventDefault())}),!1))}function n(){Eo.pointerLock=document.pointerLockElement===o.canvas||document.mozPointerLockElement===o.canvas||document.webkitPointerLockElement===o.canvas||document.msPointerLockElement===o.canvas}},handledByPreloadPlugin:function(e,t,r,n){Eo.init();var i=!1;return o.preloadPlugins.forEach((function(o){i||o.canHandle(t)&&(o.handle(e,t,r,n),i=!0)})),i},createContext:function(e,t,r,n){if(t&&o.ctx&&e==o.canvas)return o.ctx;var i,a;if(t){var s={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var c in n)s[c]=n[c];void 0!==Do&&(a=Do.createContext(e,s))&&(i=Do.getContext(a).GLctx)}else i=e.getContext("2d");return i?(r&&(t||k(void 0===cl,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=i,t&&Do.makeContextCurrent(a),o.useWebGL=t,Eo.moduleContextCreatedCallbacks.forEach((function(e){e()})),Eo.init()),i):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t){Eo.lockPointer=e,Eo.resizeCanvas=t,void 0===Eo.lockPointer&&(Eo.lockPointer=!0),void 0===Eo.resizeCanvas&&(Eo.resizeCanvas=!1);var r=o.canvas;function n(){Eo.isFullscreen=!1;var e=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(r.exitFullscreen=Eo.exitFullscreen,Eo.lockPointer&&r.requestPointerLock(),Eo.isFullscreen=!0,Eo.resizeCanvas?Eo.setFullscreenCanvasSize():Eo.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),Eo.resizeCanvas?Eo.setWindowedCanvasSize():Eo.updateCanvasDimensions(r)),o.onFullScreen&&o.onFullScreen(Eo.isFullscreen),o.onFullscreen&&o.onFullscreen(Eo.isFullscreen)}Eo.fullscreenHandlersInstalled||(Eo.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var i=document.createElement("div");r.parentNode.insertBefore(i,r),i.appendChild(r),i.requestFullscreen=i.requestFullscreen||i.mozRequestFullScreen||i.msRequestFullscreen||(i.webkitRequestFullscreen?function(){i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullscreen()},requestFullScreen:function(){Ue("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen:function(){return!!Eo.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(0===Eo.nextRAF)Eo.nextRAF=t+1e3/60;else for(;t+2>=Eo.nextRAF;)Eo.nextRAF+=1e3/60;var r=Math.max(Eo.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function(e){"function"!=typeof requestAnimationFrame?(0,Eo.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)},safeSetTimeout:function(e){return go(e)},safeRequestAnimationFrame:function(e){return Eo.requestAnimationFrame((function(){mo(e)}))},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Eo.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Eo.mouseMovementX=Eo.mouseMovementY=0:(Eo.mouseMovementX=Eo.getMovementX(e),Eo.mouseMovementY=Eo.getMovementY(e)),"undefined"!=typeof SDL?(Eo.mouseX=SDL.mouseX+Eo.mouseMovementX,Eo.mouseY=SDL.mouseY+Eo.mouseMovementY):(Eo.mouseX+=Eo.mouseMovementX,Eo.mouseY+=Eo.mouseMovementY);else{var t=o.canvas.getBoundingClientRect(),r=o.canvas.width,n=o.canvas.height,i=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if(k(void 0!==i&&void 0!==a,"Unable to retrieve scroll position, mouse positions likely broken."),"touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var s=e.touch;if(void 0===s)return;var c=s.pageX-(i+t.left),d=s.pageY-(a+t.top),u={x:c*=r/t.width,y:d*=n/t.height};if("touchstart"===e.type)Eo.lastTouches[s.identifier]=u,Eo.touches[s.identifier]=u;else if("touchend"===e.type||"touchmove"===e.type){var l=Eo.touches[s.identifier];l||(l=u),Eo.lastTouches[s.identifier]=l,Eo.touches[s.identifier]=u}return}var p=e.pageX-(i+t.left),f=e.pageY-(a+t.top);p*=r/t.width,f*=n/t.height,Eo.mouseMovementX=p-Eo.mouseX,Eo.mouseMovementY=f-Eo.mouseY,Eo.mouseX=p,Eo.mouseY=f}},resizeListeners:[],updateResizeListeners:function(){var e=o.canvas;Eo.resizeListeners.forEach((function(t){t(e.width,e.height)}))},setCanvasSize:function(e,t,r){var n=o.canvas;Eo.updateCanvasDimensions(n,e,t),r||Eo.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=z[SDL.screen>>2];e|=8388608,V[SDL.screen>>2]=e}Eo.updateCanvasDimensions(o.canvas),Eo.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=z[SDL.screen>>2];e&=-8388609,V[SDL.screen>>2]=e}Eo.updateCanvasDimensions(o.canvas),Eo.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var n=t,i=r;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(n/i<o.forcedAspectRatio?n=Math.round(i*o.forcedAspectRatio):i=Math.round(n/o.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var a=Math.min(screen.width/n,screen.height/i);n=Math.round(n*a),i=Math.round(i*a)}Eo.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(n!=t||i!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",i+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},ho={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode:function(e){ho.errorCode=e},chooseConfig:function(e,t,r,n,o){if(62e3!=e)return ho.setErrorCode(12296),0;if(t)for(;;){var i=V[t>>2];if(12321==i){var a=V[t+4>>2];ho.contextAttributes.alpha=a>0}else if(12325==i){var s=V[t+4>>2];ho.contextAttributes.depth=s>0}else if(12326==i){var c=V[t+4>>2];ho.contextAttributes.stencil=c>0}else if(12337==i){var d=V[t+4>>2];ho.contextAttributes.antialias=d>0}else if(12338==i)d=V[t+4>>2],ho.contextAttributes.antialias=1==d;else if(12544==i){var u=V[t+4>>2];ho.contextAttributes.lowLatency=12547!=u}else if(12344==i)break;t+=8}return r&&n||o?(o&&(V[o>>2]=1),r&&n>0&&(V[r>>2]=62002),ho.setErrorCode(12288),1):(ho.setErrorCode(12300),0)}};function _o(e,t,r,n,o){return ho.chooseConfig(e,t,r,n,o)}function yo(e){var t=e.getExtension("ANGLE_instanced_arrays");if(t)return e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,o){t.drawArraysInstancedANGLE(e,r,n,o)},e.drawElementsInstanced=function(e,r,n,o,i){t.drawElementsInstancedANGLE(e,r,n,o,i)},1}function vo(e){var t=e.getExtension("OES_vertex_array_object");if(t)return e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)},1}function wo(e){var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)},1}function To(e){return!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function Oo(e){return!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function bo(e){return!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw"))}var Do={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){Do.lastError||(Do.lastError=e)},getNewId:function(e){for(var t=Do.counter++,r=e.length;r<t;r++)e[r]=null;return t},getSource:function(e,t,r,n){for(var o="",i=0;i<t;++i){var a=n?V[n+4*i>>2]:-1;o+=U(V[r+4*i>>2],a<0?void 0:a)}return o},createContext:function(e,t){e.getContextSafariWebGL2Fixed||(e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=function(t,r){var n=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==n instanceof WebGLRenderingContext?n:null});var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?Do.registerContext(r,t):0},registerContext:function(e,t){var r=Do.getNewId(Do.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Do.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&Do.initExtensions(n),r},makeContextCurrent:function(e){return Do.currentContext=Do.contexts[e],o.ctx=cl=Do.currentContext&&Do.currentContext.GLctx,!(e&&!cl)},getContext:function(e){return Do.contexts[e]},deleteContext:function(e){Do.currentContext===Do.contexts[e]&&(Do.currentContext=null),"object"==typeof xu&&xu.removeAllHandlersOnTarget(Do.contexts[e].GLctx.canvas),Do.contexts[e]&&Do.contexts[e].GLctx.canvas&&(Do.contexts[e].GLctx.canvas.GLctxObject=void 0),Do.contexts[e]=null},initExtensions:function(e){if(e||(e=Do.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t=e.GLctx;yo(t),vo(t),wo(t),To(t),Oo(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),bo(t),(t.getSupportedExtensions()||[]).forEach((function(e){e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}};function Po(e,t,r,n){if(62e3!=e)return ho.setErrorCode(12296),0;for(var i=1;;){var a=V[n>>2];if(12440!=a){if(12344==a)break;return ho.setErrorCode(12292),0}i=V[n+4>>2],n+=8}return i<2||i>3?(ho.setErrorCode(12293),0):(ho.contextAttributes.majorVersion=i-1,ho.contextAttributes.minorVersion=0,ho.context=Do.createContext(o.canvas,ho.contextAttributes),0!=ho.context?(ho.setErrorCode(12288),Do.makeContextCurrent(ho.context),o.useWebGL=!0,Eo.moduleContextCreatedCallbacks.forEach((function(e){e()})),Do.makeContextCurrent(null),62004):(ho.setErrorCode(12297),0))}function Mo(e,t,r,n){return 62e3!=e?(ho.setErrorCode(12296),0):62002!=t?(ho.setErrorCode(12293),0):(ho.setErrorCode(12288),62006)}function Ro(e,t){return 62e3!=e?(ho.setErrorCode(12296),0):62004!=t?(ho.setErrorCode(12294),0):(Do.deleteContext(ho.context),ho.setErrorCode(12288),ho.currentContext==t&&(ho.currentContext=0),1)}function So(e,t){return 62e3!=e?(ho.setErrorCode(12296),0):62006!=t?(ho.setErrorCode(12301),1):(ho.currentReadSurface==t&&(ho.currentReadSurface=0),ho.currentDrawSurface==t&&(ho.currentDrawSurface=0),ho.setErrorCode(12288),1)}function xo(e,t,r,n){if(62e3!=e)return ho.setErrorCode(12296),0;if(62002!=t)return ho.setErrorCode(12293),0;if(!n)return ho.setErrorCode(12300),0;switch(ho.setErrorCode(12288),r){case 12320:return V[n>>2]=ho.contextAttributes.alpha?32:24,1;case 12321:return V[n>>2]=ho.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return V[n>>2]=8,1;case 12325:return V[n>>2]=ho.contextAttributes.depth?24:0,1;case 12326:return V[n>>2]=ho.contextAttributes.stencil?8:0,1;case 12327:return V[n>>2]=12344,1;case 12328:return V[n>>2]=62002,1;case 12329:return V[n>>2]=0,1;case 12330:return V[n>>2]=4096,1;case 12331:return V[n>>2]=16777216,1;case 12332:return V[n>>2]=4096,1;case 12333:case 12334:return V[n>>2]=0,1;case 12335:return V[n>>2]=12344,1;case 12337:return V[n>>2]=ho.contextAttributes.antialias?4:0,1;case 12338:return V[n>>2]=ho.contextAttributes.antialias?1:0,1;case 12339:return V[n>>2]=4,1;case 12340:return V[n>>2]=12344,1;case 12341:case 12342:case 12343:return V[n>>2]=-1,1;case 12345:case 12346:case 12347:return V[n>>2]=0,1;case 12348:return V[n>>2]=1,1;case 12349:case 12350:return V[n>>2]=0,1;case 12351:return V[n>>2]=12430,1;case 12352:return V[n>>2]=4,1;case 12354:return V[n>>2]=0,1;default:return ho.setErrorCode(12292),0}}function Fo(e){return ho.setErrorCode(12288),62e3}function Ao(){return ho.errorCode}function Io(e,t,r){return 62e3==e?(t&&(V[t>>2]=1),r&&(V[r>>2]=4),ho.defaultDisplayInitialized=!0,ho.setErrorCode(12288),1):(ho.setErrorCode(12296),0)}function ko(e,t,r,n){return 62e3!=e?(ho.setErrorCode(12296),0):0!=n&&62004!=n?(ho.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(ho.setErrorCode(12301),0):(Do.makeContextCurrent(n?ho.context:null),ho.currentContext=n,ho.currentDrawSurface=t,ho.currentReadSurface=r,ho.setErrorCode(12288),1)}function Co(){if(ho.defaultDisplayInitialized)if(o.ctx){if(!o.ctx.isContextLost())return ho.setErrorCode(12288),1;ho.setErrorCode(12302)}else ho.setErrorCode(12290);else ho.setErrorCode(12289);return 0}function No(e){return 62e3!=e?(ho.setErrorCode(12296),0):(ho.currentContext=0,ho.currentReadSurface=0,ho.currentDrawSurface=0,ho.defaultDisplayInitialized=!1,ho.setErrorCode(12288),1)}function Uo(e){k("number"==typeof e),console.error(U(e))}function jo(e){k("number"==typeof e),console.log(U(e))}function Lo(e){k("number"==typeof e),console.warn(U(e))}function Ho(){}function Xo(){return 2147483648}function Qo(e){cl.activeTexture(e)}function Bo(e,t){cl.attachShader(Do.programs[e],Do.shaders[t])}function Go(e,t){cl.beginQuery(e,Do.queries[t])}function Wo(e,t){cl.disjointTimerQueryExt.beginQueryEXT(e,Do.queries[t])}function Vo(e){cl.beginTransformFeedback(e)}function zo(e,t,r){cl.bindAttribLocation(Do.programs[e],t,U(r))}function qo(e,t){35051==e?cl.currentPixelPackBufferBinding=t:35052==e&&(cl.currentPixelUnpackBufferBinding=t),cl.bindBuffer(e,Do.buffers[t])}function $o(e,t,r){cl.bindBufferBase(e,t,Do.buffers[r])}function Yo(e,t,r,n,o){cl.bindBufferRange(e,t,Do.buffers[r],n,o)}function Ko(e,t){cl.bindFramebuffer(e,Do.framebuffers[t])}function Jo(e,t){cl.bindRenderbuffer(e,Do.renderbuffers[t])}function Zo(e,t){cl.bindSampler(e,Do.samplers[t])}function ei(e,t){cl.bindTexture(e,Do.textures[t])}function ti(e,t){cl.bindTransformFeedback(e,Do.transformFeedbacks[t])}function ri(e){cl.bindVertexArray(Do.vaos[e])}function ni(e){cl.bindVertexArray(Do.vaos[e])}function oi(e,t,r,n){cl.blendColor(e,t,r,n)}function ii(e){cl.blendEquation(e)}function ai(e,t){cl.blendEquationSeparate(e,t)}function si(e,t){cl.blendFunc(e,t)}function ci(e,t,r,n){cl.blendFuncSeparate(e,t,r,n)}function di(e,t,r,n,o,i,a,s,c,d){cl.blitFramebuffer(e,t,r,n,o,i,a,s,c,d)}function ui(e,t,r,n){Do.currentContext.version>=2?r?cl.bufferData(e,B,n,r,t):cl.bufferData(e,t,n):cl.bufferData(e,r?B.subarray(r,r+t):t,n)}function li(e,t,r,n){Do.currentContext.version>=2?cl.bufferSubData(e,t,B,n,r):cl.bufferSubData(e,t,B.subarray(n,n+r))}function pi(e){return cl.checkFramebufferStatus(e)}function fi(e){cl.clear(e)}function mi(e,t,r,n){cl.clearBufferfi(e,t,r,n)}function gi(e,t,r){cl.clearBufferfv(e,t,q,r>>2)}function Ei(e,t,r){cl.clearBufferiv(e,t,V,r>>2)}function hi(e,t,r){cl.clearBufferuiv(e,t,z,r>>2)}function _i(e,t,r,n){cl.clearColor(e,t,r,n)}function yi(e){cl.clearDepth(e)}function vi(e){cl.clearStencil(e)}function wi(e,t){return k(t===(0|t)),(e>>>0)+4294967296*t}function Ti(e,t,r,n){return cl.clientWaitSync(Do.syncs[e],t,wi(r,n))}function Oi(e,t,r,n){cl.colorMask(!!e,!!t,!!r,!!n)}function bi(e){cl.compileShader(Do.shaders[e])}function Di(e,t,r,n,o,i,a,s){Do.currentContext.version>=2?cl.currentPixelUnpackBufferBinding?cl.compressedTexImage2D(e,t,r,n,o,i,a,s):cl.compressedTexImage2D(e,t,r,n,o,i,B,s,a):cl.compressedTexImage2D(e,t,r,n,o,i,s?B.subarray(s,s+a):null)}function Pi(e,t,r,n,o,i,a,s,c){cl.currentPixelUnpackBufferBinding?cl.compressedTexImage3D(e,t,r,n,o,i,a,s,c):cl.compressedTexImage3D(e,t,r,n,o,i,a,B,c,s)}function Mi(e,t,r,n,o,i,a,s,c){Do.currentContext.version>=2?cl.currentPixelUnpackBufferBinding?cl.compressedTexSubImage2D(e,t,r,n,o,i,a,s,c):cl.compressedTexSubImage2D(e,t,r,n,o,i,a,B,c,s):cl.compressedTexSubImage2D(e,t,r,n,o,i,a,c?B.subarray(c,c+s):null)}function Ri(e,t,r,n,o,i,a,s,c,d,u){cl.currentPixelUnpackBufferBinding?cl.compressedTexSubImage3D(e,t,r,n,o,i,a,s,c,d,u):cl.compressedTexSubImage3D(e,t,r,n,o,i,a,s,c,B,u,d)}function Si(e,t,r,n,o){cl.copyBufferSubData(e,t,r,n,o)}function xi(e,t,r,n,o,i,a,s){cl.copyTexImage2D(e,t,r,n,o,i,a,s)}function Fi(e,t,r,n,o,i,a,s){cl.copyTexSubImage2D(e,t,r,n,o,i,a,s)}function Ai(e,t,r,n,o,i,a,s,c){cl.copyTexSubImage3D(e,t,r,n,o,i,a,s,c)}function Ii(){var e=Do.getNewId(Do.programs),t=cl.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,Do.programs[e]=t,e}function ki(e){var t=Do.getNewId(Do.shaders);return Do.shaders[t]=cl.createShader(e),t}function Ci(e){cl.cullFace(e)}function Ni(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2],o=Do.buffers[n];o&&(cl.deleteBuffer(o),o.name=0,Do.buffers[n]=null,n==cl.currentPixelPackBufferBinding&&(cl.currentPixelPackBufferBinding=0),n==cl.currentPixelUnpackBufferBinding&&(cl.currentPixelUnpackBufferBinding=0))}}function Ui(e,t){for(var r=0;r<e;++r){var n=V[t+4*r>>2],o=Do.framebuffers[n];o&&(cl.deleteFramebuffer(o),o.name=0,Do.framebuffers[n]=null)}}function ji(e){if(e){var t=Do.programs[e];t?(cl.deleteProgram(t),t.name=0,Do.programs[e]=null):Do.recordError(1281)}}function Li(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2],o=Do.queries[n];o&&(cl.deleteQuery(o),Do.queries[n]=null)}}function Hi(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2],o=Do.queries[n];o&&(cl.disjointTimerQueryExt.deleteQueryEXT(o),Do.queries[n]=null)}}function Xi(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2],o=Do.renderbuffers[n];o&&(cl.deleteRenderbuffer(o),o.name=0,Do.renderbuffers[n]=null)}}function Qi(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2],o=Do.samplers[n];o&&(cl.deleteSampler(o),o.name=0,Do.samplers[n]=null)}}function Bi(e){if(e){var t=Do.shaders[e];t?(cl.deleteShader(t),Do.shaders[e]=null):Do.recordError(1281)}}function Gi(e){if(e){var t=Do.syncs[e];t?(cl.deleteSync(t),t.name=0,Do.syncs[e]=null):Do.recordError(1281)}}function Wi(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2],o=Do.textures[n];o&&(cl.deleteTexture(o),o.name=0,Do.textures[n]=null)}}function Vi(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2],o=Do.transformFeedbacks[n];o&&(cl.deleteTransformFeedback(o),o.name=0,Do.transformFeedbacks[n]=null)}}function zi(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2];cl.deleteVertexArray(Do.vaos[n]),Do.vaos[n]=null}}function qi(e,t){for(var r=0;r<e;r++){var n=V[t+4*r>>2];cl.deleteVertexArray(Do.vaos[n]),Do.vaos[n]=null}}function $i(e){cl.depthFunc(e)}function Yi(e){cl.depthMask(!!e)}function Ki(e,t){cl.depthRange(e,t)}function Ji(e,t){cl.detachShader(Do.programs[e],Do.shaders[t])}function Zi(e){cl.disable(e)}function ea(e){cl.disableVertexAttribArray(e)}function ta(e,t,r){cl.drawArrays(e,t,r)}function ra(e,t,r,n){cl.drawArraysInstanced(e,t,r,n)}function na(e,t,r,n){cl.drawArraysInstanced(e,t,r,n)}function oa(e,t,r,n){cl.drawArraysInstanced(e,t,r,n)}function ia(e,t,r,n,o){cl.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,n,o)}function aa(e,t,r,n){cl.drawArraysInstanced(e,t,r,n)}function sa(e,t,r,n){cl.drawArraysInstanced(e,t,r,n)}var ca=[];function da(e,t){for(var r=ca[e],n=0;n<e;n++)r[n]=V[t+4*n>>2];cl.drawBuffers(r)}function ua(e,t){for(var r=ca[e],n=0;n<e;n++)r[n]=V[t+4*n>>2];cl.drawBuffers(r)}function la(e,t){for(var r=ca[e],n=0;n<e;n++)r[n]=V[t+4*n>>2];cl.drawBuffers(r)}function pa(e,t,r,n){cl.drawElements(e,t,r,n)}function fa(e,t,r,n,o){cl.drawElementsInstanced(e,t,r,n,o)}function ma(e,t,r,n,o){cl.drawElementsInstanced(e,t,r,n,o)}function ga(e,t,r,n,o){cl.drawElementsInstanced(e,t,r,n,o)}function Ea(e,t,r,n,o,i,a){cl.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,n,o,i,a)}function ha(e,t,r,n,o){cl.drawElementsInstanced(e,t,r,n,o)}function _a(e,t,r,n,o){cl.drawElementsInstanced(e,t,r,n,o)}function ya(e,t,r,n){cl.drawElements(e,t,r,n)}function va(e,t,r,n,o,i){ya(e,n,o,i)}function wa(e){cl.enable(e)}function Ta(e){cl.enableVertexAttribArray(e)}function Oa(e){cl.endQuery(e)}function ba(e){cl.disjointTimerQueryExt.endQueryEXT(e)}function Da(){cl.endTransformFeedback()}function Pa(e,t){var r=cl.fenceSync(e,t);if(r){var n=Do.getNewId(Do.syncs);return r.name=n,Do.syncs[n]=r,n}return 0}function Ma(){cl.finish()}function Ra(){cl.flush()}function Sa(e,t,r,n){cl.framebufferRenderbuffer(e,t,r,Do.renderbuffers[n])}function xa(e,t,r,n,o){cl.framebufferTexture2D(e,t,r,Do.textures[n],o)}function Fa(e,t,r,n,o){cl.framebufferTextureLayer(e,t,Do.textures[r],n,o)}function Aa(e){cl.frontFace(e)}function Ia(e,t,r,n){for(var o=0;o<e;o++){var i=cl[r](),a=i&&Do.getNewId(n);i?(i.name=a,n[a]=i):Do.recordError(1282),V[t+4*o>>2]=a}}function ka(e,t){Ia(e,t,"createBuffer",Do.buffers)}function Ca(e,t){Ia(e,t,"createFramebuffer",Do.framebuffers)}function Na(e,t){Ia(e,t,"createQuery",Do.queries)}function Ua(e,t){for(var r=0;r<e;r++){var n=cl.disjointTimerQueryExt.createQueryEXT();if(!n){for(Do.recordError(1282);r<e;)V[t+4*r++>>2]=0;return}var o=Do.getNewId(Do.queries);n.name=o,Do.queries[o]=n,V[t+4*r>>2]=o}}function ja(e,t){Ia(e,t,"createRenderbuffer",Do.renderbuffers)}function La(e,t){Ia(e,t,"createSampler",Do.samplers)}function Ha(e,t){Ia(e,t,"createTexture",Do.textures)}function Xa(e,t){Ia(e,t,"createTransformFeedback",Do.transformFeedbacks)}function Qa(e,t){Ia(e,t,"createVertexArray",Do.vaos)}function Ba(e,t){Ia(e,t,"createVertexArray",Do.vaos)}function Ga(e){cl.generateMipmap(e)}function Wa(e,t,r,n,o,i,a,s){t=Do.programs[t];var c=cl[e](t,r);if(c){var d=s&&L(c.name,s,n);o&&(V[o>>2]=d),i&&(V[i>>2]=c.size),a&&(V[a>>2]=c.type)}}function Va(e,t,r,n,o,i,a){Wa("getActiveAttrib",e,t,r,n,o,i,a)}function za(e,t,r,n,o,i,a){Wa("getActiveUniform",e,t,r,n,o,i,a)}function qa(e,t,r,n,o){e=Do.programs[e];var i=cl.getActiveUniformBlockName(e,t);if(i)if(o&&r>0){var a=L(i,o,r);n&&(V[n>>2]=a)}else n&&(V[n>>2]=0)}function $a(e,t,r,n){if(n)if(e=Do.programs[e],35393!=r){var o=cl.getActiveUniformBlockParameter(e,t,r);if(null!==o)if(35395==r)for(var i=0;i<o.length;i++)V[n+4*i>>2]=o[i];else V[n>>2]=o}else{var a=cl.getActiveUniformBlockName(e,t);V[n>>2]=a.length+1}else Do.recordError(1281)}function Ya(e,t,r,n,o){if(o)if(t>0&&0==r)Do.recordError(1281);else{e=Do.programs[e];for(var i=[],a=0;a<t;a++)i.push(V[r+4*a>>2]);var s=cl.getActiveUniforms(e,i,n);if(s){var c=s.length;for(a=0;a<c;a++)V[o+4*a>>2]=s[a]}}else Do.recordError(1281)}function Ka(e,t,r,n){var o=cl.getAttachedShaders(Do.programs[e]),i=o.length;i>t&&(i=t),V[r>>2]=i;for(var a=0;a<i;++a){var s=Do.shaders.indexOf(o[a]);V[n+4*a>>2]=s}}function Ja(e,t){return cl.getAttribLocation(Do.programs[e],U(t))}function Za(e){return z[e>>2]+4294967296*V[e+4>>2]}function es(e){return z[e>>2]+4294967296*z[e+4>>2]}function ts(e,t){z[e>>2]=t,z[e+4>>2]=(t-z[e>>2])/4294967296;var r=t>=0?es(e):Za(e);r!=t&&b("writeI53ToI64() out of range: serialized JS Number "+t+" to Wasm heap as bytes lo=0x"+z[e>>2].toString(16)+", hi=0x"+z[e+4>>2].toString(16)+", which deserializes back to "+r+" instead!")}function rs(e,t,r){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&Do.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=cl.getParameter(34467);n=o?o.length:0;break;case 33309:if(Do.currentContext.version<2)return void Do.recordError(1282);n=2*(cl.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(Do.currentContext.version<2)return void Do.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=cl.getParameter(e);switch(typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void Do.recordError(1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Do.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(r){case 0:V[t+4*a>>2]=i[a];break;case 2:q[t+4*a>>2]=i[a];break;case 4:Q[t+a>>0]=i[a]?1:0}return}try{n=0|i.name}catch(t){return Do.recordError(1280),void O("GL_INVALID_ENUM in glGet"+r+"v: Unknown object returned from WebGL getParameter("+e+")! (error: "+t+")")}}break;default:return Do.recordError(1280),void O("GL_INVALID_ENUM in glGet"+r+"v: Native code calling glGet"+r+"v("+e+") and it returns "+i+" of type "+typeof i+"!")}}switch(r){case 1:ts(t,n);break;case 0:V[t>>2]=n;break;case 2:q[t>>2]=n;break;case 4:Q[t>>0]=n?1:0}}else Do.recordError(1281)}function ns(e,t){rs(e,t,4)}function os(e,t,r){r?ts(r,cl.getBufferParameter(e,t)):Do.recordError(1281)}function is(e,t,r){r?V[r>>2]=cl.getBufferParameter(e,t):Do.recordError(1281)}function as(){var e=cl.getError()||Do.lastError;return Do.lastError=0,e}function ss(e,t){rs(e,t,2)}function cs(e,t){return cl.getFragDataLocation(Do.programs[e],U(t))}function ds(e,t,r,n){var o=cl.getFramebufferAttachmentParameter(e,t,r);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),V[n>>2]=o}function us(e,t,r,n){if(r){var o,i=cl.getIndexedParameter(e,t);switch(typeof i){case"boolean":o=i?1:0;break;case"number":o=i;break;case"object":if(null===i)switch(e){case 35983:case 35368:o=0;break;default:return void Do.recordError(1280)}else{if(!(i instanceof WebGLBuffer))return void Do.recordError(1280);o=0|i.name}break;default:return void Do.recordError(1280)}switch(n){case 1:ts(r,o);break;case 0:V[r>>2]=o;break;case 2:q[r>>2]=o;break;case 4:Q[r>>0]=o?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else Do.recordError(1281)}function ls(e,t,r){us(e,t,r,1)}function ps(e,t){rs(e,t,1)}function fs(e,t,r){us(e,t,r,0)}function ms(e,t){rs(e,t,0)}function gs(e,t,r,n,o){if(n<0)Do.recordError(1281);else if(o){var i=cl.getInternalformatParameter(e,t,r);if(null!==i)for(var a=0;a<i.length&&a<n;++a)V[o+4*a>>2]=i[a]}else Do.recordError(1281)}function Es(e,t,r,n,o){Do.recordError(1282)}function hs(e,t,r,n){var o=cl.getProgramInfoLog(Do.programs[e]);null===o&&(o="(unknown error)");var i=t>0&&n?L(o,n,t):0;r&&(V[r>>2]=i)}function _s(e,t,r){if(r)if(e>=Do.counter)Do.recordError(1281);else if(e=Do.programs[e],35716==t){var n=cl.getProgramInfoLog(e);null===n&&(n="(unknown error)"),V[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var o=0;o<cl.getProgramParameter(e,35718);++o)e.maxUniformLength=Math.max(e.maxUniformLength,cl.getActiveUniform(e,o).name.length+1);V[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength)for(o=0;o<cl.getProgramParameter(e,35721);++o)e.maxAttributeLength=Math.max(e.maxAttributeLength,cl.getActiveAttrib(e,o).name.length+1);V[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength)for(o=0;o<cl.getProgramParameter(e,35382);++o)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,cl.getActiveUniformBlockName(e,o).length+1);V[r>>2]=e.maxUniformBlockNameLength}else V[r>>2]=cl.getProgramParameter(e,t);else Do.recordError(1281)}function ys(e,t,r){if(r){var n,o=Do.queries[e];ts(r,"boolean"==typeof(n=Do.currentContext.version<2?cl.disjointTimerQueryExt.getQueryObjectEXT(o,t):cl.getQueryParameter(o,t))?n?1:0:n)}else Do.recordError(1281)}function vs(e,t,r){if(r){var n,o=Do.queries[e],i=cl.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof i?i?1:0:i,V[r>>2]=n}else Do.recordError(1281)}function ws(e,t,r){if(r){var n,o=Do.queries[e];ts(r,"boolean"==typeof(n=Do.currentContext.version<2?cl.disjointTimerQueryExt.getQueryObjectEXT(o,t):cl.getQueryParameter(o,t))?n?1:0:n)}else Do.recordError(1281)}function Ts(e,t,r){if(r){var n,o=Do.queries[e],i=cl.getQueryParameter(o,t);n="boolean"==typeof i?i?1:0:i,V[r>>2]=n}else Do.recordError(1281)}function Os(e,t,r){if(r){var n,o=Do.queries[e],i=cl.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof i?i?1:0:i,V[r>>2]=n}else Do.recordError(1281)}function bs(e,t,r){r?V[r>>2]=cl.getQuery(e,t):Do.recordError(1281)}function Ds(e,t,r){r?V[r>>2]=cl.disjointTimerQueryExt.getQueryEXT(e,t):Do.recordError(1281)}function Ps(e,t,r){r?V[r>>2]=cl.getRenderbufferParameter(e,t):Do.recordError(1281)}function Ms(e,t,r){r?q[r>>2]=cl.getSamplerParameter(Do.samplers[e],t):Do.recordError(1281)}function Rs(e,t,r){r?V[r>>2]=cl.getSamplerParameter(Do.samplers[e],t):Do.recordError(1281)}function Ss(e,t,r,n){var o=cl.getShaderInfoLog(Do.shaders[e]);null===o&&(o="(unknown error)");var i=t>0&&n?L(o,n,t):0;r&&(V[r>>2]=i)}function xs(e,t,r,n){var o=cl.getShaderPrecisionFormat(e,t);V[r>>2]=o.rangeMin,V[r+4>>2]=o.rangeMax,V[n>>2]=o.precision}function Fs(e,t,r,n){var o=cl.getShaderSource(Do.shaders[e]);if(o){var i=t>0&&n?L(o,n,t):0;r&&(V[r>>2]=i)}}function As(e,t,r){if(r)if(35716==t){var n=cl.getShaderInfoLog(Do.shaders[e]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;V[r>>2]=o}else if(35720==t){var i=cl.getShaderSource(Do.shaders[e]),a=i?i.length+1:0;V[r>>2]=a}else V[r>>2]=cl.getShaderParameter(Do.shaders[e],t);else Do.recordError(1281)}function Is(e){var t=H(e)+1,r=_l(t);return L(e,r,t),r}function ks(e){var t=Do.stringCache[e];if(!t){switch(e){case 7939:var r=cl.getSupportedExtensions()||[];t=Is((r=r.concat(r.map((function(e){return"GL_"+e})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=cl.getParameter(e);n||Do.recordError(1280),t=n&&Is(n);break;case 7938:var o=cl.getParameter(7938);t=Is(o=Do.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var i=cl.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i="OpenGL ES GLSL ES "+a[1]+" ("+i+")"),t=Is(i);break;default:Do.recordError(1280)}Do.stringCache[e]=t}return t}function Cs(e,t){if(Do.currentContext.version<2)return Do.recordError(1282),0;var r=Do.stringiCache[e];if(r)return t<0||t>=r.length?(Do.recordError(1281),0):r[t];switch(e){case 7939:var n=cl.getSupportedExtensions()||[];return n=(n=n.concat(n.map((function(e){return"GL_"+e})))).map((function(e){return Is(e)})),r=Do.stringiCache[e]=n,t<0||t>=r.length?(Do.recordError(1281),0):r[t];default:return Do.recordError(1280),0}}function Ns(e,t,r,n,o){if(r<0)Do.recordError(1281);else if(o){var i=cl.getSyncParameter(Do.syncs[e],t);null!==i&&(V[o>>2]=i,n&&(V[n>>2]=1))}else Do.recordError(1281)}function Us(e,t,r){r?q[r>>2]=cl.getTexParameter(e,t):Do.recordError(1281)}function js(e,t,r){r?V[r>>2]=cl.getTexParameter(e,t):Do.recordError(1281)}function Ls(e,t,r,n,o,i,a){e=Do.programs[e];var s=cl.getTransformFeedbackVarying(e,t);if(s){if(a&&r>0){var c=L(s.name,a,r);n&&(V[n>>2]=c)}else n&&(V[n>>2]=0);o&&(V[o>>2]=s.size),i&&(V[i>>2]=s.type)}}function Hs(e,t){return cl.getUniformBlockIndex(Do.programs[e],U(t))}function Xs(e,t,r,n){if(n)if(t>0&&(0==r||0==n))Do.recordError(1281);else{e=Do.programs[e];for(var o=[],i=0;i<t;i++)o.push(U(V[r+4*i>>2]));var a=cl.getUniformIndices(e,o);if(a){var s=a.length;for(i=0;i<s;i++)V[n+4*i>>2]=a[i]}}else Do.recordError(1281)}function Qs(e){return parseInt(e)}function Bs(e){return"]"==e.slice(-1)&&e.lastIndexOf("[")}function Gs(e){var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},t=0;t<cl.getProgramParameter(e,35718);++t){var i=cl.getActiveUniform(e,t),a=i.name,s=i.size,c=Bs(a),d=c>0?a.slice(0,c):a,u=e.uniformIdCounter;for(e.uniformIdCounter+=s,o[d]=[s,u],r=0;r<s;++r)n[u]=r,e.uniformArrayNamesById[u++]=d}}function Ws(e,t){if(t=U(t),e=Do.programs[e]){Gs(e);var r=e.uniformLocsById,n=0,o=t,i=Bs(t);i>0&&(n=Qs(t.slice(i+1))>>>0,o=t.slice(0,i));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||cl.getUniformLocation(e,t)))return n}else Do.recordError(1281);return-1}function Vs(e){var t=cl.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=cl.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?"["+r+"]":""))),r}Do.recordError(1282)}function zs(e,t,r,n){if(r){Gs(e=Do.programs[e]);var o=cl.getUniform(e,Vs(t));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:V[r>>2]=o;break;case 2:q[r>>2]=o}else for(var i=0;i<o.length;i++)switch(n){case 0:V[r+4*i>>2]=o[i];break;case 2:q[r+4*i>>2]=o[i]}}else Do.recordError(1281)}function qs(e,t,r){zs(e,t,r,2)}function $s(e,t,r){zs(e,t,r,0)}function Ys(e,t,r){zs(e,t,r,0)}function Ks(e,t,r,n){if(r){var o=cl.getVertexAttrib(e,t);if(34975==t)V[r>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:V[r>>2]=o;break;case 2:q[r>>2]=o;break;case 5:V[r>>2]=Math.fround(o)}else for(var i=0;i<o.length;i++)switch(n){case 0:V[r+4*i>>2]=o[i];break;case 2:q[r+4*i>>2]=o[i];break;case 5:V[r+4*i>>2]=Math.fround(o[i])}}else Do.recordError(1281)}function Js(e,t,r){Ks(e,t,r,0)}function Zs(e,t,r){Ks(e,t,r,0)}function ec(e,t,r){r?V[r>>2]=cl.getVertexAttribOffset(e,t):Do.recordError(1281)}function tc(e,t,r){Ks(e,t,r,2)}function rc(e,t,r){Ks(e,t,r,5)}function nc(e,t){cl.hint(e,t)}function oc(e,t,r){for(var n=ca[t],o=0;o<t;o++)n[o]=V[r+4*o>>2];cl.invalidateFramebuffer(e,n)}function ic(e,t,r,n,o,i,a){for(var s=ca[t],c=0;c<t;c++)s[c]=V[r+4*c>>2];cl.invalidateSubFramebuffer(e,s,n,o,i,a)}function ac(e){var t=Do.buffers[e];return t?cl.isBuffer(t):0}function sc(e){return cl.isEnabled(e)}function cc(e){var t=Do.framebuffers[e];return t?cl.isFramebuffer(t):0}function dc(e){return(e=Do.programs[e])?cl.isProgram(e):0}function uc(e){var t=Do.queries[e];return t?cl.isQuery(t):0}function lc(e){var t=Do.queries[e];return t?cl.disjointTimerQueryExt.isQueryEXT(t):0}function pc(e){var t=Do.renderbuffers[e];return t?cl.isRenderbuffer(t):0}function fc(e){var t=Do.samplers[e];return t?cl.isSampler(t):0}function mc(e){var t=Do.shaders[e];return t?cl.isShader(t):0}function gc(e){return cl.isSync(Do.syncs[e])}function Ec(e){var t=Do.textures[e];return t?cl.isTexture(t):0}function hc(e){return cl.isTransformFeedback(Do.transformFeedbacks[e])}function _c(e){var t=Do.vaos[e];return t?cl.isVertexArray(t):0}function yc(e){var t=Do.vaos[e];return t?cl.isVertexArray(t):0}function vc(e){cl.lineWidth(e)}function wc(e){e=Do.programs[e],cl.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}}function Tc(e,t,r,n,o,i){cl.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,V,t>>2,V,r>>2,V,n>>2,z,o>>2,i)}function Oc(e,t,r,n,o,i,a,s){cl.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,V,t>>2,r,V,n>>2,V,o>>2,V,i>>2,z,a>>2,s)}function bc(){cl.pauseTransformFeedback()}function Dc(e,t){3317==e&&(Do.unpackAlignment=t),cl.pixelStorei(e,t)}function Pc(e,t){cl.polygonOffset(e,t)}function Mc(e,t,r,n){Do.recordError(1280)}function Rc(e,t,r){Do.recordError(1280)}function Sc(e,t){cl.disjointTimerQueryExt.queryCounterEXT(Do.queries[e],t)}function xc(e){cl.readBuffer(e)}function Fc(e,t,r,n){var o;return t*(e*r+(o=n)-1&-o)}function Ac(e){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1}function Ic(e){return 0==(e-=5120)?Q:1==e?B:2==e?G:4==e?V:6==e?q:5==e||28922==e||28520==e||30779==e||30782==e?z:W}function kc(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function Cc(e,t,r,n,o,i){var a=Ic(e),s=kc(a),c=1<<s,d=Fc(r,n,Ac(t)*c,Do.unpackAlignment);return a.subarray(o>>s,o+d>>s)}function Nc(e,t,r,n,o,i,a){if(Do.currentContext.version>=2)if(cl.currentPixelPackBufferBinding)cl.readPixels(e,t,r,n,o,i,a);else{var s=Ic(i);cl.readPixels(e,t,r,n,o,i,s,a>>kc(s))}else{var c=Cc(i,o,r,n,a);c?cl.readPixels(e,t,r,n,o,i,c):Do.recordError(1280)}}function Uc(){}function jc(e,t,r,n){cl.renderbufferStorage(e,t,r,n)}function Lc(e,t,r,n,o){cl.renderbufferStorageMultisample(e,t,r,n,o)}function Hc(){cl.resumeTransformFeedback()}function Xc(e,t){cl.sampleCoverage(e,!!t)}function Qc(e,t,r){cl.samplerParameterf(Do.samplers[e],t,r)}function Bc(e,t,r){var n=q[r>>2];cl.samplerParameterf(Do.samplers[e],t,n)}function Gc(e,t,r){cl.samplerParameteri(Do.samplers[e],t,r)}function Wc(e,t,r){var n=V[r>>2];cl.samplerParameteri(Do.samplers[e],t,n)}function Vc(e,t,r,n){cl.scissor(e,t,r,n)}function zc(){Do.recordError(1280)}function qc(e,t,r,n){var o=Do.getSource(e,t,r,n);if(Do.currentContext.version>=2&&o.includes("#version 100")){var i="";(o=(o=o.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(i+="out mediump vec4 GL_FragColor;\n",o=o.replace(/gl_FragColor/g,"GL_FragColor")),o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.includes("attribute")?(o=o.replace(/attribute/g,"in")).replace(/varying/g,"out"):o.replace(/varying/g,"in")).replace(/textureCubeLodEXT/g,"textureCubeLod")).replace(/texture2DLodEXT/g,"texture2DLod")).replace(/texture2DProjLodEXT/g,"texture2DProjLod")).replace(/texture2DGradEXT/g,"texture2DGrad")).replace(/texture2DProjGradEXT/g,"texture2DProjGrad")).replace(/textureCubeGradEXT/g,"textureCubeGrad")).replace(/textureCube/g,"texture")).replace(/texture1D/g,"texture")).replace(/texture2D/g,"texture")).replace(/texture3D/g,"texture")).replace(/#version 100/g,"#version 300 es\n"+i)}cl.shaderSource(Do.shaders[e],o)}function $c(e,t,r){cl.stencilFunc(e,t,r)}function Yc(e,t,r,n){cl.stencilFuncSeparate(e,t,r,n)}function Kc(e){cl.stencilMask(e)}function Jc(e,t){cl.stencilMaskSeparate(e,t)}function Zc(e,t,r){cl.stencilOp(e,t,r)}function ed(e,t,r,n){cl.stencilOpSeparate(e,t,r,n)}function td(e,t,r,n,o,i,a,s,c){if(Do.currentContext.version>=2&&(6402==a&&6402==r&&5125==s&&(r=33190),36193==s&&(s=5131,6408==a&&6408==r&&(r=34842)),34041==r&&(r=35056)),Do.currentContext.version>=2)if(cl.currentPixelUnpackBufferBinding)cl.texImage2D(e,t,r,n,o,i,a,s,c);else if(c){var d=Ic(s);cl.texImage2D(e,t,r,n,o,i,a,s,d,c>>kc(d))}else cl.texImage2D(e,t,r,n,o,i,a,s,null);else cl.texImage2D(e,t,r,n,o,i,a,s,c?Cc(s,a,n,o,c):null)}function rd(e,t,r,n,o,i,a,s,c,d){if(cl.currentPixelUnpackBufferBinding)cl.texImage3D(e,t,r,n,o,i,a,s,c,d);else if(d){var u=Ic(c);cl.texImage3D(e,t,r,n,o,i,a,s,c,u,d>>kc(u))}else cl.texImage3D(e,t,r,n,o,i,a,s,c,null)}function nd(e,t,r){cl.texParameterf(e,t,r)}function od(e,t,r){var n=q[r>>2];cl.texParameterf(e,t,n)}function id(e,t,r){cl.texParameteri(e,t,r)}function ad(e,t,r){var n=V[r>>2];cl.texParameteri(e,t,n)}function sd(e,t,r,n,o){cl.texStorage2D(e,t,r,n,o)}function cd(e,t,r,n,o,i){cl.texStorage3D(e,t,r,n,o,i)}function dd(e,t,r,n,o,i,a,s,c){if(Do.currentContext.version>=2&&36193==s&&(s=5131),Do.currentContext.version>=2)if(cl.currentPixelUnpackBufferBinding)cl.texSubImage2D(e,t,r,n,o,i,a,s,c);else if(c){var d=Ic(s);cl.texSubImage2D(e,t,r,n,o,i,a,s,d,c>>kc(d))}else cl.texSubImage2D(e,t,r,n,o,i,a,s,null);else{var u=null;c&&(u=Cc(s,a,o,i,c)),cl.texSubImage2D(e,t,r,n,o,i,a,s,u)}}function ud(e,t,r,n,o,i,a,s,c,d,u){if(cl.currentPixelUnpackBufferBinding)cl.texSubImage3D(e,t,r,n,o,i,a,s,c,d,u);else if(u){var l=Ic(d);cl.texSubImage3D(e,t,r,n,o,i,a,s,c,d,l,u>>kc(l))}else cl.texSubImage3D(e,t,r,n,o,i,a,s,c,d,null)}function ld(e,t,r,n){e=Do.programs[e];for(var o=[],i=0;i<t;i++)o.push(U(V[r+4*i>>2]));cl.transformFeedbackVaryings(e,o,n)}function pd(e,t){cl.uniform1f(Vs(e),t)}var fd=[];function md(e,t,r){if(Do.currentContext.version>=2)cl.uniform1fv(Vs(e),q,r>>2,t);else{if(t<=288)for(var n=fd[t-1],o=0;o<t;++o)n[o]=q[r+4*o>>2];else n=q.subarray(r>>2,r+4*t>>2);cl.uniform1fv(Vs(e),n)}}function gd(e,t){cl.uniform1i(Vs(e),t)}var Ed=[];function hd(e,t,r){if(Do.currentContext.version>=2)cl.uniform1iv(Vs(e),V,r>>2,t);else{if(t<=288)for(var n=Ed[t-1],o=0;o<t;++o)n[o]=V[r+4*o>>2];else n=V.subarray(r>>2,r+4*t>>2);cl.uniform1iv(Vs(e),n)}}function _d(e,t){cl.uniform1ui(Vs(e),t)}function yd(e,t,r){cl.uniform1uiv(Vs(e),z,r>>2,t)}function vd(e,t,r){cl.uniform2f(Vs(e),t,r)}function wd(e,t,r){if(Do.currentContext.version>=2)cl.uniform2fv(Vs(e),q,r>>2,2*t);else{if(t<=144)for(var n=fd[2*t-1],o=0;o<2*t;o+=2)n[o]=q[r+4*o>>2],n[o+1]=q[r+(4*o+4)>>2];else n=q.subarray(r>>2,r+8*t>>2);cl.uniform2fv(Vs(e),n)}}function Td(e,t,r){cl.uniform2i(Vs(e),t,r)}function Od(e,t,r){if(Do.currentContext.version>=2)cl.uniform2iv(Vs(e),V,r>>2,2*t);else{if(t<=144)for(var n=Ed[2*t-1],o=0;o<2*t;o+=2)n[o]=V[r+4*o>>2],n[o+1]=V[r+(4*o+4)>>2];else n=V.subarray(r>>2,r+8*t>>2);cl.uniform2iv(Vs(e),n)}}function bd(e,t,r){cl.uniform2ui(Vs(e),t,r)}function Dd(e,t,r){cl.uniform2uiv(Vs(e),z,r>>2,2*t)}function Pd(e,t,r,n){cl.uniform3f(Vs(e),t,r,n)}function Md(e,t,r){if(Do.currentContext.version>=2)cl.uniform3fv(Vs(e),q,r>>2,3*t);else{if(t<=96)for(var n=fd[3*t-1],o=0;o<3*t;o+=3)n[o]=q[r+4*o>>2],n[o+1]=q[r+(4*o+4)>>2],n[o+2]=q[r+(4*o+8)>>2];else n=q.subarray(r>>2,r+12*t>>2);cl.uniform3fv(Vs(e),n)}}function Rd(e,t,r,n){cl.uniform3i(Vs(e),t,r,n)}function Sd(e,t,r){if(Do.currentContext.version>=2)cl.uniform3iv(Vs(e),V,r>>2,3*t);else{if(t<=96)for(var n=Ed[3*t-1],o=0;o<3*t;o+=3)n[o]=V[r+4*o>>2],n[o+1]=V[r+(4*o+4)>>2],n[o+2]=V[r+(4*o+8)>>2];else n=V.subarray(r>>2,r+12*t>>2);cl.uniform3iv(Vs(e),n)}}function xd(e,t,r,n){cl.uniform3ui(Vs(e),t,r,n)}function Fd(e,t,r){cl.uniform3uiv(Vs(e),z,r>>2,3*t)}function Ad(e,t,r,n,o){cl.uniform4f(Vs(e),t,r,n,o)}function Id(e,t,r){if(Do.currentContext.version>=2)cl.uniform4fv(Vs(e),q,r>>2,4*t);else{if(t<=72){var n=fd[4*t-1],o=q;r>>=2;for(var i=0;i<4*t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=q.subarray(r>>2,r+16*t>>2);cl.uniform4fv(Vs(e),n)}}function kd(e,t,r,n,o){cl.uniform4i(Vs(e),t,r,n,o)}function Cd(e,t,r){if(Do.currentContext.version>=2)cl.uniform4iv(Vs(e),V,r>>2,4*t);else{if(t<=72)for(var n=Ed[4*t-1],o=0;o<4*t;o+=4)n[o]=V[r+4*o>>2],n[o+1]=V[r+(4*o+4)>>2],n[o+2]=V[r+(4*o+8)>>2],n[o+3]=V[r+(4*o+12)>>2];else n=V.subarray(r>>2,r+16*t>>2);cl.uniform4iv(Vs(e),n)}}function Nd(e,t,r,n,o){cl.uniform4ui(Vs(e),t,r,n,o)}function Ud(e,t,r){cl.uniform4uiv(Vs(e),z,r>>2,4*t)}function jd(e,t,r){e=Do.programs[e],cl.uniformBlockBinding(e,t,r)}function Ld(e,t,r,n){if(Do.currentContext.version>=2)cl.uniformMatrix2fv(Vs(e),!!r,q,n>>2,4*t);else{if(t<=72)for(var o=fd[4*t-1],i=0;i<4*t;i+=4)o[i]=q[n+4*i>>2],o[i+1]=q[n+(4*i+4)>>2],o[i+2]=q[n+(4*i+8)>>2],o[i+3]=q[n+(4*i+12)>>2];else o=q.subarray(n>>2,n+16*t>>2);cl.uniformMatrix2fv(Vs(e),!!r,o)}}function Hd(e,t,r,n){cl.uniformMatrix2x3fv(Vs(e),!!r,q,n>>2,6*t)}function Xd(e,t,r,n){cl.uniformMatrix2x4fv(Vs(e),!!r,q,n>>2,8*t)}function Qd(e,t,r,n){if(Do.currentContext.version>=2)cl.uniformMatrix3fv(Vs(e),!!r,q,n>>2,9*t);else{if(t<=32)for(var o=fd[9*t-1],i=0;i<9*t;i+=9)o[i]=q[n+4*i>>2],o[i+1]=q[n+(4*i+4)>>2],o[i+2]=q[n+(4*i+8)>>2],o[i+3]=q[n+(4*i+12)>>2],o[i+4]=q[n+(4*i+16)>>2],o[i+5]=q[n+(4*i+20)>>2],o[i+6]=q[n+(4*i+24)>>2],o[i+7]=q[n+(4*i+28)>>2],o[i+8]=q[n+(4*i+32)>>2];else o=q.subarray(n>>2,n+36*t>>2);cl.uniformMatrix3fv(Vs(e),!!r,o)}}function Bd(e,t,r,n){cl.uniformMatrix3x2fv(Vs(e),!!r,q,n>>2,6*t)}function Gd(e,t,r,n){cl.uniformMatrix3x4fv(Vs(e),!!r,q,n>>2,12*t)}function Wd(e,t,r,n){if(Do.currentContext.version>=2)cl.uniformMatrix4fv(Vs(e),!!r,q,n>>2,16*t);else{if(t<=18){var o=fd[16*t-1],i=q;n>>=2;for(var a=0;a<16*t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=q.subarray(n>>2,n+64*t>>2);cl.uniformMatrix4fv(Vs(e),!!r,o)}}function Vd(e,t,r,n){cl.uniformMatrix4x2fv(Vs(e),!!r,q,n>>2,8*t)}function zd(e,t,r,n){cl.uniformMatrix4x3fv(Vs(e),!!r,q,n>>2,12*t)}function qd(e){e=Do.programs[e],cl.useProgram(e),cl.currentProgram=e}function $d(e){cl.validateProgram(Do.programs[e])}function Yd(e,t){cl.vertexAttrib1f(e,t)}function Kd(e,t){cl.vertexAttrib1f(e,q[t>>2])}function Jd(e,t,r){cl.vertexAttrib2f(e,t,r)}function Zd(e,t){cl.vertexAttrib2f(e,q[t>>2],q[t+4>>2])}function eu(e,t,r,n){cl.vertexAttrib3f(e,t,r,n)}function tu(e,t){cl.vertexAttrib3f(e,q[t>>2],q[t+4>>2],q[t+8>>2])}function ru(e,t,r,n,o){cl.vertexAttrib4f(e,t,r,n,o)}function nu(e,t){cl.vertexAttrib4f(e,q[t>>2],q[t+4>>2],q[t+8>>2],q[t+12>>2])}function ou(e,t){cl.vertexAttribDivisor(e,t)}function iu(e,t){cl.vertexAttribDivisor(e,t)}function au(e,t){cl.vertexAttribDivisor(e,t)}function su(e,t){cl.vertexAttribDivisor(e,t)}function cu(e,t){cl.vertexAttribDivisor(e,t)}function du(e,t,r,n,o){cl.vertexAttribI4i(e,t,r,n,o)}function uu(e,t){cl.vertexAttribI4i(e,V[t>>2],V[t+4>>2],V[t+8>>2],V[t+12>>2])}function lu(e,t,r,n,o){cl.vertexAttribI4ui(e,t,r,n,o)}function pu(e,t){cl.vertexAttribI4ui(e,z[t>>2],z[t+4>>2],z[t+8>>2],z[t+12>>2])}function fu(e,t,r,n,o){cl.vertexAttribIPointer(e,t,r,n,o)}function mu(e,t,r,n,o,i){cl.vertexAttribPointer(e,t,r,!!n,o,i)}function gu(e,t,r,n){cl.viewport(e,t,r,n)}function Eu(e,t,r,n){cl.waitSync(Do.syncs[e],t,wi(r,n))}function hu(e,t,r){B.copyWithin(e,t,t+r)}function _u(e){try{return S.grow(e-X.byteLength+65535>>>16),se(S.buffer),1}catch(t){O("emscripten_realloc_buffer: Attempted to grow heap from "+X.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}function yu(e){var t=B.length;k((e>>>=0)>t);var r=2147483648;if(e>r)return O("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is 2147483648 bytes!"),!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,ae(Math.max(e,o),65536));if(_u(i))return!0}return O("Failed to grow the heap from "+t+" bytes to "+i+" bytes, not enough memory!"),!1}function vu(e){if(o.emscripten_ubq_asyncFetchStates.has(e)){const t=o.emscripten_ubq_asyncFetchStates.get(e);if(t.state==a.ALLOCATED)return!0;if(t.state==a.FINISHED){const r=t.result.length,n=o._malloc(r);return o.HEAPU8.set(t.result,n),t.resultAddress=n,t.resultLength=r,t.state=a.ALLOCATED,o.emscripten_ubq_asyncFetchStates.set(e,t),!0}}return!1}function wu(e,t,r,n){let i=o.UTF8ToString(e,t),a=o.UTF8ToString(r,n),s=o.emscripten_ubq_asyncFetchNextHeaderHandle++;return o.emscripten_ubq_asyncFetchHeaders.set(s,{key:i,value:a}),s}function Tu(e){return o.emscripten_ubq_asyncFetchHeaders.has(e)?o.emscripten_ubq_asyncFetchHeaders.get(e):0}function Ou(e,t,r,n,i,c,d,u,l){let p=o.UTF8ToString(t,r),f=o.UTF8ToString(u,l),m=o.emscripten_ubq_asyncFetchNextHandle++;o.emscripten_ubq_asyncFetchStates.set(m,{state:a.PENDING});let g={};for(let e=0;e<i;e++){const t=o.getValue(n+4*e,"i32"),r=o.emscripten_ubq_asyncFetchHeaders.get(t);g[r.key]=r.value}const E=s[e];let h;return"GET"!==E&&"HEAD"!==E&&(h=new Uint8Array(o.HEAPU8.buffer,c,d)),fetch(p,{method:E,headers:g,body:h,mode:"cors",credentials:f}).then((e=>{if(e.status>=200&&e.status<=209){let t=0;return e.headers.has("Content-Length")&&(t=+e.headers.get("Content-Length")),o.emscripten_ubq_asyncFetchTotalBytes.set(m,t),async function(e,t){const r=e.getReader();let n=0,i=[];for(;;){const{done:e,value:t}=await r.read();if(e)break;i.push(t),n+=t.length,o.emscripten_ubq_asyncFetchCompletedBytes.set(m,n)}let a=new Uint8Array(n),s=0;for(let e of i)a.set(e,s),s+=e.length;return a}(e.body)}return Promise.reject(e.statusText)})).then((e=>{o.emscripten_ubq_asyncFetchStates.set(m,{state:a.FINISHED,result:e})})).catch((e=>{o.emscripten_ubq_asyncFetchStates.set(m,{state:a.ERROR,error:e})})),m}function bu(e){return!!o.emscripten_ubq_asyncFetchStates.has(e)&&(o.emscripten_ubq_asyncFetchStates.delete(e),!0)}function Du(e){return o.emscripten_ubq_asyncFetchCompletedBytes.has(e)?o.emscripten_ubq_asyncFetchCompletedBytes.get(e):0}function Pu(e){if(o.emscripten_ubq_asyncFetchStates.has(e)){const t=o.emscripten_ubq_asyncFetchStates.get(e);if(t.state==a.ALLOCATED)return t.resultAddress}return-1}function Mu(e){if(o.emscripten_ubq_asyncFetchStates.has(e)){const t=o.emscripten_ubq_asyncFetchStates.get(e);if(t.state==a.ALLOCATED)return t.resultLength}return-1}function Ru(e){return o.emscripten_ubq_asyncFetchStates.has(e)?o.emscripten_ubq_asyncFetchStates.get(e).state:-1}function Su(e){return o.emscripten_ubq_asyncFetchTotalBytes.has(e)?o.emscripten_ubq_asyncFetchTotalBytes.get(e):0}var xu={inEventHandler:0,removeAllEventListeners:function(){for(var e=xu.eventHandlers.length-1;e>=0;--e)xu._removeHandler(e);xu.eventHandlers=[],xu.deferredCalls=[]},registerRemoveEventListeners:function(){xu.removeEventListenersRegistered||(Ee.push(xu.removeAllEventListeners),xu.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var o in xu.deferredCalls){var i=xu.deferredCalls[o];if(i.targetFunction==e&&n(i.argsList,r))return}xu.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),xu.deferredCalls.sort((function(e,t){return e.precedence<t.precedence}))},removeDeferredCalls:function(e){for(var t=0;t<xu.deferredCalls.length;++t)xu.deferredCalls[t].targetFunction==e&&(xu.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:function(){return xu.inEventHandler&&xu.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(xu.canPerformEventHandlerRequests())for(var e=0;e<xu.deferredCalls.length;++e){var t=xu.deferredCalls[e];xu.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,t){for(var r=0;r<xu.eventHandlers.length;++r)xu.eventHandlers[r].target!=e||t&&t!=xu.eventHandlers[r].eventTypeString||xu._removeHandler(r--)},_removeHandler:function(e){var t=xu.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),xu.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){var t=function(t){++xu.inEventHandler,xu.currentEventHandler=e,xu.runDeferredCalls(),e.handlerFunc(t),xu.runDeferredCalls(),--xu.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=t,e.target.addEventListener(e.eventTypeString,t,e.useCapture),xu.eventHandlers.push(e),xu.registerRemoveEventListeners();else for(var r=0;r<xu.eventHandlers.length;++r)xu.eventHandlers[r].target==e.target&&xu.eventHandlers[r].eventTypeString==e.eventTypeString&&xu._removeHandler(r--)},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},Fu=["default","low-power","high-performance"];function Au(e){return e>2?U(e):e}var Iu=[0,document,window];function ku(e){return e=Au(e),Iu[e]||document.querySelector(e)}function Cu(e){return ku(e)}function Nu(e,t){k(t);var r=t>>2,n=V[r+6],o={alpha:!!V[r+0],depth:!!V[r+1],stencil:!!V[r+2],antialias:!!V[r+3],premultipliedAlpha:!!V[r+4],preserveDrawingBuffer:!!V[r+5],powerPreference:Fu[n],failIfMajorPerformanceCaveat:!!V[r+7],majorVersion:V[r+8],minorVersion:V[r+9],enableExtensionsByDefault:V[r+10],explicitSwapControl:V[r+11],proxyContextToMainThread:V[r+12],renderViaOffscreenBackBuffer:V[r+13]},i=Cu(e);return i?o.explicitSwapControl?0:Do.createContext(i,o):0}function Uu(e,t){return Nu(e,t)}function ju(e){Do.currentContext==e&&(Do.currentContext=0),Do.deleteContext(e)}function Lu(e){k(e);for(var t=e>>2,r=0;r<14;++r)V[t+r]=0;V[t+0]=V[t+1]=V[t+3]=V[t+4]=V[t+8]=V[t+10]=1}function Hu(e){return Do.makeContextCurrent(e)?0:-5}var Xu={};function Qu(){return u||"./this.program"}function Bu(){if(!Bu.strings){var e={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",_:Qu()};for(var t in Xu)void 0===Xu[t]?delete e[t]:e[t]=Xu[t];var r=[];for(var t in e)r.push(t+"="+e[t]);Bu.strings=r}return Bu.strings}function Gu(e,t){var r=0;return Bu().forEach((function(n,o){var i=t+r;V[e+4*o>>2]=i,ie(n,i),r+=n.length+1})),0}function Wu(e,t){var r=Bu();V[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),V[t>>2]=n,0}function Vu(e){try{var t=ht.getStreamFromFD(e);return Et.close(t),0}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return e.errno}}function zu(e,t,r,n,o,i){try{k(!o,"offsets over 2^32 not yet supported");var a=ht.getStreamFromFD(e),s=ht.doReadv(a,t,r,n);return V[i>>2]=s,0}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return e.errno}}function qu(e,t,r,n){try{var o=ht.getStreamFromFD(e),i=ht.doReadv(o,t,r);return V[n>>2]=i,0}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return e.errno}}function $u(e,t,r,n,o){try{var i=ht.getStreamFromFD(e),a=4294967296*r+(t>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(Et.llseek(i,a,n),He=[i.position>>>0,(Le=i.position,+Math.abs(Le)>=1?Le>0?(0|Math.min(+Math.floor(Le/4294967296),4294967295))>>>0:~~+Math.ceil((Le-+(~~Le>>>0))/4294967296)>>>0:0)],V[o>>2]=He[0],V[o+4>>2]=He[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return e.errno}}function Yu(e,t,r,n){try{var o=ht.getStreamFromFD(e),i=ht.doWritev(o,t,r);return V[n>>2]=i,0}catch(e){if(void 0===Et||!(e instanceof Et.ErrnoError))throw e;return e.errno}}function Ku(){return R()}function Ju(e){var t=Date.now();return V[e>>2]=t/1e3|0,V[e+4>>2]=t%1e3*1e3|0,0}function Zu(e){M(e)}function el(e){return e%4==0&&(e%100!=0||e%400==0)}function tl(e,t){for(var r=0,n=0;n<=t;r+=e[n++]);return r}var rl=[31,29,31,30,31,30,31,31,30,31,30,31],nl=[31,28,31,30,31,30,31,31,30,31,30,31];function ol(e,t){for(var r=new Date(e.getTime());t>0;){var n=el(r.getFullYear()),o=r.getMonth(),i=(n?rl:nl)[o];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function il(e,t,r,n){var o=V[n+40>>2],i={tm_sec:V[n>>2],tm_min:V[n+4>>2],tm_hour:V[n+8>>2],tm_mday:V[n+12>>2],tm_mon:V[n+16>>2],tm_year:V[n+20>>2],tm_wday:V[n+24>>2],tm_yday:V[n+28>>2],tm_isdst:V[n+32>>2],tm_gmtoff:V[n+36>>2],tm_zone:o?U(o):""},a=U(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)a=a.replace(new RegExp(c,"g"),s[c]);var d=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length<t;)n=r[0]+n;return n}function p(e,t){return l(e,t,"0")}function f(e,t){function r(e){return e<0?-1:e>0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function g(e){var t=ol(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=m(r),i=m(n);return f(o,t)<=0?f(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var E={"%a":function(e){return d[e.tm_wday].substring(0,3)},"%A":function(e){return d[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return p((e.tm_year+1900)/100|0,2)},"%d":function(e){return p(e.tm_mday,2)},"%e":function(e){return l(e.tm_mday,2," ")},"%g":function(e){return g(e).toString().substring(2)},"%G":function(e){return g(e)},"%H":function(e){return p(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":function(e){return p(e.tm_mday+tl(el(e.tm_year+1900)?rl:nl,e.tm_mon-1),3)},"%m":function(e){return p(e.tm_mon+1,2)},"%M":function(e){return p(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return p(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=new Date(e.tm_year+1900,0,1),r=0===t.getDay()?t:ol(t,7-t.getDay()),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(f(r,n)<0){var o=tl(el(n.getFullYear())?rl:nl,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return p(Math.ceil(i/7),2)}return 0===f(r,t)?"01":"00"},"%V":function(e){var t,r=new Date(e.tm_year+1900,0,4),n=new Date(e.tm_year+1901,0,4),o=m(r),i=m(n),a=ol(new Date(e.tm_year+1900,0,1),e.tm_yday);return f(a,o)<0?"53":f(i,a)<=0?"01":(t=o.getFullYear()<e.tm_year+1900?e.tm_yday+32-o.getDate():e.tm_yday+1-o.getDate(),p(Math.ceil(t/7),2))},"%w":function(e){return e.tm_wday},"%W":function(e){var t=new Date(e.tm_year,0,1),r=1===t.getDay()?t:ol(t,0===t.getDay()?1:7-t.getDay()+1),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(f(r,n)<0){var o=tl(el(n.getFullYear())?rl:nl,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return p(Math.ceil(i/7),2)}return 0===f(r,t)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in a=a.replace(/%%/g,"\0\0"),E)a.includes(c)&&(a=a.replace(new RegExp(c,"g"),E[c](i)));var h=gl(a=a.replace(/\0\0/g,"%"),!1);return h.length>t?0:(oe(h,e),h.length-1)}function al(e,t,r,n){return il(e,t,r,n)}function sl(e){var t=Date.now()/1e3|0;return e&&(V[e>>2]=t),t}var cl,dl=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Et.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},ul=365,ll=146;Object.defineProperties(dl.prototype,{read:{get:function(){return(this.mode&ul)===ul},set:function(e){e?this.mode|=ul:this.mode&=~ul}},write:{get:function(){return(this.mode&ll)===ll},set:function(e){e?this.mode|=ll:this.mode&=~ll}},isFolder:{get:function(){return Et.isDir(this.mode)}},isDevice:{get:function(){return Et.isChrdev(this.mode)}}}),Et.FSNode=dl,Et.staticInit(),o.FS_createPath=Et.createPath,o.FS_createDataFile=Et.createDataFile,o.FS_createPreloadedFile=Et.createPreloadedFile,o.FS_createLazyFile=Et.createLazyFile,o.FS_createDevice=Et.createDevice,o.FS_unlink=Et.unlink,gt={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},Lt=o.InternalError=jt(Error,"InternalError"),zt(),Yt=o.BindingError=jt(Error,"BindingError"),Pr(),gr(),jr(),Wr=o.UnboundTypeError=jt(Error,"UnboundTypeError"),an(),o.requestFullscreen=function(e,t){Eo.requestFullscreen(e,t)},o.requestFullScreen=function(){Eo.requestFullScreen()},o.requestAnimationFrame=function(e){Eo.requestAnimationFrame(e)},o.setCanvasSize=function(e,t,r){Eo.setCanvasSize(e,t,r)},o.pauseMainLoop=function(){Eo.mainLoop.pause()},o.resumeMainLoop=function(){Eo.mainLoop.resume()},o.getUserMedia=function(){Eo.getUserMedia()},o.createContext=function(e,t,r,n){return Eo.createContext(e,t,r,n)};for(var pl=0;pl<32;++pl)ca.push(new Array(pl));var fl=new Float32Array(288);for(pl=0;pl<288;++pl)fd[pl]=fl.subarray(0,pl+1);var ml=new Int32Array(288);for(pl=0;pl<288;++pl)Ed[pl]=ml.subarray(0,pl+1);function gl(e,t,r){var n=r>0?r:H(e)+1,o=new Array(n),i=j(e,o,0,o.length);return t&&(o.length=i),o}"function"==typeof atob&&atob;var El,hl={__assert_fail:et,__cxa_allocate_exception:tt,__cxa_throw:nt,__syscall_fcntl64:_t,__syscall_fstat64:yt,__syscall_fstatat64:vt,__syscall_getdents64:wt,__syscall_ioctl:Tt,__syscall_lstat64:Ot,__syscall_open:bt,__syscall_stat64:Dt,_dlopen_js:Pt,_dlsym_js:Mt,_embind_finalize_value_array:Qt,_embind_finalize_value_object:Gt,_embind_register_bigint:Wt,_embind_register_bool:Zt,_embind_register_class:qr,_embind_register_class_constructor:Yr,_embind_register_class_function:Zr,_embind_register_emval:cn,_embind_register_enum:un,_embind_register_enum_value:pn,_embind_register_float:gn,_embind_register_function:En,_embind_register_integer:_n,_embind_register_memory_view:yn,_embind_register_smart_ptr:vn,_embind_register_std_string:wn,_embind_register_std_wstring:Tn,_embind_register_value_array:On,_embind_register_value_array_element:bn,_embind_register_value_object:Dn,_embind_register_value_object_field:Pn,_embind_register_void:Mn,_emscripten_throw_longjmp:Rn,_emval_as:Sn,_emval_call:Fn,_emval_call_method:Nn,_emval_call_void_method:Un,_emval_decref:rn,_emval_get_global:Ln,_emval_get_method_caller:Qn,_emval_get_property:Bn,_emval_incref:Gn,_emval_instanceof:Wn,_emval_is_string:Vn,_emval_new:Yn,_emval_new_array:Kn,_emval_new_cstring:Jn,_emval_new_object:Zn,_emval_run_destructors:eo,_emval_set_property:to,_emval_take_value:ro,_emval_throw:no,_mmap_js:oo,_munmap_js:io,abort:ao,clock_gettime:co,eglChooseConfig:_o,eglCreateContext:Po,eglCreateWindowSurface:Mo,eglDestroyContext:Ro,eglDestroySurface:So,eglGetConfigAttrib:xo,eglGetDisplay:Fo,eglGetError:Ao,eglInitialize:Io,eglMakeCurrent:ko,eglSwapBuffers:Co,eglTerminate:No,emscripten_console_error:Uo,emscripten_console_log:jo,emscripten_console_warn:Lo,emscripten_debugger:Ho,emscripten_get_heap_max:Xo,emscripten_glActiveTexture:Qo,emscripten_glAttachShader:Bo,emscripten_glBeginQuery:Go,emscripten_glBeginQueryEXT:Wo,emscripten_glBeginTransformFeedback:Vo,emscripten_glBindAttribLocation:zo,emscripten_glBindBuffer:qo,emscripten_glBindBufferBase:$o,emscripten_glBindBufferRange:Yo,emscripten_glBindFramebuffer:Ko,emscripten_glBindRenderbuffer:Jo,emscripten_glBindSampler:Zo,emscripten_glBindTexture:ei,emscripten_glBindTransformFeedback:ti,emscripten_glBindVertexArray:ri,emscripten_glBindVertexArrayOES:ni,emscripten_glBlendColor:oi,emscripten_glBlendEquation:ii,emscripten_glBlendEquationSeparate:ai,emscripten_glBlendFunc:si,emscripten_glBlendFuncSeparate:ci,emscripten_glBlitFramebuffer:di,emscripten_glBufferData:ui,emscripten_glBufferSubData:li,emscripten_glCheckFramebufferStatus:pi,emscripten_glClear:fi,emscripten_glClearBufferfi:mi,emscripten_glClearBufferfv:gi,emscripten_glClearBufferiv:Ei,emscripten_glClearBufferuiv:hi,emscripten_glClearColor:_i,emscripten_glClearDepthf:yi,emscripten_glClearStencil:vi,emscripten_glClientWaitSync:Ti,emscripten_glColorMask:Oi,emscripten_glCompileShader:bi,emscripten_glCompressedTexImage2D:Di,emscripten_glCompressedTexImage3D:Pi,emscripten_glCompressedTexSubImage2D:Mi,emscripten_glCompressedTexSubImage3D:Ri,emscripten_glCopyBufferSubData:Si,emscripten_glCopyTexImage2D:xi,emscripten_glCopyTexSubImage2D:Fi,emscripten_glCopyTexSubImage3D:Ai,emscripten_glCreateProgram:Ii,emscripten_glCreateShader:ki,emscripten_glCullFace:Ci,emscripten_glDeleteBuffers:Ni,emscripten_glDeleteFramebuffers:Ui,emscripten_glDeleteProgram:ji,emscripten_glDeleteQueries:Li,emscripten_glDeleteQueriesEXT:Hi,emscripten_glDeleteRenderbuffers:Xi,emscripten_glDeleteSamplers:Qi,emscripten_glDeleteShader:Bi,emscripten_glDeleteSync:Gi,emscripten_glDeleteTextures:Wi,emscripten_glDeleteTransformFeedbacks:Vi,emscripten_glDeleteVertexArrays:zi,emscripten_glDeleteVertexArraysOES:qi,emscripten_glDepthFunc:$i,emscripten_glDepthMask:Yi,emscripten_glDepthRangef:Ki,emscripten_glDetachShader:Ji,emscripten_glDisable:Zi,emscripten_glDisableVertexAttribArray:ea,emscripten_glDrawArrays:ta,emscripten_glDrawArraysInstanced:ra,emscripten_glDrawArraysInstancedANGLE:na,emscripten_glDrawArraysInstancedARB:oa,emscripten_glDrawArraysInstancedBaseInstanceWEBGL:ia,emscripten_glDrawArraysInstancedEXT:aa,emscripten_glDrawArraysInstancedNV:sa,emscripten_glDrawBuffers:da,emscripten_glDrawBuffersEXT:ua,emscripten_glDrawBuffersWEBGL:la,emscripten_glDrawElements:pa,emscripten_glDrawElementsInstanced:fa,emscripten_glDrawElementsInstancedANGLE:ma,emscripten_glDrawElementsInstancedARB:ga,emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:Ea,emscripten_glDrawElementsInstancedEXT:ha,emscripten_glDrawElementsInstancedNV:_a,emscripten_glDrawRangeElements:va,emscripten_glEnable:wa,emscripten_glEnableVertexAttribArray:Ta,emscripten_glEndQuery:Oa,emscripten_glEndQueryEXT:ba,emscripten_glEndTransformFeedback:Da,emscripten_glFenceSync:Pa,emscripten_glFinish:Ma,emscripten_glFlush:Ra,emscripten_glFramebufferRenderbuffer:Sa,emscripten_glFramebufferTexture2D:xa,emscripten_glFramebufferTextureLayer:Fa,emscripten_glFrontFace:Aa,emscripten_glGenBuffers:ka,emscripten_glGenFramebuffers:Ca,emscripten_glGenQueries:Na,emscripten_glGenQueriesEXT:Ua,emscripten_glGenRenderbuffers:ja,emscripten_glGenSamplers:La,emscripten_glGenTextures:Ha,emscripten_glGenTransformFeedbacks:Xa,emscripten_glGenVertexArrays:Qa,emscripten_glGenVertexArraysOES:Ba,emscripten_glGenerateMipmap:Ga,emscripten_glGetActiveAttrib:Va,emscripten_glGetActiveUniform:za,emscripten_glGetActiveUniformBlockName:qa,emscripten_glGetActiveUniformBlockiv:$a,emscripten_glGetActiveUniformsiv:Ya,emscripten_glGetAttachedShaders:Ka,emscripten_glGetAttribLocation:Ja,emscripten_glGetBooleanv:ns,emscripten_glGetBufferParameteri64v:os,emscripten_glGetBufferParameteriv:is,emscripten_glGetError:as,emscripten_glGetFloatv:ss,emscripten_glGetFragDataLocation:cs,emscripten_glGetFramebufferAttachmentParameteriv:ds,emscripten_glGetInteger64i_v:ls,emscripten_glGetInteger64v:ps,emscripten_glGetIntegeri_v:fs,emscripten_glGetIntegerv:ms,emscripten_glGetInternalformativ:gs,emscripten_glGetProgramBinary:Es,emscripten_glGetProgramInfoLog:hs,emscripten_glGetProgramiv:_s,emscripten_glGetQueryObjecti64vEXT:ys,emscripten_glGetQueryObjectivEXT:vs,emscripten_glGetQueryObjectui64vEXT:ws,emscripten_glGetQueryObjectuiv:Ts,emscripten_glGetQueryObjectuivEXT:Os,emscripten_glGetQueryiv:bs,emscripten_glGetQueryivEXT:Ds,emscripten_glGetRenderbufferParameteriv:Ps,emscripten_glGetSamplerParameterfv:Ms,emscripten_glGetSamplerParameteriv:Rs,emscripten_glGetShaderInfoLog:Ss,emscripten_glGetShaderPrecisionFormat:xs,emscripten_glGetShaderSource:Fs,emscripten_glGetShaderiv:As,emscripten_glGetString:ks,emscripten_glGetStringi:Cs,emscripten_glGetSynciv:Ns,emscripten_glGetTexParameterfv:Us,emscripten_glGetTexParameteriv:js,emscripten_glGetTransformFeedbackVarying:Ls,emscripten_glGetUniformBlockIndex:Hs,emscripten_glGetUniformIndices:Xs,emscripten_glGetUniformLocation:Ws,emscripten_glGetUniformfv:qs,emscripten_glGetUniformiv:$s,emscripten_glGetUniformuiv:Ys,emscripten_glGetVertexAttribIiv:Js,emscripten_glGetVertexAttribIuiv:Zs,emscripten_glGetVertexAttribPointerv:ec,emscripten_glGetVertexAttribfv:tc,emscripten_glGetVertexAttribiv:rc,emscripten_glHint:nc,emscripten_glInvalidateFramebuffer:oc,emscripten_glInvalidateSubFramebuffer:ic,emscripten_glIsBuffer:ac,emscripten_glIsEnabled:sc,emscripten_glIsFramebuffer:cc,emscripten_glIsProgram:dc,emscripten_glIsQuery:uc,emscripten_glIsQueryEXT:lc,emscripten_glIsRenderbuffer:pc,emscripten_glIsSampler:fc,emscripten_glIsShader:mc,emscripten_glIsSync:gc,emscripten_glIsTexture:Ec,emscripten_glIsTransformFeedback:hc,emscripten_glIsVertexArray:_c,emscripten_glIsVertexArrayOES:yc,emscripten_glLineWidth:vc,emscripten_glLinkProgram:wc,emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL:Tc,emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:Oc,emscripten_glPauseTransformFeedback:bc,emscripten_glPixelStorei:Dc,emscripten_glPolygonOffset:Pc,emscripten_glProgramBinary:Mc,emscripten_glProgramParameteri:Rc,emscripten_glQueryCounterEXT:Sc,emscripten_glReadBuffer:xc,emscripten_glReadPixels:Nc,emscripten_glReleaseShaderCompiler:Uc,emscripten_glRenderbufferStorage:jc,emscripten_glRenderbufferStorageMultisample:Lc,emscripten_glResumeTransformFeedback:Hc,emscripten_glSampleCoverage:Xc,emscripten_glSamplerParameterf:Qc,emscripten_glSamplerParameterfv:Bc,emscripten_glSamplerParameteri:Gc,emscripten_glSamplerParameteriv:Wc,emscripten_glScissor:Vc,emscripten_glShaderBinary:zc,emscripten_glShaderSource:qc,emscripten_glStencilFunc:$c,emscripten_glStencilFuncSeparate:Yc,emscripten_glStencilMask:Kc,emscripten_glStencilMaskSeparate:Jc,emscripten_glStencilOp:Zc,emscripten_glStencilOpSeparate:ed,emscripten_glTexImage2D:td,emscripten_glTexImage3D:rd,emscripten_glTexParameterf:nd,emscripten_glTexParameterfv:od,emscripten_glTexParameteri:id,emscripten_glTexParameteriv:ad,emscripten_glTexStorage2D:sd,emscripten_glTexStorage3D:cd,emscripten_glTexSubImage2D:dd,emscripten_glTexSubImage3D:ud,emscripten_glTransformFeedbackVaryings:ld,emscripten_glUniform1f:pd,emscripten_glUniform1fv:md,emscripten_glUniform1i:gd,emscripten_glUniform1iv:hd,emscripten_glUniform1ui:_d,emscripten_glUniform1uiv:yd,emscripten_glUniform2f:vd,emscripten_glUniform2fv:wd,emscripten_glUniform2i:Td,emscripten_glUniform2iv:Od,emscripten_glUniform2ui:bd,emscripten_glUniform2uiv:Dd,emscripten_glUniform3f:Pd,emscripten_glUniform3fv:Md,emscripten_glUniform3i:Rd,emscripten_glUniform3iv:Sd,emscripten_glUniform3ui:xd,emscripten_glUniform3uiv:Fd,emscripten_glUniform4f:Ad,emscripten_glUniform4fv:Id,emscripten_glUniform4i:kd,emscripten_glUniform4iv:Cd,emscripten_glUniform4ui:Nd,emscripten_glUniform4uiv:Ud,emscripten_glUniformBlockBinding:jd,emscripten_glUniformMatrix2fv:Ld,emscripten_glUniformMatrix2x3fv:Hd,emscripten_glUniformMatrix2x4fv:Xd,emscripten_glUniformMatrix3fv:Qd,emscripten_glUniformMatrix3x2fv:Bd,emscripten_glUniformMatrix3x4fv:Gd,emscripten_glUniformMatrix4fv:Wd,emscripten_glUniformMatrix4x2fv:Vd,emscripten_glUniformMatrix4x3fv:zd,emscripten_glUseProgram:qd,emscripten_glValidateProgram:$d,emscripten_glVertexAttrib1f:Yd,emscripten_glVertexAttrib1fv:Kd,emscripten_glVertexAttrib2f:Jd,emscripten_glVertexAttrib2fv:Zd,emscripten_glVertexAttrib3f:eu,emscripten_glVertexAttrib3fv:tu,emscripten_glVertexAttrib4f:ru,emscripten_glVertexAttrib4fv:nu,emscripten_glVertexAttribDivisor:ou,emscripten_glVertexAttribDivisorANGLE:iu,emscripten_glVertexAttribDivisorARB:au,emscripten_glVertexAttribDivisorEXT:su,emscripten_glVertexAttribDivisorNV:cu,emscripten_glVertexAttribI4i:du,emscripten_glVertexAttribI4iv:uu,emscripten_glVertexAttribI4ui:lu,emscripten_glVertexAttribI4uiv:pu,emscripten_glVertexAttribIPointer:fu,emscripten_glVertexAttribPointer:mu,emscripten_glViewport:gu,emscripten_glWaitSync:Eu,emscripten_memcpy_big:hu,emscripten_resize_heap:yu,emscripten_ubq_fetch_allocateFetchResult:vu,emscripten_ubq_fetch_createHeader:wu,emscripten_ubq_fetch_deleteHeader:Tu,emscripten_ubq_fetch_dispatchAsyncFetch:Ou,emscripten_ubq_fetch_freeFetchResult:bu,emscripten_ubq_fetch_getFetchCompletedBytes:Du,emscripten_ubq_fetch_getFetchResultAddress:Pu,emscripten_ubq_fetch_getFetchResultLength:Mu,emscripten_ubq_fetch_getFetchState:Ru,emscripten_ubq_fetch_getFetchTotalBytes:Su,emscripten_webgl_create_context:Uu,emscripten_webgl_destroy_context:ju,emscripten_webgl_init_context_attributes:Lu,emscripten_webgl_make_context_current:Hu,environ_get:Gu,environ_sizes_get:Wu,exit:lo,fd_close:Vu,fd_pread:zu,fd_read:qu,fd_seek:$u,fd_write:Yu,getTempRet0:Ku,gettimeofday:Ju,invoke_ii:xl,invoke_iii:Fl,invoke_iiii:Il,invoke_iiiii:Ll,invoke_iiiiii:Nl,invoke_iiiiiii:jl,invoke_v:Ql,invoke_vi:kl,invoke_vii:Cl,invoke_viii:Al,invoke_viiii:Ul,invoke_viiiii:Hl,invoke_viiiiii:Bl,invoke_viiiiiiiii:Xl,setTempRet0:Zu,strftime_l:al,time:sl},_l=(ze(),o.___wasm_call_ctors=Ge("__wasm_call_ctors"),o._malloc=Ge("malloc")),yl=(o._main=Ge("main"),o._free=Ge("free")),vl=o.___errno_location=Ge("__errno_location"),wl=(o._saveSetjmp=Ge("saveSetjmp"),o.___getTypeName=Ge("__getTypeName")),Tl=(o.___embind_register_native_and_builtin_types=Ge("__embind_register_native_and_builtin_types"),o.___stdio_exit=Ge("__stdio_exit")),Ol=(o.___dl_seterr=Ge("__dl_seterr"),o._emscripten_main_thread_process_queued_calls=Ge("emscripten_main_thread_process_queued_calls"),o._emscripten_builtin_memalign=Ge("emscripten_builtin_memalign")),bl=o._setThrew=Ge("setThrew"),Dl=o._emscripten_stack_init=function(){return(Dl=o._emscripten_stack_init=o.asm.emscripten_stack_init).apply(null,arguments)},Pl=(o._emscripten_stack_get_free=function(){return(o._emscripten_stack_get_free=o.asm.emscripten_stack_get_free).apply(null,arguments)},o._emscripten_stack_get_base=function(){return(o._emscripten_stack_get_base=o.asm.emscripten_stack_get_base).apply(null,arguments)},o._emscripten_stack_get_end=function(){return(Pl=o._emscripten_stack_get_end=o.asm.emscripten_stack_get_end).apply(null,arguments)}),Ml=o.stackSave=Ge("stackSave"),Rl=o.stackRestore=Ge("stackRestore"),Sl=o.stackAlloc=Ge("stackAlloc");function xl(e,t){var r=Ml();try{return Je(e)(t)}catch(e){if(Rl(r),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Fl(e,t,r){var n=Ml();try{return Je(e)(t,r)}catch(e){if(Rl(n),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Al(e,t,r,n){var o=Ml();try{Je(e)(t,r,n)}catch(e){if(Rl(o),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Il(e,t,r,n){var o=Ml();try{return Je(e)(t,r,n)}catch(e){if(Rl(o),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function kl(e,t){var r=Ml();try{Je(e)(t)}catch(e){if(Rl(r),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Cl(e,t,r){var n=Ml();try{Je(e)(t,r)}catch(e){if(Rl(n),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Nl(e,t,r,n,o,i){var a=Ml();try{return Je(e)(t,r,n,o,i)}catch(e){if(Rl(a),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Ul(e,t,r,n,o){var i=Ml();try{Je(e)(t,r,n,o)}catch(e){if(Rl(i),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function jl(e,t,r,n,o,i,a){var s=Ml();try{return Je(e)(t,r,n,o,i,a)}catch(e){if(Rl(s),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Ll(e,t,r,n,o){var i=Ml();try{return Je(e)(t,r,n,o)}catch(e){if(Rl(i),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Hl(e,t,r,n,o,i){var a=Ml();try{Je(e)(t,r,n,o,i)}catch(e){if(Rl(a),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Xl(e,t,r,n,o,i,a,s,c,d){var u=Ml();try{Je(e)(t,r,n,o,i,a,s,c,d)}catch(e){if(Rl(u),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Ql(e){var t=Ml();try{Je(e)()}catch(e){if(Rl(t),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Bl(e,t,r,n,o,i,a){var s=Ml();try{Je(e)(t,r,n,o,i,a)}catch(e){if(Rl(s),e!==e+0&&"longjmp"!==e)throw e;bl(1,0)}}function Gl(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Wl(e){k(0==xe,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'),k(0==fe.length,"cannot call main when preRun functions remain to be called");var t=o._main,r=(e=e||[]).length+1,n=Sl(4*(r+1));V[n>>2]=ne(u);for(var i=1;i<r;i++)V[(n>>2)+i]=ne(e[i-1]);V[(n>>2)+r]=0;try{var a=t(r,n);return $l(a,!0),a}catch(e){return Ze(e)}}function Vl(){Dl(),le()}function zl(e){function t(){El||(El=!0,o.calledRun=!0,I||(Oe(),be(),r(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),Kl&&Wl(e),Pe()))}e=e||d,xe>0||(Vl(),Te(),xe>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),t()}),1)):t(),pe()))}function ql(){var e=T,t=O,r=!1;T=O=e=>{r=!0};try{Tl(),["stdout","stderr"].forEach((function(e){var t=Et.analyzePath("/dev/"+e);if(t){var n=t.object.rdev,o=ct.ttys[n];o&&o.output&&o.output.length&&(r=!0)}}))}catch(e){}T=e,O=t,r&&b("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}function $l(e,t){if(A=e,ve||ql(),we()){if(!t){var r="program exited (with status: "+e+"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)";n(r),O(r)}}else De();Yl(e)}function Yl(e){A=e,we()||(o.onExit&&o.onExit(e),I=!0),l(e,new Gl(e))}if(o.dynCall_ji=Ge("dynCall_ji"),o.dynCall_jij=Ge("dynCall_jij"),o.dynCall_iiiijii=Ge("dynCall_iiiijii"),o.dynCall_viiij=Ge("dynCall_viiij"),o.dynCall_viji=Ge("dynCall_viji"),o.dynCall_vijiii=Ge("dynCall_vijiii"),o.dynCall_viiiiij=Ge("dynCall_viiiiij"),o.dynCall_jiiiijiiiii=Ge("dynCall_jiiiijiiiii"),o.dynCall_jii=Ge("dynCall_jii"),o.dynCall_iiij=Ge("dynCall_iiij"),o.dynCall_iiiij=Ge("dynCall_iiiij"),o.dynCall_viij=Ge("dynCall_viij"),o.dynCall_iij=Ge("dynCall_iij"),o.dynCall_vij=Ge("dynCall_vij"),o.dynCall_jiiii=Ge("dynCall_jiiii"),o.dynCall_jiiiiii=Ge("dynCall_jiiiiii"),o.dynCall_jiiiiji=Ge("dynCall_jiiiiji"),o.dynCall_iijj=Ge("dynCall_iijj"),o.dynCall_jiji=Ge("dynCall_jiji"),o.dynCall_viijii=Ge("dynCall_viijii"),o.dynCall_iiiiij=Ge("dynCall_iiiiij"),o.dynCall_iiiiijj=Ge("dynCall_iiiiijj"),o.dynCall_iiiiiijj=Ge("dynCall_iiiiiijj"),Object.getOwnPropertyDescriptor(o,"intArrayFromString")||(o.intArrayFromString=()=>Ue("'intArrayFromString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"intArrayToString")||(o.intArrayToString=()=>Ue("'intArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ccall")||(o.ccall=()=>Ue("'ccall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"cwrap")||(o.cwrap=()=>Ue("'cwrap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setValue")||(o.setValue=()=>Ue("'setValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),o.getValue=F,Object.getOwnPropertyDescriptor(o,"allocate")||(o.allocate=()=>Ue("'allocate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"UTF8ArrayToString")||(o.UTF8ArrayToString=()=>Ue("'UTF8ArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),o.UTF8ToString=U,Object.getOwnPropertyDescriptor(o,"stringToUTF8Array")||(o.stringToUTF8Array=()=>Ue("'stringToUTF8Array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stringToUTF8")||(o.stringToUTF8=()=>Ue("'stringToUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF8")||(o.lengthBytesUTF8=()=>Ue("'lengthBytesUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stackTrace")||(o.stackTrace=()=>Ue("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"addOnPreRun")||(o.addOnPreRun=()=>Ue("'addOnPreRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"addOnInit")||(o.addOnInit=()=>Ue("'addOnInit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"addOnPreMain")||(o.addOnPreMain=()=>Ue("'addOnPreMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"addOnExit")||(o.addOnExit=()=>Ue("'addOnExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"addOnPostRun")||(o.addOnPostRun=()=>Ue("'addOnPostRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeStringToMemory")||(o.writeStringToMemory=()=>Ue("'writeStringToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeArrayToMemory")||(o.writeArrayToMemory=()=>Ue("'writeArrayToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeAsciiToMemory")||(o.writeAsciiToMemory=()=>Ue("'writeAsciiToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),o.addRunDependency=Ce,o.removeRunDependency=Ne,Object.getOwnPropertyDescriptor(o,"FS_createFolder")||(o.FS_createFolder=()=>Ue("'FS_createFolder' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),o.FS_createPath=Et.createPath,o.FS_createDataFile=Et.createDataFile,o.FS_createPreloadedFile=Et.createPreloadedFile,o.FS_createLazyFile=Et.createLazyFile,Object.getOwnPropertyDescriptor(o,"FS_createLink")||(o.FS_createLink=()=>Ue("'FS_createLink' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),o.FS_createDevice=Et.createDevice,o.FS_unlink=Et.unlink,Object.getOwnPropertyDescriptor(o,"getLEB")||(o.getLEB=()=>Ue("'getLEB' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getFunctionTables")||(o.getFunctionTables=()=>Ue("'getFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"alignFunctionTables")||(o.alignFunctionTables=()=>Ue("'alignFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerFunctions")||(o.registerFunctions=()=>Ue("'registerFunctions' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"addFunction")||(o.addFunction=()=>Ue("'addFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"removeFunction")||(o.removeFunction=()=>Ue("'removeFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getFuncWrapper")||(o.getFuncWrapper=()=>Ue("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"prettyPrint")||(o.prettyPrint=()=>Ue("'prettyPrint' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"dynCall")||(o.dynCall=()=>Ue("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getCompilerSetting")||(o.getCompilerSetting=()=>Ue("'getCompilerSetting' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"print")||(o.print=()=>Ue("'print' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"printErr")||(o.printErr=()=>Ue("'printErr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getTempRet0")||(o.getTempRet0=()=>Ue("'getTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setTempRet0")||(o.setTempRet0=()=>Ue("'setTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"callMain")||(o.callMain=()=>Ue("'callMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"abort")||(o.abort=()=>Ue("'abort' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"keepRuntimeAlive")||(o.keepRuntimeAlive=()=>Ue("'keepRuntimeAlive' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"zeroMemory")||(o.zeroMemory=()=>Ue("'zeroMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stringToNewUTF8")||(o.stringToNewUTF8=()=>Ue("'stringToNewUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emscripten_realloc_buffer")||(o.emscripten_realloc_buffer=()=>Ue("'emscripten_realloc_buffer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ENV")||(o.ENV=()=>Ue("'ENV' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"withStackSave")||(o.withStackSave=()=>Ue("'withStackSave' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ERRNO_CODES")||(o.ERRNO_CODES=()=>Ue("'ERRNO_CODES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ERRNO_MESSAGES")||(o.ERRNO_MESSAGES=()=>Ue("'ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setErrNo")||(o.setErrNo=()=>Ue("'setErrNo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"inetPton4")||(o.inetPton4=()=>Ue("'inetPton4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"inetNtop4")||(o.inetNtop4=()=>Ue("'inetNtop4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"inetPton6")||(o.inetPton6=()=>Ue("'inetPton6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"inetNtop6")||(o.inetNtop6=()=>Ue("'inetNtop6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"readSockaddr")||(o.readSockaddr=()=>Ue("'readSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeSockaddr")||(o.writeSockaddr=()=>Ue("'writeSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"DNS")||(o.DNS=()=>Ue("'DNS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getHostByName")||(o.getHostByName=()=>Ue("'getHostByName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"Protocols")||(o.Protocols=()=>Ue("'Protocols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"Sockets")||(o.Sockets=()=>Ue("'Sockets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getRandomDevice")||(o.getRandomDevice=()=>Ue("'getRandomDevice' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"traverseStack")||(o.traverseStack=()=>Ue("'traverseStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"convertFrameToPC")||(o.convertFrameToPC=()=>Ue("'convertFrameToPC' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"UNWIND_CACHE")||(o.UNWIND_CACHE=()=>Ue("'UNWIND_CACHE' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"saveInUnwindCache")||(o.saveInUnwindCache=()=>Ue("'saveInUnwindCache' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"convertPCtoSourceLocation")||(o.convertPCtoSourceLocation=()=>Ue("'convertPCtoSourceLocation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"readAsmConstArgsArray")||(o.readAsmConstArgsArray=()=>Ue("'readAsmConstArgsArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"readAsmConstArgs")||(o.readAsmConstArgs=()=>Ue("'readAsmConstArgs' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"mainThreadEM_ASM")||(o.mainThreadEM_ASM=()=>Ue("'mainThreadEM_ASM' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"jstoi_q")||(o.jstoi_q=()=>Ue("'jstoi_q' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"jstoi_s")||(o.jstoi_s=()=>Ue("'jstoi_s' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getExecutableName")||(o.getExecutableName=()=>Ue("'getExecutableName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"listenOnce")||(o.listenOnce=()=>Ue("'listenOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"autoResumeAudioContext")||(o.autoResumeAudioContext=()=>Ue("'autoResumeAudioContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"dynCallLegacy")||(o.dynCallLegacy=()=>Ue("'dynCallLegacy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getDynCaller")||(o.getDynCaller=()=>Ue("'getDynCaller' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"dynCall")||(o.dynCall=()=>Ue("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"callRuntimeCallbacks")||(o.callRuntimeCallbacks=()=>Ue("'callRuntimeCallbacks' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"wasmTableMirror")||(o.wasmTableMirror=()=>Ue("'wasmTableMirror' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setWasmTableEntry")||(o.setWasmTableEntry=()=>Ue("'setWasmTableEntry' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getWasmTableEntry")||(o.getWasmTableEntry=()=>Ue("'getWasmTableEntry' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"handleException")||(o.handleException=()=>Ue("'handleException' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"runtimeKeepalivePush")||(o.runtimeKeepalivePush=()=>Ue("'runtimeKeepalivePush' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"runtimeKeepalivePop")||(o.runtimeKeepalivePop=()=>Ue("'runtimeKeepalivePop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"callUserCallback")||(o.callUserCallback=()=>Ue("'callUserCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"maybeExit")||(o.maybeExit=()=>Ue("'maybeExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"safeSetTimeout")||(o.safeSetTimeout=()=>Ue("'safeSetTimeout' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"asmjsMangle")||(o.asmjsMangle=()=>Ue("'asmjsMangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"asyncLoad")||(o.asyncLoad=()=>Ue("'asyncLoad' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"alignMemory")||(o.alignMemory=()=>Ue("'alignMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"mmapAlloc")||(o.mmapAlloc=()=>Ue("'mmapAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"reallyNegative")||(o.reallyNegative=()=>Ue("'reallyNegative' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"unSign")||(o.unSign=()=>Ue("'unSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"reSign")||(o.reSign=()=>Ue("'reSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"formatString")||(o.formatString=()=>Ue("'formatString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"PATH")||(o.PATH=()=>Ue("'PATH' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"PATH_FS")||(o.PATH_FS=()=>Ue("'PATH_FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"SYSCALLS")||(o.SYSCALLS=()=>Ue("'SYSCALLS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getSocketFromFD")||(o.getSocketFromFD=()=>Ue("'getSocketFromFD' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getSocketAddress")||(o.getSocketAddress=()=>Ue("'getSocketAddress' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"JSEvents")||(o.JSEvents=()=>Ue("'JSEvents' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerKeyEventCallback")||(o.registerKeyEventCallback=()=>Ue("'registerKeyEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),o.specialHTMLTargets=Iu,Object.getOwnPropertyDescriptor(o,"maybeCStringToJsString")||(o.maybeCStringToJsString=()=>Ue("'maybeCStringToJsString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"findEventTarget")||(o.findEventTarget=()=>Ue("'findEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"findCanvasEventTarget")||(o.findCanvasEventTarget=()=>Ue("'findCanvasEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getBoundingClientRect")||(o.getBoundingClientRect=()=>Ue("'getBoundingClientRect' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillMouseEventData")||(o.fillMouseEventData=()=>Ue("'fillMouseEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerMouseEventCallback")||(o.registerMouseEventCallback=()=>Ue("'registerMouseEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerWheelEventCallback")||(o.registerWheelEventCallback=()=>Ue("'registerWheelEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerUiEventCallback")||(o.registerUiEventCallback=()=>Ue("'registerUiEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerFocusEventCallback")||(o.registerFocusEventCallback=()=>Ue("'registerFocusEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillDeviceOrientationEventData")||(o.fillDeviceOrientationEventData=()=>Ue("'fillDeviceOrientationEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerDeviceOrientationEventCallback")||(o.registerDeviceOrientationEventCallback=()=>Ue("'registerDeviceOrientationEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillDeviceMotionEventData")||(o.fillDeviceMotionEventData=()=>Ue("'fillDeviceMotionEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerDeviceMotionEventCallback")||(o.registerDeviceMotionEventCallback=()=>Ue("'registerDeviceMotionEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"screenOrientation")||(o.screenOrientation=()=>Ue("'screenOrientation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillOrientationChangeEventData")||(o.fillOrientationChangeEventData=()=>Ue("'fillOrientationChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerOrientationChangeEventCallback")||(o.registerOrientationChangeEventCallback=()=>Ue("'registerOrientationChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillFullscreenChangeEventData")||(o.fillFullscreenChangeEventData=()=>Ue("'fillFullscreenChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerFullscreenChangeEventCallback")||(o.registerFullscreenChangeEventCallback=()=>Ue("'registerFullscreenChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerRestoreOldStyle")||(o.registerRestoreOldStyle=()=>Ue("'registerRestoreOldStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"hideEverythingExceptGivenElement")||(o.hideEverythingExceptGivenElement=()=>Ue("'hideEverythingExceptGivenElement' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"restoreHiddenElements")||(o.restoreHiddenElements=()=>Ue("'restoreHiddenElements' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setLetterbox")||(o.setLetterbox=()=>Ue("'setLetterbox' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"currentFullscreenStrategy")||(o.currentFullscreenStrategy=()=>Ue("'currentFullscreenStrategy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"restoreOldWindowedStyle")||(o.restoreOldWindowedStyle=()=>Ue("'restoreOldWindowedStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"softFullscreenResizeWebGLRenderTarget")||(o.softFullscreenResizeWebGLRenderTarget=()=>Ue("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"doRequestFullscreen")||(o.doRequestFullscreen=()=>Ue("'doRequestFullscreen' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillPointerlockChangeEventData")||(o.fillPointerlockChangeEventData=()=>Ue("'fillPointerlockChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerPointerlockChangeEventCallback")||(o.registerPointerlockChangeEventCallback=()=>Ue("'registerPointerlockChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerPointerlockErrorEventCallback")||(o.registerPointerlockErrorEventCallback=()=>Ue("'registerPointerlockErrorEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"requestPointerLock")||(o.requestPointerLock=()=>Ue("'requestPointerLock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillVisibilityChangeEventData")||(o.fillVisibilityChangeEventData=()=>Ue("'fillVisibilityChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerVisibilityChangeEventCallback")||(o.registerVisibilityChangeEventCallback=()=>Ue("'registerVisibilityChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerTouchEventCallback")||(o.registerTouchEventCallback=()=>Ue("'registerTouchEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillGamepadEventData")||(o.fillGamepadEventData=()=>Ue("'fillGamepadEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerGamepadEventCallback")||(o.registerGamepadEventCallback=()=>Ue("'registerGamepadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerBeforeUnloadEventCallback")||(o.registerBeforeUnloadEventCallback=()=>Ue("'registerBeforeUnloadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"fillBatteryEventData")||(o.fillBatteryEventData=()=>Ue("'fillBatteryEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"battery")||(o.battery=()=>Ue("'battery' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerBatteryEventCallback")||(o.registerBatteryEventCallback=()=>Ue("'registerBatteryEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setCanvasElementSize")||(o.setCanvasElementSize=()=>Ue("'setCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getCanvasElementSize")||(o.getCanvasElementSize=()=>Ue("'getCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"demangle")||(o.demangle=()=>Ue("'demangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"demangleAll")||(o.demangleAll=()=>Ue("'demangleAll' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"jsStackTrace")||(o.jsStackTrace=()=>Ue("'jsStackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stackTrace")||(o.stackTrace=()=>Ue("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getEnvStrings")||(o.getEnvStrings=()=>Ue("'getEnvStrings' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"checkWasiClock")||(o.checkWasiClock=()=>Ue("'checkWasiClock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeI53ToI64")||(o.writeI53ToI64=()=>Ue("'writeI53ToI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeI53ToI64Clamped")||(o.writeI53ToI64Clamped=()=>Ue("'writeI53ToI64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeI53ToI64Signaling")||(o.writeI53ToI64Signaling=()=>Ue("'writeI53ToI64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeI53ToU64Clamped")||(o.writeI53ToU64Clamped=()=>Ue("'writeI53ToU64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeI53ToU64Signaling")||(o.writeI53ToU64Signaling=()=>Ue("'writeI53ToU64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"readI53FromI64")||(o.readI53FromI64=()=>Ue("'readI53FromI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"readI53FromU64")||(o.readI53FromU64=()=>Ue("'readI53FromU64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"convertI32PairToI53")||(o.convertI32PairToI53=()=>Ue("'convertI32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"convertU32PairToI53")||(o.convertU32PairToI53=()=>Ue("'convertU32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setImmediateWrapped")||(o.setImmediateWrapped=()=>Ue("'setImmediateWrapped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"clearImmediateWrapped")||(o.clearImmediateWrapped=()=>Ue("'clearImmediateWrapped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"polyfillSetImmediate")||(o.polyfillSetImmediate=()=>Ue("'polyfillSetImmediate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"uncaughtExceptionCount")||(o.uncaughtExceptionCount=()=>Ue("'uncaughtExceptionCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"exceptionLast")||(o.exceptionLast=()=>Ue("'exceptionLast' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"exceptionCaught")||(o.exceptionCaught=()=>Ue("'exceptionCaught' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ExceptionInfo")||(o.ExceptionInfo=()=>Ue("'ExceptionInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"CatchInfo")||(o.CatchInfo=()=>Ue("'CatchInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"exception_addRef")||(o.exception_addRef=()=>Ue("'exception_addRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"exception_decRef")||(o.exception_decRef=()=>Ue("'exception_decRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"Browser")||(o.Browser=()=>Ue("'Browser' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"funcWrappers")||(o.funcWrappers=()=>Ue("'funcWrappers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getFuncWrapper")||(o.getFuncWrapper=()=>Ue("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setMainLoop")||(o.setMainLoop=()=>Ue("'setMainLoop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"wget")||(o.wget=()=>Ue("'wget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"FS")||(o.FS=()=>Ue("'FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"MEMFS")||(o.MEMFS=()=>Ue("'MEMFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"TTY")||(o.TTY=()=>Ue("'TTY' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"PIPEFS")||(o.PIPEFS=()=>Ue("'PIPEFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"SOCKFS")||(o.SOCKFS=()=>Ue("'SOCKFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"_setNetworkCallback")||(o._setNetworkCallback=()=>Ue("'_setNetworkCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"tempFixedLengthArray")||(o.tempFixedLengthArray=()=>Ue("'tempFixedLengthArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"miniTempWebGLFloatBuffers")||(o.miniTempWebGLFloatBuffers=()=>Ue("'miniTempWebGLFloatBuffers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"heapObjectForWebGLType")||(o.heapObjectForWebGLType=()=>Ue("'heapObjectForWebGLType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"heapAccessShiftForWebGLHeap")||(o.heapAccessShiftForWebGLHeap=()=>Ue("'heapAccessShiftForWebGLHeap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"GL")||(o.GL=()=>Ue("'GL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGet")||(o.emscriptenWebGLGet=()=>Ue("'emscriptenWebGLGet' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"computeUnpackAlignedImageSize")||(o.computeUnpackAlignedImageSize=()=>Ue("'computeUnpackAlignedImageSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetTexPixelData")||(o.emscriptenWebGLGetTexPixelData=()=>Ue("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetUniform")||(o.emscriptenWebGLGetUniform=()=>Ue("'emscriptenWebGLGetUniform' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"webglGetUniformLocation")||(o.webglGetUniformLocation=()=>Ue("'webglGetUniformLocation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"webglPrepareUniformLocationsBeforeFirstUse")||(o.webglPrepareUniformLocationsBeforeFirstUse=()=>Ue("'webglPrepareUniformLocationsBeforeFirstUse' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"webglGetLeftBracePos")||(o.webglGetLeftBracePos=()=>Ue("'webglGetLeftBracePos' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetVertexAttrib")||(o.emscriptenWebGLGetVertexAttrib=()=>Ue("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"writeGLArray")||(o.writeGLArray=()=>Ue("'writeGLArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"AL")||(o.AL=()=>Ue("'AL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"SDL_unicode")||(o.SDL_unicode=()=>Ue("'SDL_unicode' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"SDL_ttfContext")||(o.SDL_ttfContext=()=>Ue("'SDL_ttfContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"SDL_audio")||(o.SDL_audio=()=>Ue("'SDL_audio' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"SDL")||(o.SDL=()=>Ue("'SDL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"SDL_gfx")||(o.SDL_gfx=()=>Ue("'SDL_gfx' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"GLUT")||(o.GLUT=()=>Ue("'GLUT' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"EGL")||(o.EGL=()=>Ue("'EGL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"GLFW_Window")||(o.GLFW_Window=()=>Ue("'GLFW_Window' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"GLFW")||(o.GLFW=()=>Ue("'GLFW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"GLEW")||(o.GLEW=()=>Ue("'GLEW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"IDBStore")||(o.IDBStore=()=>Ue("'IDBStore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"runAndAbortIfError")||(o.runAndAbortIfError=()=>Ue("'runAndAbortIfError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetIndexed")||(o.emscriptenWebGLGetIndexed=()=>Ue("'emscriptenWebGLGetIndexed' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"InternalError")||(o.InternalError=()=>Ue("'InternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"BindingError")||(o.BindingError=()=>Ue("'BindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"UnboundTypeError")||(o.UnboundTypeError=()=>Ue("'UnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"PureVirtualError")||(o.PureVirtualError=()=>Ue("'PureVirtualError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"init_embind")||(o.init_embind=()=>Ue("'init_embind' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"throwInternalError")||(o.throwInternalError=()=>Ue("'throwInternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"throwBindingError")||(o.throwBindingError=()=>Ue("'throwBindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"throwUnboundTypeError")||(o.throwUnboundTypeError=()=>Ue("'throwUnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ensureOverloadTable")||(o.ensureOverloadTable=()=>Ue("'ensureOverloadTable' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"exposePublicSymbol")||(o.exposePublicSymbol=()=>Ue("'exposePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"replacePublicSymbol")||(o.replacePublicSymbol=()=>Ue("'replacePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"extendError")||(o.extendError=()=>Ue("'extendError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"createNamedFunction")||(o.createNamedFunction=()=>Ue("'createNamedFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registeredInstances")||(o.registeredInstances=()=>Ue("'registeredInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getBasestPointer")||(o.getBasestPointer=()=>Ue("'getBasestPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerInheritedInstance")||(o.registerInheritedInstance=()=>Ue("'registerInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"unregisterInheritedInstance")||(o.unregisterInheritedInstance=()=>Ue("'unregisterInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getInheritedInstance")||(o.getInheritedInstance=()=>Ue("'getInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getInheritedInstanceCount")||(o.getInheritedInstanceCount=()=>Ue("'getInheritedInstanceCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getLiveInheritedInstances")||(o.getLiveInheritedInstances=()=>Ue("'getLiveInheritedInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registeredTypes")||(o.registeredTypes=()=>Ue("'registeredTypes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"awaitingDependencies")||(o.awaitingDependencies=()=>Ue("'awaitingDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"typeDependencies")||(o.typeDependencies=()=>Ue("'typeDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registeredPointers")||(o.registeredPointers=()=>Ue("'registeredPointers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"registerType")||(o.registerType=()=>Ue("'registerType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"whenDependentTypesAreResolved")||(o.whenDependentTypesAreResolved=()=>Ue("'whenDependentTypesAreResolved' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"embind_charCodes")||(o.embind_charCodes=()=>Ue("'embind_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"embind_init_charCodes")||(o.embind_init_charCodes=()=>Ue("'embind_init_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"readLatin1String")||(o.readLatin1String=()=>Ue("'readLatin1String' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getTypeName")||(o.getTypeName=()=>Ue("'getTypeName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"heap32VectorToArray")||(o.heap32VectorToArray=()=>Ue("'heap32VectorToArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"requireRegisteredType")||(o.requireRegisteredType=()=>Ue("'requireRegisteredType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getShiftFromSize")||(o.getShiftFromSize=()=>Ue("'getShiftFromSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"integerReadValueFromPointer")||(o.integerReadValueFromPointer=()=>Ue("'integerReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"enumReadValueFromPointer")||(o.enumReadValueFromPointer=()=>Ue("'enumReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"floatReadValueFromPointer")||(o.floatReadValueFromPointer=()=>Ue("'floatReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"simpleReadValueFromPointer")||(o.simpleReadValueFromPointer=()=>Ue("'simpleReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"runDestructors")||(o.runDestructors=()=>Ue("'runDestructors' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"new_")||(o.new_=()=>Ue("'new_' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"craftInvokerFunction")||(o.craftInvokerFunction=()=>Ue("'craftInvokerFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"embind__requireFunction")||(o.embind__requireFunction=()=>Ue("'embind__requireFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"tupleRegistrations")||(o.tupleRegistrations=()=>Ue("'tupleRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"structRegistrations")||(o.structRegistrations=()=>Ue("'structRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"genericPointerToWireType")||(o.genericPointerToWireType=()=>Ue("'genericPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"constNoSmartPtrRawPointerToWireType")||(o.constNoSmartPtrRawPointerToWireType=()=>Ue("'constNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"nonConstNoSmartPtrRawPointerToWireType")||(o.nonConstNoSmartPtrRawPointerToWireType=()=>Ue("'nonConstNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"init_RegisteredPointer")||(o.init_RegisteredPointer=()=>Ue("'init_RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"RegisteredPointer")||(o.RegisteredPointer=()=>Ue("'RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_getPointee")||(o.RegisteredPointer_getPointee=()=>Ue("'RegisteredPointer_getPointee' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_destructor")||(o.RegisteredPointer_destructor=()=>Ue("'RegisteredPointer_destructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_deleteObject")||(o.RegisteredPointer_deleteObject=()=>Ue("'RegisteredPointer_deleteObject' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_fromWireType")||(o.RegisteredPointer_fromWireType=()=>Ue("'RegisteredPointer_fromWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"runDestructor")||(o.runDestructor=()=>Ue("'runDestructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"releaseClassHandle")||(o.releaseClassHandle=()=>Ue("'releaseClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"finalizationRegistry")||(o.finalizationRegistry=()=>Ue("'finalizationRegistry' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"detachFinalizer_deps")||(o.detachFinalizer_deps=()=>Ue("'detachFinalizer_deps' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"detachFinalizer")||(o.detachFinalizer=()=>Ue("'detachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"attachFinalizer")||(o.attachFinalizer=()=>Ue("'attachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"makeClassHandle")||(o.makeClassHandle=()=>Ue("'makeClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"init_ClassHandle")||(o.init_ClassHandle=()=>Ue("'init_ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ClassHandle")||(o.ClassHandle=()=>Ue("'ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ClassHandle_isAliasOf")||(o.ClassHandle_isAliasOf=()=>Ue("'ClassHandle_isAliasOf' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"throwInstanceAlreadyDeleted")||(o.throwInstanceAlreadyDeleted=()=>Ue("'throwInstanceAlreadyDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ClassHandle_clone")||(o.ClassHandle_clone=()=>Ue("'ClassHandle_clone' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ClassHandle_delete")||(o.ClassHandle_delete=()=>Ue("'ClassHandle_delete' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"deletionQueue")||(o.deletionQueue=()=>Ue("'deletionQueue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ClassHandle_isDeleted")||(o.ClassHandle_isDeleted=()=>Ue("'ClassHandle_isDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"ClassHandle_deleteLater")||(o.ClassHandle_deleteLater=()=>Ue("'ClassHandle_deleteLater' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"flushPendingDeletes")||(o.flushPendingDeletes=()=>Ue("'flushPendingDeletes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"delayFunction")||(o.delayFunction=()=>Ue("'delayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"setDelayFunction")||(o.setDelayFunction=()=>Ue("'setDelayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"RegisteredClass")||(o.RegisteredClass=()=>Ue("'RegisteredClass' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"shallowCopyInternalPointer")||(o.shallowCopyInternalPointer=()=>Ue("'shallowCopyInternalPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"downcastPointer")||(o.downcastPointer=()=>Ue("'downcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"upcastPointer")||(o.upcastPointer=()=>Ue("'upcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"validateThis")||(o.validateThis=()=>Ue("'validateThis' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"char_0")||(o.char_0=()=>Ue("'char_0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"char_9")||(o.char_9=()=>Ue("'char_9' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"makeLegalFunctionName")||(o.makeLegalFunctionName=()=>Ue("'makeLegalFunctionName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emval_handle_array")||(o.emval_handle_array=()=>Ue("'emval_handle_array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emval_free_list")||(o.emval_free_list=()=>Ue("'emval_free_list' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emval_symbols")||(o.emval_symbols=()=>Ue("'emval_symbols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"init_emval")||(o.init_emval=()=>Ue("'init_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"count_emval_handles")||(o.count_emval_handles=()=>Ue("'count_emval_handles' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"get_first_emval")||(o.get_first_emval=()=>Ue("'get_first_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"getStringOrSymbol")||(o.getStringOrSymbol=()=>Ue("'getStringOrSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"Emval")||(o.Emval=()=>Ue("'Emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emval_newers")||(o.emval_newers=()=>Ue("'emval_newers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"craftEmvalAllocator")||(o.craftEmvalAllocator=()=>Ue("'craftEmvalAllocator' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emval_get_global")||(o.emval_get_global=()=>Ue("'emval_get_global' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emval_methodCallers")||(o.emval_methodCallers=()=>Ue("'emval_methodCallers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"emval_registeredMethods")||(o.emval_registeredMethods=()=>Ue("'emval_registeredMethods' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"warnOnce")||(o.warnOnce=()=>Ue("'warnOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stackSave")||(o.stackSave=()=>Ue("'stackSave' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stackRestore")||(o.stackRestore=()=>Ue("'stackRestore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stackAlloc")||(o.stackAlloc=()=>Ue("'stackAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"AsciiToString")||(o.AsciiToString=()=>Ue("'AsciiToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stringToAscii")||(o.stringToAscii=()=>Ue("'stringToAscii' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"UTF16ToString")||(o.UTF16ToString=()=>Ue("'UTF16ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stringToUTF16")||(o.stringToUTF16=()=>Ue("'stringToUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF16")||(o.lengthBytesUTF16=()=>Ue("'lengthBytesUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"UTF32ToString")||(o.UTF32ToString=()=>Ue("'UTF32ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"stringToUTF32")||(o.stringToUTF32=()=>Ue("'stringToUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF32")||(o.lengthBytesUTF32=()=>Ue("'lengthBytesUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"allocateUTF8")||(o.allocateUTF8=()=>Ue("'allocateUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),Object.getOwnPropertyDescriptor(o,"allocateUTF8OnStack")||(o.allocateUTF8OnStack=()=>Ue("'allocateUTF8OnStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")),o.writeStackCookie=le,o.checkStackCookie=pe,Object.getOwnPropertyDescriptor(o,"ALLOC_NORMAL")||Object.defineProperty(o,"ALLOC_NORMAL",{configurable:!0,get:function(){Ue("'ALLOC_NORMAL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(o,"ALLOC_STACK")||Object.defineProperty(o,"ALLOC_STACK",{configurable:!0,get:function(){Ue("'ALLOC_STACK' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Ae=function e(){El||zl(),El||(Ae=e)},o.run=zl,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var Kl=!0;return o.noInitialRun&&(Kl=!1),zl(),t.ready}})();export default CESDK;